Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Windows Servers

Support::Windows Servers Support forum for Windows EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 10-05-2010, 01:02 PM
KingMort
Banned
 
Join Date: Sep 2006
Posts: 841
Default Character's

If this is posted in the wrong section , I apologize


Ran into some funny issues when completely re-making / organizing our spells file.

What I really want to do at this point is wipe out everyone's spell books, and discs. (Later of course to refund them)

Of course this is a simple matter with a Hail npc or Player script. But to do it with an SQL query has proven to be pretty rough..

Am I correct to assume that data is stored in Character_ under the extprofile BLOB ?

But is there no way to access said data ? If so what would the query look like to remove spells and discs from all chars (if you don't mind going that far)

Thank you in advance to anyone who can help this old troll find the answer to this puzzling ordeal.

KM
Reply With Quote
  #2  
Old 10-05-2010, 02:15 PM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,072
Default

Quote:
Originally Posted by KingMort View Post
If this is posted in the wrong section , I apologize


Ran into some funny issues when completely re-making / organizing our spells file.

What I really want to do at this point is wipe out everyone's spell books, and discs. (Later of course to refund them)

Of course this is a simple matter with a Hail npc or Player script. But to do it with an SQL query has proven to be pretty rough..

Am I correct to assume that data is stored in Character_ under the extprofile BLOB ?

But is there no way to access said data ? If so what would the query look like to remove spells and discs from all chars (if you don't mind going that far)

Thank you in advance to anyone who can help this old troll find the answer to this puzzling ordeal.

KM

Mort, one thing you can do simply because this is most likely an issue that could really ruin things... On all of your sub EVENT_ENTERZONE 's for your player.pl you could generate a script that wipes all of their spells and gives all of them back to a certain level. Put a qglobal on it so it doesn't happen twice, only to them logging in for the first time.

Only reason I say this is because you can't really query against a blob unless there is some way that I haven't heard of. But here, I just woke up, so this should be a good enough example...

Assuming you have a bunch of spell ID's that are messed up and out of order now, this is how I would do it...

Code:
sub EVENT_ENTERZONE{
	if(!$qglobals{"OperationNuke"}){ ### If they don't have flag, give it to them, a one time operation
	$client->UnscribeSpellAll(); ###Wipe Spells, requires force update
	$client->UntrainDiscAll();	###Wipe Discs, requires force update
	quest::traindiscs(1, 90); 
	quest::scribespells(1, 90);
	quest::setglobal("OperationNuke",1,5,"F");
	$client->Save();
	$client->Disconnect();
	}
}
You could also put something like this on an NPC, depends on how urgent you find this matter. But that should definitely get the job done for you. They will need to rezone or recamp to see the abilities again.
Reply With Quote
  #3  
Old 10-05-2010, 02:26 PM
KingMort
Banned
 
Join Date: Sep 2006
Posts: 841
Default

Why do people keep moving my posts to Windows Servers , I don't run Windows !!!!


Anyway yeah that's probably the only option we will have is a script.
Reply With Quote
  #4  
Old 10-05-2010, 03:31 PM
Tabasco's Avatar
Tabasco
Discordant
 
Join Date: Sep 2009
Posts: 269
Default

I had to do something similar when I changed the xp formula on my server, but I ended up moving every player to a safe zone rather than edit a bunch of player.pl scripts. (My population consists mainly of adventurous types who are used to my testing so nobody minded. That's probably not an option on a server that sees actual traffic.)

Since then I've implemented a truly global player script that runs in unison with the per-zone player script. I can get you some diffs for it if you're interested.
Reply With Quote
  #5  
Old 10-05-2010, 03:33 PM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,072
Default

Quote:
Originally Posted by Tabasco View Post
I had to do something similar when I changed the xp formula on my server, but I ended up moving every player to a safe zone rather than edit a bunch of player.pl scripts. (My population consists mainly of adventurous types who are used to my testing so nobody minded. That's probably not an option on a server that sees actual traffic.)

Since then I've implemented a truly global player script that runs in unison with the per-zone player script. I can get you some diffs for it if you're interested.
I have all of my player.pl scripts governed by a plugin that governs all of the player.pl scripts so you only have to change one script. But, I can also see Mort just putting it on an NPC.
Reply With Quote
  #6  
Old 10-05-2010, 04:57 PM
KingMort
Banned
 
Join Date: Sep 2006
Posts: 841
Default

Thanks for the help.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 09:31 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3