Jump to content

[Share] Event Engine by hNoke


hNoke

Recommended Posts

Hello,

 

I'd like to present you my new event system. I originally planned to help and create this engine only for one server, L2Pride, but since their admin revealed himself as a lying bastard, I've decided to share this engine for free. The main reason which me brought to do so is the fact, that I can't find and solve all bugs alone. And of course, all ideas are welcomed.

 

This engine is based on hnoke_events.jar library. This will allow me to do frequent changes everytime I need to and the only thing you will need to do is download a new package with events. If you find any bug, please use the:

 

Bugtracker: http://hnoke.net/l2jevents/

And Forum, if you're interested or want to tell your oppinion: http://hnoke.net/l2jevents/forum

The download link has been disabled temporary.

(I'll release source codes for .jar library as well as a presentation video / full txt guide when I'm 100% sure that the engine works. If you're interested,

is a very old video from starts of this engine)

 


 

And now some informations:

 

The ingame administration, especially creating new maps and understanding which spawns do u need for each event, is a bit harder to understand. I'll post a guide about how to do it later, propably tommorow. Now I need to get some sleep.

 

Events:

- There are two kinds of events: Main (also called as Regular ones) and Mini events.

- Mini events are mostly events for single players / parties. They can nonstop run. Their engine works like it checks every X seconds for registered players and if it is possible, it automatically creates matches with them. There's also system that will make players can visit each event only once in X ms. For example, if you set this delay for 1v1 event  to 1200000, it will make that player has to wait at least 20 minutes before he can rejoin 1v1 event again.

- Main events are well-known events running globally for all players on the server (TvT, CTF, etc.). I'm now working on support for joining players even if the registration state already ended.

- Map system - you can create your own maps. Each event can have infinity ammount of maps, each map can have multiple spawns. Each spawn has it's type, cords and team ID. For example spawn with type Regular defines where the players will be teleported (their initial loc), type Buffer defines where a buffer will be spawned, type Fence will spawn a fence arround the spawn.

- There's registration npc - Event Manager. It's HTML is automatically changed, so when you disable/enable any event it will be refreshed also in npc's html.

- ... and much more. I can't remember what all have I added.

 

 

Ingame administration:

- The most advanced thing on this engine is it's ingame management - try to type //event_manage.

