Ok, so i'm trying to implement the pvp token system in my server and i keep getting errors when i compile. I'm running x86 Ubuntu Server.
Errors:
Code:
PvPToken.cpp: In function âvoid SetupPvPSystem(ScriptMgr*)â:
PvPToken.cpp:42: error: invalid conversion from âvoid (*)(Player*, Player*)â to âvoid*â
PvPToken.cpp:42: error: initializing argument 2 of âvoid ScriptMgr::register_hook(ServerHookEvents, void*)â
Code:
Code:
#include "StdAfx.h"
#include "Setup.h"
void onPvpKill(Player* plr, Player* victim)
{
int itemID = 80000;
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() >= 60 && victim->getLevel() >= 60 && plr->GetTeam() != victim->GetTeam())
{
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 above level 60");
sLog.outColor(TNORMAL,"n");
}
}
void SetupPvPSystem(ScriptMgr* mgr)
{
mgr->register_hook(SERVER_HOOK_EVENT_ON_KILL_PLAYER, onPvpKill);
}
Thx in advance!