The "pc_change_name" function has an exploitable item duplication bug.

The fix is simple, in "pc_change_name" replace this code:

db_clientdesc->DBPacketHeader(HEADER_GD_FLUSH_CACHE, 0, sizeof(DWORD)); db_clientdesc->Packet(&pid, sizeof(DWORD));

with this

if (!CHARACTER_MANAGER::instance().FlushDelayedSave(ch)) { ch->SaveReal(); }