The_Joker | Дата: Понеділок, 10.01.2011, 13:11 | Сообщение # 1 |
Скаут
Группа: Пользователи
|
Code #include "ScriptPCH.h" #include "ScriptedEscortAI.h" #include "Player.h"
#define ONE_FLOOR 400 #define TWO_FLOOR 401 #define ONE_FLOOR_PHASE 402 #define TWO_FLOOR_PHASE 403 #define STORMWIND 404 #define ORGRIMMAR 405 #define TALENT 406
bool GossipHello_dkporter(Player *player, Creature *_Creature) {
if(player->getClass() == CLASS_DEATH_KNIGHT ) { player->ADD_GOSSIP_ITEM(0, "Teleport to 1 floor (Phase 1!)", GOSSIP_SENDER_MAIN, ONE_FLOOR); player->ADD_GOSSIP_ITEM(0, "Teleport to 2 floor (Phase 1!)", GOSSIP_SENDER_MAIN, TWO_FLOOR); player->ADD_GOSSIP_ITEM(0, "Teleport to 1 floor (Phase 2!)", GOSSIP_SENDER_MAIN, ONE_FLOOR_PHASE); player->ADD_GOSSIP_ITEM(0, "Teleport to 2 floor (Phase 2!)", GOSSIP_SENDER_MAIN, TWO_FLOOR_PHASE);
if( player->GetTeam() == HORDE) player->ADD_GOSSIP_ITEM(0, "Teleport to Orgrimmar", GOSSIP_SENDER_MAIN, ORGRIMMAR); else player->ADD_GOSSIP_ITEM(0, "Teleport to Stormwind", GOSSIP_SENDER_MAIN, STORMWIND);
player->ADD_GOSSIP_ITEM(0, "Add free talent points?", GOSSIP_SENDER_MAIN, TALENT); } player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetGUID()); return true; }
bool GossipSelect_dkporter(Player *player, Creature *creature, uint32 sender, uint32 action) {
uint32 talentPointsForLevel = player->CalculateTalentsPoints(); // talents int32 tp = player->GetFreeTalentPoints()+player->GetUsedTalentCount();
if(sender != GOSSIP_SENDER_MAIN) return true; if(!player->getAttackers().empty()) return true; switch(action) { case ONE_FLOOR: player->TeleportTo(609, 2370.427, -5655.111, 382.315, 0); player->CLOSE_GOSSIP_MENU(); break; case ONE_FLOOR_PHASE: player->TeleportTo(0, 2370.427, -5655.111, 382.315, 0); player->CLOSE_GOSSIP_MENU(); break; case TWO_FLOOR: player->TeleportTo(609, 2370.427, -5655.111, 426.128, 0); player->CLOSE_GOSSIP_MENU(); break; case TWO_FLOOR_PHASE: player->TeleportTo(0, 2370.427, -5655.111, 426.128, 0); player->CLOSE_GOSSIP_MENU(); break; case STORMWIND: player->TeleportTo(0, -8960.14, 516.266, 96.3568, 0); player->CLOSE_GOSSIP_MENU(); break; case ORGRIMMAR: player->TeleportTo(1, 1552.5, -4420.66, 8.94802, 0); player->CLOSE_GOSSIP_MENU(); break; case TALENT: { if (tp>talentPointsForLevel) { player->resetTalents(); } else if(tp<talentPointsForLevel) { player->SetFreeTalentPoints(talentPointsForLevel); creature->MonsterSay("Talented changed!", LANG_UNIVERSAL, NULL); } break; } } return true; }
void AddSC_dkporter() { Script *newscript; newscript = new Script; newscript->Name = "dkporter"; newscript->pGossipHello = &GossipHello_dkporter; newscript->pGossipSelect = &GossipSelect_dkporter; newscript->RegisterSelf(); }
|
|
|
|
romero8688 | Дата: Субота, 29.10.2011, 16:18 | Сообщение # 2 |
Скаут
Группа: Пользователи
|
А куда и после чего вписать? Или тут все на память знают исходники сервера?
|
|
|
|