/************************************************************************/ /* Zhizhe.cpp Script */ /************************************************************************/ /* * Made in China, Fixed by Gastricpenguin. I also translated it too. With help from * Stans * * NEXT ON COMPILE: * Just check all "("I have enough money. Need %u Gold",price/10000);" Scripts * Make sure they all make sense * * * * TODO: * Wages Fix * Mount states * If (plr-> getLevel () <60) Teleport level limit */ #include "StdAfx.h" #include "Setup.h" #define isbl(p) ((p)->getRace() == 5||(p)->getRace()== 6||(p)->getRace() == 8||(p)->getRace() == 2) class SCRIPT_DECL ZhizheGossip : public GossipScript { public: ADD_GOSSIP_FACTORY_FUNCTION(ZhizheGossip); void GossipHello(Creature* pCreature, Player* Plr, bool AutoSend); void GossipSelectOption(Creature* pCreature, Player* Plr, uint32 Id, uint32 IntId); void GossipEnd(Creature* pCreature, Player* Plr); }; void ZhizheGossip::GossipHello(Creature* pCreature, Player* Plr, bool AutoSend) { sLog.outDetail("Gossip-Zhizhe.cpp : Hello by %s", Plr->GetName()); GossipMenu *Menu; uint32 TextID =31023; // Hello (First) Menu. you forgot 2 , fixed objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), TextID, Plr); if( pCreature->GetUInt32Value(UNIT_NPC_FLAGS) & UNIT_NPC_FLAG_VENDOR ); Menu-> AddItem (0, "[ Main City ] - Major cities transmission", 1); Menu-> AddItem (1, "[ Primary Instance ] - Class I", 2); Menu-> AddItem (1, "[ Intermediate Instance ] - Class II", 3); Menu-> AddItem (1, "[ Senior Instance ] - Raids", 4); Menu-> AddItem (1, "[ Boss Zone ] - Teleport to BOSS ZONE", 5); Menu-> AddItem (0, "[ Scenery Teleport ] - View world Landscapes", 6); Menu-> AddItem (3, "[ Professional Auction ] - Auction House", 7); Menu-> AddItem (3, "[ Individual Banks] - Personal Bank System", 8); Menu-> AddItem (2, "[ Activate Taxi] - Open all Flightpaths (10G)", 9); Menu-> AddItem (4, "[ BG Teleport ] - Battlegrounds", 10); Menu-> AddItem (0, "[ Resurrection ] - Cure Resurrection Sickness (5G)", 11); Menu-> AddItem (5, "[ Sale & Repair ] - Stay a while and listen", 12); Menu-> AddItem (6, "[ Bind Hearthstone] - Bind your Heathstone", 13); Menu-> AddItem (6, "[ Reset Talent ] - Resets all talent points", 14); Menu-> AddItem (6, "[ Get My Wages ] - Wager 1g every minute", 16); if(AutoSend) Menu->SendTo(Plr); } #define SendQuickMenu(textid) objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), textid, Plr); \ Menu->SendTo(Plr); void ZhizheGossip::GossipSelectOption(Creature* pCreature, Player* Plr, uint32 Id, uint32 IntId) { sLog.outDebug("Gossip-Zhizhe.cpp : Select option %u by %s", IntId, Plr->GetName()); switch(IntId) { case 0: // Return to start GossipHello(pCreature, Plr, true); break; case 1: // main city GossipMenu *Menu1; objmgr.CreateGossipMenuForPlayer(&Menu1, pCreature->GetGUID(), 31024, Plr); if (!isbl(Plr)) Menu1->AddItem( 0, " 【Stormwind】--------[1Gold] " , 41); // Lol wtf... Menu1->AddItem( 0, " 【Ironforge】--------[1Gold] " , 42); // This took forever to Menu1->AddItem( 0, " 【Darnassus】--------[1Gold] " , 43); // translate. Menu1->AddItem( 0, " 【Exodar】-----------[1Gold] " , 44); Menu1->AddItem( 0, " 【Ratchet】----------[1Gold] " , 49); Menu1->AddItem( 0, " 【Booty Bay】--------[1Gold] " , 50); Menu1->SendTo(Plr); break; if (isbl(Plr)) Menu1->AddItem( 0, " 【Orgrimmar】---------[1Gold] " , 45); Menu1->AddItem( 0, " 【Thunder Bluff】-----[1Gold] " , 46); Menu1->AddItem( 0, " 【Undercity】---------[1Gold] " , 47); Menu1->AddItem( 0, " 【Silvermoon】--------[1Gold] " , 48); Menu1->AddItem( 0, " 【Ratchet】-----------[1Gold] " , 49); Menu1->AddItem( 0, " 【Booty Bay】---------[1Gold] " , 50); Menu1->SendTo(Plr); break; case 2: //初级 GossipMenu *Menu2; objmgr.CreateGossipMenuForPlayer(&Menu2, pCreature->GetGUID(), 31024, Plr); Menu2->AddItem( 0, "|cff8000FF[Level 14] 〖Ragefire Chasm〗 -----[5Gold] " , 71); Menu2->AddItem( 0, "|cff8000FF[Level 19] 〖Deadmines〗 ----------[5Gold] " , 72); Menu2->AddItem( 0, "|cff8000FF[Level 22] 〖Wailing Caverns〗 ----[5Gold] " , 73); Menu2->AddItem( 0, "|cff8000FF[Level 24] 〖Shadowfang Keep〗 ----[5Gold] " , 74); Menu2->AddItem( 0, "|cff8000FF[Level 26] 〖Blackfathom Deeps〗 --[5Gold] " , 75); Menu2->AddItem( 0, "|cff8000FF[Level 27] 〖The Stockade〗--------[5Gold] " , 76); Menu2->AddItem( 0, "|cff8000FF[Level 31] 〖Razorfen Kraul〗 ------[5Gold] " , 77); Menu2->AddItem( 0, "|cff8000FF[Level 33] 〖Gnomeregon〗----------[5Gold] " , 78); Menu2->AddItem( 0, "|cff8000FF[Level 40] 〖Scarlet Monastery〗---[5Gold] " , 79); Menu2->AddItem( 0, "|cff8000FF[Level 42] 〖Razorfen Downs〗 ------[5Gold] " , 80); Menu2->AddItem( 0, "|cff8000FF[Level 45] 〖Uldaman〗 ------------[5Gold] " , 81); Menu2->SendTo(Plr); break; case 3: //中级 GossipMenu *Menu3; objmgr.CreateGossipMenuForPlayer(&Menu3, pCreature->GetGUID(), 31024, Plr); Menu3->AddItem( 2, " |cff8000FF[Level 46]【Zul'Farrak】 ----------[10Gold] " , 61); Menu3->AddItem( 2, " |cff8000FF[Level 49]【Maraudon】------------[10Gold] " , 62); Menu3->AddItem( 2, " |cff8000FF[Level 53]【Sunken Temple】 -------[10Gold] " , 63); Menu3->AddItem( 2, " |cff8000FF[Level 57]【Blackrock Depths】 ----[10Gold] " , 64); Menu3->AddItem( 2, " |cff8000FF[Level 60]【Scholomance】 ---------[10Gold] " , 65); Menu3->AddItem( 2, " |cff8000FF[Level 60]【Dire Maul (NORTH)】 ---[10Gold] " , 66); Menu3->AddItem( 2, " |cff8000FF[Level 60]【Dire Maul (EAST)】 ----[10Gold] " , 67); Menu3->AddItem( 2, " |cff8000FF[Level 60]【Dire Maul (WEST)】 ----[10Gold] " , 68); Menu3->AddItem( 2, " |cff8000FF[Level 60]【Stratholme】 ----------[10Gold] " , 69); Menu3->AddItem( 2, " |cff8000FF[Level 60]【Blackrock Spire】 -----[10Gold] " , 70); Menu3->SendTo(Plr); break; case 4: //高级 GossipMenu *Menu4; objmgr.CreateGossipMenuForPlayer(&Menu4, pCreature->GetGUID(), 31024, Plr); Menu4->AddItem( 3, " |cff8000FF[Level 60]【Molten Core】 --------[50Gold] " , 51); Menu4->AddItem( 3, " |cff8000FF[Level 60]【Blackrock Spire】 ----[50Gold] " , 52); Menu4->AddItem( 3, " |cff8000FF[Level 60]【Zul'Gurub】 ----------[50Gold] " , 53); Menu4->AddItem( 3, " |cff8000FF[Level 60]【Blackwing Lair】 -----[50Gold] " , 54); Menu4->AddItem( 3, " |cff8000FF[Level 60]【Temple of Ahn'Qiraj】-[50Gold] " , 55); Menu4->AddItem( 3, " |cff8000FF[Level 60]【Ruins of Ahn'Qiraj】--[50Gold] " , 56); Menu4->AddItem( 3, " |cff8000FF[Level 60]【Onyxia's Lair】------ [50Gold] " , 57); Menu4->AddItem( 3, " |cff8000FF[Level 60]【Naxxramas】 -----------[50Gold] " , 58); Menu4->AddItem( 3, " |cff8000FF[Level 60]【Onyxia】 --------------[100Gold] " , 59); Menu4->AddItem( 3, " |cffFF0000[Level 70]【Black Temple】 --------[100Gold] " , 60); Menu4->SendTo(Plr); break; case 5: //野外 GossipMenu *Menu5; objmgr.CreateGossipMenuForPlayer(&Menu5, pCreature->GetGUID(), 31024, Plr); Menu5->AddItem( 0, " [Eranikus] ---------------[10Gold] " , 21); Menu5->AddItem( 0, " [Hinterlands] ------------[10Gold] " , 22); Menu5->AddItem( 0, " [Ashenvale] --------------[10Gold] " , 23); Menu5->AddItem( 0, " [Azshara] ----------------[10Gold] " , 24); Menu5->AddItem( 0, " [Ferelas] ----------------[10Gold] " , 25); Menu5->AddItem( 0, " [Blasted Lands] ----------[10Gold] " , 26); Menu5->AddItem( 0, " [Crystal Valley] ---------[10Gold] " , 27); Menu5->AddItem( 0, "【Hellfire Peninsula】 -----[100Gold] " , 28); Menu5->SendTo(Plr); break; case 6: //风景 GossipMenu *Menu6; objmgr.CreateGossipMenuForPlayer(&Menu6, pCreature->GetGUID(), 31024, Plr); Menu6->AddItem( 8, " ≡ Hills of Hyjal ≡ ---------[10Gold]" , 29); Menu6->AddItem( 8, " ≡ 翡翠圣地 ≡------------------[10Gold]" , 30); Menu6->AddItem( 8, " ≡ Caverns of Time ≡---------[10Gold]" , 31); Menu6->AddItem( 8, " ≡ Dark Portal ≡ ------------[10Gold]" , 32); Menu6->AddItem( 8, " ≡ 双塔山 ≡ -------------------[10Gold]" , 33); Menu6->AddItem( 8, " ≡ World Tree ≡ -------------[10Gold]" , 34); Menu6->AddItem( 8, " ≡ Azuremyst Isle ≡ ---------[10Gold]" , 35); Menu6->AddItem( 8, " ≡ Construction Zone ≡ ------[10Gold]" , 36); Menu6->AddItem( 8, " ≡ 天涯海滩 ≡ ------------------[10Gold]" , 37); Menu6->AddItem( 8, " ≡ Un'Goro Crater ≡ ---------[10Gold]" , 38); Menu6->AddItem( 8, " ≡ Airplane Wreckage ≡ ------[10Gold]" , 39); Menu6->AddItem( 8, " ≡ Stonewatch Falls ≡--------[10Gold]" , 40); Menu6->SendTo(Plr); break; case 7: //拍卖 Plr->GetSession()->SendAuctionList(pCreature); break; case 8: //银行 Plr->GetSession()->SendBankerList(pCreature); break; case 9: //飞行 { uint32 price = 500000; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price) { for (uint8 i=0; i<8; i++) Plr->SetTaximask(i, 0xFFFFFFFF); } else Plr->GetSession()->SendNotification("I have enough money. Need Gold Coins %u",price/10000); // CANT TELL THE DIFFERENCE. IS IT "i need more" - or "i have enough" ?!?! } //pCreature->HandleTaxiCheatCommand() break; case 10: //战场 Plr->GetSession()->SendBattlegroundList(pCreature, 2); break; case 11: //复活 Plr->GetSession()->SendSpiritHealerRequest(pCreature); break; case 12: //修理 Plr->GetSession()->SendInventoryList(pCreature); break; case 13: // 绑定 Plr->GetSession()->SendInnkeeperBind(pCreature); break; case 14: // switch to talent reset message { GossipMenu *Menu; objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 5674, Plr); Menu->AddItem(0, "I understand that, please continue.", 15); Menu->SendTo(Plr); }break; case 15: // talent reset { Plr->Gossip_Complete(); Plr->SendTalentResetConfirm(); }break; case 16: { //uint32 t = time(NULL) - Plr->OnlineTime; uint32 t = time(NULL) - Plr->OnlineTime; uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (t>=60) { int32 Gz; Gz = Config.MainConfig.GetIntDefault("5AWOW", "Gz", 0);//从配置文件读取每分钟工资 uint32 gz=(t/360) * Gz;// int32 newgold = currentgold + gz; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->GetSession()->SendNotification("Wage earners from the last time you have %d seconds, a total availability of copper Coins %u.",t,gz); Plr->OnlineTime = time(NULL); }else{ Plr->GetSession()->SendNotification("Your online time is too short. Please try again later."); } } break; case 21: // 黎明森林 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(0,0,-10593.854492,-435.772003,84.210320,6.273752); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 22: // 辛特兰 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(0,0,759.605713,-3893.341309,116.475304,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 23: // 灰谷 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(1,0,3120.289307,-3439.444336,139.566345,1); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 24: // 艾萨拉 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(1,0,2622.219971,-5977.930176,100.562897,1); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 25: // 菲拉斯 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(1,0,-2741.290039,2009.481323,31.877323,1); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 26: // 诅咒之地 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(0,0,-12234.000000,-2474.000000,-3.000000,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 27: // 水晶谷 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(1,0,-6292.463379,1578.029053,0.155348,1); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 28: { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(530,0,-246.6,946.0,84.4,0);// 外域星空 }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 29: // 海加尔山 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(1,0,4603.946777,-3879.250977,944.183472,1); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 30: // 翡翠圣地 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(1,0,3968.264648,-1290.036011,240.326889,5.927989); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 31: // 时光之穴 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(1,0,-8173.930176,-4737.463867,33.777351,4.772119); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 32: // 黑暗之门 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(0,0,-11849.031250,-3201.170654,-28.885090,3.280838); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 33: // 双塔山 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(1,0,-3331.353271,2225.728271,30.987701,6.267522); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 34: // 梦境之树 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(1,0,-2914.756104,1902.199341,34.741035,5.690404); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 35: // 恐怖之岛 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(1,0,4603.946777,-3879.250977,944.183472,1); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 36: // 暴雪路障 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(1,0,5478.060059,-3730.850098,1593.439941,5.610376); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 37: // 天涯海滩 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(1,0,-9851.617188,-3608.474121,8.939731,2.513388); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 38: // 安戈洛环形山 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(1,0,-8562.096680,-2106.056641,8.852538,0.090425); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 39: // 比吉尔的飞艇残骸 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(1,0,-4014.003418,-3768.186523,42.123295,5.220697); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 40: // 石堡瀑布 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(0,0,-9481.493164,-3326.915283,8.864347,0.846896); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; //以下部分为各个传送点设置 case 41: // 暴风城 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=10000;// 价格1G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(0,0,-9065,434,94,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 42: // 铁炉堡 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=10000;// 价格1G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(0,0,-5032,-819,495,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 43: // 达纳苏斯 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=10000;// 价格1G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(1,0,9961,2055,1329,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 44: // 埃索达 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=10000;// 价格1G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(530,0,-4071.7,-12036.7,-1.5,0);//此处坐标有待测试 }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 45: // 奥格瑞玛 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=10000;// 价格1G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(1,0,1317,-4383,27,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 46: // 雷霆崖 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=10000;// 价格1G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(1,0,-1391,140,23,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 47: // 幽暗城 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=10000;// 价格1G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(0,0,1909,235,53,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 48: // 血精灵主城 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=10000;// 价格1G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(530,0,9336.9,-7278.4,13.6,0);//此处坐标有待测试 }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 49: // 棘齿城 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=10000;// 价格1G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(1,0,-977,-3788,6,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 50: // 藏宝海湾 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=10000;// 价格1G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(0,0,-14302,518,9,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 51: // 熔火之心 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=500000;// 价格50G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(409,0,1089.601685,-470.190247,-106.413055,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 52: // 黑石塔上 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=500000;// 价格50G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(229,0,78.339836,-227.793518,49.7103,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 53: // 祖尔格拉布 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=500000;// 价格50G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(309,0,-11916,-1251.469971,92.32,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 54: // 黑翼之巢 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=500000;// 价格50G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(469,0,-7674.470215,-1108.380005,396.649994,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 55: // 安其拉神庙 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=500000;// 价格50G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(531,0,-8212.002930,2034.474854,129.141342,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 56: // 安其拉废墟 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=500000;// 价格50G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(509,0,-8443.475586,1518.648560,31.906958,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 57: // 奥妮克西亚巢穴 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=500000;// 价格50G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(249,0,30.010290,-58.840508,-5.325367,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 58: // 纳克萨玛斯 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=500000;// 价格50G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(533,0,3005.87,-3435.01,293.882,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 59: // 冰龙巢穴 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=1000000;// 价格100G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(533,0,3700.35,-5185.92,143.957,4.403038); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 60: // 黑暗神庙 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=1000000;// 价格100G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(530,0,-3562.8,247.6,42.9,0);//此处坐标有待测试 }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 61: // 祖尔法拉克 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(209,0,1213,841,8.9,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 62: // 玛拉顿——邪魔洞穴 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(349,0,1012.700012,-459.317993,-43.547100,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 63: // 阿塔哈卡神庙 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(109,0,-313.369995,99.955399,-131.848999,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 64: // 黑石深渊 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(230,0,456.928986,34.927700,-69.388100,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 65: // 通灵学院 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(289,0,199,126,135,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 66: // 厄运之锤] 北部 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(429,0,255.164001,-17.024200,-2.560600,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 67: // 厄运之锤] ----[东 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(429,0,46.24,-155.53,-2.71349,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 68: // 厄运之锤] ----[西 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(429,0,32.722599,159.417007,-3.470170,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 69: // 斯坦索姆 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(329,0,3392,-3379,143,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 70: // 黑石塔下 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=100000;// 价格10G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(229,0,78.19,-227.63,49.72,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 71: // 怒焰裂谷 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=50000;// 价格5G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(389,0,2.024650,-10.021000,-16.187500,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 72: // 死亡矿坑 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=50000;// 价格5G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(36,0,-16.4,-383.07,61.78,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 73: // 哀嚎洞穴 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=50000;// 价格5G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(43,0,-161.841995,133.266998,-73.866203,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 74: // 影牙城堡 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=50000;// 价格5G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(33,0,-228.19,2110.56,76.89,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 75: // 黑暗深渊 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=50000;// 价格5G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(48,0,-150.367004,102.995003,-40.555801,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 76: // 暴风城监狱 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=50000;// 价格5G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(34,0,48.29,0.45,-16.14,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 77: // 剃刀沼泽 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=50000;// 价格5G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(47,0,1943,1544,82,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 78: // 诺莫瑞根 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=50000;// 价格5G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(90,0,-332.562988,-3.445,-152.845993,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 79: // 血色修道院 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=50000;// 价格5G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(189,0,855.903992,1321.939941,18.673000,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 80: // 剃刀高地 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=50000;// 价格5G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(129,0,2593.209961,1109.459961,51.093300,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; case 81: // 奥达曼 统一格式说明:(info->mapId, 0, LocationVector(info->positionX, info->positionY, info->positionZ)); { uint32 price=50000;// 价格5G uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE); if (currentgold>=price){ int32 newgold = currentgold - price; Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold); Plr->SafeTeleport(70,0,-227.529007,45.009800,-46.019600,0); }else{ Plr->GetSession()->SendNotification("I have enough money. Need %u Gold",price/10000); } } break; } } void ZhizheGossip::GossipEnd(Creature* pCreature, Player* Plr) { GossipScript::GossipEnd(pCreature, Plr); } void SetupZhizhe(ScriptMgr * mgr) { /* Zhizhe List */ mgr->register_gossip_script(90001, &ZhizheGossip::Create); // }