diff options
| author | maximius <none@none> | 2009-09-13 00:01:35 -0700 |
|---|---|---|
| committer | maximius <none@none> | 2009-09-13 00:01:35 -0700 |
| commit | eef5abe6e1931eeae91d3a1ed68a3bf44237dea2 (patch) | |
| tree | b4d2edf33613bfefe67bd534b0e3fe9622617ff7 /src/bindings/scripts | |
| parent | c61bb37a0e80aae1dc24618782647c43d2feb174 (diff) | |
*Event Hooks (OnLogin, OnLogout, OnPVPKill) by Hawthorne
*Boss Emote Command for DB Scripts by XTElite1
--HG--
branch : trunk
Diffstat (limited to 'src/bindings/scripts')
| -rw-r--r-- | src/bindings/scripts/ScriptMgr.cpp | 24 | ||||
| -rw-r--r-- | src/bindings/scripts/ScriptMgr.h | 3 | ||||
| -rw-r--r-- | src/bindings/scripts/VC80/80ScriptDev2.vcproj | 4 | ||||
| -rw-r--r-- | src/bindings/scripts/VC90/90ScriptDev2.vcproj | 4 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/custom/on_events.cpp | 31 | ||||
| -rw-r--r-- | src/bindings/scripts/system/ScriptLoader.cpp | 2 |
6 files changed, 68 insertions, 0 deletions
diff --git a/src/bindings/scripts/ScriptMgr.cpp b/src/bindings/scripts/ScriptMgr.cpp index ba26d02acbe..7d1f27b2f96 100644 --- a/src/bindings/scripts/ScriptMgr.cpp +++ b/src/bindings/scripts/ScriptMgr.cpp @@ -221,6 +221,30 @@ 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 char const* ScriptsVersion() { return "Default Trinity scripting library"; diff --git a/src/bindings/scripts/ScriptMgr.h b/src/bindings/scripts/ScriptMgr.h index ad341a98098..5b5ce118236 100644 --- a/src/bindings/scripts/ScriptMgr.h +++ b/src/bindings/scripts/ScriptMgr.h @@ -43,6 +43,9 @@ struct Script std::string Name; //Methods to be scripted + void (*pOnLogin )(Player*); + void (*pOnLogout )(Player*); + void (*pOnPVPKill )(Player*, Player*); bool (*pGossipHello )(Player*, Creature*); bool (*pQuestAccept )(Player*, Creature*, Quest const* ); bool (*pGossipSelect )(Player*, Creature*, uint32 , uint32 ); diff --git a/src/bindings/scripts/VC80/80ScriptDev2.vcproj b/src/bindings/scripts/VC80/80ScriptDev2.vcproj index 8443677330b..1335502ace7 100644 --- a/src/bindings/scripts/VC80/80ScriptDev2.vcproj +++ b/src/bindings/scripts/VC80/80ScriptDev2.vcproj @@ -2646,6 +2646,10 @@ Name="custom" > <File + RelativePath="..\scripts\custom\on_events.cpp" + > + </File> + <File RelativePath="..\scripts\custom\npc_acherus_taxi.cpp" > </File> diff --git a/src/bindings/scripts/VC90/90ScriptDev2.vcproj b/src/bindings/scripts/VC90/90ScriptDev2.vcproj index 825e28964cf..be11b1110e7 100644 --- a/src/bindings/scripts/VC90/90ScriptDev2.vcproj +++ b/src/bindings/scripts/VC90/90ScriptDev2.vcproj @@ -2644,6 +2644,10 @@ Name="custom" > <File + RelativePath="..\scripts\custom\on_events.cpp" + > + </File> + <File RelativePath="..\scripts\custom\npc_acherus_taxi.cpp" > </File> diff --git a/src/bindings/scripts/scripts/custom/on_events.cpp b/src/bindings/scripts/scripts/custom/on_events.cpp new file mode 100644 index 00000000000..0f6a23698c5 --- /dev/null +++ b/src/bindings/scripts/scripts/custom/on_events.cpp @@ -0,0 +1,31 @@ +#include "precompiled.h" +#include <cstring> + +//This function is called when the player logs in (every login) +void OnLogin(Player *pPlayer) +{ + +} + +//This function is called when the player logs out +void OnLogout(Player *pPlayer) +{ + +} + +//This function is called when the player kills another player +void OnPVPKill(Player *killer, Player *killed) +{ + +} + + void AddSC_onevents() +{ + Script *newscript; + newscript = new Script; + newscript->Name = "scripted_on_events"; + newscript->pOnLogin = &OnLogin; + newscript->pOnLogout = &OnLogout; + newscript->pOnPVPKill = &OnPVPKill; + newscript->RegisterSelf(); +} diff --git a/src/bindings/scripts/system/ScriptLoader.cpp b/src/bindings/scripts/system/ScriptLoader.cpp index 5e9307902be..f21c5e1fb0d 100644 --- a/src/bindings/scripts/system/ScriptLoader.cpp +++ b/src/bindings/scripts/system/ScriptLoader.cpp @@ -397,6 +397,7 @@ extern void AddSC_shadowmoon_valley(); extern void AddSC_shattrath_city(); extern void AddSC_terokkar_forest(); extern void AddSC_zangarmarsh(); +extern void AddSC_onevents(); void AddScripts() { @@ -793,4 +794,5 @@ void AddScripts() AddSC_shattrath_city(); AddSC_terokkar_forest(); AddSC_zangarmarsh(); + AddSC_onevents(); } |