- Basically everything is configurable ig using an admin panel. There are configs (txt files) only for few things (for example buffer's ID) and even they will be soon moved to the admin panel.

- You can schedule multiple events, temporary disable/enable events, pause/skip all kind of delays delays (registrations, etc.), abort scheduled events, run you own events and so on.

- You can create your own maps. You can set map's name, events which will use it, add different spawns, config map parameters for each event.

- Configurable rewards for each position in the end of event.

- Soon, I'll add also support for Mini Event tournaments (1v1 tournament, Korean style tournament, etc.).

 


 

Green color are events, which should be working fine.

Orange color are events, which might contain some bugs so they are waiting for your feedback.

Red color are events, which aren't finished yet.

 

Aviable Main events:

- Team vs Team - classic 2-5 teams event.

- Capture the Flag - 2-3 teams (can't add more teams cause of the missing NPC flags).

- Deathmatch - everyone vs everyone, configurable respawn delay, multiple spawns, etc. Reward configurable for top 10 players.

- Team vs Team w/ VIPs - very simillar to classic TvT, adds a VIP player to each of teams. If the VIP is killed, it gives some additional rewards.

- VIP escort event - Defend and escort the VIP to the given position. This event will be completely reworked later.

- Zombies - At start of the event it chooses at least 1 random player (the count depends on the ammount of registered players) and transforms him into a zombie. When a zombie hits someone, he will be transformed into a zombie too. Event ends when only 1 player left in the survivor's team (and as I'm writing this, I realized that this way is stupid so I'll make it like the event ends when everyone is zombie. Also, right now, it rewards only the last survivor. I think this needs some rework too.)

- Mutant - At start it randomly chooses one player and transforms him into a mutant. The mutant has increased stats - look at skill ID 31300. If someone kills a mutant, then the mutant will untransform and the player which killed becomes new mutant. You can configure reward for for 10 players with highest ammount of kills made while they were mutants.

 

 

Aviable automatic mini events:

- 1v1 event - PvP event for single players. Player comes to the reg npc, registers and then if engine finds an opponent, it will teleport them to the random arena and starts match. The match itself is 10 minutes limited and has 2 rounds or eventually 3, depends on what was the score after second round.

- 2v2 event - Similar to 1v1, but you must find one friend to participate with you.

- Party vs Party - One round. No respawning. Fixed party size is of course configurable.

- Pt vs pt Korean style - On start teleports players to safe zones with buffer, gives them 1 minute to prepare for the match (buffs,..), then it teleports them to defined Regular spawns and begins famous continous 1v1 matches.

- Tower Crush - Event in style of retail Underground Coliseums, but it doesn't have to run in UColiseum map. Basically it's like a pt vs pt event, but players will keep respawning till their team respawn tower isn't destroyed or time limit. Winner is the team with higher ammount of kills.

- Raid boss hunt - Two teams, one RB usually in the middle of map. Event ends when RB dies and the team which gave most dmg to him wins.

- Survival Arena - One team. No respawning. Three rounds. The event will teleport players to defined Regular spawn, spawns buffer for like 60 seconds. Then monsters will attack in three wawes. The great thing on this event is that you can create infinity ammount of maps and define where each mob will be spawned and in which wawe will he attack players. Event ends when all players dies or all mobs are dead.

- Last Man Standing - For single players, configurable ammount of players in event (default is 5). It's like a deathmatch but w/o respawning. Configurable ammount of rounds and round ends when only one player is alive (and now he's rewarded with reward type 'Winner', this will be also reworked).

- Last Team Standing - Similar to LMS, but with configurable ammount of teams and configurable ammount of players in each team. This event isn't finished yet.

- Mini TvT - For single players. When registered players ammount reaches limit (configurable, default is 20), it starts a 10 vs 10 match with no respawning, but multiple rounds.

- There's also a Hitman event, but it is not finished yet. Try NPC ID 92007 if you're interested.

 

 


 

Installation: - tested on Freya

- Apply (better do manually) patch core_patch.diff to you core and dp_patch to you datapack.

- Copy hnoke_events.jar to your L2J server's lib folder and also to your GS eclipse project lib folder. Then add the library to your Eclipse GS and DP project's Java Build Path.

- Put this line:

<include name="hnoke_events.jar" />

into your build.xml file, below

<include name="netcon.jar" />

 

- Copy htmls to your datapack.

- Execute events.sql and custom_npcs.sql to your db.

- Add events.properties to your config file and edit them (especially your npc buffer's ID must be setted right). More important configs soon.

- Registration NPC ID is 92006, for admin management type //event_manage.

- If you got any problems visit the forum.

 

I do not recommend to use this engine on a live server for now.

Link to comment
Share on other sites

I may understand wrong , but when everything will be done you will give us the source code ? , cuz rizel sell many of that events and you gonna give it for free or what

Link to comment
Share on other sites

I may understand wrong , but when everything will be done you will give us the source code ? , cuz rizel sell many of that events and you gonna give it for free or what

 

well I guess that he dont want any kids to stole his codes and share them in another forums with their credits...

This is the best decision...

 

And what about rizel?

He is not the only one that can code that engines...

Link to comment
Share on other sites

well I guess that he dont want any kids to stole his codes and share them in another forums with their credits...

This is the best decision...

 

And what about rizel?

He is not the only one that can code that engines...

+1 about this.

You dont know if its rizel source!.. rizel can check the code and look his own than we see if this person just Give for free.

 

I like this thanks. but if its true that its rizel source and you just edit than its *****

 

(sorry bad english)

Link to comment
Share on other sites

well I guess that he dont want any kids to stole his codes and share them in another forums with their credits...

This is the best decision...

 

And what about rizel?

He is not the only one that can code that engines...

so what you should respect the guy cuz he code them to earn money and you want to share them for free why
Link to comment
Share on other sites

Because he hates a fucktard leecher and as he said bastard the name ? Dav the chinesse l2 pride's admin.And I suppose he has already seen this topic as soon as I said he is a TOP leecher of our community who never gave credits about the people's work he represents them created by him and the children of his server absolutely believe him.

Link to comment
Share on other sites

Copy hnoke_events.lib to your L2J server's lib folder and also to your GS eclipse project lib folder. Then add the library to your Eclipse GS and DP project's Java Build Path. <<<<<

 

hnoke_events.lib dosnt exist

?

 

any one can post better how install this?

 

Link to comment
Share on other sites

Copy hnoke_events.lib to your L2J server's lib folder and also to your GS eclipse project lib folder. Then add the library to your Eclipse GS and DP project's Java Build Path. <<<<<

 

hnoke_events.lib dosnt exist

?

 

any one can post better how install this?

 

He meant hnoke_events.jar

Link to comment
Share on other sites

meby i Read worng or somthing else, but i have freya but when i build in Eclipse i got errors

 

compile:

    [javac] Compiling 1516 source files to C:\Users\Administrator\workspace\L2_GameServer\build\classes

    [javac] C:\Users\Administrator\workspace\L2_GameServer\java\com\l2jserver\gameserver\GameServer.java:93: cannot find symbol

    [javac] symbol  : class ChangelogManager

    [javac] location: package com.l2jserver.gameserver.instancemanager

    [javac] import com.l2jserver.gameserver.instancemanager.ChangelogManager;

    [javac]                                                ^

    [javac] C:\Users\Administrator\workspace\L2_GameServer\java\com\l2jserver\gameserver\GameServer.java:425: cannot find symbol

    [javac] symbol  : variable ChangelogManager

    [javac] location: class com.l2jserver.gameserver.GameServer

    [javac] ChangelogManager.getInstance();

    [javac] ^

    [javac] C:\Users\Administrator\workspace\L2_GameServer\java\com\l2jserver\gameserver\GameServer.java:426: cannot find symbol

    [javac] symbol  : variable EventLoader

    [javac] location: class com.l2jserver.gameserver.GameServer

    [javac] EventLoader.loadEngine();

    [javac] ^

    [javac] 3 errors

 

BUILD FAILED

C:\Users\Administrator\workspace\L2_GameServer\build.xml:64: Compile failed; see the compiler error output for details.

 

Total time: 25 seconds

 

any one how to solve it?

Link to comment
Share on other sites

I dont think that he copyed any part of my code. If he have so much freetime that he code all this thing and share it for free.. well then I guess I have nothing to do with it. As someone said I'm not the only one who can code an engine like this. About the copy of my new event ideas... thats another story..

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.



  • Posts

    • Trustworthy person; hope you find what you're looking for!
    • Customs being added to systextures/animation/texture influences the increase in virtual ram by a very small amount, which means you won't have a headache in the future with critical error issues, unless it's a dubious custom, there are 2 custom weapon packs available for H5 that are "compromised", they didn't make a very good adaptation, one of the packages is the weapons from the goddess of destruction for H5, another is the hero weapons from the goddess of destruction for H5, avoid these customs for your H5 server if you see it on any forum.   Now coming back to your question; one thing that the NCSoft developers never did was add files to their system, probably because they were aware of what could happen when doing that, now think about one thing: the game's system retail itself is no more than 70MB, every time there was an update made by NCSoft they always added the equipment/items/cloaks etc. in their folders intended for that, so why do we do this? I still have my client containing a system with almost 1GB, 1-2h online is the time I can stay online before the ram memory limit, but I have already redone my entire client with customs being destined for textures/systexture/animations, almost all the customs that I had on that client containing a 1GB system I have on my current server, with the difference that I removed everything from the system and critical error is now nothing more than legends, my current server has a total of 220MB in the system folder And theoretically speaking, based on what I've seen, especially on many forums, I believe that the heavier the system folder is, the faster we accelerate the consumption of the client's virtual ram memory, causing countless different types of critical error in one short period of time, in many forums that I've seen on topics involving critical, the solution that stands out the most is about downloading a new clean "system"
    • Do you think that everything on the system is loaded regardless if you use it or not ? or even worst, are they loaded even if they exist as textures/meshes but not defined on the DAT files ?
    • DISCORD : utchiha_market telegram : https://t.me/utchiha_market SELLIX STORE : https://utchihamkt.mysellix.io/ Join our server for more products : https://discord.gg/hoodservices https://campsite.bio/utchihaamkt
    • Yes, it is, it's not hard to do (if you know what you're doing); just time consuming.   To make some things clear: 1. You can not create .ukx files with animated skeletalmeshes inside, by using any of the freeshared L2Editors (basically, no support for .psa files) 2. You need a patched UT2003/UT2004. You can either get your own ut2004 and download Gildor's patch from his web, or use any of these: When you use these, you should be able to import both .psk and .psa animations > link the skeletalmesh to the psa > save as .ukx > use ut2down to convert the file to l2 format > encrypt the .ukx with standard l2 encryption (you can use mxc encdec, you can find it in the folder of the l2editor i shared). Your best bet is to use pawnviewer (aka dev mode) to test that. If you have troubles with that process then leave a reply here, otherwise, if it works correctly, you can move on to adding missing animnotify classes to you unrealed, then proper animnotifies, sounds, effects or w/e is missing from your .ukx files. Keep in mind that this is overall not difficult but a huge amount of work (unless you're good at scripting/macros) since you'd need to manually re-create every single animnotify, by hand. If you have doubts or i wasn't clear enough let me know here. (in case you don't know what an animnotify is: UDN - Two - AnimNotifies (unrealengine.com) )  
  • Topics

×
×
  • Create New...