...
Bloque de código | ||
---|---|---|
| ||
// As the name says code inside brackets is executed when scene starts, e.g. by spell or by "player->GetSceneMgr().PlayScene(SceneId);"
void OnSceneStart(Player* player, uint32 /*sceneInstanceID*/, SceneTemplate const* /*sceneTemplate*/) override
{
}
// Code inside brackets is executed when CMSG_SCENE_TRIGGER_EVENT with similar sceneInstanceID as scene is sent
void OnSceneTriggerEvent(Player* player, uint32 /*sceneInstanceID*/, SceneTemplate const* /*sceneTemplate*/, std::string const& triggerName) override
{
// IMPORTANT: you need to select correct triggerName otherwise your code is executed all the time if some triggerName is sent of scene
// triggerName is sent by CMSG_SCENE_TRIGGER_EVENT (check PacketStruct), you can find it in parsed sniff or inside SceneScript.db2
if (triggerName == "IKILLEDIT")
player->KilledMonsterCredit(KILLED_MOB);
if (triggerName == "UPDATEPHASE")
player->UpdateAreaAndZonePhase();
}
// As the name says code inside brackets is executed when scene is canceled, e.g. player presses ESC and confirms
void OnSceneCancel(Player* player, uint32 sceneInstanceID, SceneTemplate const* sceneTemplate) override
{
}
// As the name says code inside brackets is executed when scene is properly completed
void OnSceneComplete(Player* player, uint32 sceneInstanceID, SceneTemplate const* sceneTemplate) override
{
} |
...