· 9 years ago · Feb 02, 2017, 03:22 AM
1/*
2 ___ ___ ___ ___ ___
3 /\ \ /\__\ /\ \ _____ /\__\ /\ \
4 _\:\ \ /:/ _/_ \:\ \ /::\ \ /:/ _/_ \:\ \
5 /\ \:\ \ /:/ /\__\ \:\ \ /:/\:\ \ /:/ /\__\ \:\ \
6 _\:\ \:\ \ /:/ /:/ _/_ _____\:\ \ /:/ \:\__\ /:/ /:/ _/_ _____\:\ \
7 /\ \:\ \:\__\ /:/_/:/ /\__\ /::::::::\__\ /:/__/ \:|__| /:/_/:/ /\__\ /::::::::\__\
8 \:\ \:\/:/ / \:\/:/ /:/ / \:\~~\~~\/__/ \:\ \ /:/ / \:\/:/ /:/ / \:\~~\~~\/__/
9 \:\ \::/ / \::/_/:/ / \:\ \ \:\ /:/ / \::/_/:/ / \:\ \
10 \:\/:/ / \:\/:/ / \:\ \ \:\/:/ / \:\/:/ / \:\ \
11 \::/ / \::/ / \:\__\ \::/ / \::/ / \:\__\
12 \/__/ \/__/ \/__/ \/__/ \/__/ \/__/
13
14*/
15/*
16CREATE TABLE IF NOT EXISTS `trocador_xro` (
17 `primary` varchar(255) NOT NULL,
18 `id_menu` int(11) NOT NULL,
19 `id_da_moeda` int(11) NOT NULL,
20 `qnt_de_moeda` int(11) NOT NULL,
21 `id_da_reward` int(11) NOT NULL,
22 `qnt_da_reward` int(11) NOT NULL,
23 PRIMARY KEY (`primary`)
24) ENGINE=MyISAM;
25*/
26
27// -------------------------------------------------------------------------------------- //
28// NPC Trocador de Itens
29// Autor: Wenden
30// Versão 2.0
31// -------------------------------------------------------------------------------------- //
32
33prontera,164,164,3 script Trocador 439,{
34
35 set .n$,"[^008000Trocador^000000]";
36 set .gm,99; // Level do GM pra configurar o npc.
37 setarray .menus$[0],"Moedas Poring","Caveiras","Yggs por Seeds","Emblemas","Sair"; // Menu principal
38
39Inicio:
40 mes .n$;
41 mes "Tenho alguns itens que talvez você se interesse.";
42 mes "Escolha uma moeda de troca.";
43 next;
44 set .@menu$,"";
45 for( set .@i,0; .@i < getarraysize(.menus$); set .@i,.@i+1 )
46 set .@menu$, .@menu$ + .menus$[.@i]+":";
47 set .@part,select(.@menu$);
48 query_sql "SELECT `id_menu`,`id_da_moeda`,`qnt_de_moeda`,`id_da_reward`,`qnt_da_reward` FROM `trocador_xro` WHERE `id_menu` = "+.@part,
49 .@idmenu,.@moeda,.@qntmoeda,.@reward,.@qntreward;
50
51 if(.@part == 5) close;
52 mes .n$;
53 if(!.@idmenu){
54 mes "As trocas estão em manutenção.";
55 close;
56 }
57 mes "Esolha o que você deseja trocar.";
58 next;
59 set .@menu2$,"";
60 for( set .@j,0; .@j < getarraysize(.@idmenu); set .@j,.@j+1 )
61 set .@menu2$, .@menu2$ + "^FF0000"+.@qntreward[.@j]+"^000000x ^FF0000"+getitemname(.@reward[.@j])+"^000000 - (^0000FF"+.@qntmoeda[.@j]+"^000000 "+getitemname(.@moeda[.@j])+"):";
62 set .@s,select(.@menu2$)-1;
63
64 mes .n$;
65 mes "^FF0000"+.@qntreward[.@s]+"^000000x ^FF0000"+getitemname(.@reward[.@s])+"^000000 equivale a ^0000FF"+.@qntmoeda+"^000000x ^0000FF"+getitemname(.@moeda[.@s])+"^000000.";
66 mes "Agora me diga quantas vezes você deseja realizar a troca.";
67 mes " ";
68 mes "- ^0000FF0 para cancelar^000000.";
69 next;
70 input .@qnt;
71 if(.@qnt == 0) close;
72
73 set .@calculo,.@qntreward[.@s]*.@qnt;
74 set .@calculo2,.@qntmoeda[.@s]*.@qnt;
75 mes .n$;
76 mes "^FF0000"+.@calculo+"^000000x ^FF0000"+getitemname(.@reward[.@s])+"^000000.";
77 mes "São: ^0000FF"+.@calculo2+"^000000x ^0000FF"+getitemname(.@moeda[.@s])+"^000000.";
78 mes "Deseja confirmar a troca?";
79 next;
80 if(select("Sim:Não") == 2) callsub Inicio;
81 mes .n$;
82 if (!checkweight(.@reward[.@s],.@calculo)){
83 mes "Você está muito pesado, não posso fazer a troca pois os itens irão cair no chão.";
84 close;
85 }
86 if(countitem(.@moeda[.@s]) < .@calculo2){
87 mes "Você não tem ^FF0000"+getitemname(.@moeda[.@s])+"^000000 suficientes para a troca.";
88 close;
89 }
90
91 mes "Troca realizada com sucesso.";
92 delitem .@moeda[.@s],.@calculo2;
93 getitem .@reward[.@s],.@calculo;
94 close;
95
96}