Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- *
- */
- city,200,111,5 script Teleportadora#city::weero_teleport 4_F_ELENA,{
- function enviar_jogador;
- function enviar_jogador_ultimo;
- function exibir_ultimo_warp;
- function montar_menu_ultimo;
- function montar_menu_cidade;
- function montar_menu_instancia;
- function montar_menu_caverna;
- function contar_andar_caverna;
- function montar_menu_caverna_sub;
- function montar_menu_campos;
- function contar_andar_campos;
- function montar_menu_campos_sub;
- mes .name$;
- mes "Olá ^ff0000" + strcharinfo(0) + "^000000";
- mes "Eu posso lhe teleportar para vários lugares.";
- mes "Gostaria de ser teleportado?";
- next;
- .@teleport = prompt(montar_menu_ultimo() + ":^aa0000~ Cidades^000000:^00aa00~ Cavernas^000000:^0000aa~ Campos^000000:^880000~ Instâncias^000000:^777700~ NPC de Bônus^000000:~ Cancelar");
- .@teleport -= 1;
- mes .name$;
- if(.@teleport == 254 || .@teleport == 6)
- {
- mes "Quando precisar dos meus serviços.";
- mes "Volte a falar comigo.";
- close;
- }
- if(.@teleport == 0)
- {
- mes "Irei enviar você a seu último destino...";
- close2;
- enviar_jogador_ultimo();
- end;
- }
- if(.@teleport == 1)
- {
- mes "Muito bem, selecione a cidade que você deseja ir.";
- next;
- .@city = prompt(montar_menu_cidade());
- mes .name$;
- if(.@city == 255)
- {
- mes "Quando desejar ir a uma cidade, volte a falar comigo.";
- close;
- }
- .@city_choise = (.@city - 1) * 4;
- mes "Irei enviar você para ^aa0000"+.tele_city$[.@city_choise]+"^000000.";
- close2;
- enviar_jogador(0, .@city_choise, .tele_city$[.@city_choise+1], atoi(.tele_city$[.@city_choise+2]), atoi(.tele_city$[.@city_choise+3]));
- end;
- }
- else if(.@teleport == 2)
- {
- mes "Por favor, selecione a caverna que você deseja ir.";
- next;
- .@cave = prompt(montar_menu_caverna());
- mes .name$;
- if(.@cave == 255)
- {
- mes "Caso você queira ir a caverna, volte a falar comigo.";
- close;
- }
- .@cave_choise = (.@cave - 1) * 4;
- .@cave_levels = contar_andar_caverna(.@cave_choise);
- // Infeliz não é vip ou a caverna só tem 1 andar...
- if(getgroupid() <= 0 || .@cave_levels <= 1)
- {
- mes "Irei enviar você para ^aa0000"+.tele_caverna$[.@cave_choise]+"^000000.";
- close2;
- enviar_jogador(1, .@cave_choise, .tele_caverna$[.@cave_choise+1], atoi(.tele_caverna$[.@cave_choise+2]), atoi(.tele_caverna$[.@cave_choise+3]));
- end;
- }
- mes "A Caverna que você escolheu possui ^aa0000" + .@cave_levels + "^000000 níveis.";
- mes "Escolha o nível que você gostaria de ir.";
- next;
- montar_menu_caverna_sub(.@cave_choise);
- close;
- }
- else if(.@teleport == 3)
- {
- mes "Por favor, escolha o campo que você deseja ir.";
- next;
- .@camp = prompt(montar_menu_campos());
- .@camp_choise = (.@camp - 1) * 4;
- .@camp_levels = contar_andar_campos(.@camp_choise);
- mes .name$;
- if(.@camp == 255)
- {
- mes "Caso precise ir a um dos campos, volte a falar comigo.";
- close;
- }
- if(.@camp_levels <= 1)
- {
- mes "Irei enviar você para ^aa0000"+.tele_campos$[.@camp_choise]+"^000000.";
- close2;
- enviar_jogador(2, .@camp_choise, .tele_campos$[.@camp_choise+1], atoi(.tele_campos$[.@camp_choise+2]), atoi(.tele_campos$[.@camp_choise+3]));
- end;
- }
- // Contagem dos andares... caso passe de 1, então
- // usará os vetores auxiliares para fazer o calculo
- // dos andares...
- mes "O Campo que você escolheu possui ^aa0000" + .@cave_levels + "^000000 níveis.";
- mes "Escolha o nível que você gostaria de ir.";
- next;
- montar_menu_campos_sub(.@camp_choise);
- close;
- }
- else if(.@teleport == 4)
- {
- mes "Por favor, escolha a instância que você deseja ir.";
- next;
- .@instancia = prompt(montar_menu_instancia());
- mes .name$;
- if(.@instancia == 255)
- {
- mes "Você poderá ir as instâncias quando desejar.";
- mes "Apenas volte a falar comigo quando quiser ir.";
- close;
- }
- .@instancia_choise = (.@instancia - 1) * 4;
- mes "Irei enviar você para ^aa0000"+.tele_instancia$[.@instancia_choise]+"^000000.";
- close2;
- enviar_jogador(3, .@instancia_choise, .tele_instancia$[.@instancia_choise+1], atoi(.tele_instancia$[.@instancia_choise+2]), atoi(.tele_instancia$[.@instancia_choise+3]));
- end;
- }
- else if(.@teleport == 5)
- {
- mes "Por favor, selecione qual dos NPCs de bônus você quer ir.";
- next;
- .@bonus_prompt = prompt("~ Prontera", "~ WeeCity", "~ Sala Vip", "Cancelar");
- mes .name$;
- if(.@bonus_prompt == 0 || .@bonus_prompt == 4 || .@bonus_prompt == 255)
- {
- mes "Quando quiser ir aos NPCs de bônus, volte a falar comigo.";
- close;
- }
- if(.@bonus_prompt == 3 && !is_vip())
- {
- mes "Hm... Somente jogadores VIPs podem ir na sala vip...";
- close;
- }
- mes "Muito bem! Irei lhe enviar ao local dos NPCs que você escolheu.";
- mes "^ff0000Este teleporte não ficará gravado.^000000";
- close2;
- switch(.@bonus_prompt)
- {
- // Prontera
- case 1: warp "prontera", 155, 283; break;
- // WeeCity
- case 2: warp "city", 114, 85; break;
- // Sala Vip
- case 3: warp "lroom00", 61, 161; break;
- }
- end;
- }
- close;
- OnInit:
- setarray .tele_instancia$[0], "Ninho de Nidhogg", "spl_fild01", 364, 110,
- "Memorial dos Orcs", "gef_fild10", 240, 196,
- "Torre sem Fim", "alberta", 217, 81,
- "Altar do Selo", "prt_monk", 198, 167;
- setarray .tele_campos$[0], "Campos de Amatsu", "ama_fild01", 72, 38,
- "Campos de Ayothaya", "ayo_fild01", 37, 241,
- "Campos de Brasilis", "bra_fild01", 74, 32,
- "Campos de Comodo", "cmd_fild01", 32, 317,
- "Campos de Einbroch", "ein_fild01", 142, 225,
- "Campos de Geffen", "gef_fild00", 46, 199,
- "Campos de Gonryun", "gon_fild01", 261, 230,
- "Campos de Hugel", "hu_fild01", 268, 101,
- "Campos de Lighthalzen", "lhz_fild01", 240, 179,
- "Campos de Louyang", "lou_fild01", 191, 105,
- "Campos de Manuk", "man_fild01", 34, 240,
- "Campos de Mjolnir", "mjolnir_01", 204, 120,
- "Campos de Morroc", "moc_fild01", 219, 205,
- "Campos de Moscovia", "mosk_fild01", 103, 111,
- "Campos de Niflheim", "nif_fild01", 215, 229,
- "Campos de Payon", "pay_fild01", 158, 206,
- "Campos de Prontera", "prt_fild00", 208, 227,
- "Campos de Rachel", "ra_fild01", 192, 162,
- "Campos de Splendide", "spl_fild01", 175, 186,
- "Campos de Umbala", "um_fild01", 217, 206,
- "Campos de Veins", "ve_fild03", 222, 45,
- "Campos de Yggdrasil", "yggdrasil01", 133, 88,
- "Campos de Yuno", "yuno_fild01", 189, 224;
- setarray .tele_caverna$[0], "Calabouço da Mina", "ein_dun01", 22, 14,
- "Calabouço de Geffen", "gef_dun00", 104, 99,
- "Calabouço de Magma", "mag_dun01", 126, 68,
- "Calabouo dos Orcs", "orcsdun01", 32, 168,
- "Caverna das Cataratas", "bra_dun01", 87, 47,
- "Caverna de Comodo", "beach_dun2", 157, 14,
- "Caverna de Gelo", "ice_dun01", 158, 18,
- "Caverna de Payon", "pay_dun00", 21, 183,
- "Caverna de Umbala", "um_dun01", 42, 31,
- "Esfinge", "in_sphinx1", 288, 9,
- "Esgoto de Prontera", "prt_sewb1", 131, 247,
- "Floresta Encantada", "mosk_dun01", 189, 48,
- "Formigueiro Infernal", "anthell01", 35, 262,
- "Fábrica de Brinquedos", "xmas_dun01", 205, 15,
- "Fábrica de Robôs", "kh_dun01", 28, 226,
- "Gefenia", "gefenia01", 40, 103,
- "Glast Heim", "glast_01", 370, 304,
- "Ilha da Tartaruga", "tur_dun01", 154, 49,
- "Ilha de Byalan", "iz_dun00", 168, 168,
- "Interior de Louyang", "lou_dun01", 214, 196,
- "Labirinto da Floresta", "prt_maze01", 176, 7,
- "Labirinto de Tatames", "ama_dun01", 228, 11,
- "Labirinto do Santuário Ancestral", "ayo_dun01", 275, 19,
- "Laboratório de Somatologia", "lhz_dun01", 150, 288,
- "Lago do Abismo", "abyss_01", 261, 272,
- "Mina de Carvão Abandonada", "mjo_dun01", 52, 17,
- "Monasterio", "nameless_n", 256, 215,
- "Navio Fantasma", "treasure01", 69, 24,
- "Pirâmide", "moc_pryd01", 192, 9,
- "Ruínas de Juperos", "juperos_01", 53, 247,
- "Santuário Rachel", "ra_san01", 139, 135,
- "Santuário de Odin", "odin_tem01", 97, 146,
- "Santuário de Xi Wang Mu", "gon_dun01", 153, 53,
- "Torre de Thanatos", "tha_t01", 150, 39,
- "Torre do Relógio", "c_tower1", 199, 159,
- "Vulcão de Thor", "thor_v01", 21, 228;
- setarray .tele_city$[0], "WeeCity", "city", 200, 100,
- "Prontera", "prontera", 156, 191,
- "Acampamento da Expedição da Aliança", "mid_camp", 235, 241,
- "Alberta", "alberta", 116, 57,
- "Aldebaran", "aldebaran", 140, 114,
- "Amatsu", "amatsu", 113, 150,
- "Ayothaya", "ayothaya", 150, 114,
- "Brasilis", "brasilis", 196, 163,
- "Comodo", "comodo", 189, 159,
- "Dewata", "dewata", 200, 181,
- "Einbech", "einbech", 246, 159,
- "Einbroch", "einbroch", 158, 315,
- "El Dicastes", "dicastes01", 197, 187,
- "Geffen", "geffen", 120, 63,
- "Gonryun", "gonryun", 160, 120,
- "Hugel", "hugel", 96, 145,
- "Izlude", "izlude", 128, 114,
- "Jawaii", "jawaii", 181, 162,
- "Lighthalzen", "lighthalzen", 158, 92,
- "Louyang", "louyang", 217, 101,
- "Lutie", "xmas", 148, 118,
- "Malangdo", "malangdo", 168, 140,
- "Malaya", "malaya", 281, 361,
- "Manuk", "manuk", 290, 232,
- "Mora", "mora", 110, 108,
- "Morroc", "morocc", 159, 106,
- "Moscovia", "moscovia", 225, 191,
- "Niflheim", "niflheim", 194, 186,
- "Payon", "payon", 184, 99,
- "Rachel", "rachel", 130, 110,
- "Splendide", "splendide", 201, 142,
- "Umbala", "umbala", 89, 157,
- "Veins", "veins", 229, 113,
- "Yuno", "yuno", 158, 310;
- .name$ = "[^0000ff " + strnpcinfo(1) + " ^000000]";
- end;
- /**
- * Monta o menu para todos os campos.
- */
- function montar_menu_campos {
- .@menu$ = "";
- for(.@i = 0; .@i < getarraysize(.tele_campos$); .@i += 4)
- .@menu$ += .tele_campos$[.@i] + ":";
- return .@menu$;
- }
- /**
- * Conta a quantidade de niveis que possui cada campo...
- */
- function contar_andar_campos {
- .@choise = getarg(0) / 4;
- switch(.@choise)
- {
- case 1: // Campos de Ayothaya
- case 13: // Campos de Moscovia
- case 14: // Campos de Niflheim
- return 2;
- case 8: // Campos de Lighthalzen
- case 10: // Campos de Manuk
- case 18: // Campos de Splendide
- return 3;
- case 19: // Campos de Umbala
- return 4;
- case 20: // Campos de Veins
- return 5;
- case 7: // Campos de Hugel
- return 7;
- case 3: // Campos de Comodo
- return 9;
- case 4: // Campos de Einbroch
- case 12: // Campos de Morroc
- case 15: // Campos de Payon
- case 17: // Campos de Rachel
- return 10;
- case 11: // Campos de Mjolnir
- return 11;
- case 16: // Campos de Prontera
- case 22: // Campos de Yuno
- return 12;
- case 5: // Campos de Geffen
- return 13;
- // Campos que possuem apenas
- // 1 andar, cairão neste switch
- default:
- break;
- }
- return 1;
- }
- function montar_menu_campos_sub {
- .@camp = getarg(0) / 4;
- if(getarraysize(@menu_info$) > 0)
- deletearray @menu_info$[0], getarraysize(@menu_info$);
- switch(.@camp)
- {
- case 1: // Campos de Ayothaya
- setarray @menu_info$[0], "Campos de Ayothaya 02", "ayo_fild02", 98, 151;
- break;
- case 13: // Campos de Moscovia
- setarray @menu_info$[0], "Campos de Moscovia 02", "mosk_fild02", 156, 145;
- break;
- case 14: // Campos de Niflheim
- setarray @menu_info$[0], "Campos de Niflheim 02", "nif_fild02", 167, 234;
- break;
- case 8: // Campos de Lighthalzen
- setarray @menu_info$[0], "Campos de Lighthalzen 02", "lhz_fild02", 185, 235,
- "Campos de Lighthalzen 03", "lhz_fild03", 240, 226;
- break;
- case 10: // Campos de Manuk
- setarray @menu_info$[0], "Campos de Manuk 02", "man_fild02", 36, 262,
- "Campos de Manuk 03", "man_fild03", 84, 365;
- break;
- case 18: // Campos de Splendide
- setarray @menu_info$[0], "Campos de Splendide 02", "spl_fild02", 236, 184,
- "Campos de Splendide 03", "spl_fild03", 188, 204;
- break;
- case 19: // Campos de Umbala
- setarray @menu_info$[0], "Campos de Umbala 02", "um_fild02", 223, 221,
- "Campos de Umbala 03", "um_fild03", 237, 215,
- "Campos de Umbala 04", "um_fild04", 202, 197;
- break;
- case 20: // Campos de Veins
- setarray @menu_info$[0], "Campos de Veins 04", "ve_fild04", 51, 250,
- "Campos de Veins 05", "ve_fild05", 202, 324,
- "Campos de Veins 06", "ve_fild06", 150, 223,
- "Campos de Veins 07", "ve_fild07", 149, 307;
- break;
- case 7: // Campos de Hugel
- setarray @menu_info$[0], "Campos de Hugel 02", "hu_fild02", 222, 193,
- "Campos de Hugel 03", "hu_fild03", 232, 185,
- "Campos de Hugel 04", "hu_fild04", 252, 189,
- "Campos de Hugel 05", "hu_fild05", 185, 203,
- "Campos de Hugel 06", "hu_fild06", 216, 220,
- "Campos de Hugel 07", "hu_fild07", 227, 197;
- break;
- case 3: // Campos de Comodo
- setarray @menu_info$[0], "Campos de Comodo 02", "cmd_fild02", 231, 160,
- "Campos de Comodo 03", "cmd_fild03", 191, 172,
- "Campos de Comodo 04", "cmd_fild04", 228, 194,
- "Campos de Comodo 05", "cmd_fild05", 224, 203,
- "Campos de Comodo 06", "cmd_fild06", 190, 223,
- "Campos de Comodo 07", "cmd_fild07", 234, 177,
- "Campos de Comodo 08", "cmd_fild08", 194, 175,
- "Campos de Comodo 09", "cmd_fild09", 172, 172;
- break;
- case 4: // Campos de Einbroch
- setarray @menu_info$[0], "Campos de Einbroch 02", "ein_fild02", 182, 141,
- "Campos de Einbroch 03", "ein_fild03", 187, 228,
- "Campos de Einbroch 04", "ein_fild04", 185, 173,
- "Campos de Einbroch 05", "ein_fild05", 216, 173,
- "Campos de Einbroch 06", "ein_fild06", 195, 148,
- "Campos de Einbroch 07", "ein_fild07", 272, 220,
- "Campos de Einbroch 08", "ein_fild08", 173, 214,
- "Campos de Einbroch 09", "ein_fild09", 207, 174,
- "Campos de Einbroch 10", "ein_fild10", 196, 200;
- break;
- case 12: // Campos de Morroc
- setarray @menu_info$[0], "Campos de Morroc 02", "moc_fild02", 177, 206,
- "Campos de Morroc 03", "moc_fild03", 194, 182,
- "Campos de Morroc 07", "moc_fild07", 224, 170,
- "Campos de Morroc 11", "moc_fild11", 198, 216,
- "Campos de Morroc 12", "moc_fild12", 156, 187,
- "Campos de Morroc 13", "moc_fild13", 185, 263,
- "Campos de Morroc 16", "moc_fild16", 206, 228,
- "Campos de Morroc 18", "moc_fild18", 209, 223,
- "Campos de Morroc 20", "moc_fild20", 207, 207;
- break;
- case 15: // Campos de Payon
- setarray @menu_info$[0], "Campos de Payon 02", "pay_fild02", 151, 219,
- "Campos de Payon 03", "pay_fild03", 205, 148,
- "Campos de Payon 04", "pay_fild04", 58, 139,
- "Campos de Payon 05", "pay_fild05", 134, 204,
- "Campos de Payon 06", "pay_fild06", 193, 235,
- "Campos de Payon 07", "pay_fild07", 200, 177,
- "Campos de Payon 08", "pay_fild08", 137, 189,
- "Campos de Payon 09", "pay_fild09", 201, 224,
- "Campos de Payon 10", "pay_fild10", 160, 205;
- break;
- case 17: // Campos de Rachel
- setarray @menu_info$[0], "Campos de Rachel 05", "ra_fild05", 225, 202,
- "Campos de Rachel 06", "ra_fild06", 202, 214,
- "Campos de Rachel 07", "ra_fild07", 263, 196,
- "Campos de Rachel 08", "ra_fild08", 217, 201,
- "Campos de Rachel 09", "ra_fild09", 87, 121,
- "Campos de Rachel 10", "ra_fild10", 277, 181,
- "Campos de Rachel 11", "ra_fild11", 221, 185,
- "Campos de Rachel 12", "ra_fild12", 175, 200,
- "Campos de Rachel 13", "ra_fild13", 174, 197;
- break;
- case 11: // Campos de Mjolnir
- setarray @menu_info$[0], "Campos de Mjolnir 02", "mjolnir_02", 175, 193,
- "Campos de Mjolnir 03", "mjolnir_03", 208, 213,
- "Campos de Mjolnir 05", "mjolnir_05", 181, 240,
- "Campos de Mjolnir 06", "mjolnir_06", 195, 270,
- "Campos de Mjolnir 07", "mjolnir_07", 235, 202,
- "Campos de Mjolnir 08", "mjolnir_08", 188, 205,
- "Campos de Mjolnir 09", "mjolnir_09", 205, 144,
- "Campos de Mjolnir 10", "mjolnir_10", 245, 223,
- "Campos de Mjolnir 11", "mjolnir_11", 180, 206,
- "Campos de Mjolnir 12", "mjolnir_12", 196, 208;
- break;
- case 16: // Campos de Prontera
- setarray @menu_info$[0], "Campos de Prontera 01", "prt_fild01", 190, 206,
- "Campos de Prontera 02", "prt_fild02", 240, 206,
- "Campos de Prontera 03", "prt_fild03", 190, 143,
- "Campos de Prontera 04", "prt_fild04", 307, 252,
- "Campos de Prontera 05", "prt_fild05", 239, 213,
- "Campos de Prontera 06", "prt_fild06", 185, 188,
- "Campos de Prontera 07", "prt_fild07", 193, 194,
- "Campos de Prontera 08", "prt_fild08", 187, 218,
- "Campos de Prontera 09", "prt_fild09", 210, 183,
- "Campos de Prontera 10", "prt_fild10", 195, 149,
- "Campos de Prontera 11", "prt_fild11", 198, 164;
- break;
- case 22: // Campos de Yuno
- setarray @menu_info$[0], "Campos de Yuno 02", "yuno_fild02", 192, 207,
- "Campos de Yuno 03", "yuno_fild03", 221, 157,
- "Campos de Yuno 04", "yuno_fild04", 251, 106,
- "Campos de Yuno 05", "yuno_fild05", 223, 177,
- "Campos de Yuno 06", "yuno_fild06", 187, 223,
- "Campos de Yuno 07", "yuno_fild07", 231, 174,
- "Campos de Yuno 08", "yuno_fild08", 79, 178,
- "Campos de Yuno 09", "yuno_fild09", 183, 214,
- "Campos de Yuno 10", "yuno_fild10", 200, 124,
- "Campos de Yuno 11", "yuno_fild11", 195, 226,
- "Campos de Yuno 12", "yuno_fild12", 210, 304;
- break;
- case 5: // Campos de Geffen
- setarray @menu_info$[0], "Campos de Geffen 01", "gef_fild01", 213, 204,
- "Campos de Geffen 03", "gef_fild03", 257, 192,
- "Campos de Geffen 04", "gef_fild04", 188, 171,
- "Campos de Geffen 05", "gef_fild05", 166, 263,
- "Campos de Geffen 06", "gef_fild06", 248, 158,
- "Campos de Geffen 07", "gef_fild07", 195, 191,
- "Campos de Geffen 08", "gef_fild08", 186, 183,
- "Campos de Geffen 09", "gef_fild09", 221, 117,
- "Campos de Geffen 10", "gef_fild10", 67, 333,
- "Campos de Geffen 11", "gef_fild11", 136, 328,
- "Campos de Geffen 12", "gef_fild12", 240, 181,
- "Campos de Geffen 13", "gef_fild13", 235, 235;
- break;
- // Campos que possuem apenas
- // 1 andar, cairão neste switch
- default:
- break;
- }
- .@menu$ = "~ Entrada:";
- .@menu_count = getarraysize(@menu_info$);
- for(.@i = 0; .@i < .@menu_count; .@i += 4)
- {
- .@menu_str$ = @menu_info$[.@i];
- if(getstrlen(.@menu_str$) == 0)
- .@menu_str$ = "[ Nível " + (2 + (.@i/4)) + " ]";
- .@menu$ += .@menu_str$ + ":";
- }
- .@camp_choise = .@camp * 4;
- .@camp_nivel = prompt(.@menu$) - 1;
- mes .name$;
- if(.@camp_nivel == 254)
- {
- mes "Quando desejar ser teleportado, volte a falar comigo.";
- close;
- }
- mes "Irei enviar você para ^aa0000"+.tele_campos$[.@camp_choise]+"^000000.";
- close2;
- .@map$ = .tele_campos$[.@camp_choise+1];
- .@x = atoi(.tele_campos$[.@camp_choise+2]);
- .@y = atoi(.tele_campos$[.@camp_choise+3]);
- if(.@camp_nivel >= 1)
- {
- .@tmp_choise = (.@camp_nivel - 1) * 4;
- .@map$ = @menu_info$[.@tmp_choise+1];
- .@x = atoi(@menu_info$[.@tmp_choise+2]);
- .@y = atoi(@menu_info$[.@tmp_choise+3]);
- }
- enviar_jogador(2, .@cave_choise, .@map$, .@x, .@y);
- end;
- return;
- }
- /**
- * Montar o menu do ultimo warp...
- */
- function montar_menu_ultimo {
- if(getstrlen(WEERO_TELE_MAP$) == 0)
- return "";
- switch(WEERO_TELE_TYPE)
- {
- case 0: return "[ Última cidade (^770000" + WEERO_TELE_MAP$ + "^000000) ]";
- case 1: return "[ Última caverna (^770000" + WEERO_TELE_MAP$ + "^000000) ]";
- case 2: return "[ Último campo (^770000" + WEERO_TELE_MAP$ + "^000000) ]";
- case 3: return "[ Última instância (^770000" + WEERO_TELE_MAP$ + "^000000) ]";
- }
- return "";
- }
- /**
- * Exibe informações do ultimo mapa teleportado.
- */
- function exibir_ultimo_warp {
- if(getstrlen(WEERO_TELE_MAP$) > 0)
- {
- mes " ";
- switch(WEERO_TELE_TYPE)
- {
- // Cidade
- case 0:
- mes "[ Última cidade (^007700" + WEERO_TELE_MAP$ + "^000000) ]";
- break;
- case 1:
- mes "[ Última caverna (^007700" + WEERO_TELE_MAP$ + "^000000) ]";
- break;
- case 2:
- mes "[ Último campo (^007700" + WEERO_TELE_MAP$ + "^000000) ]";
- break;
- case 3:
- mes "[ Última instância (^007700" + WEERO_TELE_MAP$ + "^000000) ]";
- break;
- }
- mes " ";
- }
- }
- /**
- * Enviar o ultimo warp do jogador...
- */
- function enviar_jogador_ultimo {
- // Enviar jogador para o ultimo mapa
- enviar_jogador(WEERO_TELE_TYPE,
- WEERO_TELE_CHOISE,
- WEERO_TELE_MAP$,
- WEERO_TELE_X,
- WEERO_TELE_Y);
- }
- /**
- * Envia o jogador ao mapa destino.
- */
- function enviar_jogador {
- .@type = getarg(0);
- .@choise = getarg(1);
- .@map$ = getarg(2);
- .@x = getarg(3);
- .@y = getarg(4);
- WEERO_TELE_TYPE = .@type;
- WEERO_TELE_CHOISE = .@choise;
- WEERO_TELE_MAP$ = .@map$;
- WEERO_TELE_X = .@x;
- WEERO_TELE_Y = .@y;
- warp .@map$, .@x, .@y;
- return;
- }
- function montar_menu_caverna_sub {
- .@cave = getarg(0) / 4;
- if(getarraysize(@menu_info$) > 0)
- deletearray @menu_info$[0], getarraysize(@menu_info$);
- switch(.@cave)
- {
- case 2: // Calabouço de Magma
- setarray @menu_info$[0], "Calabouço de Magma 02", "mag_dun02", 47, 32;
- break;
- case 3: // Calabouço dos Orcs
- setarray @menu_info$[0], "Calabouço dos Orcs 02", "orcsdun02", 21, 184;
- break;
- case 5: // Caverna de Comodo
- setarray @menu_info$[0], "Caverna de Comodo 3", "beach_dun3", 151, 152;
- break;
- case 6: // Caverna de Gelo
- setarray @menu_info$[0], "Caverna de Gelo 02", "ice_dun02", 151, 153;
- break;
- case 7: // Caverna de Payon
- setarray @menu_info$[0], "Caverna de Payon 01", "pay_dun01", 19, 33,
- "Caverna de Payon 02", "pay_dun02", 19, 63,
- "Caverna de Payon 03", "pay_dun03", 155, 159;
- break;
- case 8: // Caverna de Umbala
- setarray @menu_info$[0], "Caverna de Umbala 02", "um_dun02", 204, 78;
- break;
- case 9: // Esfinge
- setarray @menu_info$[0], "Esfinge 2", "in_sphinx2", 149, 87,
- "Esfinge 3", "in_sphinx3", 210, 54,
- "Esfinge 4", "in_sphinx4", 10, 222;
- break;
- case 10: // Esgoto de Prontera
- setarray @menu_info$[0], "Esgoto de Prontera 2", "prt_sewb2", 19, 19,
- "Esgoto de Prontera 3", "prt_sewb3", 180, 169;
- break;
- case 11: // Floresta Encantada
- setarray @menu_info$[0], "Floresta Encantada 02", "mosk_dun02", 163, 31;
- break;
- case 15: // Gefenia
- setarray @menu_info$[0], "Gefenia 02", "gefenia02", 203, 34,
- "Gefenia 03", "gefenia03", 266, 168,
- "Gefenia 04", "gefenia04", 130, 272;
- break;
- case 16: // Glast Heim
- setarray @menu_info$[0], "Abadia", "gl_church", 156, 12,
- "Biblioteca", "gl_in01", 110, 125,
- "Castelo 1º Andar", "gl_cas01", 199, 28,
- "Castelo 2º Andar", "gl_cas02", 104, 25,
- "Cavalaria 1º Andar", "gl_knt01", 150, 15,
- "Cavalaria 2º Andar", "gl_knt02", 157, 287,
- "Caverna Profunda", "gl_dun01", 133, 271,
- "Caverna mais Profunda", "gl_dun02", 224, 272,
- "Escadaria", "gl_step", 12, 7,
- "Esgoto 1º Andar", "gl_sew01", 258, 251,
- "Esgoto 2º Andar", "gl_sew02", 110, 288,
- "Esgoto 3º Andar", "gl_sew03", 171, 283,
- "Esgoto 4º Andar", "gl_sew04", 68, 276,
- "Prisão Piso Superior", "gl_prison", 14, 70,
- "Prisão Piso Inferior", "gl_prison1", 150, 14;
- break;
- case 17: // Ilha da Tartaruga
- setarray @menu_info$[0], "Ilha da Tartaruga 02", "tur_dun02", 146, 263,
- "Ilha da Tartaruga 03", "tur_dun03", 132, 189;
- break;
- case 18: // Ilha de Byalan
- setarray @menu_info$[0], "Ilha de Byalan 01", "iz_dun01", 253, 252,
- "Ilha de Byalan 02", "iz_dun02", 236, 206,
- "Ilha de Byalan 03", "iz_dun03", 33, 63,
- "Ilha de Byalan 04", "iz_dun04", 26, 32;
- break;
- case 19: // Interior de Louyang
- setarray @menu_info$[0], "Interior de Louyang 02", "lou_dun02", 284, 18;
- break;
- case 20: // Labirinto da Floresta
- setarray @menu_info$[0], "Labirinto da Floresta 02", "prt_maze02", 93, 21;
- break;
- case 21: // Labirinto de Tatames
- setarray @menu_info$[0], "Labirinto de Tatames 02", "ama_dun02", 36, 45;
- break;
- case 23: // Laboratório de Somatologia
- setarray @menu_info$[0], "Laboratório de Somatologia 02", "lhz_dun02", 0, 0;
- break;
- case 24: // Lago do Abismo
- setarray @menu_info$[0], "Lago do Abismo 02", "abyss_02", 275, 270;
- break;
- case 25: // Mina de Carvão Abandonada
- setarray @menu_info$[0], "Mina de Carvão Abandonada 02", "mjo_dun02", 379, 344,
- "Mina de Carvão Abandonada 03", "mjo_dun03", 305, 260;
- break;
- case 26: // Lago do Abismo
- setarray @menu_info$[0], "Lago do Abismo 01", "abbey01", 51, 12;
- break;
- case 28: // Pirâmide
- setarray @menu_info$[0], "Pirâmide 02", "moc_pryd02", 10, 191,
- "Pirâmide 03", "moc_pryd03", 100, 92,
- "Pirâmide 05", "moc_pryd05", 93, 94;
- break;
- case 29: // Ruínas de Juperos
- setarray @menu_info$[0], "Ruínas de Juperos 02", "juperos_02", 128, 273;
- break;
- case 30: // Santuário Rachel
- setarray @menu_info$[0], "Santuário Rachel 02", "ra_san02", 37, 22,
- "Santuário Rachel 03", "ra_san03", 119, 283,
- "Santuário Rachel 04", "ra_san04", 120, 98;
- break;
- case 32: // Santuário de Xi Wang Mu
- setarray @menu_info$[0], "Santuário de Xi Wang Mu 02", "gon_dun02", 17, 113;
- break;
- case 33: // Torre de Thanatos
- setarray @menu_info$[0], "Torre de Thanatos 02", "tha_t02", 149, 130,
- "Torre de Thanatos 03", "tha_t03", 219, 161,
- "Torre de Thanatos 04", "tha_t04", 60, 141;
- break;
- case 34: // Torre do Relógio
- setarray @menu_info$[0], "Torre do Relógio 2", "c_tower2", 268, 26,
- "Torre do Relógio 3", "c_tower3", 65, 147,
- "Torre do Relógio 4", "c_tower4", 46, 42,
- "Subterrâneo 1", "alde_dun01", 168, 149,
- "Subterrâneo 2", "alde_dun02", 43, 24,
- "Subterrâneo 3", "alde_dun03", 18, 267,
- "Subterrâneo 4", "alde_dun04", 80, 268;
- break;
- case 35: // Vulcão de Thor
- setarray @menu_info$[0], "", "thor_v02", 76, 205;
- break;
- default:
- return;
- }
- .@menu$ = "~ Entrada (Nível 1):";
- .@menu_count = getarraysize(@menu_info$);
- for(.@i = 0; .@i < .@menu_count; .@i += 4)
- {
- .@menu_str$ = @menu_info$[.@i];
- if(getstrlen(.@menu_str$) == 0)
- .@menu_str$ = "[ Nível " + (2 + (.@i/4)) + " ]";
- .@menu$ += .@menu_str$ + ":";
- }
- .@cave_choise = .@cave * 4;
- .@caverna_nivel = prompt(.@menu$) - 1;
- mes .name$;
- if(.@caverna_nivel == 254)
- {
- mes "Caso você necessite dos meus serviços de teleporte...";
- mes "Volte a falar comigo.";
- close;
- }
- mes "Irei enviar você para ^aa0000"+.tele_caverna$[.@cave_choise]+"^000000.";
- close2;
- .@map$ = .tele_caverna$[.@cave_choise+1];
- .@x = atoi(.tele_caverna$[.@cave_choise+2]);
- .@y = atoi(.tele_caverna$[.@cave_choise+3]);
- if(.@caverna_nivel >= 1)
- {
- .@tmp_choise = (.@caverna_nivel - 1) * 4;
- .@map$ = @menu_info$[.@tmp_choise+1];
- .@x = atoi(@menu_info$[.@tmp_choise+2]);
- .@y = atoi(@menu_info$[.@tmp_choise+3]);
- }
- enviar_jogador(1, .@cave_choise, .@map$, .@x, .@y);
- end;
- return;
- }
- /**
- * Conta quantos andares tem a caverna.
- */
- function contar_andar_caverna {
- .@choise = getarg(0) / 4;
- switch(.@choise)
- {
- case 2: // Calabouço de Magma
- case 3: // Calabouo dos Orcs
- case 5: // Caverna de Comodo
- case 6: // Caverna de Gelo
- case 8: // Caverna de Umbala
- case 11: // Floresta Encantada
- case 19: // Interior de Louyang
- case 20: // Labirinto da Floresta
- case 21: // Labirinto de Tatames
- case 23: // Laboratório de Somatologia
- case 24: // Lago do Abismo
- case 26: // Monasterio
- case 29: // Ruínas de Juperos
- case 32: // Santuário de Xi Wang Mu
- case 35: // Vulcão de Thor
- return 2;
- case 10: // Esgoto de Prontera
- case 17: // Ilha da Tartaruga
- case 25: // Mina de Carvão Abandonada
- return 3;
- case 7: // Caverna de Payon
- case 9: // Esfinge
- case 15: // Gefenia
- case 28: // Pirâmide
- case 30: // Santuário Rachel
- case 33: // Torre de Thanatos
- return 4;
- case 18: // Ilha de Byalan
- return 5;
- case 34: // Torre do Relógio
- return 8;
- case 16: // Glast Heim
- return 16;
- // Todos que não possuem warp com nivel, serão apresentados direto
- // como 1 andar e não vão ir além disso.
- default:
- return 1;
- }
- }
- /**
- * Monta o menu das cavernas...
- */
- function montar_menu_caverna {
- .@menu$ = "";
- for(.@i = 0; .@i < getarraysize(.tele_caverna$); .@i += 4)
- {
- .@menu$ += .tele_caverna$[.@i] + ":";
- }
- return .@menu$;
- }
- /**
- * Monta o menu para selecionar todas as cidades do teleporte.
- */
- function montar_menu_cidade {
- .@menu$ = "";
- for(.@i = 0; .@i < getarraysize(.tele_city$); .@i += 4)
- {
- .@menu$ += .tele_city$[.@i] + ":";
- }
- return .@menu$;
- }
- /**
- * Monta o menu da instância
- */
- function montar_menu_instancia {
- .@menu$ = "";
- for(.@i = 0; .@i < getarraysize(.tele_instancia$);.@i += 4)
- {
- .@menu$ += .tele_instancia$[.@i] + ":";
- }
- return .@menu$;
- }
- }
- city,110,95,5 duplicate(weero_teleport) Teleportadora#city2 4_F_ELENA
- prontera,159,193,4 duplicate(weero_teleport) Teleportadora#prt 4_F_ELENA
- prontera,158,279,4 duplicate(weero_teleport) Teleportadora#prt2 4_F_ELENA
- morocc,164,111,4 duplicate(weero_teleport) Teleportadora#morocc 4_F_ELENA
- geffen,125,68,4 duplicate(weero_teleport) Teleportadora#geffen 4_F_ELENA
- payon,189,104,4 duplicate(weero_teleport) Teleportadora#payon 4_F_ELENA
- alberta,195,144,4 duplicate(weero_teleport) Teleportadora#alberta 4_F_ELENA
- izlude,131,122,4 duplicate(weero_teleport) Teleportadora#izlude 4_F_ELENA
- aldebaran,135,114,5 duplicate(weero_teleport) Teleportadora#aldebaran 4_F_ELENA
- xmas,153,121,4 duplicate(weero_teleport) Teleportadora#xmas 4_F_ELENA
- comodo,191,162,4 duplicate(weero_teleport) Teleportadora#comodo 4_F_ELENA
- yuno,150,319,5 duplicate(weero_teleport) Teleportadora#yun0 4_F_ELENA
- yuno,151,51,4 duplicate(weero_teleport) Teleportadora#yun1 4_F_ELENA
- amatsu,102,143,5 duplicate(weero_teleport) Teleportadora#amatsu 4_F_ELENA
- gonryun,154,122,5 duplicate(weero_teleport) Teleportadora#gonryun 4_F_ELENA
- umbala,89,159,4 duplicate(weero_teleport) Teleportadora#umbala 4_F_ELENA
- niflheim,201,189,4 duplicate(weero_teleport) Teleportadora#niflheim 4_F_ELENA
- louyang,210,101,5 duplicate(weero_teleport) Teleportadora#louyang 4_F_ELENA
- jawaii,183,166,4 duplicate(weero_teleport) Teleportadora#jawaii 4_F_ELENA
- ayothaya,144,119,5 duplicate(weero_teleport) Teleportadora#ayothaya 4_F_ELENA
- einbroch,153,317,5 duplicate(weero_teleport) Teleportadora#einbroch 4_F_ELENA
- lighthalzen,151,88,5 duplicate(weero_teleport) Teleportadora#lhz 4_F_ELENA
- einbech,241,164,5 duplicate(weero_teleport) Teleportadora#einbech 4_F_ELENA
- hugel,92,155,5 duplicate(weero_teleport) Teleportadora#hugel 4_F_ELENA
- rachel,133,112,4 duplicate(weero_teleport) Teleportadora#rachel 4_F_ELENA
- veins,220,118,5 duplicate(weero_teleport) Teleportadora#veins 4_F_ELENA
- moscovia,217,198,5 duplicate(weero_teleport) Teleportadora#moscovia 4_F_ELENA
- mid_camp,228,240,5 duplicate(weero_teleport) Teleportadora#mid_camp 4_F_ELENA
- manuk,292,236,4 duplicate(weero_teleport) Teleportadora#manuk 4_F_ELENA
- splendide,199,153,4 duplicate(weero_teleport) Teleportadora#splendide 4_F_ELENA
- brasilis,199,173,4 duplicate(weero_teleport) Teleportadora#brasilis 4_F_ELENA
- dicastes01,192,198,4 duplicate(weero_teleport) Teleportadora#dct01 4_F_ELENA
- mora,115,116,4 duplicate(weero_teleport) Teleportadora#mora 4_F_ELENA
- dewata,198,185,5 duplicate(weero_teleport) Teleportadora#dewata 4_F_ELENA
- malangdo,165,146,5 duplicate(weero_teleport) Teleportadora#malangdo 4_F_ELENA
- malaya,285,362,4 duplicate(weero_teleport) Teleportadora#malaya 4_F_ELENA
- lroom00,61,148,4 duplicate(weero_teleport) Teleportadora#VIP 4_F_ELENA
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement