So I got another problem with scripting. This time I can't get an if statement to work with variables, don't know what's wrong. I looked it over a couple times & still can't figure why isn't it working.
void var1(string &in asParent, string &in asChild, int alState)
{
SetLocalVarInt("var1", 2);
}
void scare1(string &in asParent, string &in asChild, int alState)
{
if(GetLocalVarInt("var1") == 2)
{//INSERT CODE HERE
That isn't straight from the code but I picked up the pieces that aren't functioning.. So what's exactly wrong there? I can't spot it. Probably because I'm not really sure how to use IF statements. Also I made an Else statement after it so it worked fine.. What's wrong with those variables?
(This post was last modified: 01-01-2015, 06:12 PM by Omenapuu.)
This means ;
IF the doors are closed ADDING a variable to OPEN the doors.
ELSE the doors are closed and setting the variable BACK to 0 = CLOSED.
-
Try and play a little with my copy\past lines and i think you can figur it for the rest of your scriot.
If not, we are here to help.
Good luck!
(This post was last modified: 12-31-2014, 03:09 PM by DnALANGE.)
This means ;
IF the doors are closed ADDING a variable to OPEN the doors.
ELSE the doors are closed and setting the variable BACK to 0 = CLOSED.
-
Try and play a little with my copy\past lines and i think you can figur it for the rest of your scriot.
If not, we are here to help.
Good luck!
I can't still get it to work.. I honestly have no idea why isn't it working, pretty sure it's just as the one you said..
I believe an undeclared variable is automatically set to 0 when used. At least that's the case with AddLocalVarInt. Unsure about the Getter, but either way, if it is undeclared or 0 it will still pass the if statement because it only asks if it ISN'T 1, which is true. I see nowhere that sets this value to 1, making the if statement quite useless.
(01-01-2015, 06:05 AM)Mudbill Wrote: I believe an undeclared variable is automatically set to 0 when used. At least that's the case with AddLocalVarInt. Unsure about the Getter, but either way, if it is undeclared or 0 it will still pass the if statement because it only asks if it ISN'T 1, which is true. I see nowhere that sets this value to 1, making the if statement quite useless.
because nothing else seemed to work so I tried to find an alternate route for it to work.. The scripts aren't wrong because I don't get any errors playing it tho.
The
(01-01-2015, 06:05 AM)Mudbill Wrote: I believe an undeclared variable is automatically set to 0 when used. At least that's the case with AddLocalVarInt. Unsure about the Getter, but either way, if it is undeclared or 0 it will still pass the if statement because it only asks if it ISN'T 1, which is true. I see nowhere that sets this value to 1, making the if statement quite useless.
I thought an undeclared variable -using GetLocalVarInt- blocked the code without raising error.
Just try, put SetLocalVarInt("var1", 2); in your OnStart() function. Then try to trigger that scare1, see if it works.
(01-01-2015, 06:05 AM)Mudbill Wrote: I believe an undeclared variable is automatically set to 0 when used. At least that's the case with AddLocalVarInt. Unsure about the Getter, but either way, if it is undeclared or 0 it will still pass the if statement because it only asks if it ISN'T 1, which is true. I see nowhere that sets this value to 1, making the if statement quite useless.
I thought an undeclared variable -using GetLocalVarInt- blocked the code without raising error.
Just try, put SetLocalVarInt("var1", 2); in your OnStart() function. Then try to trigger that scare1, see if it works.
Yeah, it worked. So the problem is in changing the variable. I'll try to figure them out, but if you can help then here's the code:
Alright so I pretty much found out why it didn't work...
The script that checked the If-else was triggered by a collide callback. I had made it like that the collide callback removes after first use. And because the first use was supposed to be false until player has done something, the second time it didn't even exist... So yeah I didn't think about that