Jump to content

[Share] Event Engine


B1ggBoss

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.
Note: Your post will require moderator approval before it will be visible.

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.




  • Posts

    • I think its offline. They deleted all channels in Discord. Maybe because had to give the $500 contest reward 😄
    • amigo como eu coloco pra mostra os icone enchant no inventory  vc pode da essa ajuda @ShooterLineage2 ?
    • 📢 𝐖𝐞 𝐚𝐫𝐞 𝐢𝐧 𝐛𝐞𝐭𝐚 𝐭𝐞𝐬𝐭, 𝐰𝐞 𝐰𝐢𝐥𝐥 𝐬𝐭𝐚𝐫𝐭 𝐨𝐧 𝐉𝐮𝐧𝐞 𝟐𝟎 𝐚𝐭 𝟏𝟖:𝟎𝟎 𝐦𝐨𝐫𝐞 𝐢𝐧𝐟𝐨𝐬 𝐢𝐧 https://l2bless.online/infos.html ⚔️ 𝗥𝗮𝘁𝗲𝘀: 𝗫𝗣 𝟐𝟎𝐗, 𝗔𝗱𝗲𝗻𝗮 𝟐𝟎𝐗, 𝗦𝗽𝗼𝗶𝗹 𝟐𝟎𝐗, 𝗗𝗿𝗼𝗽 𝟐𝟎𝐗, 💬 𝗠𝗮𝘅 𝗲𝗻𝗰𝗵𝗮𝗻𝘁 +𝟭𝟲 𝘄𝗶𝘁𝗵 𝟲𝟱% 𝗻𝗼𝗿𝗺𝗮𝗹 𝗮𝗻𝗱 𝟳𝟬% 𝗯𝗹𝗲𝘀𝘀𝗲𝗱, 👉 𝟳𝟬+ 𝗔𝘂𝘁𝗼 𝗲𝘃𝗲𝗻𝘁𝘀, 𝗖𝘂𝘀𝘁𝗼𝗺 𝗥𝗮𝗶𝗱𝘀, 𝟱𝟱 𝗻𝗲𝘄𝘀 𝗖𝗹𝗼𝗮𝗸𝘀, 🌍 𝗪𝗲𝗯𝗦𝗶𝘁𝗲: https://l2bless.online/
    • What unique features ? 
    • Welcome to SmurfsZone   Buy League of Legends accounts across all servers and jump straight into Ranked Games with amazing quality and support.   Why Choose SmurfsZone? 24/7 Instant Delivery: Get your full access LoL smurf account immediately. 100% Hand-Leveled: High-quality accounts leveled by hand. Versatile MMR Options: High MMR, Standard MMR, Fresh MMR (ARAMs), and Ranked accounts available. Valorant Accounts: Expand your gaming experience. Our Commitment to You: Unopened Loot: Customize your champion pool. Lifetime Warranty: Valid if you change the email, username, and password upon purchase. Password Changeable: Ensure your account's security. Full Recovery Information: Complete access to account recovery details. Unverified and Changeable Email: Easy to personalize and secure your account. Completely Unranked: Fresh start with no ranked history in any season. Responsive Customer Support: Our dedicated team is available to assist you 24/7.   Experience the best place to buy League of Legends accounts with exceptional quality and dedicated support. We're here for YOU!
  • Topics

×
×
  • Create New...