aboutsummaryrefslogtreecommitdiff
path: root/src/bindings/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'src/bindings/scripts')
-rw-r--r--src/bindings/scripts/ScriptMgr.cpp24
-rw-r--r--src/bindings/scripts/ScriptMgr.h3
-rw-r--r--src/bindings/scripts/VC80/80ScriptDev2.vcproj4
-rw-r--r--src/bindings/scripts/VC90/90ScriptDev2.vcproj4
-rw-r--r--src/bindings/scripts/scripts/custom/on_events.cpp31
-rw-r--r--src/bindings/scripts/system/ScriptLoader.cpp2
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();
}