- Trigger zones can now trigger two separate eventgroups when entering and when exiting.
- Buttons can now trigger two separate eventgroups (toggled on/off).
- Added new event: TeleportObject
- Updated EEHelper project (Thanks Marbasoft!) to check for connection + work on any world that you open.
- Updated Event_1 world with the new/updated events.

- Added new event: ControlElevator which allows you to move a platform that can support a player. Check sample world for usage.
- Added MathHelper class for some extra math operations.
- Added conditional logic: VarBool, VarInt, SetBool, SetInt, CheckBool, CheckInt. Check sample world/youtube video for usage.
- Added linkable nodes (Eventgroup/CheckBool/CheckInt can be chained together). Check sample world/youtube video for usage.
- Buttons can be set to trigger "once"/"infinite times", or just "on every time".
- Updated Event_1 world with the new/updated events.

Project has been updated to compile with latest engine version.
Also removed the linkable nodes functionality, because, looking back on it, it doesn't offer much help, and it's a badly designed piece of code.
For now on: Any event can ONLY be triggered by an eventgroup. As a result, you sometimes have to place some more eventboxes, but it's logical and consistent.

P.S. Project will be updated as soon as Esenthel approves the changes.

Hi guys!
I'm working on a big update for the event system. It will, among other things, include:
- Ability to stop events while they are running (stop drawing text, stop playing sound, ..)
- Triggers can now also call an EventGroup on every frame (or per second) while the player is inside.
- A much more advanced example map, structured like a game to showcase the functionality.

So, I wanted to ask to the people that have used this project: Do you have any suggestions? Functionality that you need but is missing? Feel free to let me know!

Glad to see you are continuing and extending this project. I'm not actually using it as I ended up writing my own system but would highly recommend this to anyone who does not want to write their own. A good trigger/event system is crucial to most games and a well thought out system makes the implementation of game play elements/mechanics so much easier!

(11-12-2014 12:51 AM)blueFire Wrote: Will you expand this to include such things as monster behaviors?

Hi,

I don't think that I will. It seems too specific for a project, and I'll never be able to make it advanced enough for everyone's AI needs. As suggested in your other post, have a look at the Bloody Massacre source code for AI examples.
If you are new to programming, I would suggest looking into how to program first.

Update is out, and it's a big one! It now includes variable objects so you can dynamically change them on the fly (and use them for input on other events). I also added a big example map that shows how you could make a game with this. The first map still shows smaller examples.

As always, if you have any suggestions, feel free to let me know!

Here is the changelog:

Release v5.:
- A much more advanced example map, structured like a game to showcase a lot of the functionality.
- Added new variable types: VarAudio, VarString, VarPointLight, VarParticles, VarFloat, VarVec. This gives more control like playing, stopping, pausing, drawing, not drawing, .. at runtime since you operate on "dynamic" variables
- Added new events: StopSound, ToggleTrigger, StopDrawText, SetString, SetPointLight, RemoveLight, RemoveParticles, SetFloat, SetVec.
- Events now take the new variables as input, which allows for dynamically changing.. everything.
- Various renamings in object classes: ID to UID, NextNodeUID to EventGroupUID, IntUID to VarIntUID, BoolUID to VarBoolUID ..
- SetInt can clamp the end value if you add or subtract
- Added AfterCreate() method to BaseEvent/derived events/other classes to find objects/events during initialization, in stead of during runtime.
- Replaced LinkableNode with BaseCheckVariable.
- Triggers can also call an event per frame/second.
- Improved Elevator class to always end up on the exact goal position in case of lower FPS
- Updated documentation
- Small things that I probably forgot.