Unity Community


Results 1 to 12 of 12

  1. Posts
    18

    Access variable from other gameobject

    how would i access a variable from a script on a different game object?
    The variables are either booleans or objects set in unity with a Transform in script
    I'm using java



  2. Posts
    18
    These seem to invoke functions rather than access variables. They state do not work with my booleans when i try to use it


  3. Location
    Gold Coast, Australia
    Posts
    3,593
    Quote Originally Posted by fmaddict View Post
    These seem to invoke functions rather than access variables. They state do not work with my booleans when i try to use it
    Make sure your booleans are public.

    Because the docs are correct (and work with accessing variables).


  4. Posts
    18
    there definitely public variables.

    the error that I am getting when its trying to compile the script is "It is not possible to invoke an expression of type 'boolean'."


  5. Location
    Gold Coast, Australia
    Posts
    3,593
    If you have code that doesn't work, first step is to show us.


  6. Posts
    18
    I'm not quite sure which scripts i should be posting but here is the little bit i have to try and get it working before implement it into my main one

    Code:  
    1. var script : gui;
    2. script = GetComponent("gui");
    3. script.sw1 ();

    trying to access these variables from a script called 'gui'

    Code:  
    1. var sw1 : boolean = true;
    2. var sw2 : boolean = true;
    3. var sw3 : boolean = true;
    4. var sw4 : boolean = true;


  7. Location
    Gold Coast, Australia
    Posts
    3,593
    As I thought.

    Code:  
    1. script.sw1 ();

    What are the brackets there for? Are you calling some function? This is what the error message was saying:

    "It is not possible to invoke an expression of type 'boolean'.
    What you should be doing is using it as you would any other boolean:

    Code:  
    1. //set to false
    2. script.sw1 = false;
    3.  
    4. // toggle
    5. script.sw1 = !script.sw1;
    6.  
    7. //If statement
    8.  
    9. if (script.sw1) //do something
    10.  
    11. //make sure it works
    12. debug.log(script.sw1);
    13.  
    14. //etc.


  8. Posts
    18
    ok thank you very much that fixed it. I'm sure i tried the if statement with that and same problem but ohh well.

    i am very grateful for your help.


  9. Posts
    18
    ok 1 day on and i have problems again.

    when testing with this script it works fine
    Code:  
    1. var script : path1;
    2. script = GetComponent("path1");
    3.  
    4. function Update(){
    5.     Debug.Log(script.w1);

    but when i put it in my full script it doesnt work anymore. With the error
    "NullReferenceException: Object reference not set to an instance of an object
    mover.Start () (at Assets/Movement/mover.js:15)"

    Code:  
    1. var waypoint = new Array();
    2. private var currentWaypoint : int;
    3.  
    4. var speed : float = 10;
    5. var loop : boolean = false;
    6.  
    7. var ways : path1;
    8. ways = GetComponent("path1");
    9. var gui : gui1;
    10. gui = GetComponent("gui1");
    11.  
    12.  
    13.  
    14. function Start(){
    15.     waypoint.Add(ways.w7);
    16.     waypoint.Add(ways.w8);
    17.     waypoint.Add(ways.w9);
    18.     waypoint.Add(ways.w10);
    19.     waypoint.Add(ways.w82);
    20.     waypoint.Add(ways.w83);
    21.     Debug.Log(gui.sw1);
    22.     Debug.Log(waypoint);
    23. }
    24.  
    25.  
    26. function Update(){
    27.  
    28.     if(currentWaypoint < waypoint.length){
    29.         var target : Vector3 = waypoint[currentWaypoint].position;
    30.         var moveDirection : Vector3 = target - transform.position;
    31.        
    32.         var velocity = rigidbody.velocity;
    33.        
    34.         if(moveDirection.magnitude < 1){
    35.             currentWaypoint++;
    36.         }
    37.         else{
    38.             velocity = moveDirection.normalized * speed;
    39.         }
    40.     }
    41.     else{
    42.         if(loop){
    43.             currentWaypoint=0;
    44.         }
    45.         else{
    46.             velocity = Vector3.zero;
    47.         }
    48.        
    49.     }
    50.    
    51.     rigidbody.velocity = velocity;
    52.     transform.LookAt(target);
    53. }
    54.  
    55.  
    56. function OnTriggerEnter(collision : Collider){
    57.     if (collision == ways.w83){
    58.         if(gui.sw1){
    59.             waypoint.Add(ways.w84);
    60.             waypoint.Add(ways.w85);
    61.             waypoint.Add(ways.w86);
    62.             waypoint.Add(ways.w87);
    63.             waypoint.Add(ways.w88);
    64.             waypoint.Add(ways.w89);
    65.             waypoint.Add(ways.w90);
    66.             waypoint.Add(ways.w91);
    67.             waypoint.Add(ways.w92);
    68.             waypoint.Add(ways.w93);
    69.             waypoint.Add(ways.w94);
    70.             waypoint.Add(ways.w95);
    71.             waypoint.Add(ways.w109);
    72.             waypoint.Add(ways.w110);
    73.         }
    74.         else{
    75.             waypoint.Add(ways.w104);
    76.         }
    77.     }
    78.    
    79.     if (collision == ways.w104){
    80.         if(gui.sw2){
    81.             waypoint.Add(ways.w106);
    82.             waypoint.Add(ways.w116);
    83.         }
    84.         else{
    85.             waypoint.Add(ways.w105);
    86.             waypoint.Add(ways.w107);
    87.         }
    88.     }
    89.    
    90.         if (collision == ways.w116){
    91.         if(gui.sw3){
    92.             waypoint.Add(ways.w118);
    93.             waypoint.Add(ways.w120);
    94.             waypoint.Add(ways.w108);
    95.             waypoint.Add(ways.w109);
    96.             waypoint.Add(ways.w110);
    97.         }
    98.         else{
    99.             waypoint.Add(ways.w117);
    100.             waypoint.Add(ways.w119);
    101.             waypoint.Add(ways.w101);
    102.         }
    103.     }
    104.    
    105.         if (collision == ways.w101){
    106.         if(gui.sw4){
    107.             waypoint.Add(ways.w80);
    108.             waypoint.Add(ways.w12);
    109.             waypoint.Add(ways.w122);
    110.         }
    111.         else{
    112.             waypoint.Add(ways.w102);
    113.             waypoint.Add(ways.w103);
    114.             waypoint.Add(ways.w108);
    115.             waypoint.Add(ways.w109);
    116.             waypoint.Add(ways.w110);
    117.         }
    118.     }
    119.    
    120.         if (collision == ways.w96){
    121.         if(gui.sw5){
    122.             waypoint.Add(ways.w97);
    123.             waypoint.Add(ways.w78);
    124.             waypoint.Add(ways.w66);
    125.         }
    126.         else{
    127.             waypoint.Add(ways.w98);
    128.             waypoint.Add(ways.w99);
    129.             waypoint.Add(ways.w100);
    130.             waypoint.Add(ways.w116);
    131.         }
    132.     }
    133.    
    134.         if (collision == ways.w110){
    135.         if(gui.sw6){
    136.             waypoint.Add(ways.w112);
    137.             waypoint.Add(ways.w114);
    138.             waypoint.Add(ways.w13);
    139.             waypoint.Add(ways.w122);
    140.         }
    141.         else{
    142.             waypoint.Add(ways.w111);
    143.             waypoint.Add(ways.w113);
    144.             waypoint.Add(ways.w115);
    145.             waypoint.Add(ways.w81);
    146.             waypoint.Add(ways.w12);
    147.             waypoint.Add(ways.w122);
    148.         }
    149.     }
    150.    
    151.         if (collision == ways.w66){
    152.         if(gui.sw7){
    153.             waypoint.Add(ways.w80);
    154.             waypoint.Add(ways.w12);
    155.             waypoint.Add(ways.w122);
    156.         }
    157.         else{
    158.             waypoint.Add(ways.w67);
    159.             waypoint.Add(ways.w68);
    160.             waypoint.Add(ways.w69);
    161.             waypoint.Add(ways.w50);
    162.             waypoint.Add(ways.w51);
    163.         }
    164.     }
    165.    
    166.         if (collision == ways.w51){
    167.         if(gui.sw8){
    168.             waypoint.Add(ways.w53);
    169.             waypoint.Add(ways.w55);
    170.             waypoint.Add(ways.w70);
    171.             waypoint.Add(ways.w12);
    172.             waypoint.Add(ways.w122);
    173.         }
    174.         else{
    175.             waypoint.Add(ways.w52);
    176.             waypoint.Add(ways.w54);
    177.             waypoint.Add(ways.w56);
    178.             waypoint.Add(ways.w57);
    179.             waypoint.Add(ways.w58);
    180.             waypoint.Add(ways.w11);
    181.             waypoint.Add(ways.w122);
    182.         }
    183.     }
    184.    
    185.         if (collision == ways.w14){
    186.         if(gui.sw9){
    187.             waypoint.Add(ways.w31);
    188.             waypoint.Add(ways.w32);
    189.         }
    190.         else{
    191.             waypoint.Add(ways.w15);
    192.             waypoint.Add(ways.w16);
    193.             waypoint.Add(ways.w17);
    194.             waypoint.Add(ways.w18);
    195.             waypoint.Add(ways.w18);
    196.             waypoint.Add(ways.w20);
    197.         }
    198.     }
    199.    
    200.         if (collision == ways.w32){
    201.         if(gui.sw10){
    202.             waypoint.Add(ways.w33);
    203.             waypoint.Add(ways.w35);
    204.             waypoint.Add(ways.w37);
    205.             waypoint.Add(ways.w39);
    206.             waypoint.Add(ways.w41);
    207.             waypoint.Add(ways.w44);
    208.             waypoint.Add(ways.w45);
    209.         }
    210.         else{
    211.             waypoint.Add(ways.w34);
    212.             waypoint.Add(ways.w36);
    213.             waypoint.Add(ways.w38);
    214.             waypoint.Add(ways.w40);
    215.             waypoint.Add(ways.w42);
    216.             waypoint.Add(ways.w43);
    217.             waypoint.Add(ways.w44);
    218.             waypoint.Add(ways.w45);
    219.         }
    220.     }
    221.    
    222.         if (collision == ways.w20){
    223.         if(gui.sw11){
    224.             waypoint.Add(ways.w22);
    225.             waypoint.Add(ways.w23);
    226.             waypoint.Add(ways.w24);
    227.             waypoint.Add(ways.w65);
    228.             waypoint.Add(ways.w78);
    229.         }
    230.         else{
    231.             waypoint.Add(ways.w21);
    232.             waypoint.Add(ways.w25);
    233.         }
    234.     }
    235.    
    236.         if (collision == ways.w25){
    237.         if(gui.sw12){
    238.             waypoint.Add(ways.w26);
    239.             waypoint.Add(ways.w28);
    240.             waypoint.Add(ways.w31);
    241.             waypoint.Add(ways.w32);
    242.         }
    243.         else{
    244.             waypoint.Add(ways.w27);
    245.             waypoint.Add(ways.w29);
    246.             waypoint.Add(ways.w30);
    247.             waypoint.Add(ways.w48);
    248.             waypoint.Add(ways.w49);
    249.             waypoint.Add(ways.w50);
    250.             waypoint.Add(ways.w51);
    251.         }
    252.     }
    253.    
    254.         if (collision == ways.w71){
    255.         if(gui.sw13){
    256.             waypoint.Add(ways.w59);
    257.         }
    258.         else{
    259.             waypoint.Add(ways.w72);
    260.             waypoint.Add(ways.w73);
    261.             waypoint.Add(ways.w74);
    262.             waypoint.Add(ways.w75);
    263.             waypoint.Add(ways.w76);
    264.             waypoint.Add(ways.w82);
    265.             waypoint.Add(ways.w83);
    266.         }
    267.     }
    268.    
    269.         if (collision == ways.w59){
    270.         if(gui.sw14){
    271.             waypoint.Add(ways.w77);
    272.             waypoint.Add(ways.w78);
    273.         }
    274.         else{
    275.             waypoint.Add(ways.w60);
    276.             waypoint.Add(ways.w61);
    277.             waypoint.Add(ways.w62);
    278.             waypoint.Add(ways.w63);
    279.             waypoint.Add(ways.w64);
    280.             waypoint.Add(ways.w19);
    281.             waypoint.Add(ways.w20);
    282.         }
    283.     }
    284.    
    285.         if (collision == ways.w45){
    286.         if(gui.sw15){
    287.             waypoint.Add(ways.w56);
    288.             waypoint.Add(ways.w57);
    289.             waypoint.Add(ways.w58);
    290.             waypoint.Add(ways.w11);
    291.             waypoint.Add(ways.w122);
    292.         }
    293.         else{
    294.             waypoint.Add(ways.w46);
    295.             waypoint.Add(ways.w47);
    296.             waypoint.Add(ways.w48);
    297.             waypoint.Add(ways.w49);
    298.             waypoint.Add(ways.w50);
    299.             waypoint.Add(ways.w51);
    300.         }
    301.     }
    302.    
    303.         if (collision == ways.w78){
    304.         if(gui.sw16){
    305.             waypoint.Add(ways.w66);
    306.         }
    307.         else{
    308.             waypoint.Add(ways.w79);
    309.             waypoint.Add(ways.w101);
    310.         }
    311.     }
    312.    
    313.         if (collision == ways.w77){
    314.         if(gui.sw17){
    315.             waypoint.Add(ways.w78);
    316.         }
    317.         else{
    318.             waypoint.Add(ways.w96);
    319.         }
    320.     }
    321. }


  10. Location
    Israel
    Posts
    271
    replace with this:
    PHP Code:
    var ways;
    ways GetComponent("path1");
    var 
    gui;
    gui GetComponent("gui1"); 
    let unity decide what type is the variable
    a name of a script is not a type.


  11. Posts
    18
    i managed to fix it by adding gameObject.Find to force it to look in the right place. i believe it was finding the raw script with nothing attached rather than the one on the object.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •