Help needed for dropcalc testing.
Forum rules
READ NOW: L2j Forums Rules of Conduct
READ NOW: L2j Forums Rules of Conduct
-
- Advanced User
- Posts: 308
- Joined: Wed May 10, 2006 11:40 am
- Location: U.K.
Being able to see the account, has helped users to identify all characters being used by an unscrupulous player, and has protected players against all the characters used by that player, because they know the account and talk about the account name.
Also, the bad player could make and delete characters and they are then harder to track. If the players can see the account quickly, then the bad player has nowhere to hide, save to make another account and then they leave a trace of IP addresses.
It is nothing special for a GM to make another account to play the game normally; there aren't usually that many gm's on a server, and characters are easily switched between accounts so that existing GM's can have a new account set up very quickly.
EDIT - In fact, the thought strikes me ... why not have one account on which there is a coral of GM characters? Players get familiar with the characters rather than the people behind them, and seeing a smaller number of GM characters around may be a psychological advantage that dealing with different Gm characters all the time.
EDIT 2 - thought again about this. If more than one person used the same Gm character, then a person might assume that the second person already knows what was told to the first gm.
Theory is that if a player can't take being told, "I'm off duty, I'd like some game time as well," then just create a different account for the gm's and port the characters over.
Also, the bad player could make and delete characters and they are then harder to track. If the players can see the account quickly, then the bad player has nowhere to hide, save to make another account and then they leave a trace of IP addresses.
It is nothing special for a GM to make another account to play the game normally; there aren't usually that many gm's on a server, and characters are easily switched between accounts so that existing GM's can have a new account set up very quickly.
EDIT - In fact, the thought strikes me ... why not have one account on which there is a coral of GM characters? Players get familiar with the characters rather than the people behind them, and seeing a smaller number of GM characters around may be a psychological advantage that dealing with different Gm characters all the time.
EDIT 2 - thought again about this. If more than one person used the same Gm character, then a person might assume that the second person already knows what was told to the first gm.
Theory is that if a player can't take being told, "I'm off duty, I'd like some game time as well," then just create a different account for the gm's and port the characters over.
My friend is a paranoid schizophrenic ... she'll take over the world, as long as nobody minds.
-
- L2j Veteran
- Posts: 1217
- Joined: Mon Nov 14, 2005 1:25 am
Been looking for a worthy replacement for my customized mobfinder system.... your dropcalc has everything plus more.
I'll PM you for an acct... just wondering if what the admin side is like.... because what I can see via guest login kicks so much ass!
Looking things like the ability to change clan leaders, view/modify player inventory/stats/loc, move char to another acct, etc
I'll PM you for an acct... just wondering if what the admin side is like.... because what I can see via guest login kicks so much ass!

Looking things like the ability to change clan leaders, view/modify player inventory/stats/loc, move char to another acct, etc

-
- Advanced User
- Posts: 308
- Joined: Wed May 10, 2006 11:40 am
- Location: U.K.
Funny you should say that ... was talking with someone else about this earlier today. I intended working on the administration system today, but settled down with a copy of Black and White 2 (with the tiger unlocker) and a bottle of wine. Now I'm in no condition to code today, but I've got a long list of things to code tomorrow ... that being among them.HeXa wrote:Looking things like the ability to change clan leaders, view/modify player inventory/stats/loc, move char to another acct, etc

