Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Database/World Building

Development::Database/World Building World Building forum, dedicated to the EQEmu MySQL Database. Post partial/complete databases for spawns, items, etc.

Reply
 
Thread Tools Display Modes
  #1  
Old 11-18-2004, 05:12 AM
Dvinn
Fire Beetle
 
Join Date: Nov 2004
Location: The Emerald City, Oz
Posts: 20
Default HOWTO: Removing item limits

BEGIN EDIT NOTE

(November 23, 2004) - Turns out that the method I was using never affected the ARTIFACT flag anyway, so I've updated this main post to include that data.

(November 22, 2004) - The method outlined here does remove the LORE flag from an item's inspection window, but it still gets treated as LORE anyway! To get the formerly LORE item working right, you need to also remove the "*" from the item's lore text. I'm still looking for a clean MySQL query to do that that won't also break the ARTIFACT tag. I'll be posting about that further down in this thread... Also note that I changed the non NO RENT value to so it would conform with properly collected non NO RENT items.

END EDIT NOTE

I saw a post this morning on these boards about how to remove the LORE flag from the items in someone's database. It occurs to me that there might be others wondering how to do similar-type things so I decided I might as well take a moment to post a few database mods that "unlock" the items in your database. These are all MySQL queries intended to be run an already-sourced database. Obviously, some of these mods are more unbalancing than others.

As written, these will affect every item in your database. See the end of this post for methods of applying these changes to single items.

Note that there is no simple way to undo a mass change like these without re-sourcing your entire item database.

Remove the LORE flag

Code:
UPDATE items SET loreflag=0;
UPDATE items SET lore=REPLACE(lore, '*', '');
Remove the NO DROP flag

Code:
UPDATE items SET nodrop=1;
Remove the NO RENT flag

Code:
UPDATE items SET norent=255;
Remove the Recommended Level flag

Code:
UPDATE items SET reclevel=0;
Remove the Required Level flag

Code:
UPDATE items SET reqlevel=0;
Remove the Recommend Skill Level flag

Code:
UPDATE items SET recskill=0;
Make item effects (procs and click effects) usable at level 0

Code:
UPDATE items SET hasteproclvl=0;
Remove the Deity Requirement flag

Code:
UPDATE items SET deity=0;
Make items usable by all races

Code:
UPDATE items SET races=32767;
Make items usable by all classes

Code:
UPDATE items SET classes=65535;
To target any of these changes at a specific item rather than your entire database, there are a couple methods you can use. I'll use the Dragoon Dirk's LORE flag as an example.

Method 1

Code:
UPDATE items SET loreflag=0 WHERE Name='Dragoon Dirk';
UPDATE items SET lore=REPLACE(lore, '*', '') WHERE Name='Dragoon Dirk';
This would remove the LORE flag from and item in your database that is named "Dragoon Dirk" but would not include items that have a name that does not exactly match (i.e. "Fabled Dragoon Dirk").

Method 2

