Dakaar
10-08-2005, 07:36 PM
On my server, i have given rogues a sort of hideme type ability that lasts untill they attack, break stealth or zone. As a sort of failsafe, I had my server SetHideMe(false); whenever a character enters a zone if he is not an admin.
I had a few other ones for various actions, and what this was causing was that characters would permanently get sethidden due to the fact that sethideme(false) sets your hideme to 1 in the db.
This is an easy fix in client.cpp:
around line 2140
make this block look like this:
if(gmhideme)
{
database.SetHideMe(AccountID(),true);
CreateDespawnPacket(&app);
entity_list.RemoveFromTargets(this);
}
else
{
database.SetHideMe(AccountID(),false);
CreateSpawnPacket(&app);
}
note, the true and false in database.SetHideme() were backwards, the above way is the proper way to do things.
I had a few other ones for various actions, and what this was causing was that characters would permanently get sethidden due to the fact that sethideme(false) sets your hideme to 1 in the db.
This is an easy fix in client.cpp:
around line 2140
make this block look like this:
if(gmhideme)
{
database.SetHideMe(AccountID(),true);
CreateDespawnPacket(&app);
entity_list.RemoveFromTargets(this);
}
else
{
database.SetHideMe(AccountID(),false);
CreateSpawnPacket(&app);
}
note, the true and false in database.SetHideme() were backwards, the above way is the proper way to do things.