unreal-development-kitunrealscript

How do I use a variable from another class in Unreal Script?


I am working on a game, and that game has a battery life function for a flash light. Basically, when the flash light is turned on, it reduces the life and when it's off, it stops.

But to achieve this, I need to access a variable that will determine whether or not the flash light is turned on or off.

var UTWeap_FlashLight light;  // declaring a new variable from the class UTWeap_FlashLight.uc

// reduces battery life of the flash light
exec function ReducePower()
{
if(light.bCheck==true)
{
    if(0<power)  // loops till power 1 is = 0
    {
        power--;  // reduce the value of power

        if(power==0) // if it equals 0
        { 
            power2 = power2 - 1; // set power2 to it's own value - 1
            power=100; // reset power back to 100
        }
    }
  }
}

but whenever I compile the code, it tells me that it can't find the variable bCheck, meaning I can't check whether or not the flash light is on. I want to call that variable from this class

UTWeap_FlashLight.uc

exec function TurnOff()
{
    if(!Flashlight.LightComponent.bEnabled)
    {
        Flashlight.LightComponent.SetEnabled(true);
        bCheck = true; 
    }

    else
    {
        Flashlight.LightComponent.SetEnabled(false);
    }
}

this part of the code is where I turn on/off the flash light. When I turn it on, I want to set bCheck to 1 so I can then later use it as a condition to detect whether or not the flash light is on. But I can't use the variable, it will just not change it's value. I later found out you CAN'T use variables from other classes, which is pretty dumb. Any help appreciated.


Solution

  • Well, I figured out how to use variables from other classes in unreal script.

    IF you're wondering how to do the same use this:

    class'<yourclassname>'.default.<yourvariablename>; // remove the < >