Aelryn Bloodmoon wrote: Tue Dec 21, 2021 2:22 am
Not to be snarky, but if it's as simple as you're suggesting and everyone else ...
Not to be snarky, but I do not understand the reaction received so far.
Did I ever mentioned that I'm a computer programmer?
What I suggested in a situation where somebody got screwed up build is to allow them to rebuild via equivalent of RCR bot process. The way BGTSCC does it.
1. They get token. (requires DM, yes, but it is fast)
2. They get ability to teleport to start area.
3. They talk to an npc there (to be added)
4. Npc remembers what they were (base stats, name, xp) and kills them. And stores the data in the database.
5. They start over with new character that is similar, talk to the npc
6. And if the new one character is similar to the old one, it grants them old amount xp they had.
7. So the player can now level manually.
8. Here you can implement an extra check. And upon attempt to enter, check, once more, if they're sufficiently similar to the character that was killed. And if you're not, not let them in.
Similar to guldorand start.
Absolutely not "100 hours" difficulty, doable, and would reduce processing time from 30 minutes per person, to several seconds to grant a token, past which point it is on them.
All it requires is ability to store persistent data to CDKey, which is already present on the server, because you store RPR this way.
By the way, character data on arelith appear to be stored in similar way way as on bgtscc meaning CDKey + Player Name, that's because if you recreate without waiting for reset, you'll be in death desert area, meaning it at least stores last position there.
You will not precisely surgicall adjust the character, but you'd let the affected party rebuild without asking Spyre to waste 30 minutes on that. How much you constrain them depends on you.
You need to hijack opening dialogue, door dialogue, and implement database record for pre-rebuild character data. That absolutely can be done...
-------
There's another way. A very advanced one. A parser for nwn character files written in C#, Python, C++ whatever, which would extract the data, parse, put it back. Now that one's complex, which is why I did not suggest it as a default way to do it. However, "hundreds of hours" implies a "thousand hours" dififculty, and thousand of hours is 25 work weeks, or 6.25 months. That implies, that a person, working full time 40 hour work week will not be able to finish it in a half a year. Which is not the case. There are libraries for parsing nwn files, by the way, that can be looked up at github. The games share some data formats (which is why they both can use same data extractors).
An option #1 is highly likely can be done with relative ease and is a simple approach to reduce workload for rebuilds. For option #2 you need a more skilled coder that may not be present, and it is unclear whether the approach would offer significant benefit than fairly simple rebuilding through a token. Like another person said, some people are willing to lose properties if that lets them recreate character, so that's a possibility as well.
-------
Another forum ban, here we go again.