[Trigger] Variable events?

Vellu

Real eyes realize real lies.
Reaction score
58
I was playing with the Galaxy Editor and noticed that you can't fire a trigger with variables. For example, I have a variable that counts kills, and then have a trigger that, let's say, raises enemy unit's maximum HP when the kill count-variable's value is ten. Or am I doing it wrong? Is there any other way to do things when a variable's value is X?
 

Frozenwind

System maker
Reaction score
99
Haven't checked the events, but this is an alternative:

Code:
event
   time elapsed is 0.00seconds
conditions
local variables
actions
    wait until variable >= 10 checking every 0.5 seconds
    "your actions"
 

Monsterous

In the Shadows, Lurking.
Reaction score
99
Or do a periodic timer, say every 0.5 seconds checking the condition that Variable >= 10

Essentially the same thing, but incase map initialization fails. (Assuming 0 seconds passed is map initialization, i dont know.)
 

Viikuna

No Marlo no game.
Reaction score
265
Dude, if you are the one setting the variable, you can easily just do some function which both sets the variable, evaluates related triggers and runs them if needed.

somthing like:


funtion ModifyVariable
- loops through all trigges in array and evaluates and maybe runs them too
- modifys your variable

function RegisterVariableEvent
- is used to add your trigger to array, this is your custom register event thingy
 

Vellu

Real eyes realize real lies.
Reaction score
58
Dude, if you are the one setting the variable, you can easily just do some function which both sets the variable, evaluates related triggers and runs them if needed.

somthing like:


funtion ModifyVariable
- loops through all trigges in array and evaluates and maybe runs them too
- modifys your variable

function RegisterVariableEvent
- is used to add your trigger to array, this is your custom register event thingy

I've never touched functions. Should I learn how to use 'em?
 

Viikuna

No Marlo no game.
Reaction score
265
Im just starting to learn Andromeda now, so I dont really know too much about scripting in sc2, but back in the days of wc3 modding, the events used to trigger before the actual thingy "happens".

Example being: unit takes damage -event triggers just before the damage is actually dealt, so you can do stuff before damage being dealt ( for example prevent damage if you want ) or stuff after damage being dealt ( with help of 0 sec wait/timer ).


This is why something like this is how Id do it:


public class killCounter{
unit killer;
int count;
public killCounter( unit whichUnit ){
unit=whichUnit;
count=0;
}
public add( int value ){

// do those trigger executing thingies.

// for( int i=TriggersInArray;i=0;i--){
// if evaluate Trigger {
// execute Trigger;
// }
// }

set count=count+value
}

}
 

Sgqvur

FullOfUltimateTruthsAndEt ernalPrinciples, i.e shi
Reaction score
62
Use the same event you in which you increment the kills count and put there a check to see if killscount >= 10 then do this else DoNothing(xD) maybe?

Btw there is such an event in warcraft 3:
[lJASS]native TriggerRegisterVariableEvent takes trigger whichTrigger, string varName, limitop opcode, real limitval returns event[/lJASS]
It works for reals only but kills count can be a real right? (3.1459 kills :p)

PS: Its kinda funny they made replay rewinding but forgot about things like this.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top