· 8 years ago · Jan 21, 2018, 12:04 PM
1/* Sistema de Aluguel de Itens - Wolf */
2
3/* Tabela SQL
4CREATE TABLE IF NOT EXISTS `system_reating` (
5 `itens_reating` varchar(32) NOT NULL,
6 PRIMARY KEY (`itens_reating`)
7) ENGINE=MyISAM DEFAULT CHARSET=latin1;
8*/
9
10prontera,150,150,5 script Aluguel de Itens 66,{
11
12 set .@Acess_Level, 45; // NÃvel de acesso ao Menu-Administrativo.
13 set .@Price_Renting, 30; // Preço do alguel do Item.
14 set .@Option_COZ, 1; // Coloque 0 se for para ser cobrado Zeny. [1 = Cash | 0 = Zeny ]
15 set .@Days, 30; // Limite de dias com o Item.
16 setarray .@Itens_NoReating, ID, ID; // Id dos Itens que não podem serem postos para alguel.
17
18 Mes "[^1874CD"+StrNpcInfo(1)+"^000000]";
19 Mes "^C1CDCDOlá "+strcharinfo(0)+".^000000";
20 Mes "^C1CDCDComo posso te ajudar?!^000000";
21 Next;
22 Query_Sql "SELECT `itens_reating` FROM `system_reating`",.@Itens;
23 If (GetGmLevel < .@Acess_Level)
24 Switch(Select("Alugar um Item:Ver Lista de Itens:Informações:Cancelar")) {
25 Case 1:
26 Mes "[^1874CD"+StrNpcInfo(1)+"^000000]";
27 Mes "^C1CDCDOs itens disponÃveis são esses:^000000";
28 For (Set @i,0; @i < GetArraySize(.@Itens); Set @i,@i+1) {
29 If (.@itens[@i] == "" || .@Itens[@i] == 0) { Mes "^FF0000Não há itens registrados no banco de dados!^000000"; Close;
30 } Else {
31 Mes .@Itens[@i]+" - "+GetItemName(.@Itens[@i]);
32 Next;
33 Mes "^C1CDCDDigite o ID do item que deseja alugar!^000000";
34 Input .@I_R;
35 Mes "[^1874CD"+StrNpcInfo(1)+"^000000]";
36 If (.@I_R != .@Itens[@i]) Break;
37 Mes "[^1874CD"+StrNpcInfo(1)+"^000000]";
38 Mes "^C1CDCDPor quanto dias deseja alugar?!^000000";
39 Next;
40 Mes "^C1CDCDSão "+.@Price_Renting+"^000000 "+((.@Option_COZ == 1) ? "^FF0000Cash^000000" : "^FF0000Zeny^000000")+" por cada dia.";
41 Input .@I_A;
42 If (.@I_A < 1 || .@I_A > @Days) Break;
43 Set .@Valor_Pagar, .@I_A * .@Price_Renting;
44 Set .@Dias_Item, .@I_A * 86400;
45 Mes "[^1874CD"+StrNpcInfo(1)+"^000000]";
46 Mes "^C1CDCDItem:^000000 ^1874CD"+GetItemName(.@I_R)+"^000000.";
47 Mes "^C1CDCDAluguel por:^000000 ^1874CD"+.@Dias_Item+"^000000 ^C1CDCDdias.^000000";
48 Mes "^C1CDCDValor total:^000000 ^1874CD"+.@Valor_Pagar+"^000000 "+((.@Option_COZ == 1) ? "^FF0000Cash's^000000" : "^FF0000Zeny's^000000")+".";
49 Next;
50 Mes "[^1874CD"+StrNpcInfo(1)+"^000000]";
51 Mes "^C1CDCDDeseja efetuar o aluguel do Item?^000000";
52 Next;
53 If (Select("Sim:Não")==2) Close;
54 If (.@Option_COZ == 1)
55 If (#CASHPOINTS < .@Valor_Pagar) { Mes "Você não tem Cash suficiente!"; }
56 Else { Rentitem .@I_R, .@Dias_Item; Mes "^C1CDCDVocê acabou de utilizar o item, em "+.@I_A+" o item será retirado!^000000"; }
57 Else
58 If (Zeny < .@Valor_Pagar) { Mes "Você não tem Zeny suficiente!";}
59 Else { Rentitem .@I_R, .@Dias_Item; Mes "^C1CDCDVocê acabou de utilizar o item, em "+.@I_A+" o item será retirado!^000000"; }
60 Close;
61 }
62 }
63 Mes "^C1CDCDOu o ID não consta na lista, ou você inseriu um valor invalido de dias para alugar.^000000";
64 Close;
65 Case 2: Callsub List_Of_Items;
66 Case 3: Break;
67 Case 4: Close;
68 }
69 Else
70 Switch(Select("Adicionar/Remover um Item a Lista:Ver Lista de Itens:Informações:Cancelar")) {
71 Case 1:
72 Mes "[^1874CD"+StrNpcInfo(1)+"^000000]";
73 Mes "^C1CDCDDigite^000000 ^FF0000Adc^000000 ^C1CDCDpara adicionar^000000, ^C1CDCDou^000000 ^FF0000Rem^000000 ^C1CDCDpara remover os itens.^000000";
74 Next;
75 Input .@Var$;
76 Mes "[^1874CD"+StrNpcInfo(1)+"^000000]";
77 If (.@Var$ == "Adc" || .@Var$ == "adc") Callsub "AddRem";
78 If (.@Var$ == "Rem" || .@Var$ == "rem") Callsub "AddRem";
79 end;
80 Case 2: Callsub List_Of_Items;
81 Case 3: Break;
82 Case 4: Close;
83 }
84 Mes "^C1CDCDVocê pode alugar qualquer dos itens que estão na lista.^000000";
85 Mes "^C1CDCDVocê paga ele com:^000000 "+((.@Option_COZ == 1) ? "^FF0000Cash^000000" : "^FF0000Zeny^000000")+".";
86 Mes "^C1CDCDNa quantidade de:^000000 ^FF0000"+.@Price_Renting+"^000000.";
87 Next;
88 Mes "[^1874CD"+StrNpcInfo(1)+"^000000]";
89 Mes "^000000Eles não podem:^000000";
90 Mes "^C1CDCD- Ser negociados; Dropados; Vendidos; Storage da Guilda;^000000";
91 Close;
92
93 Query_Sql "SELECT `itens_reating` FROM `system_reating`",.@Itens;
94 //Lista de Itens.
95 List_Of_Items:
96 Mes "[^1874CD"+StrNpcInfo(1)+"^000000]";
97 Mes "^C1CDCDEm seguida te listarei os itens para aluguel!^000000";
98 Next;
99 If (.@itens[@i] == "" || .@Itens[@i] == 0) { Mes "^FF0000Não há itens registrados no banco de dados!^000000";
100 } Else { For (Set @i,0; @i < GetArraySize(.@Itens); Set @i,@i+1) Mes .@Itens[@i]+" - "+GetItemName(.@Itens[@i]); }
101 Close;
102
103 //Adição & Remoção de Itens
104 AddRem:
105 Mes "[^1874CD"+StrNpcInfo(1)+"^000000]";
106 If (GetArg(0) == "Adc" || GetArg(0) == "adc") {
107 Mes "^C1CDCDTudo bem, digite o ID do item que você deseja adicionar!^000000";
108 Next;
109 Mes "[^1874CD"+StrNpcInfo(1)+"^000000]";
110 Input .@Item_ID_Add;
111 For (Set @i,0; @i < GetArraySize(.@Itens_NoReating); Set @i,@i+1) {
112 If (.@Item_ID == .@Itens_NoReating[@i]) {
113 Mes "^C1CDCDEsse item^000000 ^FF0000"+GetItemName(.@Item_ID)+"^000000 ^C1CDCDnão pode ser colocado para aluguel.^000000";
114 Close;
115 }
116 }
117 Mes "^C1CDCD O item será adicionado e adicionado a lista de itens para aluguel!^000000";
118 Close2;
119 For (Set @i,0; @i < GetArraySize(.@Itens); Set @i,@i+1) {
120 If (.@Item_ID_Add == .@Itens[@i]) { Mes "Esse item já existe nos itens de aluguel!"; Close;
121 } Else {
122 Mes "^C1CDCDItem Adicionado!^000000";
123 Close2; Query_Sql "INSERT INTO `system_reating` ( `itens_reating`) VALUES ("'+.@Item_ID_Add+'")"; End;
124 }
125 } End; } Else If (GetArg(0) == "Rem" || GetArg(0) == "rem") {
126 Mes "^C1CDCDTudo bem, digite o ID do item que você deseja remover!^000000";
127 Next;
128 Mes "[^1874CD"+StrNpcInfo(1)+"^000000]";
129 Input .@Item_ID_Rem;
130 Mes "^C1CDCDO item será removido da lista itens para aluguel!^000000";
131 Close2;
132 For (Set @i,0; @i < GetArraySize(.@Itens); Set @i,@i+1) {
133 If (.@Item_ID_Rem == .@Itens[@i]) {
134 Mes "^C1CDCDO item será removido do Banco de Dados!^000000";
135 Close2; Query_SQL "DELETE FROM `system_reating` WHERE `itens_reating`='"+.@Item_ID_Rem'"; End;
136 } Else { Mes "^C1CDCDItem Invalido, não costa no Banco de Dados!^000000"; Close; }
137 } End; }
138}