Jump to content

[Share]VIP Event Engine


Recommended Posts

The VIP engine is an engine is used mainly from PvP servers.


Basically the idea is this. The admins/gms setup all the parameters of the engine (for instructions see the Instructions part) and they either randomly choose a race or choose one themselves. The event is setup like this. Everyone who wishes to join can participate, lets say for example the race choosen was Dark Elf. All Dark Elfs will join the dark elf team and everyone else will be automatically assigned to the opposing team.


When the event starts the Dark Elves are teleported to an area outside their starter city defined by the SQL table. Everybody else is teleported in the starter town next to a certain NPC. Then at start time one player from the Dark Elf team is randomly chosen to be the VIP. The VIP must make it to the NPC without dying before the time runs out. The team must protect their VIP, because if the VIP dies the other team wins. If a non-VIP player dies he will be teleported back to their initial spawn location.






- Place VIP.java in the net.sf.l2j.gameserver.model.entity package

- Place the AdminVIPEngine.java in the net.sf.l2j.gameserver.handler.admincommandhandlers package

- Run the patch on your entire L2J checkout.

- Run the SQL script on your SQL database to import the tables

- IF you are using command privilages insert the following at the end of your command-privileges.properties file:


admin_vip = 100

admin_vip_setteam = 100

admin_vip_randomteam = 100

admin_vip_settime = 100

admin_vip_endnpc = 100

admin_vip_setdelay = 100

admin_vip_joininit = 100

admin_vip_joinnpc = 100

admin_vip_joinlocxyz = 100

admin_vip_setarea = 100

admin_vip_vipreward = 100

admin_vip_viprewardamount = 100

admin_vip_notvipreward = 100

admin_vip_notviprewardamount = 100

admin_vip_thevipreward = 100

admin_vip_theviprewardamount = 100






- After installing the engine go ahead and enter game on a GM character with 100 access.

- Type //vip and fill in the following settings in the proper order. (Some settings are dependent on other settings to be filled in so they must be done in order; this is to save computation time)



- INPUT1: You can do this one of two ways; the easiest way is to select a random team by hitting the random team button. It will cycle through random numbers and choose a team for you. Alternativly you can choose a team yourself by putting a team name in Input 1 and hitting Set Team. Valid teams are: human/dark/elf/orc/dwarf. This is not case sensitive

- After choosing a team the Code will go through the SQL databases and plot the X,Y,Z of the start and finish locations as per which team you have choosen.



- INPUT1: The time variable defines how long the event will last after it starts. This is in mins.



- INPUT1: The delay variable defines how long the join period lasts. This is in mins.



- INPUT1: This is a formality, you can really put any string. It is used to inform the players where the join NPC is located. EX. Giran Square etc.



- This is a x,y,z location X -> Input1, Y -> Input2, Z -> Input3. This is where the join NPC spawns.



- INPUT1: This is a valid NPC id for which the End NPC will be choosen from. You can pick any preexisting NPC or create your own.



- INPUT1: This is a valid NPC id for which the Join NPC will be choosen from. You can pick any preexisting NPC or create your own.



- INPUT1: The next six variables define the rewards and their respective ammounts or each of the two teams and finally the actual VIP Player. It would be smart to give the Not VIP team less valuable rewards than that of the VIP team; since its harder for the VIP team to win.


- After filling in the variables above you are now able to hit the Start Join button. The event will take over from there.

- Players will locate the Join NPC and hit join, the NPC will automatically check their race and assign them respectivly

- After the join period is finish they will be teleported after 20 seconds.

- After they are teleported they will be forced to sit for another 20 seconds

- The event will start and end if the VIP makes it to the NPC, VIP dies or the time runs out

- At the end of the event all values will clear and you are ready for another go!






If you are smart with code I'm sure you can customize anything you wanted in the event, but I'll talk more about the SQL customizations. The values in the SQL table have been carefully choosen to give each race the same advantage, but you can change them if you wish.


Each team is assigned a value (1: Human, 2: Elf, 3: Dark, 4: Orc, 5: Dwarf), this differs from L2j where 0: Human because I used 0 as a null value. In the SQL tables you will see an entry for each race. You can edit the start and end x,y,z respectivly to move around the posistions to your liking. The engine will do the rest.







Credits to: CubicVirtuoso (AND ONLY!)




P.S.:The engine is a bit old so if you have problems,PM me.

Link to comment
Share on other sites

1st) I am not a man.

ty man !

thanks man !!! realy cool :)

Reading is hard ey


Great job Flower, thank you for making(/adapting) and sharing :)

Link to comment
Share on other sites

  • 3 weeks later...
  • 4 months later...

Join the conversation

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

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.


  • 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