Code:
UPDATE items set loreflag=0 where id='13942';
UPDATE items SET lore=REPLACE(lore, '*', '') WHERE id='13942';
This would remove the LORE flag from only the item with id 13942 (EQLive's "Dragoon Dirk") but would not include any other items, regardless of their name or id.

Use these changes in good health .
Reply With Quote
  #2  
Old 11-18-2004, 07:07 AM
sdabbs65
Dragon
 
Join Date: Dec 2003
Location: Earth
Posts: 818
Default impressive.

thats a lot of very usefull commands.
I would like to post this on my website 2 if you don't mind.


well done, it should be a sticky.
__________________
hosting Eqemu/Runuo/wow Emulators.

www.cheaterz.info
Reply With Quote
  #3  
Old 11-18-2004, 08:31 PM
Muuss
Dragon
 
Join Date: May 2003
Posts: 539
Default

None of these commands is reversable, and all of them but the 2 about dragoon's dirk insta change every of your items. Why not also posting how to make a quick backup/restore of the items table, like :

dump, will generate a text file named items.sql :

mysqldump -u `username` -p eq items > items.sql

restore (from mysql.exe) :

mysql> use eq;
mysql> delete from items;
mysql> source items.sql;
__________________
Muuss - [PEQGC] Dobl, the ogre that counts for 2 !
http://www.vilvert.fr/page.php?id=10
Reply With Quote
  #4  
Old 11-19-2004, 02:45 AM
Dvinn
Fire Beetle
 
Join Date: Nov 2004
Location: The Emerald City, Oz
Posts: 20
Default Re: impressive.

Quote:
Originally Posted by sdabbs65
thats a lot of very usefull commands.
I would like to post this on my website 2 if you don't mind.
Feel free.
Reply With Quote
  #5  
Old 11-19-2004, 09:11 AM
Cisyouc
Demi-God
 
Join Date: Jun 2004
Location: Heaven.
Posts: 1,260
Default

Quote:
Originally Posted by Muuss
None of these commands is reversable, and all of them but the 2 about dragoon's dirk insta change every of your items. Why not also posting how to make a quick backup/restore of the items table, like :

dump, will generate a text file named items.sql :

mysqldump -u `username` -p eq items > items.sql

restore (from mysql.exe) :

mysql> use eq;
mysql> delete from items;
mysql> source items.sql;
Dont you need to do mysqldump -u username -p eq --table items > items.sql?
__________________
namespace retval { template <class T> class ReturnValueGen { private: T x; public: ReturnValueGen() { x = 0; }; T& Generator() { return x; }; }; } int main() { retval::ReturnValueGen<int> retvalue; return retvalue.Generator(); }
C++ is wonderful.
Reply With Quote
  #6  
Old 11-21-2004, 05:19 PM
Dvinn
Fire Beetle
 
Join Date: Nov 2004
Location: The Emerald City, Oz
Posts: 20
Default

I ran into an issue today regarding the method for removal of the LORE flag. While setting loreflag=0 does kill the flag that gets displayed in an item inspect window, it doesn't actually make the item non-LORE. Turns out you also need to remove the asterisk ("*") from the item's lore text. I used this query to do that:

UPDATE items SET lore = replace(lore, '*', '');

Unfortunately, that breaks the ARTIFACT tag as it kills the asterisk out of ALL items that have one in their descriptions (artifacts need to have that text prefixed by "*#").

What query could I run that would remove the asterisk unless it's followed by a pound sign?
Reply With Quote
  #7  
Old 11-21-2004, 05:24 PM
animepimp
Dragon
 
Join Date: Jan 2004
Posts: 860
Default

UPDATE items SET lore = replace(lore, '*', '') WHERE NOT lore LIKE '*#'; should work.
Reply With Quote
  #8  
Old 11-21-2004, 07:58 PM
Muuss
Dragon
 
Join Date: May 2003
Posts: 539
Default

Quote:
Dont you need to do mysqldump -u username -p eq --table items > items.sql?
It should work without the --table as long as items is situated AFTER eq. Tho, adding --table can prevent errors
__________________
Muuss - [PEQGC] Dobl, the ogre that counts for 2 !
http://www.vilvert.fr/page.php?id=10
Reply With Quote
  #9  
Old 11-22-2004, 05:59 AM
Dvinn
Fire Beetle
 
Join Date: Nov 2004
Location: The Emerald City, Oz
Posts: 20
Default

Quote:
Originally Posted by animepimp
UPDATE items SET lore = replace(lore, '*', '') WHERE NOT lore LIKE '*#'; should work.
I tried that and it doesn't change anything in my database. I did end up figuring something out that works, though:

First I change all occurances of '#*' to "##":

update items set lore=replace(lore, '#*', '##');

Then I kill all the asterisks in lore:

update items set lore=replace(lore, '*', '');

Then I switch '##' back over to '#*':

update items set lore=replace(lore, '##', '#*');

It's all moot, though, because even items with '#*' aren't showing the artifact flag (presumably the client only shows that flag now if artifactflag=1?).

So the PEQ database has no items that show the artifact flag to begin with.
Reply With Quote
  #10  
Old 11-22-2004, 03:57 PM
Dvinn
Fire Beetle
 
Join Date: Nov 2004
Location: The Emerald City, Oz
Posts: 20
Default

A little further research has lead me to conclude that item lore preceded bt "#*" was never an indication of the of the ARTIFACT flag to begin with (as was proposed in this thread). Rather, items with "#*" were both artifacts and lore items. The pound sign alone indicated artifact status. The current incarnation of the client no longer respects this specification anyway (which is why the PEQ item database is somewhat broken with regards to the ARTIFACT flag).

Anyway, I've updated the first post in this thread to reflect the correct information.
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 10:43 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