heres one
Code:
include "StdAfx.h"
#include "Setup.h"
void onPvpKill(Player* plr, Player* victim)
{
int itemID;
uint32 tokenItem = Config.MainConfig.GetInt("NCDB", "PvPTokenID", &itemID);
//sLog.outColor(TGREEN,"n[NCDB] (%u)%s killed (%u)%s", plr->getLevel(), plr->GetName(), victim->getLevel(), victim->GetName());
char onkill[1024];
snprintf((char*)onkill, 1024, "[PVP] %s has killed %s", plr->GetName(), victim->GetName());
//sWorld.SendWorldWideScreenText(onkill);
if(plr->getLevel() >= 70 && victim->getLevel() >= 70 && plr->GetGUID() != victim->GetGUID() && plr->GetZoneId() != 357)
{
sWorld.SendWorldWideScreenText(onkill);
//sLog.outColor(TGREEN,"n[NCDB] Adding token to %s", plr->GetName());
//sLog.outColor(TNORMAL,"n");
ItemPrototype *proto = ItemPrototypeStorage.LookupEntry(itemID);
if(!proto) return;
SlotResult slotresult;
slotresult = plr->GetItemInterface()->FindFreeInventorySlot(proto);
if(!slotresult.Result)
{
plr->GetItemInterface()->BuildInventoryChangeError(NULL, NULL, INV_ERR_INVENTORY_FULL);
}
else
{
Item *itm = objmgr.CreateItem(itemID, plr);
plr->GetItemInterface()->SafeAddItem(itm,slotresult.ContainerSlot, slotresult.Slot);
itm->m_isDirty = true;
}
}
else
{
//sLog.outColor(TGREEN,"n[NCDB] Not adding token since they both are not level 80");
//sLog.outColor(TNORMAL,"n");
}
}
void SetupPvPToken(ScriptMgr * mgr)
{
mgr->register_hook(SERVER_HOOK_EVENT_ON_KILL_PLAYER, onPvpKill);
}
your going to need to compile it though