block cheat enchant (server side)

Newbie Spellweaver
Joined
Jul 10, 2011
Messages
58
Reaction score
29
hi, :laugh:
i just want to share how to block cheat enchant by server side.
this code work for luna classic and luna plus,
- first open the source code Map Server
- open ItemManager.cpp
- find "CItemManager::Enchant"
- scroll down and find
Code:
if( !item || item->dwDBIdx != message->mProtectionItem.dwDBIdx )
- change it to
Code:
if( !item || item->dwDBIdx != message->mProtectionItem.dwDBIdx || item->wIconIdx != message->mProtectionItem.wIconIdx  )

i just decide for share the code, if you have a good skill in c++ you can use it for block cheat duplicate and cheat reinforce luna classic.
 
hi, :laugh:
i just want to share how to block cheat enchant by server side.
this code work for luna classic and luna plus,
- first open the source code Map Server
- open ItemManager.cpp
- find "CItemManager::Enchant"
- scroll down and find
Code:
if( !item || item->dwDBIdx != message->mProtectionItem.dwDBIdx )
- change it to
Code:
if( !item || item->dwDBIdx != message->mProtectionItem.dwDBIdx || item->wIconIdx != message->mProtectionItem.wIconIdx  )

i just decide for share the code, if you have a good skill in c++ you can use it for block cheat duplicate and cheat reinforce luna classic.

It seems like this just adds an additional check to ensure the icon matches along with the existing check that the item id matches, while this would defeat the existing hack that revolve around editing the item id with a cheating tool, it seems it wouldn't take much to edit the icon id to match up in the client as well to bypass this fix. Better then nothing though, thanks for the release pinux!
 
actually it seems that wIconIdx points to the ItemIdx on the database, not the icon

ItemInfo.dwDBIdx = DBIdx;
ItemInfo.wIconIdx = ItemIdx;
i feel the urge to try editing it like you were saying though
 
Back