L2J Revision 5937
L2JDP Revision 9641
Hi L2j, I have some trouble on solving "how this works".
This is what I wan't to do:
A PHP script which opens me a way to add a AIO Buffer, I don't have any problem on how to add actual AIO, but on how to create a new weapon for that player who want's AIO. The reason that I have titled Factory ID, is that I'm worrying that some day something will get messed up, and the AIO creator will insert Object ID of the same number as something else. I need help on how to check the Objects with PHP before I render new Object ID,
Thanks, Ane.
[SOLVED] AIO Buffer PHP reserved Object ID pool
Forum rules
READ NOW: L2j Forums Rules of Conduct
READ NOW: L2j Forums Rules of Conduct
-
- Posts: 7
- Joined: Mon Sep 02, 2013 11:31 am
[SOLVED] AIO Buffer PHP reserved Object ID pool
Last edited by Ane on Fri Nov 01, 2013 4:19 am, edited 2 times in total.
-
- L2j Veteran
- Posts: 1228
- Joined: Thu Jan 17, 2013 9:46 am
Re: Factory ID description
That's a bit hard, i guess you could make a scheduledTask that checks every 10 seconds if there is still enough free Ids in special database table. And make sure that table is filled with 10-20 objectIds. PHP script takes them and removes them and voila. If you set that objectId pool to 50 i believe it will never be empty and set the scheduled task to let's say 30 minutes.
-
- Posts: 7
- Joined: Mon Sep 02, 2013 11:31 am
Re: Factory ID description
Thanks for the reply!
What if I generate an ID, and then do while if the ID is not placed anywhere in this tables. Then an item would prehaps be created?
Code: Select all
protected static final String[] ID_CHECKS = { "SELECT owner_id FROM items WHERE object_id >= ? AND object_id < ?", "SELECT object_id FROM items WHERE object_id >= ? AND object_id < ?", "SELECT charId FROM character_quests WHERE charId >= ? AND charId < ?", "SELECT charId FROM character_contacts WHERE charId >= ? AND charId < ?", "SELECT contactId FROM character_contacts WHERE contactId >= ? AND contactId < ?", "SELECT charId FROM character_friends WHERE charId >= ? AND charId < ?", "SELECT charId FROM character_friends WHERE friendId >= ? AND friendId < ?", "SELECT charId FROM character_hennas WHERE charId >= ? AND charId < ?", "SELECT charId FROM character_recipebook WHERE charId >= ? AND charId < ?", "SELECT charId FROM character_recipeshoplist WHERE charId >= ? AND charId < ?", "SELECT charId FROM character_shortcuts WHERE charId >= ? AND charId < ?", "SELECT charId FROM character_macroses WHERE charId >= ? AND charId < ?", "SELECT charId FROM character_skills WHERE charId >= ? AND charId < ?", "SELECT charId FROM character_skills_save WHERE charId >= ? AND charId < ?", "SELECT charId FROM character_subclasses WHERE charId >= ? AND charId < ?", "SELECT charId FROM character_ui_actions WHERE charId >= ? AND charId < ?", "SELECT charId FROM character_ui_categories WHERE charId >= ? AND charId < ?", "SELECT charId FROM characters WHERE charId >= ? AND charId < ?", "SELECT clanid FROM characters WHERE clanid >= ? AND clanid < ?", "SELECT clan_id FROM clan_data WHERE clan_id >= ? AND clan_id < ?", "SELECT clan_id FROM siege_clans WHERE clan_id >= ? AND clan_id < ?", "SELECT ally_id FROM clan_data WHERE ally_id >= ? AND ally_id < ?", "SELECT leader_id FROM clan_data WHERE leader_id >= ? AND leader_id < ?", "SELECT item_obj_id FROM pets WHERE item_obj_id >= ? AND item_obj_id < ?", "SELECT object_id FROM itemsonground WHERE object_id >= ? AND object_id < ?" };
-
- L2j Veteran
- Posts: 1228
- Joined: Thu Jan 17, 2013 9:46 am
Re: Factory ID description
Why this complex checks? You can make sure that IdFactory prepares you free and reserved objectIds and you just take them from sql table and use them in PHP to reinsert...
-
- Posts: 7
- Joined: Mon Sep 02, 2013 11:31 am
Re: Factory ID description
That sounds good. Thanks 

-
- Posts: 7
- Joined: Mon Sep 02, 2013 11:31 am
Re: Factory ID description
Okay! I managed to get it work.
Server on fixed Schedule looks in database for row, if finds it the index increases. Index - pool gives a missing number of a pool, if is more than 0, server loops the missing number and adds the objects ID to the pool. If server is booting, the pool is cleaned, and filled an again.
So finally, i can make PHP script to handle adding skills to the character, level, access level of a AIO Buffer and desired duals for the character, with one simple click
. Just awesome. Even better, now creating a item mall in Lineage2 will be piece of cake with this pool! Because, it allows the buyer when hes offline purchase items, without giving it individually to each player in a game. From a web!
Thanks l2j, i couldn't think of this method any better than xban1x did
Server on fixed Schedule looks in database for row, if finds it the index increases. Index - pool gives a missing number of a pool, if is more than 0, server loops the missing number and adds the objects ID to the pool. If server is booting, the pool is cleaned, and filled an again.
So finally, i can make PHP script to handle adding skills to the character, level, access level of a AIO Buffer and desired duals for the character, with one simple click

Thanks l2j, i couldn't think of this method any better than xban1x did

-
- L2j Veteran
- Posts: 1228
- Joined: Thu Jan 17, 2013 9:46 am
Re: [SOLVED] AIO Buffer PHP reserved Object ID pool
Better way would be a TelnetHandler which would return you a free objectId when you request it. Making a connection thru PHP is fairly easy over telnet 
