I have created a couple real number variables and some of my triggers modify these variables either by +1 or by -1. Is there a way to setup a boundary for a real# variable that once it hits it's maximum or minimum it can't be modified anymore? In other words, I want the variables to be able to return values between -60 and +60 but not go under -60 or over +60. Can you set a maximum/minimum cap on a real# variable?
A better solution would be to simply perform a check every time you modify your reals. For example, add 1 to realVariable, then the very next Action would be an If Then, saying if realVariable is above 60, set it to 60.
If you do this all throughout your code, everywhere you modify the variables you want to limit, it will work perfectly and efficiently.
Edit: Actually, an even better way would be to place all the lines that modify your variable inside If statements, like so:
If
(realVariable < 60)
Then
(Add 1 to realVariable)
Else
Do nothing
No... Creating a 0.0 trigger to set a variable is BAD. Go with anguule's solution. Or if you want to be fancy, you can make two new functions, IncrementReal(real Input, real max) and DecrementReal(real Input, real min). They check if Input is under/over max/min and if so they return input+1 or input-1 respectively. If not they just return max/min respectively.
I would love to go with something like this, but I'm unsure how to translate all of this stuff. I'm fairly new to triggering and I tried to follow it but I'm unable.
aight good to know.
wanna elaborate on why its bad?
As the fastest loop time is 23 loops a second, you'll be running this function 23 times per second. It's not particularly big, but it's unnecessary processing. If this variable is updated once every 10 seconds on average and you are running this trigger 23 times a second, you're doing something 230 times that you only need to be doing once.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
I have created a couple real number variables and some of my triggers modify these variables either by +1 or by -1. Is there a way to setup a boundary for a real# variable that once it hits it's maximum or minimum it can't be modified anymore? In other words, I want the variables to be able to return values between -60 and +60 but not go under -60 or over +60. Can you set a maximum/minimum cap on a real# variable?
@Etravex: Go
make 2 triggers
1)
Events
Timer - Every 0.01 seconds of Game Time
Conditions
real > 60
Actions
Variable - Set real = 60.0
2)
Events
Timer - Every 0.01 seconds of Game Time
Conditions
real < 60
Actions
Variable - Set real = -60.0
@Thebillsta: Go
A better solution would be to simply perform a check every time you modify your reals. For example, add 1 to realVariable, then the very next Action would be an If Then, saying if realVariable is above 60, set it to 60.
If you do this all throughout your code, everywhere you modify the variables you want to limit, it will work perfectly and efficiently.
Edit: Actually, an even better way would be to place all the lines that modify your variable inside If statements, like so:
If (realVariable < 60) Then (Add 1 to realVariable) Else Do nothing
You could use something like this custom action:
@Thebillsta: Go
No... Creating a 0.0 trigger to set a variable is BAD. Go with anguule's solution. Or if you want to be fancy, you can make two new functions, IncrementReal(real Input, real max) and DecrementReal(real Input, real min). They check if Input is under/over max/min and if so they return input+1 or input-1 respectively. If not they just return max/min respectively.
Edit: UsulSK has the right idea.
@rrowland: Go
aight good to know.
wanna elaborate on why its bad?
Thank you all so much! I got it to work just fine with your help!
I would love to go with something like this, but I'm unsure how to translate all of this stuff. I'm fairly new to triggering and I tried to follow it but I'm unable.
As the fastest loop time is 23 loops a second, you'll be running this function 23 times per second. It's not particularly big, but it's unnecessary processing. If this variable is updated once every 10 seconds on average and you are running this trigger 23 times a second, you're doing something 230 times that you only need to be doing once.