最新的传送人源代码 (Mangos的)
//sc_teleport.cpp
#include "../sc_defines.h"
bool GossipHello_sc_teleport(Player *player, Creature *_Creature)
{
player->ADD_GOSSIP_ITEM( 0, " 主城传送 " , 1, GOSSIP_ACTION_INFO_DEF + 1);
player->ADD_GOSSIP_ITEM( 0, " 初级副本传送 " , 1, GOSSIP_ACTION_INFO_DEF + 2);
player->ADD_GOSSIP_ITEM( 0, " 中级副本传送 " , 1, GOSSIP_ACTION_INFO_DEF + 3);
player->ADD_GOSSIP_ITEM( 0, " 团队副本传送(30G) " , 1, GOSSIP_ACTION_INFO_DEF + 4);
player->ADD_GOSSIP_ITEM( 0, " 外域副本传送1(50G) " , 1, GOSSIP_ACTION_INFO_DEF + 5);
player->ADD_GOSSIP_ITEM( 0, " 外域副本传送2(50G) " , 1, GOSSIP_ACTION_INFO_DEF + 10);
player->ADD_GOSSIP_ITEM( 0, " 个人银行 " , 8, GOSSIP_ACTION_INFO_DEF + 6);
player->ADD_GOSSIP_ITEM( 0, " 开通飞行点(30G) " , 6, GOSSIP_ACTION_INFO_DEF + 7);
player->ADD_GOSSIP_ITEM( 0, " 领取工资10G/小时 " , 9, GOSSIP_ACTION_INFO_DEF + 8);
player->ADD_GOSSIP_ITEM( 0, " 外域传送(5G) " , 1, GOSSIP_ACTION_INFO_DEF + 9);
player->ADD_GOSSIP_ITEM( 0, " 野外BOSS传送(10G) " , 1, GOSSIP_ACTION_INFO_DEF + 11);
player->SEND_GOSSIP_MENU(99999,_Creature->GetGUID());
return true;
}
void SendDefaultMenu_SC_teleport(Player *player, Creature *_Creature, uint32 action)
{
switch(action) {
// 主城传送
case GOSSIP_ACTION_INFO_DEF + 1 :
player->ADD_GOSSIP_ITEM( 0, " 联盟 暴风城 " , 2, GOSSIP_ACTION_INFO_DEF + 1);
player->ADD_GOSSIP_ITEM( 0, " 联盟 铁炉堡 " , 2, GOSSIP_ACTION_INFO_DEF + 2);
player->ADD_GOSSIP_ITEM( 0, " 联盟 达纳苏斯 " , 2, GOSSIP_ACTION_INFO_DEF + 3);
player->ADD_GOSSIP_ITEM( 0, " 联盟 埃索达 " , 2, GOSSIP_ACTION_INFO_DEF + 4);
player->ADD_GOSSIP_ITEM( 0, " 部落 奥格瑞玛 " , 2, GOSSIP_ACTION_INFO_DEF + 5);
player->ADD_GOSSIP_ITEM( 0, " 部落 雷霆崖 " , 2, GOSSIP_ACTION_INFO_DEF + 6);
player->ADD_GOSSIP_ITEM( 0, " 部落 幽暗城 " , 2, GOSSIP_ACTION_INFO_DEF + 7);
player->ADD_GOSSIP_ITEM( 0, " 部落 银月城 " , 2, GOSSIP_ACTION_INFO_DEF + 8);
player->ADD_GOSSIP_ITEM( 0, " 中立 棘齿城 " , 2, GOSSIP_ACTION_INFO_DEF + 9);
player->ADD_GOSSIP_ITEM( 0, " 中立 藏宝海湾 " , 2, GOSSIP_ACTION_INFO_DEF + 10);
player->ADD_GOSSIP_ITEM( 0, " 中立 加基森 " , 2, GOSSIP_ACTION_INFO_DEF + 11);
player->ADD_GOSSIP_ITEM( 0, " 中立 塞纳里奥要塞 " , 2, GOSSIP_ACTION_INFO_DEF + 12);
player->SEND_GOSSIP_MENU(99991,_Creature->GetGUID());
break;
// 初级副本
case GOSSIP_ACTION_INFO_DEF + 2 :
player->ADD_GOSSIP_ITEM( 0, " ·[14] 怒焰裂谷 " , 3, GOSSIP_ACTION_INFO_DEF + 1);
player->ADD_GOSSIP_ITEM( 0, " ·[19] 死亡矿井 " , 3, GOSSIP_ACTION_INFO_DEF + 2);
player->ADD_GOSSIP_ITEM( 0, " ·[22] 哀嚎洞穴 " , 3, GOSSIP_ACTION_INFO_DEF + 3);
player->ADD_GOSSIP_ITEM( 0, " ·[24] 影牙城堡 " , 3, GOSSIP_ACTION_INFO_DEF + 4);
player->ADD_GOSSIP_ITEM( 0, " ·[26] 黑暗深渊 " , 3, GOSSIP_ACTION_INFO_DEF + 5);
player->ADD_GOSSIP_ITEM( 0, " ·[27] 暴风城监狱 " , 3, GOSSIP_ACTION_INFO_DEF + 6);
player->ADD_GOSSIP_ITEM( 0, " ·[31] 剃刀沼泽 " , 3, GOSSIP_ACTION_INFO_DEF + 7);
player->ADD_GOSSIP_ITEM( 0, " ·[33] 诺莫瑞根 " , 3, GOSSIP_ACTION_INFO_DEF + 8);
player->ADD_GOSSIP_ITEM( 0, " ·[40] 血色修道院 " , 3, GOSSIP_ACTION_INFO_DEF + 9);
player->ADD_GOSSIP_ITEM( 0, " ·[42] 剃刀高地 " , 3, GOSSIP_ACTION_INFO_DEF + 10);
player->ADD_GOSSIP_ITEM( 0, " ·[45] 奥达曼 " , 3, GOSSIP_ACTION_INFO_DEF + 11);
player->SEND_GOSSIP_MENU(99992,_Creature->GetGUID());
break;
// 中级副本
case GOSSIP_ACTION_INFO_DEF + 3 :
player->ADD_GOSSIP_ITEM( 0, " ·[46] 祖尔法拉克 " , 4, GOSSIP_ACTION_INFO_DEF + 1);
player->ADD_GOSSIP_ITEM( 0, " ·[49] 玛拉顿 " , 4, GOSSIP_ACTION_INFO_DEF + 2);
player->ADD_GOSSIP_ITEM( 0, " ·[53] 失落的神庙 " , 4, GOSSIP_ACTION_INFO_DEF + 3);
player->ADD_GOSSIP_ITEM( 0, " ·[57] 黑石深渊 " , 4, GOSSIP_ACTION_INFO_DEF + 4);
player->ADD_GOSSIP_ITEM( 0, " ·[60] 通灵学院 " , 4, GOSSIP_ACTION_INFO_DEF + 5);
player->ADD_GOSSIP_ITEM( 0, " ·[60] 厄运之槌 (北区) " , 4, GOSSIP_ACTION_INFO_DEF + 6);
player->ADD_GOSSIP_ITEM( 0, " ·[60] 厄运之槌 (东区) " , 4, GOSSIP_ACTION_INFO_DEF + 7);
player->ADD_GOSSIP_ITEM( 0, " ·[60] 厄运之槌 (西区) " , 4, GOSSIP_ACTION_INFO_DEF + 8);
player->ADD_GOSSIP_ITEM( 0, " ·[60] 斯坦索姆 " , 4, GOSSIP_ACTION_INFO_DEF + 9);
player->ADD_GOSSIP_ITEM( 0, " ·[60] 黑石塔下 " , 4, GOSSIP_ACTION_INFO_DEF + 10);
player->SEND_GOSSIP_MENU(99993,_Creature->GetGUID());
break;
// 高级副本
case GOSSIP_ACTION_INFO_DEF + 4 :
player->ADD_GOSSIP_ITEM( 0, " ·[团] 溶火之心 " , 5, GOSSIP_ACTION_INFO_DEF + 1);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 黑石塔上 " , 5, GOSSIP_ACTION_INFO_DEF + 2);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 祖尔格拉布 " , 5, GOSSIP_ACTION_INFO_DEF + 3);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 黑翼之巢 " , 5, GOSSIP_ACTION_INFO_DEF + 4);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 安其拉 " , 5, GOSSIP_ACTION_INFO_DEF + 5);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 安其拉废墟 " , 5, GOSSIP_ACTION_INFO_DEF + 6);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 奥妮克希亚的巢穴 " , 5, GOSSIP_ACTION_INFO_DEF + 7);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 纳克萨玛斯 " , 5, GOSSIP_ACTION_INFO_DEF + 8);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 冰龙巢穴 " , 5, GOSSIP_ACTION_INFO_DEF + 9);
player->SEND_GOSSIP_MENU(99994,_Creature->GetGUID());
break;
// 外域副本1
case GOSSIP_ACTION_INFO_DEF + 5 :
player->ADD_GOSSIP_ITEM( 0, " ·[团] 暴风城超级监狱 " , 7, GOSSIP_ACTION_INFO_DEF + 1);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 卡拉赞 " , 7, GOSSIP_ACTION_INFO_DEF + 2);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 遗忘之井" , 7, GOSSIP_ACTION_INFO_DEF + 3);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 鬼魂之地 " , 7, GOSSIP_ACTION_INFO_DEF + 4);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 地狱火堡垒 " , 7, GOSSIP_ACTION_INFO_DEF + 5);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 风暴要塞 " , 7, GOSSIP_ACTION_INFO_DEF + 6);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 奥金顿 " , 7, GOSSIP_ACTION_INFO_DEF + 7);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 黑暗神庙 " , 7, GOSSIP_ACTION_INFO_DEF + 8);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 赞格沼泽 " , 7, GOSSIP_ACTION_INFO_DEF + 9);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 格鲁尔的巢穴 " , 7, GOSSIP_ACTION_INFO_DEF + 10);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 黑色沼泽 " , 7, GOSSIP_ACTION_INFO_DEF + 11);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 盘牙洞穴 " , 7, GOSSIP_ACTION_INFO_DEF + 12);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 玛瑟里顿的巢穴 " , 7, GOSSIP_ACTION_INFO_DEF + 13);
player->SEND_GOSSIP_MENU(99994,_Creature->GetGUID());
break;
// 外域副本2
case GOSSIP_ACTION_INFO_DEF + 10 :
player->ADD_GOSSIP_ITEM( 0, " ·[团] 破碎大厅 " , 10, GOSSIP_ACTION_INFO_DEF + 1);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 血熔炉 " , 10, GOSSIP_ACTION_INFO_DEF + 2);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 波塔尼卡 " , 10, GOSSIP_ACTION_INFO_DEF + 3);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 亚克崔兹 " , 10, GOSSIP_ACTION_INFO_DEF + 4);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 麦克那尔 " , 10, GOSSIP_ACTION_INFO_DEF + 5);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 凤凰大厅 " , 10, GOSSIP_ACTION_INFO_DEF + 6);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 奴隶监狱 " , 10, GOSSIP_ACTION_INFO_DEF + 7);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 蒸汽洞窟 " , 10, GOSSIP_ACTION_INFO_DEF + 8);
player->ADD_GOSSIP_ITEM( 0, " ·[团] 毒牙沼泽 " , 10, GOSSIP_ACTION_INFO_DEF + 9);
player->SEND_GOSSIP_MENU(99994,_Creature->GetGUID());
break;
// 外域
case GOSSIP_ACTION_INFO_DEF + 9 :
player->ADD_GOSSIP_ITEM( 0, " ·黑暗之门 " , 11, GOSSIP_ACTION_INFO_DEF + 1);
player->ADD_GOSSIP_ITEM( 0, " ·永歌森林 " , 11, GOSSIP_ACTION_INFO_DEF + 2);
player->ADD_GOSSIP_ITEM( 0, " ·艾克索达 " , 11, GOSSIP_ACTION_INFO_DEF + 3);
player->ADD_GOSSIP_ITEM( 0, " ·海加尔山 " , 11, GOSSIP_ACTION_INFO_DEF + 4);
player->ADD_GOSSIP_ITEM( 0, " ·青草平原 " , 11, GOSSIP_ACTION_INFO_DEF + 5);
player->ADD_GOSSIP_ITEM( 0, " ·翠叶森林 " , 11, GOSSIP_ACTION_INFO_DEF + 6);
player->ADD_GOSSIP_ITEM( 0, " ·沙塔斯城 " , 11, GOSSIP_ACTION_INFO_DEF + 7);
player->ADD_GOSSIP_ITEM( 0, " ·哈兰 " , 11, GOSSIP_ACTION_INFO_DEF + 8);
player->ADD_GOSSIP_ITEM( 0, " ·风暴尖塔 " , 11, GOSSIP_ACTION_INFO_DEF + 9);
player->SEND_GOSSIP_MENU(99994,_Creature->GetGUID());
break;
// 野外BOSS
case GOSSIP_ACTION_INFO_DEF + 11 :
player->ADD_GOSSIP_ITEM( 0, " 暮色森林 " , 12, GOSSIP_ACTION_INFO_DEF + 1);
player->ADD_GOSSIP_ITEM( 0, " 辛特兰 " , 12, GOSSIP_ACTION_INFO_DEF + 2);
player->ADD_GOSSIP_ITEM( 0, " 灰谷 " , 12, GOSSIP_ACTION_INFO_DEF + 3);
player->ADD_GOSSIP_ITEM( 0, " 艾萨拉 " , 12, GOSSIP_ACTION_INFO_DEF + 4);
player->ADD_GOSSIP_ITEM( 0, " 菲拉斯 " , 12, GOSSIP_ACTION_INFO_DEF + 5);
player->ADD_GOSSIP_ITEM( 0, " 诅咒之地 " , 12, GOSSIP_ACTION_INFO_DEF + 6);
player->ADD_GOSSIP_ITEM( 0, " 水晶谷 " , 12, GOSSIP_ACTION_INFO_DEF + 7);
player->SEND_GOSSIP_MENU(99991,_Creature->GetGUID());
break;
}
return true;
}
bool GossipSelect_sc_teleport(Player *player, Creature *_Creature, uint32 sender, uint32 action )
{
switch(sender) {
// 主选单
case 1 :
SendDefaultMenu_sc_Teleport(player, _Creature, action);
break;
// 各大主城
case 2 :
switch(action) {
// 暴风城 统一格式说明:(MapID, X, Y, Z, 0);
case GOSSIP_ACTION_INFO_DEF + 1 :
player->TeleportTo(0,-9065,434,94,0);
break;
// 铁炉堡
case GOSSIP_ACTION_INFO_DEF + 2 :
player->TeleportTo(0,-5032,-819,495,0);
break;
// 达纳苏斯
case GOSSIP_ACTION_INFO_DEF + 3 :
player->TeleportTo(1,9961,2055,1329,0);
break;
// 埃索达
case GOSSIP_ACTION_INFO_DEF + 4 :
player->TeleportTo(530,-4071.7,-12036.7,-1.5,0);
break;
// 奥格瑞玛
case GOSSIP_ACTION_INFO_DEF + 5 :
player->TeleportTo(1,1317,-4383,27,0);
break;
// 雷霆崖
case GOSSIP_ACTION_INFO_DEF + 6 :
player->TeleportTo(1,-1391,140,23,0);
break;
// 幽暗城
case GOSSIP_ACTION_INFO_DEF + 7 :
player->TeleportTo(0,1909,235,53,0);
break;
// 棘齿城 */
case GOSSIP_ACTION_INFO_DEF + 9 :
player->TeleportTo(1,-977,-3788,6,0);
break;
// 银月城
case GOSSIP_ACTION_INFO_DEF + 8 :
player->TeleportTo(530,9336.9,-7278.4,13.6,0);
break;
// 藏宝海湾
case GOSSIP_ACTION_INFO_DEF + 10 :
player->TeleportTo(0,-14302,518,9,0);
break;
// 藏宝海湾
case GOSSIP_ACTION_INFO_DEF + 8 :
player->TeleportTo(0,-14302,518,9,0);
break;
// 加基森
case GOSSIP_ACTION_INFO_DEF + 11 :
player->TeleportTo(1,-7103.7,-2961.6,10.8,0);
break;
// 塞纳里奥要塞
case GOSSIP_ACTION_INFO_DEF + 12 :
player->TeleportTo(1,-6831.1,748.8,42.5,0);
break;
}
break;
// 初级副本
case 3 :
switch(action) {
// ·[14] 怒焰裂谷 统一格式说明:(MapID, X, Y, Z, 0);
case GOSSIP_ACTION_INFO_DEF + 1 :
player->TeleportTo(389,2.024650,-10.021000,-16.187500,0);
break;
// ·[19] 死亡矿井
case GOSSIP_ACTION_INFO_DEF + 2 :
player->TeleportTo(36,-16.4,-383.07,61.78,0);
break;
// ·[22] 哀嚎洞
case GOSSIP_ACTION_INFO_DEF + 3 :
player->TeleportTo(43,-161.841995,133.266998,-73.866203,0);
break;
// ·[24] 影牙城堡
case GOSSIP_ACTION_INFO_DEF + 4 :
player->TeleportTo(33,-228.19,2110.56,76.89,0);
break;
// ·[26] 黑暗深渊
case GOSSIP_ACTION_INFO_DEF + 5 :
player->TeleportTo(48,-150.367004,102.995003,-40.555801,0);
break;
// ·[27] 暴风城监狱
case GOSSIP_ACTION_INFO_DEF + 6 :
player->TeleportTo(34,48.29,0.45,-16.14,0);
break;
// ·[31] 剃刀沼泽
case GOSSIP_ACTION_INFO_DEF + 7 :
player->TeleportTo(47,1943,1544,82,0);
break;
// ·[33] 诺莫瑞根
case GOSSIP_ACTION_INFO_DEF + 8 :
player->TeleportTo(90,-332.562988,-3.445,-152.845993,0);
break;
// ·[40] 血色修道院
case GOSSIP_ACTION_INFO_DEF + 9 :
player->TeleportTo(189,855.903992,1321.939941,18.673000,0);
break;
// ·[42] 剃刀高地
case GOSSIP_ACTION_INFO_DEF + 10 :
player->TeleportTo(129,2593.209961,1109.459961,51.093300,0);
break;
// ·[45] 奥达曼
case GOSSIP_ACTION_INFO_DEF + 11 :
player->TeleportTo(70,-227.529007,45.009800,-46.019600,0);
break;
}
break;
// 中级副本
case 4:
switch(action) {
// ·[46] 祖尔法拉克 统一格式说明:(MapID, X, Y, Z, 0);
case GOSSIP_ACTION_INFO_DEF + 1 :
player->TeleportTo(209,1213,841,8.9,0);
break;
// ·[49] 玛拉顿
case GOSSIP_ACTION_INFO_DEF + 2 :
player->TeleportTo(349,1012.700012,-459.317993,-43.547100,0);
break;
// ·[53] 失落的神庙
case GOSSIP_ACTION_INFO_DEF + 3 :
player->TeleportTo(109,-313.369995,99.955399,-131.848999,0);
break;
// ·[57] 黑石深渊
case GOSSIP_ACTION_INFO_DEF + 4 :
player->TeleportTo(230,456.928986,34.927700,-69.388100,0);
break;
// ·[60] 通灵学院
case GOSSIP_ACTION_INFO_DEF + 5 :
player->TeleportTo(289,199,126,135,0);
break;
// ·[60] 厄运之槌 (北区)
case GOSSIP_ACTION_INFO_DEF + 6 :
player->TeleportTo(429,255.164001,-17.024200,-2.560600,0);
break;
// ·[60] 厄运之槌 (东区)
case GOSSIP_ACTION_INFO_DEF + 7 :
player->TeleportTo(429,46.24,-155.53,-2.71349,0);
break;
// ·[60] 厄运之槌 (西区)
case GOSSIP_ACTION_INFO_DEF + 8 :
player->TeleportTo(429,32.722599,159.417007,-3.470170,0);
break;
// ·[60] 斯坦索姆
case GOSSIP_ACTION_INFO_DEF + 9 :
player->TeleportTo(329,3392,-3379,143,0);
break;
// ·[60] 黑石塔下
case GOSSIP_ACTION_INFO_DEF + 10 :
player->TeleportTo(229,78.19,-227.63,49.72,0);
break;
}
break;
// 高级副本
case 5:
uint32 price_flags3;
price_flags3 = 300000; //收30G的钱
if (player->GetMoney() >= price_flags3)
{
switch(action) {
// ·[团] 溶火之心 统一格式说明:(MapID, X, Y, Z, 0);
case GOSSIP_ACTION_INFO_DEF + 1 :
player->TeleportTo(409,1089.601685,-470.190247,-106.413055,0);
break;
// ·[团] 黑石塔上
case GOSSIP_ACTION_INFO_DEF + 2 :
player->TeleportTo(229,78.339836,-227.793518,49.7103,0);
break;
// ·[团] 祖尔格拉布
case GOSSIP_ACTION_INFO_DEF + 3 :
player->TeleportTo(309,-11916,-1251.469971,92.32,0);
break;
// ·[团] 黑翼之巢
case GOSSIP_ACTION_INFO_DEF + 4 :
player->TeleportTo(469,-7674.470215,-1108.380005,396.649994,0);
break;
// ·[团] 安其拉
case GOSSIP_ACTION_INFO_DEF + 5 :
player->TeleportTo(531,-8212.002930,2034.474854,129.141342,0);
break;
// ·[团] 安其拉废墟
case GOSSIP_ACTION_INFO_DEF + 6 :
player->TeleportTo(509,-8443.475586,1518.648560,31.906958,0);
break;
// ·[团] 奥妮克希亚的巢
case GOSSIP_ACTION_INFO_DEF + 7 :
player->TeleportTo(249,30.010290,-58.840508,-5.325367,0);
break;
//·[团] 纳克萨玛斯
case GOSSIP_ACTION_INFO_DEF + 8 :
player->TeleportTo(533,3005.87,-3435.01,293.882,0);
break;
// ·[团] 冰龙巢
case GOSSIP_ACTION_INFO_DEF + 9 :
player->TeleportTo(533,3700.35,-5185.92,143.957,4.403038,0);
break;
}
}
else player->SEND_GOSSIP_MENU(99997,_Item->GetGUID())
break;
//外域副本 1
case 7:
uint32 price_flags1;
price_flags1 = 500000; //收50G的钱
if (player->GetMoney() >= price_flags1)
{
switch(action) {
// 暴风城超级监狱 统一格式说明:(MapID, X, Y, Z, 0);
case GOSSIP_ACTION_INFO_DEF + 1 :
player->TeleportTo(0,-8644.160156,595.669983,95.699997,0);
break;
// 卡拉赞
case GOSSIP_ACTION_INFO_DEF + 2 :
player->TeleportTo(532, -11107.950195, -2002.060059, 49.889999, 0);
break;
// 遗忘之井
case GOSSIP_ACTION_INFO_DEF + 3 :
player->TeleportTo(0, -11068.07313, -1811.069946, 52.820000, 0);
break;
// 鬼魂之地
case GOSSIP_ACTION_INFO_DEF + 4 :
player->TeleportTo(530, 6851.197266, -7993.672852, 192.292496, 0);
break;
// 地狱火堡垒
case GOSSIP_ACTION_INFO_DEF + 5 :
player->TeleportTo(543, -1355.817261, 1646.834595, 68.447365, 0);
break;
// 风暴要塞
case GOSSIP_ACTION_INFO_DEF + 6 :
player->TeleportTo(530, 3087.556885, 1387.229980, 185.037415,0);
break;
// 奥金顿
case GOSSIP_ACTION_INFO_DEF + 7 :
player->TeleportTo(555, 2.164014, 0.402381, -1.127880, 0);
break;
// 黑暗神庙
case GOSSIP_ACTION_INFO_DEF + 8 :
player->TeleportTo(530, -3562.800049, 247.600006, 42.896927, 0);
break;
// 赞格沼泽
case GOSSIP_ACTION_INFO_DEF + 9 :
player->TeleportTo(530, 919.007629, 6854.861816, -66.432899, 0);
break;
// 戈鲁尔之巢
case GOSSIP_ACTION_INFO_DEF + 10 :
player->TeleportTo(530, 3543.437012, 5079.009766, 0.952552, 0);
break;
// 黑色沼泽
case GOSSIP_ACTION_INFO_DEF + 11 :
player->TeleportTo(269, -2095.298584, 7125.536133, 34.588596, 0);
break;
// 盘牙洞穴
case GOSSIP_ACTION_INFO_DEF + 12 :
player->TeleportTo(548, 29.142296, -57.074600, -71.733269, 0);
break;
// 玛瑟里顿的巢穴
case GOSSIP_ACTION_INFO_DEF + 13 :
player->TeleportTo(544, 188.414261, 29.327892, 67.934464, 0);
break;
}
}
else player->SEND_GOSSIP_MENU(99997,_Item->GetGUID())
break;
//开飞行点
case 6:
uint32 price_flags;
price_flags = 300000; //收30G的钱
if (player->GetMoney() >= price_flags)
{
player->ModifyMoney(-int32(price_flags));
for (uint8 i=0; i<8; i++)
{ player->SetTaximask(i, 0xFFFFFFFF); }
player->SEND_GOSSIP_MENU(99998,_Item->GetGUID());
}
else player->SEND_GOSSIP_MENU(99997,_Item->GetGUID());
break;
//外域副本 2
case 10 :
uint32 price_flags2;
price_flags2 = 500000; //收50G的钱
if (player->GetMoney() >= price_flags2)
{
switch(action) {
// 破碎大厅 统一格式说明:(MapID, X, Y, Z, 0);
case GOSSIP_ACTION_INFO_DEF + 1 :
player->TeleportTo(540, -41.000000, -22.000000, -14.000000, 0);
break;
// 血熔炉
case GOSSIP_ACTION_INFO_DEF + 2 :
player->TeleportTo(542, -3.000000, 11.000000, -45.000000, 0);
break;
// 波塔尼卡
case GOSSIP_ACTION_INFO_DEF + 3 :
player->TeleportTo(553, 40.000000, -28.600000, -1.100000,0);
break;
// 亚克崔兹
case GOSSIP_ACTION_INFO_DEF + 4 :
player->TeleportTo(552, -1.200000, 0.000000, -0.200000, 0);
break;
// 麦克那尔
case GOSSIP_ACTION_INFO_DEF + 5 :
player->TeleportTo(554, -28.900000, 0.700000, -1.800000, 0);
break;
// 凤凰大厅
case GOSSIP_ACTION_INFO_DEF + 6 :
player->TeleportTo(550, -6.800000, -0.900000, -2.400000, 0);
break;
// 奴隶监狱
case GOSSIP_ACTION_INFO_DEF + 7 :
player->TeleportTo(547, 123.146225, -122.687210, -0.446336, 0);
break;
// 蒸汽洞窟
case GOSSIP_ACTION_INFO_DEF + 8 :
player->TeleportTo(545, -7.500000, 5.900000, -4.300000, 0);
break;
// 毒牙沼泽
case GOSSIP_ACTION_INFO_DEF + 9 :
player->TeleportTo(546, 14.913731, -19.914341, -2.755679, 0);
break;
}
}
else player->SEND_GOSSIP_MENU(99997,_Item->GetGUID())
break;
//银行
case 8 :
player->GetSession()->SendShowBank( player->GetGUID() );
break;
//工资
case 9 :
if(player->GetLevelPlayedTime() > 3600) // 条件检查你在线时间大于60秒.这可以自己改
{
player->ModifyMoney(int32(100000)); //满足条件获得10金币
player->SetInGameTime(uint32(NULL)); //将在玩家线时间归零
}
else
{
player->SEND_GOSSIP_MENU(199990,_Item->GetGUID());
}
break;
//外域
case 11 :
uint32 price_flags4;
price_flags4 = 50000; //收5G的钱
if (player->GetMoney() >= price_flags4)
{
switch(action) {
// 黑暗之门 统一格式说明:(MapID, X, Y, Z, 0);
case GOSSIP_ACTION_INFO_DEF + 1 :
player->TeleportTo(530,-246.600006,946.000000,84.400002,0);
break;
// 永歌森林
case GOSSIP_ACTION_INFO_DEF + 2 :
player->TeleportTo(530,9336.900391,-7278.399902,13.600000,0);
break;
// 艾克索达
case GOSSIP_ACTION_INFO_DEF + 3 :
player->TeleportTo(530,-4043.632813,-11933.284180,-0.057945,0);
break;
// 海加尔山
case GOSSIP_ACTION_INFO_DEF + 4 :
player->TeleportTo(534,5070.084473,-1791.984497,1320.995483,0);
break;
// 青草平原
case GOSSIP_ACTION_INFO_DEF + 5 :
player->TeleportTo(169,-2674.500000,-2275.800049,148.092743,0);
break;
// 翠叶森林
case GOSSIP_ACTION_INFO_DEF + 6 :
player->TeleportTo(169,2737.508057,-3318.579590,101.882820,0);
break;
// 沙塔斯城
case GOSSIP_ACTION_INFO_DEF + 7 :
player->TeleportTo(530,-1889,5433,-11,0);
break;
// 哈兰
case GOSSIP_ACTION_INFO_DEF + 8 :
player->TeleportTo(530,-1567,7959,-21,0);
break;
// 风暴尖塔
case GOSSIP_ACTION_INFO_DEF + 9 :
player->TeleportTo(530,4151,3041,339,0);
break;
}
}
else player->SEND_GOSSIP_MENU(99997,_Item->GetGUID())
break;
//外域
case 12 :
uint32 price_flags4;
price_flags4 = 100000; //收10G的钱
if (player->GetMoney() >= price_flags4)
{
switch(action) {
// 暮色森林 统一格式说明:(MapID, X, Y, Z, 0);
case GOSSIP_ACTION_INFO_DEF + 1 :
player->TeleportTo(0,-10526.168945,-434.996796,50.894821,0);
break;
// 辛特兰
case GOSSIP_ACTION_INFO_DEF + 2 :
player->TeleportTo(0,759.605713,-3893.341309,116.475304,0);
break;
// 灰谷
case GOSSIP_ACTION_INFO_DEF + 3 :
player->TeleportTo(1,3120.289307,-3439.444336,139.566345,1);
break;
// 艾萨拉
case GOSSIP_ACTION_INFO_DEF + 4 :
player->TeleportTo(1,2622.219971,-5977.930176,100.562897,1);
break;
// 菲拉斯
case GOSSIP_ACTION_INFO_DEF + 5 :
player->TeleportTo(1,-2741.290039,2009.481323,31.877323,1);
break;
// 诅咒之地
case GOSSIP_ACTION_INFO_DEF + 6 :
player->TeleportTo(0,-12234.000000,-2474.000000,-3.000000,0);
break;
//水晶谷
case GOSSIP_ACTION_INFO_DEF + 7 :
player->TeleportTo(1,-6292.463379,1578.029053,0.155348,1);
break;
}
}
else player->SEND_GOSSIP_MENU(99997,_Item->GetGUID())
break;
}
player->CLOSE_GOSSIP_MENU();
return true;
}
void AddSC_sc_teleport()
{
Script *newscript;
newscript = new Script;
newscript->Name="teleport";
newscript->pGossipHello = &GossipHello_sc_teleport;
newscript->pGossipSelect = &GossipSelect_sc_teleport;
m_scripts[nrscripts++] = newscript;
}
回复 更多评论