But for now ... um ... looks like another visit to the wine cellar ... this bottle has a hole in it. (Yes, I know the hole is in the top; don't bother me with piffling details.)
My friend is a paranoid schizophrenic ... she'll take over the world, as long as nobody minds.
-
- Advanced User
- Posts: 308
- Joined: Wed May 10, 2006 11:40 am
- Location: U.K.
O.K., More account alteration stuff done. Character alteration stuff will come tomorrow, along with database validity checking, and also automatic tidying routines.
Teleports by the drop calc can be done when the user is off line. GM's have a choice of teleporting them to Giran or their home town. There is a small map which shows roughly where the player is in the world, whether off or on line.
Inventory can be changed to a degree when the user is off line, quantities altered or items deleted (look for the CQ for Change Quantity) but at the moment no new items can be added when they are off line. Items can be given to the player when they are on line.
character stats will come tomorrow ... but I'm not sure about changing clan leader; I'm encountering problems when I change clan stuff directly in the database, so I'm obviously doing something wrong. I need to research this more.
Thanks for the "kick ass" vote
Much appreciated! It's taken a long time to get it this far!
Teleports by the drop calc can be done when the user is off line. GM's have a choice of teleporting them to Giran or their home town. There is a small map which shows roughly where the player is in the world, whether off or on line.
Inventory can be changed to a degree when the user is off line, quantities altered or items deleted (look for the CQ for Change Quantity) but at the moment no new items can be added when they are off line. Items can be given to the player when they are on line.
character stats will come tomorrow ... but I'm not sure about changing clan leader; I'm encountering problems when I change clan stuff directly in the database, so I'm obviously doing something wrong. I need to research this more.
Thanks for the "kick ass" vote

My friend is a paranoid schizophrenic ... she'll take over the world, as long as nobody minds.
-
- Advanced User
- Posts: 308
- Joined: Wed May 10, 2006 11:40 am
- Location: U.K.
O.K., HeXa,
You've got it. An off line character can now be switched to other accounts. Also, a user can change their own password, and an admin can change any password. I've also separated out "reboot server" so that it can be assigned to roles beneath full admin.
I did hit a snag, however, which was that even though the server allows infinite characters on an account, the client itself will only show and use seven. To that extent, the drop calc will warn if an account to which you have transfered a character, has gone over the character limit ... but it will still let you do it for purposes of character parking, etc.
The changes aren't in the uploaded code yet ... I want to finish some of the character stuff first ... like changing level (which can only be done by changing XP. Anyone happen to have a table of what XP matches the start of what levels please? Otherwise I'm going to have to experiment them out of the game
)
Account deletion will come when I do character deletion, and character deletion will come when I work out how pets are stored ... don't want to leave orphaned or abandoned pets on the server ... the Royal Society for Prevention of Cruelty to Hatchlings (RSPCH) will be down on me like a ton of *****!
You've got it. An off line character can now be switched to other accounts. Also, a user can change their own password, and an admin can change any password. I've also separated out "reboot server" so that it can be assigned to roles beneath full admin.
I did hit a snag, however, which was that even though the server allows infinite characters on an account, the client itself will only show and use seven. To that extent, the drop calc will warn if an account to which you have transfered a character, has gone over the character limit ... but it will still let you do it for purposes of character parking, etc.
The changes aren't in the uploaded code yet ... I want to finish some of the character stuff first ... like changing level (which can only be done by changing XP. Anyone happen to have a table of what XP matches the start of what levels please? Otherwise I'm going to have to experiment them out of the game

Account deletion will come when I do character deletion, and character deletion will come when I work out how pets are stored ... don't want to leave orphaned or abandoned pets on the server ... the Royal Society for Prevention of Cruelty to Hatchlings (RSPCH) will be down on me like a ton of *****!
My friend is a paranoid schizophrenic ... she'll take over the world, as long as nobody minds.
-
- L2j Veteran
- Posts: 1217
- Joined: Mon Nov 14, 2005 1:25 am
Sweet!!
for XP<->LEVEL values
for XP<->LEVEL values
Code: Select all
public final static int LEVEL[]=
{
0, // level 0
1,
69,
364,
1169,
2885 ,
6039 ,
11288 ,
19424 ,
31379 ,
48230 , //level 10
71203 ,
101678 ,
141194 ,
191455 ,
254331 ,
331868 ,
426289 ,
540001 ,
675597 ,
835863 , //level 20
1023785 ,
1242547 ,
1495544 ,
1786380 ,
2118877 ,
2497078 ,
2925251 ,
3407898 ,
3949755 ,
4555797 , //level 30
5231247 ,
5981577 ,
6812514 ,
7730045 ,
8740423 ,
9850167 ,
11066073 ,
12395216 ,
13844952 ,
15422930 , //level 40
17137088 ,
18995666 ,
21007204 ,
23180551 ,
25524869 ,
28049636 ,
30764655 ,
33680053 ,
36806290 ,
40154163 , //level 50
45525134 ,
51262491 ,
57383989 ,
63907912 ,
70853090 ,
80700832 ,
91162655 ,
102265882,
114038596,
126509653, //level 60
146308200,
167244337,
189364894,
212717908,
237352644,
271975263,
308443198,
346827154,
387199547,
429634523, //level 70
474207979,
532694979,
606322775,
696381369,
804225364, //level 75
931275364,
1151264834,
1511257834,
2099305233 //this is here just to allow further exp gaining after level 78
//1788937098, //level 80
//1999999999
};
-
- Advanced User
- Posts: 308
- Joined: Wed May 10, 2006 11:40 am
- Location: U.K.
Thanks, HeXa,
I'll get on the level change tonight. I'm also starting a reference section ... one for players (like career paths) and one for GM's, like skill number for speed skill, etc. Anything you'd like to see on either list? The career paths are already there; did that this morning
Add skill to off line player, and add item to off line players inventory, will come later. Might limit item adding to the players warehouse only, though. Don't want to weigh down a character when they are in the middle of nowhere; they'd never be able to get to a warehouse!!!
Adding an item to a players warehouse may also work while the player is on-line ... I'll have to do some testing.
Also, if you get the chance to look at the statistics, can you let me know if there is anything missing that you would like to see?
The clan functions will come after I've finished the charater and account operations; there is much testing to be done on that to make sure I do it right.
I'll get on the level change tonight. I'm also starting a reference section ... one for players (like career paths) and one for GM's, like skill number for speed skill, etc. Anything you'd like to see on either list? The career paths are already there; did that this morning

