Jump to content

[Share] Event Engine


B1ggBoss
 Share

Recommended Posts

This diff contains a Event Engine: An engine capable to execute datapack-sided scripts to run a event. Those dp-side script will extends, inherit and override when needed basic methods needed for most kind of events, so it makes you able to make an event just in the same way as a quest.

All events are fully configurable ingame, with a full of tools admin panel (Data can be saved manually, but is unneeded, it will be saved automatically at server shut down).

The engine supports events with many event rounds and teams (All you have to do is add them ingame)

It also contains a vote system, ppl will be able to vote which event will be the next one comming up (Can be disabled of course)

 

The code is very young (i just tested all administration side and the event i translated (TvT, which can be found at data/scripts/events/Team_vs_Team/)). I mostly share for those who wanna help me on testing the engine. All ppl who test it can tell me what it lacks, what does not work and what throw catched exceptions or errors.

I dont recommend to use it in any live server for now.

 

Code side, the code is a little messy (will reorganize and go to the optimisation side when ill sure  100% that the engine is working fine)

 

Is coded for l2jserver, last revision of gracia epilogue branch

http://www.mediafire.com/?5514r3dwq7v3qjh

Link to comment
Share on other sites

Well, it's true that it is not perfectly written, but at least it's something unique, and a common way to avoid destroying the L2PcInstance class file.

 

Wait.. You have set an automation for the TvT Event, but also an automation at the voting popup. If the TvT is already automated, why does the window need to popup? Isn't it supposed to pop up on X o' clock, and after a certain period of time choose the event with the most votes and run it?

 

PS: I didn't read all of the code, so I may be wrong. I just took a look at the txts.

Link to comment
Share on other sites

Well, it's true that it is not perfectly written, but at least it's something unique, and a common way to avoid destroying the L2PcInstance class file.

 

Wait.. You have set an automation for the TvT Event, but also an automation at the voting popup. If the TvT is already automated, why does the window need to popup? Isn't it supposed to pop up on X o' clock, and after a certain period of time choose the event with the most votes and run it?

 

PS: I didn't read all of the code, so I may be wrong. I just took a look at the txts.

 

i see you didnt read it completly, np :)

but also saw that you didnt know how to read what you read. If the event vote system is enabled, the event hours for which each event is planified are ignored and vice-versa

btw isnt bad writted, what i mean with a little messy is the classes organization

Link to comment
Share on other sites

i see you didnt read it completly, np :)

but also saw that you didnt know how to read what you read. If the event vote system is enabled, the event hours for which each event is planified are ignored and vice-versa

 

Well, as I previously mentioned, I didn't manage to read all of it. My eye just saw some stuff, so I thought that I should comment it. And actually you could do it better.. With these configs you kinda limit the configuration style, and also you could handle all the restrictions through new files, instead of touching every single class. For example, creating a file like restrictions.properties (just like you did with the configs), and in this file the users will be able to set the proper restrictions.

Link to comment
Share on other sites

Well, as I previously mentioned, I didn't manage to read all of it. My eye just saw some stuff, so I thought that I should comment it. And actually you could do it better.. With these configs you kinda limit the configuration style, and also you could handle all the restrictions through new files, instead of touching every single class. For example, creating a file like restrictions.properties (just like you did with the configs), and in this file the users will be able to set the proper restrictions.

 

basic i/o. More file to read/write (even smaller) takes more time = uneeded cpu usage.

BTW, as you said, you just read few lines, which means you have no idea how the event configuration works. why talk w/o know =) ?

The configuration is splitted into 7 sub-menus, each one independient from each other. You can change just a single parameter or the whole event configuration in game. The change will take effect in server inmediatly and it will be saved down to the file at server shutdown.

So, as you see, increase the number of files just have 1 consequence: Decrease the engine performance

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share




×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock