New Event Definition / Unit Acquires Buff Event

Reaction score
54
Two questions guys,

1) How do you create a new event definition? Instead of specifying multiple events, I only seem to be able to specify actions.

2) Is it possible to detect when an unit acquires a buff with an event a la WC3 style?
 

Clockwork

New Member
Reaction score
1
So started writing my own event once. I wanted to create an event for 'Unit Kills'.

In the trigger editor push the new function button. You can switch the type from 'Function' to 'Event'. Then you have to go about writing it.

As per the second question. Isnt a buff just a type of behavior in this editor? So you may be able to use the function 'Unit has behavior' but that is not exactly an Event.

I hope that helps a little.

You can browse the built in stuff to get some sort of reference, but not all of them are detailed with comments.
 

Clockwork

New Member
Reaction score
1
Wait what? You mean you cannot modify the parameters and such? Im just trying to make sure I am understanding your problem correctly.

crtl + alt + F is the shortcut. Then it should make Untitled Function 001. You highlight Options, change function to Event. Check Native to remove the Actions section all together.

Or am I misunderstanding you some how when you say 'new event definition'...? What I think Im explaining is how to make your own custom event to cause a trigger to run.

"Instead of specifying multiple events, I only seem to be able to specify actions." What events are you trying to specify?
 
Reaction score
54
What I think Im explaining is how to make your own custom event to cause a trigger to run.

Yes, that's exactly what I'm looking for! =) Perhaps an example would help me out.

Suppose I want to make 100 trigger that have as events:
Player 1 does something.
Player 2 does something.
Player 3 does something.
...
Player 99 does something.



However, to make my job easier, I would like to define a new event, Any Player Does something, as
Player 1 does something.
Player 2 does something.
Player 3 does something.
...
Player 99 does something.



Then, I would be able to just write in my 100 triggers the event:
Any Player Does Something.
 

Clockwork

New Member
Reaction score
1
Based off your example (and mind you everything I say from this point on requires testing) it might go something like this.

*Also important is make sure you have the sub windows on (one of the red boxes on the toolbar)

For a player event, the return type would be (none).

You need an Integer Parameter because SC2 references players by Integer.
So add a parameter of type integer. When that parameter is highlighted you can modify its default value. There is a space even below that for 'Allowed Presets'
Right click in there and add the preset 'Any Player'. This is a built-in script identifier of type integer. It is found in the built-in library under Player > Support

Now you can set the default value of your parameter to the preset 'Any Player'


This may be along the lines you are looking for. Hopefully you will be allowed to reference 'Triggering Player'. I have been trying to set aside time to play around with the custom event/function/etc creation.

The 'does something' part Im not 100% on how to work. It would be another Parameter in your custom event. Depending on what you are trying to do it may require you to create a custom script identifier, which I dont know how to do yet. Hopefully that is avoidable for what you are trying to do.
 
Reaction score
54
Oh, but that's actually a shortcut to the example. :3
It wouldn't work if I wanted my event to only affect, say, Players 2, 4, 6....


However, I noticed that one of the red boxes that you mentioned opens the list of all the triggers built in. That implies we can actually see how some of them are implemented!

Sadly, most of them (events included) do not seem to have any GUI code. I guess custom events can only be created using Galaxy code.
 

Clockwork

New Member
Reaction score
1
...It wouldn't work if I wanted my event to only affect, say, Players 2, 4, 6....

Sounds like you would just need a player(Integer) array. But you said 'affect' players 2, 4, 6 which does not have to be necessarily determined by who triggers the event. Semantics, I know. In any case you should still be able to establish a int array in the custom event to designate players some how.


Sadly, most of them (events included) do not seem to have any GUI code. I guess custom events can only be created using Galaxy code.

I have not had to write any custom scripts yet. Ive done everything with the gui. The only thing I saw thus far that was done with galaxy code are the 'script identifiers' I mentioned. I only browsed through so many of the built in stuff though.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      • Ghan
        Administrator - Servers are fun

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top