![]() |
Variables in ICARUS
I have a problem with a simple script (I am just starting scripting), and for some reason I can't get a script to use variables correctly, my spawnscript has
declare ( <DECLARE_TYPE> STRING, "OPEN" ) set ( "OPEN","NO") OPEN is the state of a door, open or closed, and No means its closed My trigger_multiple targets a target_scriptrunner, which uses the script, this part works so far, its the script that doesn't work cause it tells me it is comparing unlike types or something similar when developer is 1 My problem is with the script for the button if ( $OPEN$,$=$,$"YES"$) set ("OPEN","NO") affect ("door",<AFFECT_TYPE>INSERT) rotate ( <0 0 0 >, 1000) if ( $OPEN$,$=$,$"NO"$ ) set ( "OPEN","YES" ) affect ( "door", <AFFECT_TYPE>INSERT) rotate (<0 90 0>, 1000) I also don't know how the Rotate function works, does it rotate by the given amount or rotate to the given position? |
I hope there's an else somewhere in that script... But other than that, adopt better programming conventions and use a float (like 1=open, 0=closed). Nobody uses strings to check for such things. That should sort your problem without the need of even explaining what's wrong with your current one.
And rotate sets new absolute angles. JA doesn't unfortunately recognize relative rotation. |
Well, I did try the 1, 0 thing before, and since it didn't work that is why I went with strings, I'll retry it, and about the Rotate, I figured out how that worked making rotating doors (which worked ok), my problem is I'm too used to BASIC where you don't have to declare everything...
I'll try that out. |
Something like this:
Code:
if ( $get( FLOAT, "open") = 1$ )You gotta get your syntax right first, then logic and such things. And declaring variables is essential. It guarantees no typos and also JA has a limited amount of variables allowed (32 per type or something), so requiring declaring makes it easier to keep track of them. Although I can't imagine anybody needing 32 variables at the same time in JA... |
Ahh! I didn't know about the get( thing. I was wondering how BehavEd knew the difference between a variable and a literal... Now I know.
|
| All times are GMT -4. The time now is 01:51 PM. |
Powered by vBulletin®
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
LFNetwork, LLC ©2002-2011 - All rights reserved.