...
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 ofto 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 { } |
...