Edit: Was supposed to be a reply to http://forums.polserver.com/viewtopic.php?t=1612
Gotcha. While im at it, I think ill change how character creation works.
This way the client made and account method made characters are easier to handle
The core will create a blank template character and pass that to the scripts/misc/oncreate script along with some arrays
program OnCreate(mobile, settings, items)
settings would contain a dict with stuff like ["color"] containing the skin color selected.
Items would contain the hair object type and color selected and the shirt.
Then these settings must be applied in the oncreate script.. one would be assembled in the distro for all shards to use
Thoughts?
Character Creation
Character Creation
Last edited by Austin on Sun Jul 01, 2007 3:17 pm, edited 1 time in total.
Can I assume that
var slot := acct.AddCharacter(0);
would then trigger oncreate immediately or can I finish a script first?
Would it be best for the AddCharacter to duplicate what the client sends when creating a character?
There is obviously some core action right now that supplies a lot of stuff before oncreate is run, so are you planning to remove what the core does and simply send along all the client supplied parameters for oncreate to handle?
var slot := acct.AddCharacter(0);
would then trigger oncreate immediately or can I finish a script first?
Would it be best for the AddCharacter to duplicate what the client sends when creating a character?
There is obviously some core action right now that supplies a lot of stuff before oncreate is run, so are you planning to remove what the core does and simply send along all the client supplied parameters for oncreate to handle?
The core will check some validity towards character creation before proceeding to oncreate: if its a valid account, valid character slot, no characters already logged in. Assigning a serial number and initial placement in the world would also be core-side.OldnGrey wrote:Can I assume that
var slot := acct.AddCharacter(0);
would then trigger oncreate immediately or can I finish a script first?
Would it be best for the AddCharacter to duplicate what the client sends when creating a character?
There is obviously some core action right now that supplies a lot of stuff before oncreate is run, so are you planning to remove what the core does and simply send along all the client supplied parameters for oncreate to handle?
Checking for valid skin color, item color, etc. would become the responsibility of oncreate as well as assigning stats and skills.
account.AddCharacter() could have additional arguments that get forwarded to oncreate to be handled there.
account.AddCharacter(slot, attribute, properties, items) or something
Don't worry Yukiko.
I doubt this will add much to oncreate and I am sure those lines can get published around the same time as the core release for it.
Put it this way, since I use it I will be doing it as a matter of urgency so I can promise something quickly. I've spent a lot of time in the new character scripts recently
I doubt this will add much to oncreate and I am sure those lines can get published around the same time as the core release for it.
Put it this way, since I use it I will be doing it as a matter of urgency so I can promise something quickly. I've spent a lot of time in the new character scripts recently
Right now I have to report that acct.AddCharacter(0) is buggy enough for me to stop using it altogether for now.
When a new player logs on with one of these accounts there is a fair chance they will simply disconnect within a couple of seconds of entering the world. I am not sure if it's related to the ealier bug where a new character is marked as in-use and cannot be deleted until they log on or shard restart. It's hard to me to reproduce on my pc.
They can play that character on another pc that already plays on the shard just fine, just not their own pc. I can use that character just fine on my pc.
I can't pin it down. The worldsave in pcs.txt looks fine, so it's down to something that is saved wrong on their own pc.
When a new player logs on with one of these accounts there is a fair chance they will simply disconnect within a couple of seconds of entering the world. I am not sure if it's related to the ealier bug where a new character is marked as in-use and cannot be deleted until they log on or shard restart. It's hard to me to reproduce on my pc.
They can play that character on another pc that already plays on the shard just fine, just not their own pc. I can use that character just fine on my pc.
I can't pin it down. The worldsave in pcs.txt looks fine, so it's down to something that is saved wrong on their own pc.
You know OnG I have had trouble with client crashes sometimes when accessing options and trying to change text colours on existing characters. I have had to go in to the UO folder and delete the desktop info for that particular character when that happens. Then everything is fine. I suspect that when you use the acct.AddCharacter(0) command something is not being sent to the client that allows the desktop for that character to set up properly in the UO folder on that person's machine. Then when you login since the character now exists somehow POL does send the correct info to your machine so that your client does connect properly.
Try having a player delete the desktop info for the auto created character in their UO folder when they get disconnected and then have them relog to see if they can connect. That may narrow the problem down.
To find the proper character to delete you have to follow the path to that character. Go to the directory in which you installed Ultima Online. Let's say the shard name is ubershard, the account is cooldude and the character is fred then the path would be \Desktop\cooldude\ubershard. In there you will find a directory named fred. Just delete that directory and then try logging in again.
Try having a player delete the desktop info for the auto created character in their UO folder when they get disconnected and then have them relog to see if they can connect. That may narrow the problem down.
To find the proper character to delete you have to follow the path to that character. Go to the directory in which you installed Ultima Online. Let's say the shard name is ubershard, the account is cooldude and the character is fred then the path would be \Desktop\cooldude\ubershard. In there you will find a directory named fred. Just delete that directory and then try logging in again.