Method of tracking spell usage and memorisation over logout/login updated for HotU, persistent over server travel/resets/crashes. Runs off the spellhook, OnPlayerRest and OnClientEnter events. Simply unzip the .erf and import the files into your module. Instructions included in the .erf. Feedback is welcome. See the text file below for details.
Excelent work! I used this spell tracking in persistence world. Very simple and easy use. Bug with domain spell is common problem.
Posted by Creslyn at 2004-03-2917:25:00
Not domain spells, just regular spells. Someone mentioned it in passing a while back, and when I checked Endurance (mage and cleric spell) sure enough it was missing the spellhook function. No list sorry.- Ignorance is only a curse to those who believe it isn't.
Posted by NWNFan at 2004-03-2917:14:00
I'll take a look at the new version :) If you want them to have all their spells at first log in only (after a server restart) without worrying about Hide persistance, you can run the rest completed script on them on their first enter, and set a variable on them so when they relog, this script it bypassed. Some cleric domain spells don't include the spell hook? Damn. Do you have the list handy somewhere? Have you added in the hook in your own mod? It could be a cause of domain problems for me at least.
Posted by Creslyn at 2004-03-2722:55:00
Hmm...I've been told that several clerical spells do not have the spellhook checks included in their scripts, and I know that Endurance is one of them, are the X2PreSpellCast() and the x2_inc_spellhook include both added to your nw_s0_endurce.nss (sorry, know you said you added them but have to ask)? It might also have something to do with the problems NWNFan mentioned with Spontaneous healing, though I haven't been able to duplicate them so I'm not certain about that. As far as the CEP affecting this, again I'm not certain as the worlds I play in don't use it. If it affects the spells in some way, either adding custom's or alterations to spells.2da etc, then that may well be the case. As for a forum, afraid not, so I do appreciate the bug reports getting posted here.- Ignorance is only a curse to those who believe it isn't.
Posted by diavlen at 2004-03-2710:35:00
Ahhh, ok. (on the first problem). I read that and misinterpreted it. I thought that placing the variable on the module would work while it was running, and that after a crash the player would just have all of their spells back. I see what you mean now. On the second problem, I used to have the hard core spell installed, but have since removed all references to them. So the system has reverted back to the bioware original. The spells I have modified, I've added in the spell hook to the beginning of each of them. Also, I am using the Community Expansion Pack. Would that cause any weirdness? On a side note: I did find one thing that was odd in my personal testing. The character was a level 8 cleric, using normal spells. If I cast all of my spells and relog, When I log back in, I have Endurance back on my list. Everything else worked fine. BTW, do you have a forum, or do you prefer that we report possible bugs here? _________________________ Borgo Pass PW Link
Posted by Creslyn at 2004-03-2611:14:00
The first problem I can answer straight away, and I think I mention this in the readme but perhaps I should add a more complete explanation. There are three options (in the current version - 1.3, two in 1.2 and previous) for storing the tracking variables. 1. The first, and default, method is simply using the module to hold the variables. That means they are persistent only so long as the server remains up and running, and are not stored over server crashes or reboots. Unless you have altered the value of the constants in the st_inc include this is the method you will be using in your module. 2. The second method (in 1.3 only) is to use a non-drop item common to ALL players (such as an emote ball/wand) to store the variables. This ensures that they will be persistent even over server crashes/reboots, and will solve your sorcerer player's problem. 3. The third (second and only other option in 1.2 and previous) uses a creature hide item on the player to store the variables. This also ensures persistency over server crashes/reboots, though I would only use this if you do not wish to use a non-drop item to hold the variables. My suggested course would be to use method number two, and there are fairly clear instructions in the st_inc include on how to do this. It simply involves entering the tag of the desired object (to store the variables on) to the constant declarations, and altering the value of the other declared constant to 1. As far as the second problem with the cleric spells, I'm not certain what the cause of that could be, as I have specifically tested one of those and had no troubles with it. Have you modified those spells at any time previously, or the spells.2da, or any other similar files? Hopefully, more details will make it simpler to track down the cause. - Ignorance is only a curse to those who believe it isn't.
Posted by diavlen at 2004-03-2607:28:00
I just installed your spell tracking system and have a few reports from the players to send your way. BTW, I'm really happy you made this system, since it's focused on the spell hook. Here is one of the reports I received: ///////////////////////////////////////////// I have problems since spell tracking was added. Everytime a server resets you start with all spells lost? Even if you rested before the server reset and should have full spells. This is really deadly for my Sorceress since she is totally lost without spells. My Cleric has another more strange problem. The first rest after a server reset does not give all spells back. More precisely my 2 copies of Bull's strength and my one extended bless are not returned. I need to rest twice to get those. Its highly annoying. Please look into that. ///////////////////////////////////////////// _________________________ Borgo Pass PW Link
Posted by Creslyn at 2004-03-2105:08:00
Right, managed to duplicate the TMI error, and after a few alterations to how spells are decremented it seems to be fixed. Also fiddled with the storage functions to both tidy things up and make it easier for folks to change how variables are tracked. However I'm having trouble finding problems with spontaneous casting being incorrectly tracked, as myself and the folks I dragoon into helping me haven't come across any problems with it as yet. Can you give more details on that? As far as domain spells go, there just isn't much I can do about that at the moment. Oddly enough, level one clerical domain spells can be tracked and decremented, but none higher. Hope you can test this one out as well NWNFan, and provide more feedback.- Ignorance is only a curse to those who believe it isn't.
Posted by Creslyn at 2004-03-1416:14:00
Hmm...thanks for finding that NWFan, I'll poke around and see if what can be done about it.- Ignorance is only a curse to those who believe it isn't.