A few things have come up in day-to-day over at Exodus, where the system is getting very active use, that bear some discussion over here with a mind to improving the system and avoiding undue frustration. Both stem from our use of PC name as a unique identifier.
1. Character rebuilds. These inevitably happen with some frequency. Player X forgets to take the feat they'd meant to, chooses the wrong diety, doesn't realize that tracking is based on Survival, etc. Everyone is used to the old routine- ask a DM to wipe your vault, then re-roll the PC. Except now, with the same name and CDKey, the "rebuilt" PC inherits the same DB records, losing starting gold, getting default armor, any differences in attributes become permanent stat damage, the list goes on. Is there a way we could purge some or all of the data on a particular CharID via scripts, or force a new one to be assigned somehow?
2. Name changes. The flip side of this is the troublesome SetName() script- we've disabled this from PC DMFI tools, but it's still in the DM tools for use on NPCs and such. Inevitably, some DMs are going to miss the memo that says "never change PC names under any circumstances", when PCs get renamed, the next time they log in, they're treated like a brand new PC, issued new starting gold, and whatever they were wearing in the armor slot is irrevocably destroyed by the scripts that normally clean up default starting armor- and, of course, all their lifetime of persistency data for the PC is severed. PCs want name changes for all sorts of reasons, I'd say maybe a third of all rebuilds (problematic for reasons above) are to get new names. If we could tie pwdata to CharID, and record OriginalName along with CurrentName in characters, maybe we could get around the sticky mess.
On the other hand, maybe it's easier just to find the DMFI DM-renaming tool and block it vs. PCs to stopgap the problem. Still doesn't help us with the rebuild issues, though.
Database concerns
Moderators: ALFA Administrators, Staff - Technical
- AcadiusLost
- Chosen of Forumamus, God of Forums
- Posts: 5061
- Joined: Tue Oct 19, 2004 8:38 am
- Location: Montara, CA [GMT -8]
- Contact:
How much of a job would it be to block it on the DMFI? It sounds like less work than the other option. Depending on how much trouble it is, I'd say we go with the blocking the function for PCs option for number two, and add the Never Rename PCs warning to DM training and blazon it all over the DM/Admin forum for now. If we do our job making sure DMs know not to rename either through script or rebuild, then we've done all we can.
Enjoy the game
- AcadiusLost
- Chosen of Forumamus, God of Forums
- Posts: 5061
- Joined: Tue Oct 19, 2004 8:38 am
- Location: Montara, CA [GMT -8]
- Contact:
- ç i p h é r
- Retired
- Posts: 2904
- Joined: Fri Oct 21, 2005 4:12 pm
- Location: US Central (GMT - 6)
This is good feedback.
1. I think the best way to resolve this is to tie it to a web based character management interface, which is something I think we recognize the need for already (restricting access to the vault). I hope Hialmar can pick up this project. For now though, some form of SQL access will be necessary to purge the original character records, which I think Hialmar has provided. We can also investigate adding triggers to the database to auto purge related data when a character record is removed so it reduces the number of operations which need to be made by a user.
2. Maybe adding a "Display Name" column or equivalent to the characters table to track name changes can help us avoid such disconnects. We'll have to "smarten up" our code too though so this could take quite some time, I'm afraid.
Thanks for the report AL. I'll post this on our sourceforge bug tracker.
1. I think the best way to resolve this is to tie it to a web based character management interface, which is something I think we recognize the need for already (restricting access to the vault). I hope Hialmar can pick up this project. For now though, some form of SQL access will be necessary to purge the original character records, which I think Hialmar has provided. We can also investigate adding triggers to the database to auto purge related data when a character record is removed so it reduces the number of operations which need to be made by a user.
2. Maybe adding a "Display Name" column or equivalent to the characters table to track name changes can help us avoid such disconnects. We'll have to "smarten up" our code too though so this could take quite some time, I'm afraid.
Thanks for the report AL. I'll post this on our sourceforge bug tracker.