*Event Hooks (OnLogin, OnLogout, OnPVPKill) by Hawthorne

*Boss Emote Command for DB Scripts by XTElite1

--HG--
branch : trunk
This commit is contained in:
maximius
2009-09-13 00:01:35 -07:00
parent c61bb37a0e
commit eef5abe6e1
14 changed files with 105 additions and 4 deletions

View File

@@ -220,6 +220,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()
{

View File

@@ -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 );

View File

@@ -2645,6 +2645,10 @@
<Filter
Name="custom"
>
<File
RelativePath="..\scripts\custom\on_events.cpp"
>
</File>
<File
RelativePath="..\scripts\custom\npc_acherus_taxi.cpp"
>

View File

@@ -2643,6 +2643,10 @@
<Filter
Name="custom"
>
<File
RelativePath="..\scripts\custom\on_events.cpp"
>
</File>
<File
RelativePath="..\scripts\custom\npc_acherus_taxi.cpp"
>

View File

@@ -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();
}

View File

@@ -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();
}