Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 33.93 KB | None | 0 0
  1. /**
  2. *
  3. */
  4. city,200,111,5 script Teleportadora#city::weero_teleport 4_F_ELENA,{
  5.  
  6. function enviar_jogador;
  7. function enviar_jogador_ultimo;
  8.  
  9. function exibir_ultimo_warp;
  10.  
  11. function montar_menu_ultimo;
  12.  
  13. function montar_menu_cidade;
  14. function montar_menu_instancia;
  15.  
  16. function montar_menu_caverna;
  17. function contar_andar_caverna;
  18. function montar_menu_caverna_sub;
  19.  
  20. function montar_menu_campos;
  21. function contar_andar_campos;
  22. function montar_menu_campos_sub;
  23.  
  24. mes .name$;
  25. mes "Olá ^ff0000" + strcharinfo(0) + "^000000";
  26. mes "Eu posso lhe teleportar para vários lugares.";
  27. mes "Gostaria de ser teleportado?";
  28. next;
  29.  
  30. .@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");
  31. .@teleport -= 1;
  32.  
  33. mes .name$;
  34.  
  35. if(.@teleport == 254 || .@teleport == 6)
  36. {
  37. mes "Quando precisar dos meus serviços.";
  38. mes "Volte a falar comigo.";
  39. close;
  40. }
  41.  
  42. if(.@teleport == 0)
  43. {
  44. mes "Irei enviar você a seu último destino...";
  45. close2;
  46. enviar_jogador_ultimo();
  47. end;
  48. }
  49.  
  50. if(.@teleport == 1)
  51. {
  52. mes "Muito bem, selecione a cidade que você deseja ir.";
  53. next;
  54. .@city = prompt(montar_menu_cidade());
  55.  
  56. mes .name$;
  57. if(.@city == 255)
  58. {
  59. mes "Quando desejar ir a uma cidade, volte a falar comigo.";
  60. close;
  61. }
  62.  
  63. .@city_choise = (.@city - 1) * 4;
  64.  
  65. mes "Irei enviar você para ^aa0000"+.tele_city$[.@city_choise]+"^000000.";
  66. close2;
  67. enviar_jogador(0, .@city_choise, .tele_city$[.@city_choise+1], atoi(.tele_city$[.@city_choise+2]), atoi(.tele_city$[.@city_choise+3]));
  68. end;
  69. }
  70. else if(.@teleport == 2)
  71. {
  72. mes "Por favor, selecione a caverna que você deseja ir.";
  73. next;
  74. .@cave = prompt(montar_menu_caverna());
  75.  
  76. mes .name$;
  77. if(.@cave == 255)
  78. {
  79. mes "Caso você queira ir a caverna, volte a falar comigo.";
  80. close;
  81. }
  82.  
  83. .@cave_choise = (.@cave - 1) * 4;
  84. .@cave_levels = contar_andar_caverna(.@cave_choise);
  85.  
  86. // Infeliz não é vip ou a caverna só tem 1 andar...
  87. if(getgroupid() <= 0 || .@cave_levels <= 1)
  88. {
  89. mes "Irei enviar você para ^aa0000"+.tele_caverna$[.@cave_choise]+"^000000.";
  90. close2;
  91. enviar_jogador(1, .@cave_choise, .tele_caverna$[.@cave_choise+1], atoi(.tele_caverna$[.@cave_choise+2]), atoi(.tele_caverna$[.@cave_choise+3]));
  92. end;
  93. }
  94.  
  95. mes "A Caverna que você escolheu possui ^aa0000" + .@cave_levels + "^000000 níveis.";
  96. mes "Escolha o nível que você gostaria de ir.";
  97. next;
  98. montar_menu_caverna_sub(.@cave_choise);
  99. close;
  100. }
  101. else if(.@teleport == 3)
  102. {
  103. mes "Por favor, escolha o campo que você deseja ir.";
  104. next;
  105. .@camp = prompt(montar_menu_campos());
  106.  
  107. .@camp_choise = (.@camp - 1) * 4;
  108. .@camp_levels = contar_andar_campos(.@camp_choise);
  109.  
  110. mes .name$;
  111.  
  112. if(.@camp == 255)
  113. {
  114. mes "Caso precise ir a um dos campos, volte a falar comigo.";
  115. close;
  116. }
  117.  
  118. if(.@camp_levels <= 1)
  119. {
  120. mes "Irei enviar você para ^aa0000"+.tele_campos$[.@camp_choise]+"^000000.";
  121. close2;
  122. enviar_jogador(2, .@camp_choise, .tele_campos$[.@camp_choise+1], atoi(.tele_campos$[.@camp_choise+2]), atoi(.tele_campos$[.@camp_choise+3]));
  123. end;
  124. }
  125.  
  126. // Contagem dos andares... caso passe de 1, então
  127. // usará os vetores auxiliares para fazer o calculo
  128. // dos andares...
  129. mes "O Campo que você escolheu possui ^aa0000" + .@cave_levels + "^000000 níveis.";
  130. mes "Escolha o nível que você gostaria de ir.";
  131. next;
  132. montar_menu_campos_sub(.@camp_choise);
  133. close;
  134. }
  135. else if(.@teleport == 4)
  136. {
  137. mes "Por favor, escolha a instância que você deseja ir.";
  138. next;
  139.  
  140. .@instancia = prompt(montar_menu_instancia());
  141.  
  142. mes .name$;
  143.  
  144. if(.@instancia == 255)
  145. {
  146. mes "Você poderá ir as instâncias quando desejar.";
  147. mes "Apenas volte a falar comigo quando quiser ir.";
  148. close;
  149. }
  150.  
  151. .@instancia_choise = (.@instancia - 1) * 4;
  152.  
  153. mes "Irei enviar você para ^aa0000"+.tele_instancia$[.@instancia_choise]+"^000000.";
  154. close2;
  155. enviar_jogador(3, .@instancia_choise, .tele_instancia$[.@instancia_choise+1], atoi(.tele_instancia$[.@instancia_choise+2]), atoi(.tele_instancia$[.@instancia_choise+3]));
  156. end;
  157. }
  158. else if(.@teleport == 5)
  159. {
  160. mes "Por favor, selecione qual dos NPCs de bônus você quer ir.";
  161. next;
  162.  
  163. .@bonus_prompt = prompt("~ Prontera", "~ WeeCity", "~ Sala Vip", "Cancelar");
  164.  
  165. mes .name$;
  166.  
  167. if(.@bonus_prompt == 0 || .@bonus_prompt == 4 || .@bonus_prompt == 255)
  168. {
  169. mes "Quando quiser ir aos NPCs de bônus, volte a falar comigo.";
  170. close;
  171. }
  172.  
  173. if(.@bonus_prompt == 3 && !is_vip())
  174. {
  175. mes "Hm... Somente jogadores VIPs podem ir na sala vip...";
  176. close;
  177. }
  178.  
  179. mes "Muito bem! Irei lhe enviar ao local dos NPCs que você escolheu.";
  180. mes "^ff0000Este teleporte não ficará gravado.^000000";
  181. close2;
  182.  
  183. switch(.@bonus_prompt)
  184. {
  185. // Prontera
  186. case 1: warp "prontera", 155, 283; break;
  187. // WeeCity
  188. case 2: warp "city", 114, 85; break;
  189. // Sala Vip
  190. case 3: warp "lroom00", 61, 161; break;
  191. }
  192.  
  193. end;
  194.  
  195. }
  196.  
  197. close;
  198.  
  199. OnInit:
  200.  
  201. setarray .tele_instancia$[0], "Ninho de Nidhogg", "spl_fild01", 364, 110,
  202. "Memorial dos Orcs", "gef_fild10", 240, 196,
  203. "Torre sem Fim", "alberta", 217, 81,
  204. "Altar do Selo", "prt_monk", 198, 167;
  205.  
  206. setarray .tele_campos$[0], "Campos de Amatsu", "ama_fild01", 72, 38,
  207. "Campos de Ayothaya", "ayo_fild01", 37, 241,
  208. "Campos de Brasilis", "bra_fild01", 74, 32,
  209. "Campos de Comodo", "cmd_fild01", 32, 317,
  210. "Campos de Einbroch", "ein_fild01", 142, 225,
  211. "Campos de Geffen", "gef_fild00", 46, 199,
  212. "Campos de Gonryun", "gon_fild01", 261, 230,
  213. "Campos de Hugel", "hu_fild01", 268, 101,
  214. "Campos de Lighthalzen", "lhz_fild01", 240, 179,
  215. "Campos de Louyang", "lou_fild01", 191, 105,
  216. "Campos de Manuk", "man_fild01", 34, 240,
  217. "Campos de Mjolnir", "mjolnir_01", 204, 120,
  218. "Campos de Morroc", "moc_fild01", 219, 205,
  219. "Campos de Moscovia", "mosk_fild01", 103, 111,
  220. "Campos de Niflheim", "nif_fild01", 215, 229,
  221. "Campos de Payon", "pay_fild01", 158, 206,
  222. "Campos de Prontera", "prt_fild00", 208, 227,
  223. "Campos de Rachel", "ra_fild01", 192, 162,
  224. "Campos de Splendide", "spl_fild01", 175, 186,
  225. "Campos de Umbala", "um_fild01", 217, 206,
  226. "Campos de Veins", "ve_fild03", 222, 45,
  227. "Campos de Yggdrasil", "yggdrasil01", 133, 88,
  228. "Campos de Yuno", "yuno_fild01", 189, 224;
  229.  
  230. setarray .tele_caverna$[0], "Calabouço da Mina", "ein_dun01", 22, 14,
  231. "Calabouço de Geffen", "gef_dun00", 104, 99,
  232. "Calabouço de Magma", "mag_dun01", 126, 68,
  233. "Calabouo dos Orcs", "orcsdun01", 32, 168,
  234. "Caverna das Cataratas", "bra_dun01", 87, 47,
  235. "Caverna de Comodo", "beach_dun2", 157, 14,
  236. "Caverna de Gelo", "ice_dun01", 158, 18,
  237. "Caverna de Payon", "pay_dun00", 21, 183,
  238. "Caverna de Umbala", "um_dun01", 42, 31,
  239. "Esfinge", "in_sphinx1", 288, 9,
  240. "Esgoto de Prontera", "prt_sewb1", 131, 247,
  241. "Floresta Encantada", "mosk_dun01", 189, 48,
  242. "Formigueiro Infernal", "anthell01", 35, 262,
  243. "Fábrica de Brinquedos", "xmas_dun01", 205, 15,
  244. "Fábrica de Robôs", "kh_dun01", 28, 226,
  245. "Gefenia", "gefenia01", 40, 103,
  246. "Glast Heim", "glast_01", 370, 304,
  247. "Ilha da Tartaruga", "tur_dun01", 154, 49,
  248. "Ilha de Byalan", "iz_dun00", 168, 168,
  249. "Interior de Louyang", "lou_dun01", 214, 196,
  250. "Labirinto da Floresta", "prt_maze01", 176, 7,
  251. "Labirinto de Tatames", "ama_dun01", 228, 11,
  252. "Labirinto do Santuário Ancestral", "ayo_dun01", 275, 19,
  253. "Laboratório de Somatologia", "lhz_dun01", 150, 288,
  254. "Lago do Abismo", "abyss_01", 261, 272,
  255. "Mina de Carvão Abandonada", "mjo_dun01", 52, 17,
  256. "Monasterio", "nameless_n", 256, 215,
  257. "Navio Fantasma", "treasure01", 69, 24,
  258. "Pirâmide", "moc_pryd01", 192, 9,
  259. "Ruínas de Juperos", "juperos_01", 53, 247,
  260. "Santuário Rachel", "ra_san01", 139, 135,
  261. "Santuário de Odin", "odin_tem01", 97, 146,
  262. "Santuário de Xi Wang Mu", "gon_dun01", 153, 53,
  263. "Torre de Thanatos", "tha_t01", 150, 39,
  264. "Torre do Relógio", "c_tower1", 199, 159,
  265. "Vulcão de Thor", "thor_v01", 21, 228;
  266.  
  267. setarray .tele_city$[0], "WeeCity", "city", 200, 100,
  268. "Prontera", "prontera", 156, 191,
  269. "Acampamento da Expedição da Aliança", "mid_camp", 235, 241,
  270. "Alberta", "alberta", 116, 57,
  271. "Aldebaran", "aldebaran", 140, 114,
  272. "Amatsu", "amatsu", 113, 150,
  273. "Ayothaya", "ayothaya", 150, 114,
  274. "Brasilis", "brasilis", 196, 163,
  275. "Comodo", "comodo", 189, 159,
  276. "Dewata", "dewata", 200, 181,
  277. "Einbech", "einbech", 246, 159,
  278. "Einbroch", "einbroch", 158, 315,
  279. "El Dicastes", "dicastes01", 197, 187,
  280. "Geffen", "geffen", 120, 63,
  281. "Gonryun", "gonryun", 160, 120,
  282. "Hugel", "hugel", 96, 145,
  283. "Izlude", "izlude", 128, 114,
  284. "Jawaii", "jawaii", 181, 162,
  285. "Lighthalzen", "lighthalzen", 158, 92,
  286. "Louyang", "louyang", 217, 101,
  287. "Lutie", "xmas", 148, 118,
  288. "Malangdo", "malangdo", 168, 140,
  289. "Malaya", "malaya", 281, 361,
  290. "Manuk", "manuk", 290, 232,
  291. "Mora", "mora", 110, 108,
  292. "Morroc", "morocc", 159, 106,
  293. "Moscovia", "moscovia", 225, 191,
  294. "Niflheim", "niflheim", 194, 186,
  295. "Payon", "payon", 184, 99,
  296. "Rachel", "rachel", 130, 110,
  297. "Splendide", "splendide", 201, 142,
  298. "Umbala", "umbala", 89, 157,
  299. "Veins", "veins", 229, 113,
  300. "Yuno", "yuno", 158, 310;
  301.  
  302. .name$ = "[^0000ff " + strnpcinfo(1) + " ^000000]";
  303. end;
  304.  
  305.  
  306. /**
  307. * Monta o menu para todos os campos.
  308. */
  309. function montar_menu_campos {
  310.  
  311. .@menu$ = "";
  312.  
  313. for(.@i = 0; .@i < getarraysize(.tele_campos$); .@i += 4)
  314. .@menu$ += .tele_campos$[.@i] + ":";
  315.  
  316. return .@menu$;
  317. }
  318.  
  319. /**
  320. * Conta a quantidade de niveis que possui cada campo...
  321. */
  322. function contar_andar_campos {
  323. .@choise = getarg(0) / 4;
  324.  
  325. switch(.@choise)
  326. {
  327. case 1: // Campos de Ayothaya
  328. case 13: // Campos de Moscovia
  329. case 14: // Campos de Niflheim
  330. return 2;
  331.  
  332. case 8: // Campos de Lighthalzen
  333. case 10: // Campos de Manuk
  334. case 18: // Campos de Splendide
  335. return 3;
  336.  
  337. case 19: // Campos de Umbala
  338. return 4;
  339.  
  340. case 20: // Campos de Veins
  341. return 5;
  342.  
  343. case 7: // Campos de Hugel
  344. return 7;
  345.  
  346. case 3: // Campos de Comodo
  347. return 9;
  348.  
  349. case 4: // Campos de Einbroch
  350. case 12: // Campos de Morroc
  351. case 15: // Campos de Payon
  352. case 17: // Campos de Rachel
  353. return 10;
  354.  
  355. case 11: // Campos de Mjolnir
  356. return 11;
  357.  
  358. case 16: // Campos de Prontera
  359. case 22: // Campos de Yuno
  360. return 12;
  361.  
  362. case 5: // Campos de Geffen
  363. return 13;
  364.  
  365. // Campos que possuem apenas
  366. // 1 andar, cairão neste switch
  367. default:
  368. break;
  369. }
  370.  
  371. return 1;
  372. }
  373.  
  374. function montar_menu_campos_sub {
  375.  
  376. .@camp = getarg(0) / 4;
  377.  
  378. if(getarraysize(@menu_info$) > 0)
  379. deletearray @menu_info$[0], getarraysize(@menu_info$);
  380.  
  381. switch(.@camp)
  382. {
  383. case 1: // Campos de Ayothaya
  384. setarray @menu_info$[0], "Campos de Ayothaya 02", "ayo_fild02", 98, 151;
  385. break;
  386. case 13: // Campos de Moscovia
  387. setarray @menu_info$[0], "Campos de Moscovia 02", "mosk_fild02", 156, 145;
  388. break;
  389. case 14: // Campos de Niflheim
  390. setarray @menu_info$[0], "Campos de Niflheim 02", "nif_fild02", 167, 234;
  391. break;
  392.  
  393. case 8: // Campos de Lighthalzen
  394. setarray @menu_info$[0], "Campos de Lighthalzen 02", "lhz_fild02", 185, 235,
  395. "Campos de Lighthalzen 03", "lhz_fild03", 240, 226;
  396. break;
  397.  
  398. case 10: // Campos de Manuk
  399. setarray @menu_info$[0], "Campos de Manuk 02", "man_fild02", 36, 262,
  400. "Campos de Manuk 03", "man_fild03", 84, 365;
  401. break;
  402. case 18: // Campos de Splendide
  403. setarray @menu_info$[0], "Campos de Splendide 02", "spl_fild02", 236, 184,
  404. "Campos de Splendide 03", "spl_fild03", 188, 204;
  405. break;
  406.  
  407. case 19: // Campos de Umbala
  408. setarray @menu_info$[0], "Campos de Umbala 02", "um_fild02", 223, 221,
  409. "Campos de Umbala 03", "um_fild03", 237, 215,
  410. "Campos de Umbala 04", "um_fild04", 202, 197;
  411. break;
  412.  
  413. case 20: // Campos de Veins
  414. setarray @menu_info$[0], "Campos de Veins 04", "ve_fild04", 51, 250,
  415. "Campos de Veins 05", "ve_fild05", 202, 324,
  416. "Campos de Veins 06", "ve_fild06", 150, 223,
  417. "Campos de Veins 07", "ve_fild07", 149, 307;
  418. break;
  419.  
  420. case 7: // Campos de Hugel
  421. setarray @menu_info$[0], "Campos de Hugel 02", "hu_fild02", 222, 193,
  422. "Campos de Hugel 03", "hu_fild03", 232, 185,
  423. "Campos de Hugel 04", "hu_fild04", 252, 189,
  424. "Campos de Hugel 05", "hu_fild05", 185, 203,
  425. "Campos de Hugel 06", "hu_fild06", 216, 220,
  426. "Campos de Hugel 07", "hu_fild07", 227, 197;
  427. break;
  428.  
  429. case 3: // Campos de Comodo
  430. setarray @menu_info$[0], "Campos de Comodo 02", "cmd_fild02", 231, 160,
  431. "Campos de Comodo 03", "cmd_fild03", 191, 172,
  432. "Campos de Comodo 04", "cmd_fild04", 228, 194,
  433. "Campos de Comodo 05", "cmd_fild05", 224, 203,
  434. "Campos de Comodo 06", "cmd_fild06", 190, 223,
  435. "Campos de Comodo 07", "cmd_fild07", 234, 177,
  436. "Campos de Comodo 08", "cmd_fild08", 194, 175,
  437. "Campos de Comodo 09", "cmd_fild09", 172, 172;
  438. break;
  439.  
  440. case 4: // Campos de Einbroch
  441. setarray @menu_info$[0], "Campos de Einbroch 02", "ein_fild02", 182, 141,
  442. "Campos de Einbroch 03", "ein_fild03", 187, 228,
  443. "Campos de Einbroch 04", "ein_fild04", 185, 173,
  444. "Campos de Einbroch 05", "ein_fild05", 216, 173,
  445. "Campos de Einbroch 06", "ein_fild06", 195, 148,
  446. "Campos de Einbroch 07", "ein_fild07", 272, 220,
  447. "Campos de Einbroch 08", "ein_fild08", 173, 214,
  448. "Campos de Einbroch 09", "ein_fild09", 207, 174,
  449. "Campos de Einbroch 10", "ein_fild10", 196, 200;
  450. break;
  451. case 12: // Campos de Morroc
  452. setarray @menu_info$[0], "Campos de Morroc 02", "moc_fild02", 177, 206,
  453. "Campos de Morroc 03", "moc_fild03", 194, 182,
  454. "Campos de Morroc 07", "moc_fild07", 224, 170,
  455. "Campos de Morroc 11", "moc_fild11", 198, 216,
  456. "Campos de Morroc 12", "moc_fild12", 156, 187,
  457. "Campos de Morroc 13", "moc_fild13", 185, 263,
  458. "Campos de Morroc 16", "moc_fild16", 206, 228,
  459. "Campos de Morroc 18", "moc_fild18", 209, 223,
  460. "Campos de Morroc 20", "moc_fild20", 207, 207;
  461. break;
  462. case 15: // Campos de Payon
  463. setarray @menu_info$[0], "Campos de Payon 02", "pay_fild02", 151, 219,
  464. "Campos de Payon 03", "pay_fild03", 205, 148,
  465. "Campos de Payon 04", "pay_fild04", 58, 139,
  466. "Campos de Payon 05", "pay_fild05", 134, 204,
  467. "Campos de Payon 06", "pay_fild06", 193, 235,
  468. "Campos de Payon 07", "pay_fild07", 200, 177,
  469. "Campos de Payon 08", "pay_fild08", 137, 189,
  470. "Campos de Payon 09", "pay_fild09", 201, 224,
  471. "Campos de Payon 10", "pay_fild10", 160, 205;
  472. break;
  473. case 17: // Campos de Rachel
  474. setarray @menu_info$[0], "Campos de Rachel 05", "ra_fild05", 225, 202,
  475. "Campos de Rachel 06", "ra_fild06", 202, 214,
  476. "Campos de Rachel 07", "ra_fild07", 263, 196,
  477. "Campos de Rachel 08", "ra_fild08", 217, 201,
  478. "Campos de Rachel 09", "ra_fild09", 87, 121,
  479. "Campos de Rachel 10", "ra_fild10", 277, 181,
  480. "Campos de Rachel 11", "ra_fild11", 221, 185,
  481. "Campos de Rachel 12", "ra_fild12", 175, 200,
  482. "Campos de Rachel 13", "ra_fild13", 174, 197;
  483. break;
  484.  
  485. case 11: // Campos de Mjolnir
  486. setarray @menu_info$[0], "Campos de Mjolnir 02", "mjolnir_02", 175, 193,
  487. "Campos de Mjolnir 03", "mjolnir_03", 208, 213,
  488. "Campos de Mjolnir 05", "mjolnir_05", 181, 240,
  489. "Campos de Mjolnir 06", "mjolnir_06", 195, 270,
  490. "Campos de Mjolnir 07", "mjolnir_07", 235, 202,
  491. "Campos de Mjolnir 08", "mjolnir_08", 188, 205,
  492. "Campos de Mjolnir 09", "mjolnir_09", 205, 144,
  493. "Campos de Mjolnir 10", "mjolnir_10", 245, 223,
  494. "Campos de Mjolnir 11", "mjolnir_11", 180, 206,
  495. "Campos de Mjolnir 12", "mjolnir_12", 196, 208;
  496. break;
  497.  
  498. case 16: // Campos de Prontera
  499. setarray @menu_info$[0], "Campos de Prontera 01", "prt_fild01", 190, 206,
  500. "Campos de Prontera 02", "prt_fild02", 240, 206,
  501. "Campos de Prontera 03", "prt_fild03", 190, 143,
  502. "Campos de Prontera 04", "prt_fild04", 307, 252,
  503. "Campos de Prontera 05", "prt_fild05", 239, 213,
  504. "Campos de Prontera 06", "prt_fild06", 185, 188,
  505. "Campos de Prontera 07", "prt_fild07", 193, 194,
  506. "Campos de Prontera 08", "prt_fild08", 187, 218,
  507. "Campos de Prontera 09", "prt_fild09", 210, 183,
  508. "Campos de Prontera 10", "prt_fild10", 195, 149,
  509. "Campos de Prontera 11", "prt_fild11", 198, 164;
  510. break;
  511.  
  512. case 22: // Campos de Yuno
  513. setarray @menu_info$[0], "Campos de Yuno 02", "yuno_fild02", 192, 207,
  514. "Campos de Yuno 03", "yuno_fild03", 221, 157,
  515. "Campos de Yuno 04", "yuno_fild04", 251, 106,
  516. "Campos de Yuno 05", "yuno_fild05", 223, 177,
  517. "Campos de Yuno 06", "yuno_fild06", 187, 223,
  518. "Campos de Yuno 07", "yuno_fild07", 231, 174,
  519. "Campos de Yuno 08", "yuno_fild08", 79, 178,
  520. "Campos de Yuno 09", "yuno_fild09", 183, 214,
  521. "Campos de Yuno 10", "yuno_fild10", 200, 124,
  522. "Campos de Yuno 11", "yuno_fild11", 195, 226,
  523. "Campos de Yuno 12", "yuno_fild12", 210, 304;
  524. break;
  525.  
  526. case 5: // Campos de Geffen
  527. setarray @menu_info$[0], "Campos de Geffen 01", "gef_fild01", 213, 204,
  528. "Campos de Geffen 03", "gef_fild03", 257, 192,
  529. "Campos de Geffen 04", "gef_fild04", 188, 171,
  530. "Campos de Geffen 05", "gef_fild05", 166, 263,
  531. "Campos de Geffen 06", "gef_fild06", 248, 158,
  532. "Campos de Geffen 07", "gef_fild07", 195, 191,
  533. "Campos de Geffen 08", "gef_fild08", 186, 183,
  534. "Campos de Geffen 09", "gef_fild09", 221, 117,
  535. "Campos de Geffen 10", "gef_fild10", 67, 333,
  536. "Campos de Geffen 11", "gef_fild11", 136, 328,
  537. "Campos de Geffen 12", "gef_fild12", 240, 181,
  538. "Campos de Geffen 13", "gef_fild13", 235, 235;
  539. break;
  540.  
  541. // Campos que possuem apenas
  542. // 1 andar, cairão neste switch
  543. default:
  544. break;
  545. }
  546.  
  547. .@menu$ = "~ Entrada:";
  548. .@menu_count = getarraysize(@menu_info$);
  549.  
  550. for(.@i = 0; .@i < .@menu_count; .@i += 4)
  551. {
  552. .@menu_str$ = @menu_info$[.@i];
  553. if(getstrlen(.@menu_str$) == 0)
  554. .@menu_str$ = "[ Nível " + (2 + (.@i/4)) + " ]";
  555. .@menu$ += .@menu_str$ + ":";
  556. }
  557.  
  558. .@camp_choise = .@camp * 4;
  559. .@camp_nivel = prompt(.@menu$) - 1;
  560. mes .name$;
  561.  
  562. if(.@camp_nivel == 254)
  563. {
  564. mes "Quando desejar ser teleportado, volte a falar comigo.";
  565. close;
  566. }
  567.  
  568. mes "Irei enviar você para ^aa0000"+.tele_campos$[.@camp_choise]+"^000000.";
  569. close2;
  570.  
  571. .@map$ = .tele_campos$[.@camp_choise+1];
  572. .@x = atoi(.tele_campos$[.@camp_choise+2]);
  573. .@y = atoi(.tele_campos$[.@camp_choise+3]);
  574.  
  575. if(.@camp_nivel >= 1)
  576. {
  577. .@tmp_choise = (.@camp_nivel - 1) * 4;
  578.  
  579. .@map$ = @menu_info$[.@tmp_choise+1];
  580. .@x = atoi(@menu_info$[.@tmp_choise+2]);
  581. .@y = atoi(@menu_info$[.@tmp_choise+3]);
  582. }
  583.  
  584. enviar_jogador(2, .@cave_choise, .@map$, .@x, .@y);
  585. end;
  586.  
  587. return;
  588. }
  589.  
  590.  
  591. /**
  592. * Montar o menu do ultimo warp...
  593. */
  594. function montar_menu_ultimo {
  595.  
  596. if(getstrlen(WEERO_TELE_MAP$) == 0)
  597. return "";
  598.  
  599. switch(WEERO_TELE_TYPE)
  600. {
  601. case 0: return "[ Última cidade (^770000" + WEERO_TELE_MAP$ + "^000000) ]";
  602. case 1: return "[ Última caverna (^770000" + WEERO_TELE_MAP$ + "^000000) ]";
  603. case 2: return "[ Último campo (^770000" + WEERO_TELE_MAP$ + "^000000) ]";
  604. case 3: return "[ Última instância (^770000" + WEERO_TELE_MAP$ + "^000000) ]";
  605. }
  606.  
  607. return "";
  608. }
  609.  
  610. /**
  611. * Exibe informações do ultimo mapa teleportado.
  612. */
  613. function exibir_ultimo_warp {
  614.  
  615. if(getstrlen(WEERO_TELE_MAP$) > 0)
  616. {
  617. mes " ";
  618. switch(WEERO_TELE_TYPE)
  619. {
  620. // Cidade
  621. case 0:
  622. mes "[ Última cidade (^007700" + WEERO_TELE_MAP$ + "^000000) ]";
  623. break;
  624. case 1:
  625. mes "[ Última caverna (^007700" + WEERO_TELE_MAP$ + "^000000) ]";
  626. break;
  627. case 2:
  628. mes "[ Último campo (^007700" + WEERO_TELE_MAP$ + "^000000) ]";
  629. break;
  630. case 3:
  631. mes "[ Última instância (^007700" + WEERO_TELE_MAP$ + "^000000) ]";
  632. break;
  633. }
  634. mes " ";
  635. }
  636.  
  637. }
  638.  
  639. /**
  640. * Enviar o ultimo warp do jogador...
  641. */
  642. function enviar_jogador_ultimo {
  643. // Enviar jogador para o ultimo mapa
  644. enviar_jogador(WEERO_TELE_TYPE,
  645. WEERO_TELE_CHOISE,
  646. WEERO_TELE_MAP$,
  647. WEERO_TELE_X,
  648. WEERO_TELE_Y);
  649. }
  650.  
  651. /**
  652. * Envia o jogador ao mapa destino.
  653. */
  654. function enviar_jogador {
  655.  
  656. .@type = getarg(0);
  657. .@choise = getarg(1);
  658. .@map$ = getarg(2);
  659. .@x = getarg(3);
  660. .@y = getarg(4);
  661.  
  662. WEERO_TELE_TYPE = .@type;
  663. WEERO_TELE_CHOISE = .@choise;
  664. WEERO_TELE_MAP$ = .@map$;
  665. WEERO_TELE_X = .@x;
  666. WEERO_TELE_Y = .@y;
  667.  
  668. warp .@map$, .@x, .@y;
  669. return;
  670. }
  671.  
  672. function montar_menu_caverna_sub {
  673.  
  674. .@cave = getarg(0) / 4;
  675.  
  676. if(getarraysize(@menu_info$) > 0)
  677. deletearray @menu_info$[0], getarraysize(@menu_info$);
  678.  
  679. switch(.@cave)
  680. {
  681. case 2: // Calabouço de Magma
  682. setarray @menu_info$[0], "Calabouço de Magma 02", "mag_dun02", 47, 32;
  683. break;
  684.  
  685. case 3: // Calabouço dos Orcs
  686. setarray @menu_info$[0], "Calabouço dos Orcs 02", "orcsdun02", 21, 184;
  687. break;
  688.  
  689. case 5: // Caverna de Comodo
  690. setarray @menu_info$[0], "Caverna de Comodo 3", "beach_dun3", 151, 152;
  691. break;
  692.  
  693. case 6: // Caverna de Gelo
  694. setarray @menu_info$[0], "Caverna de Gelo 02", "ice_dun02", 151, 153;
  695. break;
  696.  
  697. case 7: // Caverna de Payon
  698. setarray @menu_info$[0], "Caverna de Payon 01", "pay_dun01", 19, 33,
  699. "Caverna de Payon 02", "pay_dun02", 19, 63,
  700. "Caverna de Payon 03", "pay_dun03", 155, 159;
  701. break;
  702.  
  703. case 8: // Caverna de Umbala
  704. setarray @menu_info$[0], "Caverna de Umbala 02", "um_dun02", 204, 78;
  705. break;
  706.  
  707. case 9: // Esfinge
  708. setarray @menu_info$[0], "Esfinge 2", "in_sphinx2", 149, 87,
  709. "Esfinge 3", "in_sphinx3", 210, 54,
  710. "Esfinge 4", "in_sphinx4", 10, 222;
  711. break;
  712.  
  713. case 10: // Esgoto de Prontera
  714. setarray @menu_info$[0], "Esgoto de Prontera 2", "prt_sewb2", 19, 19,
  715. "Esgoto de Prontera 3", "prt_sewb3", 180, 169;
  716. break;
  717.  
  718. case 11: // Floresta Encantada
  719. setarray @menu_info$[0], "Floresta Encantada 02", "mosk_dun02", 163, 31;
  720. break;
  721.  
  722. case 15: // Gefenia
  723. setarray @menu_info$[0], "Gefenia 02", "gefenia02", 203, 34,
  724. "Gefenia 03", "gefenia03", 266, 168,
  725. "Gefenia 04", "gefenia04", 130, 272;
  726. break;
  727.  
  728. case 16: // Glast Heim
  729. setarray @menu_info$[0], "Abadia", "gl_church", 156, 12,
  730. "Biblioteca", "gl_in01", 110, 125,
  731. "Castelo 1º Andar", "gl_cas01", 199, 28,
  732. "Castelo 2º Andar", "gl_cas02", 104, 25,
  733. "Cavalaria 1º Andar", "gl_knt01", 150, 15,
  734. "Cavalaria 2º Andar", "gl_knt02", 157, 287,
  735. "Caverna Profunda", "gl_dun01", 133, 271,
  736. "Caverna mais Profunda", "gl_dun02", 224, 272,
  737. "Escadaria", "gl_step", 12, 7,
  738. "Esgoto 1º Andar", "gl_sew01", 258, 251,
  739. "Esgoto 2º Andar", "gl_sew02", 110, 288,
  740. "Esgoto 3º Andar", "gl_sew03", 171, 283,
  741. "Esgoto 4º Andar", "gl_sew04", 68, 276,
  742. "Prisão Piso Superior", "gl_prison", 14, 70,
  743. "Prisão Piso Inferior", "gl_prison1", 150, 14;
  744. break;
  745.  
  746. case 17: // Ilha da Tartaruga
  747. setarray @menu_info$[0], "Ilha da Tartaruga 02", "tur_dun02", 146, 263,
  748. "Ilha da Tartaruga 03", "tur_dun03", 132, 189;
  749. break;
  750.  
  751. case 18: // Ilha de Byalan
  752. setarray @menu_info$[0], "Ilha de Byalan 01", "iz_dun01", 253, 252,
  753. "Ilha de Byalan 02", "iz_dun02", 236, 206,
  754. "Ilha de Byalan 03", "iz_dun03", 33, 63,
  755. "Ilha de Byalan 04", "iz_dun04", 26, 32;
  756. break;
  757.  
  758. case 19: // Interior de Louyang
  759. setarray @menu_info$[0], "Interior de Louyang 02", "lou_dun02", 284, 18;
  760. break;
  761.  
  762. case 20: // Labirinto da Floresta
  763. setarray @menu_info$[0], "Labirinto da Floresta 02", "prt_maze02", 93, 21;
  764. break;
  765.  
  766. case 21: // Labirinto de Tatames
  767. setarray @menu_info$[0], "Labirinto de Tatames 02", "ama_dun02", 36, 45;
  768. break;
  769.  
  770. case 23: // Laboratório de Somatologia
  771. setarray @menu_info$[0], "Laboratório de Somatologia 02", "lhz_dun02", 0, 0;
  772. break;
  773.  
  774. case 24: // Lago do Abismo
  775. setarray @menu_info$[0], "Lago do Abismo 02", "abyss_02", 275, 270;
  776. break;
  777.  
  778. case 25: // Mina de Carvão Abandonada
  779. setarray @menu_info$[0], "Mina de Carvão Abandonada 02", "mjo_dun02", 379, 344,
  780. "Mina de Carvão Abandonada 03", "mjo_dun03", 305, 260;
  781. break;
  782.  
  783. case 26: // Lago do Abismo
  784. setarray @menu_info$[0], "Lago do Abismo 01", "abbey01", 51, 12;
  785. break;
  786.  
  787. case 28: // Pirâmide
  788. setarray @menu_info$[0], "Pirâmide 02", "moc_pryd02", 10, 191,
  789. "Pirâmide 03", "moc_pryd03", 100, 92,
  790. "Pirâmide 05", "moc_pryd05", 93, 94;
  791. break;
  792.  
  793. case 29: // Ruínas de Juperos
  794. setarray @menu_info$[0], "Ruínas de Juperos 02", "juperos_02", 128, 273;
  795. break;
  796.  
  797. case 30: // Santuário Rachel
  798. setarray @menu_info$[0], "Santuário Rachel 02", "ra_san02", 37, 22,
  799. "Santuário Rachel 03", "ra_san03", 119, 283,
  800. "Santuário Rachel 04", "ra_san04", 120, 98;
  801. break;
  802.  
  803. case 32: // Santuário de Xi Wang Mu
  804. setarray @menu_info$[0], "Santuário de Xi Wang Mu 02", "gon_dun02", 17, 113;
  805. break;
  806.  
  807. case 33: // Torre de Thanatos
  808. setarray @menu_info$[0], "Torre de Thanatos 02", "tha_t02", 149, 130,
  809. "Torre de Thanatos 03", "tha_t03", 219, 161,
  810. "Torre de Thanatos 04", "tha_t04", 60, 141;
  811. break;
  812.  
  813. case 34: // Torre do Relógio
  814. setarray @menu_info$[0], "Torre do Relógio 2", "c_tower2", 268, 26,
  815. "Torre do Relógio 3", "c_tower3", 65, 147,
  816. "Torre do Relógio 4", "c_tower4", 46, 42,
  817.  
  818. "Subterrâneo 1", "alde_dun01", 168, 149,
  819. "Subterrâneo 2", "alde_dun02", 43, 24,
  820. "Subterrâneo 3", "alde_dun03", 18, 267,
  821. "Subterrâneo 4", "alde_dun04", 80, 268;
  822. break;
  823.  
  824. case 35: // Vulcão de Thor
  825. setarray @menu_info$[0], "", "thor_v02", 76, 205;
  826. break;
  827.  
  828. default:
  829. return;
  830. }
  831.  
  832. .@menu$ = "~ Entrada (Nível 1):";
  833. .@menu_count = getarraysize(@menu_info$);
  834.  
  835. for(.@i = 0; .@i < .@menu_count; .@i += 4)
  836. {
  837. .@menu_str$ = @menu_info$[.@i];
  838. if(getstrlen(.@menu_str$) == 0)
  839. .@menu_str$ = "[ Nível " + (2 + (.@i/4)) + " ]";
  840. .@menu$ += .@menu_str$ + ":";
  841. }
  842.  
  843. .@cave_choise = .@cave * 4;
  844. .@caverna_nivel = prompt(.@menu$) - 1;
  845. mes .name$;
  846.  
  847. if(.@caverna_nivel == 254)
  848. {
  849. mes "Caso você necessite dos meus serviços de teleporte...";
  850. mes "Volte a falar comigo.";
  851. close;
  852. }
  853.  
  854. mes "Irei enviar você para ^aa0000"+.tele_caverna$[.@cave_choise]+"^000000.";
  855. close2;
  856.  
  857. .@map$ = .tele_caverna$[.@cave_choise+1];
  858. .@x = atoi(.tele_caverna$[.@cave_choise+2]);
  859. .@y = atoi(.tele_caverna$[.@cave_choise+3]);
  860.  
  861. if(.@caverna_nivel >= 1)
  862. {
  863. .@tmp_choise = (.@caverna_nivel - 1) * 4;
  864.  
  865. .@map$ = @menu_info$[.@tmp_choise+1];
  866. .@x = atoi(@menu_info$[.@tmp_choise+2]);
  867. .@y = atoi(@menu_info$[.@tmp_choise+3]);
  868. }
  869.  
  870. enviar_jogador(1, .@cave_choise, .@map$, .@x, .@y);
  871. end;
  872.  
  873. return;
  874. }
  875.  
  876. /**
  877. * Conta quantos andares tem a caverna.
  878. */
  879. function contar_andar_caverna {
  880. .@choise = getarg(0) / 4;
  881. switch(.@choise)
  882. {
  883. case 2: // Calabouço de Magma
  884. case 3: // Calabouo dos Orcs
  885. case 5: // Caverna de Comodo
  886. case 6: // Caverna de Gelo
  887. case 8: // Caverna de Umbala
  888. case 11: // Floresta Encantada
  889. case 19: // Interior de Louyang
  890. case 20: // Labirinto da Floresta
  891. case 21: // Labirinto de Tatames
  892. case 23: // Laboratório de Somatologia
  893. case 24: // Lago do Abismo
  894. case 26: // Monasterio
  895. case 29: // Ruínas de Juperos
  896. case 32: // Santuário de Xi Wang Mu
  897. case 35: // Vulcão de Thor
  898. return 2;
  899.  
  900. case 10: // Esgoto de Prontera
  901. case 17: // Ilha da Tartaruga
  902. case 25: // Mina de Carvão Abandonada
  903. return 3;
  904.  
  905. case 7: // Caverna de Payon
  906. case 9: // Esfinge
  907. case 15: // Gefenia
  908. case 28: // Pirâmide
  909. case 30: // Santuário Rachel
  910. case 33: // Torre de Thanatos
  911. return 4;
  912.  
  913. case 18: // Ilha de Byalan
  914. return 5;
  915.  
  916. case 34: // Torre do Relógio
  917. return 8;
  918.  
  919. case 16: // Glast Heim
  920. return 16;
  921.  
  922. // Todos que não possuem warp com nivel, serão apresentados direto
  923. // como 1 andar e não vão ir além disso.
  924. default:
  925. return 1;
  926. }
  927. }
  928.  
  929. /**
  930. * Monta o menu das cavernas...
  931. */
  932. function montar_menu_caverna {
  933.  
  934. .@menu$ = "";
  935.  
  936. for(.@i = 0; .@i < getarraysize(.tele_caverna$); .@i += 4)
  937. {
  938. .@menu$ += .tele_caverna$[.@i] + ":";
  939. }
  940.  
  941. return .@menu$;
  942. }
  943.  
  944. /**
  945. * Monta o menu para selecionar todas as cidades do teleporte.
  946. */
  947. function montar_menu_cidade {
  948.  
  949. .@menu$ = "";
  950.  
  951. for(.@i = 0; .@i < getarraysize(.tele_city$); .@i += 4)
  952. {
  953. .@menu$ += .tele_city$[.@i] + ":";
  954. }
  955.  
  956. return .@menu$;
  957. }
  958.  
  959. /**
  960. * Monta o menu da instância
  961. */
  962. function montar_menu_instancia {
  963. .@menu$ = "";
  964.  
  965. for(.@i = 0; .@i < getarraysize(.tele_instancia$);.@i += 4)
  966. {
  967. .@menu$ += .tele_instancia$[.@i] + ":";
  968. }
  969.  
  970. return .@menu$;
  971. }
  972.  
  973. }
  974.  
  975.  
  976. city,110,95,5 duplicate(weero_teleport) Teleportadora#city2 4_F_ELENA
  977. prontera,159,193,4 duplicate(weero_teleport) Teleportadora#prt 4_F_ELENA
  978. prontera,158,279,4 duplicate(weero_teleport) Teleportadora#prt2 4_F_ELENA
  979. morocc,164,111,4 duplicate(weero_teleport) Teleportadora#morocc 4_F_ELENA
  980. geffen,125,68,4 duplicate(weero_teleport) Teleportadora#geffen 4_F_ELENA
  981. payon,189,104,4 duplicate(weero_teleport) Teleportadora#payon 4_F_ELENA
  982. alberta,195,144,4 duplicate(weero_teleport) Teleportadora#alberta 4_F_ELENA
  983. izlude,131,122,4 duplicate(weero_teleport) Teleportadora#izlude 4_F_ELENA
  984. aldebaran,135,114,5 duplicate(weero_teleport) Teleportadora#aldebaran 4_F_ELENA
  985. xmas,153,121,4 duplicate(weero_teleport) Teleportadora#xmas 4_F_ELENA
  986. comodo,191,162,4 duplicate(weero_teleport) Teleportadora#comodo 4_F_ELENA
  987.  
  988. yuno,150,319,5 duplicate(weero_teleport) Teleportadora#yun0 4_F_ELENA
  989. yuno,151,51,4 duplicate(weero_teleport) Teleportadora#yun1 4_F_ELENA
  990.  
  991. amatsu,102,143,5 duplicate(weero_teleport) Teleportadora#amatsu 4_F_ELENA
  992. gonryun,154,122,5 duplicate(weero_teleport) Teleportadora#gonryun 4_F_ELENA
  993. umbala,89,159,4 duplicate(weero_teleport) Teleportadora#umbala 4_F_ELENA
  994. niflheim,201,189,4 duplicate(weero_teleport) Teleportadora#niflheim 4_F_ELENA
  995. louyang,210,101,5 duplicate(weero_teleport) Teleportadora#louyang 4_F_ELENA
  996. jawaii,183,166,4 duplicate(weero_teleport) Teleportadora#jawaii 4_F_ELENA
  997. ayothaya,144,119,5 duplicate(weero_teleport) Teleportadora#ayothaya 4_F_ELENA
  998. einbroch,153,317,5 duplicate(weero_teleport) Teleportadora#einbroch 4_F_ELENA
  999. lighthalzen,151,88,5 duplicate(weero_teleport) Teleportadora#lhz 4_F_ELENA
  1000. einbech,241,164,5 duplicate(weero_teleport) Teleportadora#einbech 4_F_ELENA
  1001. hugel,92,155,5 duplicate(weero_teleport) Teleportadora#hugel 4_F_ELENA
  1002. rachel,133,112,4 duplicate(weero_teleport) Teleportadora#rachel 4_F_ELENA
  1003. veins,220,118,5 duplicate(weero_teleport) Teleportadora#veins 4_F_ELENA
  1004. moscovia,217,198,5 duplicate(weero_teleport) Teleportadora#moscovia 4_F_ELENA
  1005. mid_camp,228,240,5 duplicate(weero_teleport) Teleportadora#mid_camp 4_F_ELENA
  1006. manuk,292,236,4 duplicate(weero_teleport) Teleportadora#manuk 4_F_ELENA
  1007. splendide,199,153,4 duplicate(weero_teleport) Teleportadora#splendide 4_F_ELENA
  1008. brasilis,199,173,4 duplicate(weero_teleport) Teleportadora#brasilis 4_F_ELENA
  1009. dicastes01,192,198,4 duplicate(weero_teleport) Teleportadora#dct01 4_F_ELENA
  1010. mora,115,116,4 duplicate(weero_teleport) Teleportadora#mora 4_F_ELENA
  1011. dewata,198,185,5 duplicate(weero_teleport) Teleportadora#dewata 4_F_ELENA
  1012. malangdo,165,146,5 duplicate(weero_teleport) Teleportadora#malangdo 4_F_ELENA
  1013. malaya,285,362,4 duplicate(weero_teleport) Teleportadora#malaya 4_F_ELENA
  1014. lroom00,61,148,4 duplicate(weero_teleport) Teleportadora#VIP 4_F_ELENA
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement