mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-21 01:37:37 +01:00
*Fix startup with trinityinterface(without trinityscripts, -DDO_SCRIPTS=0) in *nix. Patch by alexsot.
--HG-- branch : trunk
This commit is contained in:
@@ -9,6 +9,7 @@ SET(trinityinterface_LIB_SRCS
|
||||
Scripts/sc_default.cpp
|
||||
Scripts/sc_defines.cpp
|
||||
Scripts/sc_defines.h
|
||||
Scripts/on_events.cpp
|
||||
)
|
||||
|
||||
add_library(trinityinterface SHARED ${trinityinterface_LIB_SRCS})
|
||||
|
||||
@@ -83,6 +83,118 @@ void Script::RegisterSelf()
|
||||
//********************************
|
||||
//*** Functions to be Exported ***
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
void OnLogin(Player *pPlayer)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnLogin) return;
|
||||
tmpscript->pOnLogin(pPlayer);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
void OnLogout(Player *pPlayer)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnLogout) return;
|
||||
tmpscript->pOnLogout(pPlayer);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
void OnPVPKill(Player *killer, Player *killed)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnPVPKill) return;
|
||||
tmpscript->pOnPVPKill(killer, killed);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool OnSpellCast (Unit *pUnitTarget, Item *pItemTarget, GameObject *pGoTarget, uint32 i, SpellEntry const *spell)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnSpellCast) return true;
|
||||
return tmpscript->pOnSpellCast(pUnitTarget,pItemTarget,pGoTarget,i,spell);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
uint32 OnGetXP(Player *pPlayer, uint32 amount)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnGetXP) return amount;
|
||||
return tmpscript->pOnGetXP(pPlayer,amount);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
uint32 OnGetMoney(Player *pPlayer, int32 amount)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnGetMoney) return amount;
|
||||
return tmpscript->pOnGetMoney(pPlayer,amount);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool OnPlayerChat(Player *pPlayer, const char *text)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnPlayerChat) return true;
|
||||
return tmpscript->pOnPlayerChat(pPlayer,text);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
void OnServerStartup()
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnServerStartup) return;
|
||||
tmpscript->pOnServerStartup();
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
void OnServerShutdown()
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnServerShutdown) return;
|
||||
tmpscript->pOnServerShutdown();
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
void OnAreaChange(Player *pPlayer, AreaTableEntry const *pArea)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnAreaChange) return;
|
||||
tmpscript->pOnAreaChange(pPlayer, pArea);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool OnItemClick (Player *pPlayer, Item *pItem)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnItemClick) return true;
|
||||
return tmpscript->pOnItemClick(pPlayer,pItem);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool OnItemOpen (Player *pPlayer, Item *pItem)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnItemOpen) return true;
|
||||
return tmpscript->pOnItemOpen(pPlayer,pItem);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool OnGoClick (Player *pPlayer, GameObject *pGameObject)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnGoClick) return true;
|
||||
return tmpscript->pOnGoClick(pPlayer,pGameObject);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
void OnCreatureKill (Player *pPlayer, Creature *pCreature)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnCreatureKill) return;
|
||||
tmpscript->pOnCreatureKill(pPlayer,pCreature);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
char const* ScriptsVersion()
|
||||
{
|
||||
|
||||
@@ -49,6 +49,20 @@ struct Script
|
||||
std::string Name;
|
||||
|
||||
//Methods to be scripted
|
||||
void (*pOnLogin )(Player*);
|
||||
void (*pOnLogout )(Player*);
|
||||
void (*pOnPVPKill )(Player*, Player*);
|
||||
bool (*pOnSpellCast )(Unit*, Item*, GameObject*, uint32, SpellEntry const*);
|
||||
uint32 (*pOnGetXP )(Player*, uint32);
|
||||
int32 (*pOnGetMoney )(Player*, int32);
|
||||
bool (*pOnPlayerChat )(Player*, const char*);
|
||||
void (*pOnServerStartup )();
|
||||
void (*pOnServerShutdown )();
|
||||
void (*pOnAreaChange )(Player*, AreaTableEntry const*);
|
||||
bool (*pOnItemClick )(Player*, Item*);
|
||||
bool (*pOnItemOpen )(Player*, Item*);
|
||||
bool (*pOnGoClick )(Player*, GameObject*);
|
||||
void (*pOnCreatureKill )(Player*, Creature*);
|
||||
bool (*pGossipHello )(Player*, Creature*);
|
||||
bool (*pQuestAccept )(Player*, Creature*, Quest const* );
|
||||
bool (*pGossipSelect )(Player*, Creature*, uint32 , uint32 );
|
||||
|
||||
Reference in New Issue
Block a user