Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::General Support

Support::General Support Post all topics here having to do with errors while trying to connect to an EQEMu server but not about the setup/running of the Server itself.

Reply
 
Thread Tools Display Modes
  #1  
Old 07-01-2008, 07:38 AM
lordoftests
Fire Beetle
 
Join Date: Sep 2007
Posts: 6
Default Removing no drop permanently for all items.

I did this last year but for the life of me I can't remember how I did it and I can't find the thread where I read how to do it. I want to permanently, irrevocably remove all no drop and no trade flags from EVERY item in the game but the single "disablenodrop" flag in variables doesn't do it (items are still no trade). I know you have to run a database command to essentially find and replace every "1" flag for "nodrop" column in table "items" but I don't know how to do this. Anyone?

Reply With Quote
  #2  
Old 07-01-2008, 09:57 AM
Theeper
Discordant
 
Join Date: May 2004
Posts: 290
Default

For no drop, you can do "UPDATE items SET nodrop=1;" .. No trade should be the same, but I forget whether 0 or 1 means tradeable in that field. Check the DB and look at a known non-tradable item, then make the flag opposite of that value.
Reply With Quote
  #3  
Old 07-01-2008, 11:11 AM
So_1337
Dragon
 
Join Date: May 2006
Location: Cincinnati, OH
Posts: 689
Default

That's one of the customizations we use on our server. Here it is straight from the list of changes I run every time the database gets updated:

Code:
### This removes the NO DROP tag from all items ###
UPDATE items SET nodrop = 1 WHERE nodrop = 0;
Reply With Quote
  #4  
Old 07-01-2008, 12:34 PM
Congdar
Developer
 
Join Date: Jul 2007
Location: my own little world
Posts: 751
Default

I use the variables table with
DisableNodrop=1
DisableNoRent=1
DisableNoTransfer=1
DisableLore=1

And modify it in the code
shareddb.cpp
Code:
	bool disableNoRent = false;
	char ndbuffer[4];
	if(GetVariable("disablenorent", ndbuffer, 4)) {
		if(ndbuffer[0] == '1' && ndbuffer[1] == '\0') {
			disableNoRent = true;
		}
	}
	bool disableNoDrop = false;
	if(GetVariable("disablenodrop", ndbuffer, 4)) {
		if(ndbuffer[0] == '1' && ndbuffer[1] == '\0') {
			disableNoDrop = true;
		}
	}
	bool disableLoreGroup = false;
	if(GetVariable("disablelore", ndbuffer, 4)) {
		if(ndbuffer[0] == '1' && ndbuffer[1] == '\0') {
			disableLoreGroup = true;
		}
	}
	bool disableNoTransfer = false;
	if(GetVariable("disablenotransfer", ndbuffer, 4)) {
		if(ndbuffer[0] == '1' && ndbuffer[1] == '\0') {
			disableNoDrop = true;
		}
	}
and
Code:
item.NoRent = disableNoRent ? (uint8)atoi("255") : (uint8)atoi(row[ItemField::norent]);
item.NoDrop = disableNoDrop ? (uint8)atoi("255") : (uint8)atoi(row[ItemField::nodrop]);
item.LoreGroup = disableLoreGroup ? (uint8)atoi("0") : atoi(row[ItemField::loregroup]);
item.NoTransfer = disableNoTransfer ? false : (atoi(row[ItemField::notransfer])==0) ? false : true;
Reply With Quote
  #5  
Old 07-01-2008, 02:07 PM
lordoftests
Fire Beetle
 
Join Date: Sep 2007
Posts: 6
Default

Quote:
Originally Posted by So_1337 View Post
That's one of the customizations we use on our server. Here it is straight from the list of changes I run every time the database gets updated:

Code:
### This removes the NO DROP tag from all items ###
UPDATE items SET nodrop = 1 WHERE nodrop = 0;
This is what I was looking for, thank you!
Reply With Quote
  #6  
Old 07-01-2008, 04:15 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Nice code, Congdar! Why not post that in Server Code Submissions, or Custom Code Submissions sections of the forums? It's a shame to see cool code like that to be lost in some random post. Kinda makes me wonder what other awesome code could be lost out there somewhere lol. I know at least 1 other guy that does the same thing, posting code in random posts hehe.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #7  
Old 07-01-2008, 10:32 PM
Congdar
Developer
 
Join Date: Jul 2007
Location: my own little world
Posts: 751
Default

well, the nodrop code is already in the sources. I just extended it to include Lore, NoRent and NoTansfer.
Reply With Quote
  #8  
Old 07-01-2008, 11:30 PM
rojadruid
Discordant
 
Join Date: May 2005
Location: Smith Falls, Ontario, Canada
Posts: 283
Default

Quote:
Originally Posted by Congdar View Post
well, the nodrop code is already in the sources. I just extended it to include Lore, NoRent and NoTansfer.

These really should be made into rules not variables as the variables table is becomming outdated.
__________________
Rojadruid

Innoruuk Server [legit]
Server Admin.
Server Status: UP
Reply With Quote
  #9  
Old 07-02-2008, 02:59 AM
MNWatchdog
Hill Giant
 
Join Date: Feb 2006
Posts: 179
Default

Whats the difference between NODROP and NOTRANSFER?
Reply With Quote
  #10  
Old 07-02-2008, 12:25 PM
czahrien
Fire Beetle
 
Join Date: Oct 2006
Posts: 2
Default

I am pretty sure that on Live NO TRANSFER is used for Shroud items which could not be transferred back to the main character after unshrouding.
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 05:01 AM.


 

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