View Full Version : Req: Update to starting_items table
Lurker_005
03-14-2003, 05:45 PM
I would like to get 2 more fields added to the starting_items table
zone_id and diety_id
That way propper notes can be issued. The EQcollector data has the information to populate the table once it is updated.
Trumpcard
03-14-2003, 08:21 PM
sorry i missed ya on irc..
Drop me an email with what you'd like to see, and I'll work on it...
killspree
03-14-2003, 08:38 PM
Another column that would be nice is quantity(similar to the request of productcount for tradeskills) so that when assigning food/drink to newbie players you can set it to a certain quantity.
At the moment it just gives starting players 1 of a stackable item.
Drawde
03-14-2003, 11:08 PM
That would be a good addition.
Another thing that might make the starting items table more "efficient" is, if any of the values (race, class, deity etc) are set to 0, they are given to all characters that match the other parameters. Starting food could have an 0 in all these flags, so all characters get it, whilst a "Short Sword*" could be assigned to all the classes that get it, but with an 0 in the race and deity flags.
killspree
03-14-2003, 11:23 PM
That's a very nice idea.
Trumpcard
03-15-2003, 12:50 AM
Ok... added zone_id, and diety_id to the starting tables field.
Can someone send me the data for the new table , and I'll put it into the defualt db.sql
I'll work on updating the code to use it. the zone_id & class_id and deity_id should be used to determine which starting note to use?
I'm guessing thats what you are asking for..
Thanks!
Trumpcard
03-15-2003, 12:51 AM
Ok... added zone_id, and diety_id to the starting tables field.
Can someone send me the data for the new table , and I'll put it into the defualt db.sql
I'll work on updating the code to use it. the zone_id & class_id and deity_id should be used to determine which starting items to use?
I'm guessing thats what you are asking for..
Thanks!
Trumpcard
03-15-2003, 12:57 AM
Heres the new table format
id int(11) unsigned PRI default 0
race Int(11) PRI 0
class int(11) 0
zoneid int(11) 0
deityid int(11) 0
gm tinyint(1) 0
Lurker_005
03-15-2003, 11:01 AM
Yep that is what I was looking for.
I'll generate it tonight and send it out. I'll try and create a second one that uses Drawde's sugestion about setting race, diety, class to 0 if used by all.
and thanks Trumpcard
Trumpcard
03-15-2003, 11:47 AM
Also, item_charges is now in, so you can give stacks of items on start (hurrah for food and water!)
CREATE TABLE starting_items (
id int(11) unsigned NOT NULL auto_increment,
race int(11) NOT NULL default '0',
class int(11) NOT NULL default '0',
deityid int(11) NOT NULL default '0',
zoneid int(11) NOT NULL default '0',
itemid int(11) NOT NULL default '0',
item_charges tinyint(3) unsigned not null default '1',
gm tinyint(1) NOT NULL default '0',
PRIMARY KEY (id,race)
) TYPE=MyISAM;
Lurker_005
03-15-2003, 03:04 PM
Done with starting items
This will NOT work right until the code is changed for it. You get like 30 items and only have 8 slots!
Trumpcard
03-16-2003, 01:57 AM
Alrighty, code changes are done and pushed out to CVS.
Also in are fixes to skill increases, and skill increases for casting skills. Seems to be working ok. Let me know your thoughts.
Here are the win32 binaries. (For anyone other than DB developers, these are test binaries, and NOT SUPPORTED, so download at your own risk)
Drawde
03-16-2003, 04:26 AM
I'll try and create a new starting_items table ASAP using the new system. I'll post it here when it's done.
Trumpcard
03-16-2003, 05:27 AM
Lurker posted a new one in the link right above mine. I'm guessing it's fairly complete, there are alot of entries in it..
Drawde
03-16-2003, 09:05 AM
I'm getting a strange crash error when using these binaries. Everything will start up OK and I can enter the world,
however around 5 seconds after entering the world the zoneserver will (invariably) crash. The last message to appear
in the window is "got a player profile save message" or similar, so I thought it might be related to the character data
having changed, but the crash also occurs with newly-created characters.
I also once got a doors-related error message just before the crash, so this might be the problem instead; has the data
structure for doors changed lately?
Trumpcard
03-16-2003, 09:50 AM
No, but character backups changed recently...
Put these in your database...
CREATE TABLE player_corpses_backup (
id int(11) unsigned NOT NULL auto_increment,
charid int(11) unsigned NOT NULL default '0',
parent_corpse_id int(11) unsigned NOT NULL default '0',
zoneid smallint(11) NOT NULL default '0',
x float NOT NULL default '0',
y float NOT NULL default '0',
z float NOT NULL default '0',
heading float NOT NULL default '0',
data blob NOT NULL,
timeofdeath datetime NOT NULL,
timeofdelete datetime NOT NULL default '0',
PRIMARY KEY (id),
KEY charid (charid)
) TYPE=MyISAM;
CREATE TABLE character_backup (
id int(11) unsigned NOT NULL auto_increment,
backupreason tinyint(3) unsigned not null default '0',
charid int(11) unsigned not null default '0',
account_id int(11) unsigned NOT NULL default '0',
name varchar(64) NOT NULL default '',
profile blob,
guild int(11) unsigned default '0',
guildrank tinyint(2) unsigned default '5',
x float NOT NULL default '0',
y float NOT NULL default '0',
z float NOT NULL default '0',
zoneid smallint(5) not null default '0',
alt_adv blob,
ts timestamp(14),
PRIMARY KEY (id),
KEY name (name),
KEY charid (charid)
) TYPE=MyISAM;
Other than that, I'm not 100% sure
killspree
03-16-2003, 11:50 PM
Make sure the character_backup table has the field backupreason
That was causing crashes for me until I added it in.
Drawde
03-17-2003, 03:09 AM
Thanks for the info, that seems to have fixed it.
I've put made a .sql script to update these tables -
http://www.edwardpinniger.bctalk.net/eq/updatebackups.sql
also an items DB compatible with the new format -
http://www.edwardpinniger.bctalk.net/eq/items_44dr1.zip
Trumpcard
03-17-2003, 03:45 AM
Oh Drawde, I figured out whats happening to low end damage... Turns out its a casting problem (surprise surprise)
Heres the offender..
int max_hit = weapon_damage * ((GetSTR() + GetSkill(skillinuse)+ mylevel) / 100);
All these fields are integers.. What happens is that if STR+SKILL+LEVEL < 100, then the total is a 0, and you get 0 * weapon_damage, so your max_hit will always be 0.
What I've done to fix this is to cast the 3 variables to floats, then when they get jammed back into max_hit, it drops the remainder, but you dont lose the <1 case.
The new field is
int max_hit = weapon_damage * (( (float)GetSTR() + (float)GetSkill(skillinuse)+ (float)mylevel) / 100);
A wrote a little driver stub to test this, heres the before and after with a Str of 75, skill of 0, level 1 and weapon_damage of 8.
BEFORE
Damage is : 2
Damage is : 2
Damage is : 2
Damage is : 2
Damage is : 2
Damage is : 2
Damage is : 2
Damage is : 2
Damage is : 2
Damage is : 2
Damage is : 2
AFTER
Damage is : 6
Damage is : 6
Damage is : 2
Damage is : 3
Damage is : 3
Damage is : 6
Damage is : 2
Damage is : 4
Damage is : 4
Damage is : 4
Damage is : 3
a_Guest03
03-17-2003, 06:28 AM
Yaaaaay, Trump :) I hated not having any weapon skills... It takes a LOT of fun out of the game when mobs hit you all the time and you can't do any damage.
Drawde
03-17-2003, 08:13 AM
So that's why the skill level needed for the damage output to work properly varied (sometimes it was 10, sometimes 15, 20, or 25),
it was due to the varying STR of my characters. Couldn't work out why it was varying so much, I thought it was version-related..
Anyway, great work on finally fixing this!
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.