Code Question

Hello. I was just looking for some help with a piece of code. I am using the code below to move objects with the mouse but I want the code to ignore objects with the tag “Props”. Everything moves like it is supposed to but the ignore part isn’t working.

#pragma strict

private var object : Transform;
var grabbed : Transform;
var grabDistance : float = 10.0f;
var grabLayerMask : int;
var grabOffset : Vector3; //delta between transform transform position and hit point
var useToggleDrag : boolean; // Didn't know which style you prefer.
// public var tag: string;
function Update () {
     if (useToggleDrag){
         UpdateToggleDrag();
     } else {
         UpdateHoldDrag();
     }
}
// Toggles drag with mouse click
function UpdateToggleDrag () {
     if (Input.GetMouseButtonDown(0)){
         Grab();
     } else {
         if (grabbed) {
             Drag();
         }
     }
}
// Drags when user holds down button
function UpdateHoldDrag () {
if (gameObject.tag != "Props"){
     if (Input.GetMouseButton(0)) {
         if (grabbed){
             Drag();
         } else {
             Grab();
         }
        
     } else {
         if(grabbed){
             //restore the original layermask
             grabbed.gameObject.layer = grabLayerMask;
         }
         grabbed = null;
     }
}
}
function Grab() {
     if (gameObject.tag != "Props"){
     if (grabbed){
        grabbed = null;
     } else {
         var hit : RaycastHit;
         var ray : Ray = Camera.main.ScreenPointToRay(Input.mousePosition);
         if (Physics.Raycast(ray, hit)){
             grabbed = hit.transform;
             if(grabbed.parent){
                 grabbed = grabbed.parent.transform;
             }
             //set the object to ignore raycasts
             grabLayerMask = grabbed.gameObject.layer;
             grabbed.gameObject.layer = 2;
             //now immediately do another raycast to calculate the offset
             if (Physics.Raycast(ray, hit)){
                 grabOffset = grabbed.position - hit.point;
             } else {
                 //important - clear the gab if there is nothing
                 //behind the object to drag against
                 grabbed = null;
             }
         }
     }
}
}
function Drag() {  
if (gameObject.tag != "Props"){
     var hit : RaycastHit;
     var ray : Ray = Camera.main.ScreenPointToRay(Input.mousePosition);
     if (Physics.Raycast(ray, hit)){     
         grabbed.position = hit.point + grabOffset;
     }
}
}

I an trying to use: if (gameObject.tag != “Props”): to ignore the Props, I think I may just have it in the wrong places.
Thanks for the help.

gameObject.tag references the tag of the object your script is attached to. You’re probably looking for grabbed.tag.

Thanks Baste. I tried that but it didn’t work right, so I moved the tag check up to the update and it worked, sorta, but kept throwing an "Instance not assigned error.

Any more thoughts?