Add skill to off line player, and add item to off line players inventory, will come later. Might limit item adding to the players warehouse only, though. Don't want to weigh down a character when they are in the middle of nowhere; they'd never be able to get to a warehouse!!!
Adding an item to a players warehouse may also work while the player is on-line ... I'll have to do some testing.
Also, if you get the chance to look at the statistics, can you let me know if there is anything missing that you would like to see?
The clan functions will come after I've finished the charater and account operations; there is much testing to be done on that to make sure I do it right.
My friend is a paranoid schizophrenic ... she'll take over the world, as long as nobody minds.
-
- Advanced User
- Posts: 308
- Joined: Wed May 10, 2006 11:40 am
- Location: U.K.
Thanks, HeXa,
At the moment, I need to know how the pets work, so that when I delete a call, I delete the pet as well. As far as I can work out, the pets items are in the players inventory, so if the character is off line, then there should be nothing hanging around the place once I've killed the pet in the pet table.
As far as I know, when I delete a character, I need to delete all items held by that character, and the pets held, and that is about it. I don't think there is anything else that needs to be tidied up. Can you think of anything else that might be hanging around the database that is connected to the character and should also be deleted?
Also, the thing about the clan leader ... I've previously changed the clan leader, and the clan memberships in the database tables, but things have messed up. I am presuming that the clan permissions for each clan member must be somewhere, but I'm not sure where they are, or how they work.
At the moment, I need to know how the pets work, so that when I delete a call, I delete the pet as well. As far as I can work out, the pets items are in the players inventory, so if the character is off line, then there should be nothing hanging around the place once I've killed the pet in the pet table.
As far as I know, when I delete a character, I need to delete all items held by that character, and the pets held, and that is about it. I don't think there is anything else that needs to be tidied up. Can you think of anything else that might be hanging around the database that is connected to the character and should also be deleted?
Also, the thing about the clan leader ... I've previously changed the clan leader, and the clan memberships in the database tables, but things have messed up. I am presuming that the clan permissions for each clan member must be somewhere, but I'm not sure where they are, or how they work.
My friend is a paranoid schizophrenic ... she'll take over the world, as long as nobody minds.
-
- L2j Veteran
- Posts: 1217
- Joined: Mon Nov 14, 2005 1:25 am
this is based on what I know/remember from my server's admin channel
-= Pets =-
there used to be a time where call items would be lost/deleted without the pet data being removed... resulted in errors when server booted. the following line fixed that
-=Characters=-
To delete a specific character (pretty sure this is still up to date) where x is the id...
The characters table is last changed as these queries can easily be reused to set a where clause that specifies things like lvl=1 and exp=1 (unused chars) or chars with a lastaccess value older than a certain value.
-=Clan Leader=-
The quick and dirty way I knew was to just get the ID of the character to be the new clan leader and subsitute that for the leader_id value for the relevant clan_id in clan_data. This way causes problems ?
Clan priviledges is set by clan_privs value in characters table. The following is a list values from the java code in L2Clan.java
-= Pets =-
there used to be a time where call items would be lost/deleted without the pet data being removed... resulted in errors when server booted. the following line fixed that
Code: Select all
DELETE FROM pets WHERE item_obj_id NOT IN (SELECT object_id FROM items); -- delete any pets without a call item assigned
-=Characters=-
To delete a specific character (pretty sure this is still up to date) where x is the id...
Code: Select all
DELETE FROM character_friends WHERE char_id = x;
DELETE FROM character_subclasses WHERE char_obj_id = x;
DELETE FROM character_hennas WHERE char_obj_id = x;
DELETE FROM character_macroses WHERE char_obj_id = x;
DELETE FROM character_quests WHERE char_id = x;
DELETE FROM character_recipebook WHERE char_id = x;
DELETE FROM character_shortcuts WHERE char_obj_id = x;
DELETE FROM character_skills WHERE char_obj_id = x;
DELETE FROM character_skills_save WHERE char_obj_id = x;
DELETE FROM items WHERE owner_id = x;
DELETE FROM characters WHERE obj_id = x;
-=Clan Leader=-
The quick and dirty way I knew was to just get the ID of the character to be the new clan leader and subsitute that for the leader_id value for the relevant clan_id in clan_data. This way causes problems ?
Clan priviledges is set by clan_privs value in characters table. The following is a list values from the java code in L2Clan.java
Code: Select all
public static final int CP_NOTHING = 0;
public static final int CP_CL_JOIN_CLAN = 1; // Join clan
public static final int CP_CL_GIVE_TITLE = 2; // Give a title
public static final int CP_CL_VIEW_WAREHOUSE = 4; // View warehouse content
public static final int CP_CL_REGISTER_CREST = 8; // Register clan crest
public static final int CP_CH_OPEN_DOOR = 16; // open a door
public static final int CP_CH_OTHER_RIGHTS = 32; //??
public static final int CP_CH_DISMISS = 64; //??
public static final int CP_CS_OPEN_DOOR = 128;
public static final int CP_CS_OTHER_RIGHTS = 256; //???
public static final int CP_CS_DISMISS = 512; //???
public static final int CP_ALL = 1023;
-
- Advanced User
- Posts: 308
- Joined: Wed May 10, 2006 11:40 am
- Location: U.K.
( very deep breath ) Ooooohhhhhhh Kaaayyyyyy.....
The version I've just uploaded supports deleting characters and accounts. It has a database check tool, and another tool to clean up the problems if desired (cleaning up some problems might cause new ones, hence a recheck is always necessary, but it gives a fresh set of results after every cleaning run ... I may have to adjust the order as there is a domino effect; if I get it right, it will do the work for me.)
It also supports the changing of characters levels and sp, on top of the access level for the character and the account. Apparently, 78 is the maximum level, everything else is a plus on that (ie. 101%), but with a level 80 character, the client then refuses to recognise any of the accounts characters!
Tuesday I'll probably take the night off, but Wednesday I'll tackle clan control and also look in to giving items to an online players warehouse. I know I've got to check for stackable items ... once upon a time, a GM gave a few hundred thousand of item 75 instead of 57 to a player. End result, a crashed server and an embarased GM who gave up GMing; not a good result, so I want to protect for that situation. Probalby a limit of 5 non-stackable items at any one time.
Edit - I've also included, for authenticated users, a reference section with the career paths; for people at the start, they now have a document on connecting to L2J servers, and also a newbie guide to the game.
Edit 2 - In the next uploaded version, when I get it uploaded, the global variables have been separated from the common coding blocks to make it easier to upgrade dropcalc versions and keep the same variables.
The version I've just uploaded supports deleting characters and accounts. It has a database check tool, and another tool to clean up the problems if desired (cleaning up some problems might cause new ones, hence a recheck is always necessary, but it gives a fresh set of results after every cleaning run ... I may have to adjust the order as there is a domino effect; if I get it right, it will do the work for me.)
It also supports the changing of characters levels and sp, on top of the access level for the character and the account. Apparently, 78 is the maximum level, everything else is a plus on that (ie. 101%), but with a level 80 character, the client then refuses to recognise any of the accounts characters!
Tuesday I'll probably take the night off, but Wednesday I'll tackle clan control and also look in to giving items to an online players warehouse. I know I've got to check for stackable items ... once upon a time, a GM gave a few hundred thousand of item 75 instead of 57 to a player. End result, a crashed server and an embarased GM who gave up GMing; not a good result, so I want to protect for that situation. Probalby a limit of 5 non-stackable items at any one time.
Edit - I've also included, for authenticated users, a reference section with the career paths; for people at the start, they now have a document on connecting to L2J servers, and also a newbie guide to the game.
Edit 2 - In the next uploaded version, when I get it uploaded, the global variables have been separated from the common coding blocks to make it easier to upgrade dropcalc versions and keep the same variables.
My friend is a paranoid schizophrenic ... she'll take over the world, as long as nobody minds.
-
- Advanced User
- Posts: 308
- Joined: Wed May 10, 2006 11:40 am
- Location: U.K.
I knew something was screwy. Change the clan leader ID to a second character, give the second character the privs, go in to the game as the second character, but the game still says that the first player is the clan leader.
Any ideas? If it involves editing files, I'm going to have to shelve it at this point and come back to clan operations later.
Any ideas? If it involves editing files, I'm going to have to shelve it at this point and come back to clan operations later.
My friend is a paranoid schizophrenic ... she'll take over the world, as long as nobody minds.
-
- Advanced User
- Posts: 308
- Joined: Wed May 10, 2006 11:40 am
- Location: U.K.
Depositing items in the players warehouse can be done, but the player must re-log before it is seen. Simply waiting for the game to catch up wasn't good enough, nor was teleporting. The character had to re-log 
It is probably a way to give players items when they are off-line; then they can also be put straight in the inventory ... but I'd rather them go in the warehouse, because you never know when you're overweighting a player and they can't move or end up with penalties and all that jaz.
The drop calc can already give items to an in-game player via telnet, so I'll introduce a check to put the items in the warehouse if they are off-line assuming I can get an answer to the questions at the end of this post.
I'm also going to introduce a button to give players one of a range of pre-defined sets of armor and weapons based on their characters class. Basically, when running a fun server, it was a real pain in the a to look up the numbers and feed the player all the items individually, so I'm going to make some sets automated.
I've introduced a table in the stats area to show PkP players, highest first, and also the XP table HeXa kindly posted is also a reference table in there for GM's now, in case manual alterations have to be done in-game.
HELP NEEDED - to answer some questions on posting an entry to the items table. Regarding the unique column object_id ... is it safe to put items in this section when the game is live, or is there a danger of the gameserver wanting to use the next available number after the drop calc has already used it? (I'm scared the gameserver is keeping variables inside itself for speed of operation, and is assuming nothing else is going to alter the tables while the gameserver is running) Also, what is the quickest and safest way of defining a unique number for this column, without upsetting the game server?
EDIT - While I was at it, ID search for item and monster are also now implemented. Anything else before I start on the shops?

It is probably a way to give players items when they are off-line; then they can also be put straight in the inventory ... but I'd rather them go in the warehouse, because you never know when you're overweighting a player and they can't move or end up with penalties and all that jaz.
The drop calc can already give items to an in-game player via telnet, so I'll introduce a check to put the items in the warehouse if they are off-line assuming I can get an answer to the questions at the end of this post.
I'm also going to introduce a button to give players one of a range of pre-defined sets of armor and weapons based on their characters class. Basically, when running a fun server, it was a real pain in the a to look up the numbers and feed the player all the items individually, so I'm going to make some sets automated.
I've introduced a table in the stats area to show PkP players, highest first, and also the XP table HeXa kindly posted is also a reference table in there for GM's now, in case manual alterations have to be done in-game.
HELP NEEDED - to answer some questions on posting an entry to the items table. Regarding the unique column object_id ... is it safe to put items in this section when the game is live, or is there a danger of the gameserver wanting to use the next available number after the drop calc has already used it? (I'm scared the gameserver is keeping variables inside itself for speed of operation, and is assuming nothing else is going to alter the tables while the gameserver is running) Also, what is the quickest and safest way of defining a unique number for this column, without upsetting the game server?
EDIT - While I was at it, ID search for item and monster are also now implemented. Anything else before I start on the shops?
My friend is a paranoid schizophrenic ... she'll take over the world, as long as nobody minds.
-
- Advanced User
- Posts: 308
- Joined: Wed May 10, 2006 11:40 am
- Location: U.K.
Result on clan leader change is now known - the server keeps a copy of the database inside running variable space. Changing the clan details in the DB doesn't do jack until the server is rebooted.
Now the question ... to keep or ditch the drop calcs ability to change the clan leader, as if further changes happen in game, it will overwrite the table anyway ... and it could be who knows how long before the server is rebooted and the changes take effect. (if they're not overwritten first)
Discussion please!
EDIT - the latest code is uploaded. Recommended that you delete the existing and then install this version. The config.php is separated from the common functions, so after this version, it is now possible to just grab a copy of a new pack, and put your existing config.php on top of it.
Now the question ... to keep or ditch the drop calcs ability to change the clan leader, as if further changes happen in game, it will overwrite the table anyway ... and it could be who knows how long before the server is rebooted and the changes take effect. (if they're not overwritten first)
Discussion please!
EDIT - the latest code is uploaded. Recommended that you delete the existing and then install this version. The config.php is separated from the common functions, so after this version, it is now possible to just grab a copy of a new pack, and put your existing config.php on top of it.
My friend is a paranoid schizophrenic ... she'll take over the world, as long as nobody minds.