Advertisement
Guest User

Untitled

a guest
Oct 11th, 2018
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 32.82 KB | None | 0 0
  1. /*________________________________________________________
  2. / ____ \
  3. | | __| |
  4. | | |_ _ _ __ _ _ __ _ __ |
  5. | | _| || |/ _` | '_ \| |/ _ \ |
  6. | | |__ \/ | (_| | | | | | (_) | |
  7. | |____|__/ \__,_|_| |_|_|\___/ |
  8. | |
  9. | |
  10. |--------------------------------------------------------|
  11. | Nome do Script: HC-Vip System |
  12. |--------------------------------------------------------|
  13. | Criado por: Evanio (Arkwright) |
  14. |--------------------------------------------------------|
  15. | Versão 1.8 |
  16. |--------------------------------------------------------|
  17. | Descrição: *Sistema Vip por horas corridas. |
  18. | *Gerente Vip com várias funções úteis. |
  19. | • Usuário Vip/Comum: |
  20. | - Acesso a Sala Vip |
  21. | - Loja ROPs |
  22. | - Senha no Armazém |
  23. | - Informações |
  24. | • Administrador: |
  25. | - Gerenciar Contas Vip |
  26. | - Gerenciar CASH |
  27. | - Gerenciar Loja ROPs |
  28. | - Gerenciar Banimentos |
  29. | - Gerenciar Staff |
  30. |--------------------------------------------------------|
  31. | Obs: Aconselhável não usar o comando @reloadscript |
  32. | quando o sistema já estiver ativo. Use-o somente |
  33. | quando tiver certeza que não tenha nenhum jogador |
  34. | VIP Online. |
  35. |--------------------------------------------------------|
  36. | Changelog: |
  37. | 1.0 Script Criado (22/02/2014) [Evanio] |
  38. | 1.1 Add Sistema de Loja ROPs (23/02/2014) [Evanio] |
  39. | 1.2 Add Sistema de Vip Grátis (24/02/2014) [Evanio] |
  40. | 1.3 Add Bonus de XP e DROP (24/02/2014) [Evanio] |
  41. | 1.4 Add Sistema senha no armazém (24/02/2014) [Evanio] |
  42. | 1.5 Add Cupons Vip (25/02/2014) [Evanio] |
  43. | 1.6 Add Vip por Dias (27/02/2014) [Evanio] |
  44. | 1.7 Att para o novo emulador (20/01/2015) [Evanio] |
  45. | 1.8 Mudado as variaveis globais (01/02/2015) [Evanio] |
  46. | 1.9 Corrigido problema CASHSHOP (07/03/2016) [Evanio] |
  47. \________________________________________________________/
  48. */
  49. // ---------------------------------------------------------|
  50. /* -------------------- Tabelas SQL ------------------------|
  51.  
  52. DROP TABLE IF EXISTS `cash_shop`;
  53. CREATE TABLE `cash_shop` (
  54. `id` int(11) unsigned not null auto_increment,
  55. `nameid` int(11) unsigned NOT NULL DEFAULT '0',
  56. `price` int(11) unsigned NOT NULL DEFAULT '0',
  57. `type` int(11) unsigned NOT NULL DEFAULT '0',
  58. PRIMARY KEY (`id`)
  59. ) ENGINE=MyISAM;
  60.  
  61. ALTER TABLE `login` ADD `Vip` INT NOT NULL ;
  62.  
  63. */
  64. //-----------------------------------------------------------|
  65. //-----------------------------------------------------------|
  66. job_wiz,120,100,4 script Sair da Sala 837,{
  67.  
  68. mes "[ ^0065DFTeleportador^000000 ]";
  69. mes "Você quer sair da sala?";
  70. next;
  71. menu "Sim",sim,"Não",cancelar;
  72.  
  73. sim:
  74. mes "[ ^0065DFTeleportador^000000 ]";
  75. mes "Até Logo!";
  76. next;
  77. warp "prontera",156,181;
  78. close;
  79.  
  80. cancelar:
  81. mes "[ ^0065DFTeleportador^000000 ]";
  82. mes "Tudo bem, ^5566FF"+strcharinfo(0)+"^000000, fale comigo quando quiser sair.";
  83. close;
  84.  
  85. }
  86. //------------------------------------------------------------|
  87. //------------------------------------------------------------|
  88.  
  89. - script ConfVip -1,{
  90. OnInit:
  91. $@VipAc = 99; // Nível de conta que permite entrar no Gerenciamento. [ 4, 10 ou 99 ]
  92. $@NvVip = 1; // Nível de conta para usuários Vip. [ 1 à 3 ]
  93. $VipMode = 2; // Modo do Sistema VIP. [ 1 = Tempo Corrido , 2 = Contagem Diária ]
  94. $@SalaVip$ = "job_wiz"; // Mapa da Sala Vip. [ ,"mapa"; ]
  95. setarray $@CoordXY[0],115,99; // Coordenadas da Sala Vip [ ,CoordX,CoordY; ]
  96. $@VipGratis = 0; // Ativa Vip Grátis. [ 1 = Sim, 0 = Não ]
  97. $@VipGDias = 7; // Dias para Vip Grátis.
  98. $@ExpBonus = 0; // Ativa o Bonus de XP e Drop para usuários Vip. [ 1=Somente EXP, 2=Somente DROP, 3=EXP e DROP, 0=Desativado ]
  99. setarray $@ExpRate[0],50,200; // Percentagem do Bonus de XP e Drop respectivamente. [ ,EXP,DROP; ] (PS: 200 é equivalente ao dobro de chances dos drops)
  100. $@ChatVip = 1; // Ativa chat de indicação no NPC Gerente Vip. [ 1 = Sim, 0 = Não ]
  101. $@ChatMsgsVip$ = "Gerente Vip"; // Mensagem no Chat que irá aparecer.
  102. $@StorageVip = 0; // Possibilita o usuário VIP colocar senha no armazém/storage. [ 1 = Sim, 0 = Não ] (Somente use essa função se estver habilitado o comando @storage)
  103.  
  104. }
  105.  
  106. prontera,136,197,5 script Sala Vip 907,{
  107.  
  108. query_sql "SELECT `Vip` FROM `login` WHERE `account_id` = '"+getcharid(3)+"'", @dias;
  109. query_sql ("SELECT `group_id` , `Vip` FROM `login` WHERE `account_id`='"+getcharid(3)+"'",@Out,@Vip);
  110. mes "[ ^0065DFGerente^000000 ]";
  111. mes " Bem vindo ^EEAD2D"+strcharinfo(0)+"^000000 !";
  112. mes "-----------------------------------";
  113. if(#CASHPOINTS<=0) mes "";
  114. else mes "Você atualmente possui ^EEAD2D"+#CASHPOINTS+"^000000 ROP's";
  115. if(@Vip<=60 && @Vip>0) {
  116. if(@Vip==1) mes "Você possui ^EEAD2D1^000000 minuto VIP restante.";
  117. else mes "Você possui ^EEAD2D"+@Vip+"^000000 minutos VIP restantes.";
  118. }
  119. if(@Vip<=1440 && @Vip>60) {
  120. @temp = @Vip/60;
  121. if(@temp==1) mes "Você possui ^EEAD2D1^000000 Hora VIP restante.";
  122. else mes "Você possui ^EEAD2D"+@temp+"^000000 Horas VIP restantes.";
  123. }
  124. if(@Vip>1440) {
  125. @temp = @Vip/1440;
  126. if(@temp==1) mes "Você possui ^EEAD2D1^000000 Dia VIP restante.";
  127. else mes "Você possui ^EEAD2D"+@temp+"^000000 Dias VIP restantes.";
  128. }
  129. if(@Out<=0) {
  130. mes "Vejo que você não é um usuário VIP.";
  131. mes "Se está interessado em se tornar um usuário Vip, se informe melhor em nosso site.";
  132. }
  133. mes "-----------------------------------";
  134. mes "Porfavor, escolha uma das opções.";
  135. next;
  136. @Menu$ = "Sala Vip:^FF4500Loja de ROP's^000000:"+(($@StorageVip==1)?"Senha no Armazém":"")+":Como obter ROP's:Cancelar:"+((getgmlevel()>=$@VipAc)?"Acesso ADM":"");
  137. switch(select(@Menu$)){
  138.  
  139. case 1:
  140. mes "[ ^0065DFGerente^000000 ]";
  141. if(getgroupid()<$@NvVip) {
  142. mes "Você não é um usuário VIP."; mes "Se está interessado em se tornar um usuário Vip, se informe melhor em nosso site.";
  143. close;
  144. }
  145. mes "Okay, estarei te teleportando para a Sala Vip neste exato momento.";
  146. mes "Tenha uma boa estádia lá.";
  147. close2;
  148. warp $@SalaVip$,$@CoordXY[0],$@CoordXY[1];
  149. end;
  150.  
  151. case 2:
  152. mes "[ ^0065DFGerente^000000 ]";
  153. mes "Tudo bem, irei abrir a Loja de ROP's para você.";
  154. close2;
  155. callshop "cash_shop",1;
  156. end;
  157.  
  158. case 3:
  159. if(getgroupid()>=1 && getgroupid()<=3) {
  160. if(#passstore==0) {
  161. mes "[ ^0065DFGerente^000000 ]";
  162. mes "Bem-vindo as configurações do acesso ao armazém.";
  163. mes "Vejo que você não possui uma senha para seu armazém.";
  164. mes "o que deseja fazer?";
  165. next;
  166. if(select("Criar senha","Sair")==2) {
  167. mes "[ ^0065DFGerente^000000 ]";
  168. mes "Caso mude de ideia estarei aqui para servi-lo.";
  169. close;
  170. }
  171. mes "[ ^0065DFGerente^000000 ]";
  172. mes "Certo, preciso que você digite a senha que deseja criar.";
  173. mes "Lembre-se, atualmente não temos como recuperar a senha caso você esqueça, então porfavor anote-a.";
  174. next;
  175. AgainPass:
  176. mes "[ ^0065DFGerente^000000 ]";
  177. mes "Digite a senha que deseja utilizar.";
  178. input @Senha$;
  179. next;
  180. mes "[ ^0065DFGerente^000000 ]";
  181. mes "Você digitou a senha:";
  182. mes " ^FF4500"+@Senha$+"^000000 ";
  183. mes "Ela está correta?";
  184. next;
  185. if(select("Sim","Não")==2) { goto AgainPass; }
  186. mes "[ ^0065DFGerente^000000 ]";
  187. mes "Prontinho, senha de armazém adicionada.";
  188. close2; #pass$ = @Senha$; #passstore = 1; end;
  189. }
  190. mes "[ ^0065DFGerente^000000 ]";
  191. mes "Bem-vindo as configurações do acesso ao armazém.";
  192. mes "Vejo que você já possui uma senha para seu armazém.";
  193. mes "o que deseja fazer?";
  194. next;
  195. switch(select("Mudar senha","Remover senha","Sair")) {
  196.  
  197. case 1:
  198. mes "[ ^0065DFGerente^000000 ]";
  199. mes "Muito bem, para que eu possa mudar a sua senha do armazém, preciso que você me informe a sua antiga senha.";
  200. next;
  201. mes "[ ^0065DFGerente^000000 ]";
  202. mes "Digite a sua antiga senha.";
  203. input @Senha$;
  204. next;
  205. if(@Senha$==#pass$) {
  206. AgainPass2:
  207. mes "[ ^0065DFGerente^000000 ]";
  208. mes "Tudo certo até o momento. Agora preciso que você digite a nova senha.";
  209. next;
  210. input @New$;
  211. next;
  212. mes "[ ^0065DFGerente^000000 ]";
  213. mes "Você digitou a senha:";
  214. mes " ^FF4500"+@New$+"^000000 ";
  215. mes "Ela está correta?";
  216. next;
  217. if(select("Sim","Não")==2) { goto AgainPass2; }
  218. mes "[ ^0065DFGerente^000000 ]";
  219. mes "Senha alterada com sucesso!";
  220. close2; #pass$ = @New$; end; }
  221. mes "[ ^0065DFGerente^000000 ]";
  222. mes "A senha que você digitou não coincide com a sua senha de armazém atual.";
  223. mes "Tente novamente mais tarde.";
  224. close;
  225.  
  226. case 2:
  227. mes "[ ^0065DFGerente^000000 ]";
  228. mes "Tem certeza que deseja remover a sua senha de armazém?";
  229. next;
  230. if(select("Sim","Não")==2) { mes "[ ^0065DFGerente^000000 ]"; mes "Caso mude de ideia estarei aqui para servi-lo."; close; }
  231. mes "[ ^0065DFGerente^000000 ]";
  232. mes "Prontinho, senha removida com sucesso.";
  233. close2; #passstore = 0; end;
  234.  
  235. case 3:
  236. mes "[ ^0065DFGerente^000000 ]";
  237. mes "Obrigado. Estarei sempre aqui quando precisar dos meus serviços.";
  238. close;
  239. }
  240. }
  241.  
  242. mes "[ ^0065DFGerente^000000 ]";
  243. mes "Usuários Vip podem optar por adicionar um ^EEAD2DCódigo^000000 no seu armazém caso preferir.";
  244. mes "É um metódo de segurança extra, principalmente para usuários que ecessam por computadores de terceiros.";
  245. next;
  246. mes "[ ^0065DFGerente^000000 ]";
  247. mes "Para obter as vantagens de um usuário Vip, basta entrar em nosso site.";
  248. mes "Lá você terá uma explicação mais detalhada de como se tornar um usuário Vip.";
  249. close;
  250.  
  251. case 4:
  252. mes "[ ^0065DFGerente^000000 ]";
  253. mes "Para obter ROP's, você terá que comprar em nosso site os pacotes disponível de ROP's.";
  254. mes "Lá estará todas as informações de como você irá adiquirir e como será a forma de pagamento.";
  255. next;
  256. mes "[ ^0065DFGerente^000000 ]";
  257. mes "Também irá saber todas as vantagens de como é ser um usuário VIP e a lista de Itens ROP's disponíveis.";
  258. mes "Há claro, você pode ver os itens ROP's disponíveis aqui comigo.";
  259. mes "Basta selecionar a opção ^EEAD2D'Loja de ROP's'^000000 no menu principal.";
  260. close;
  261.  
  262. case 5:
  263. mes "[ ^0065DFGerente^000000 ]";
  264. mes "Sempre que precisar estarei aqui para lhe atender.";
  265. mes "Obrigado e volte sempre!";
  266. close;
  267.  
  268. case 6:
  269. callfunc "Gerente#Syn",0;
  270. }
  271.  
  272. OnInit:
  273. if($@ChatVip==1) { waitingroom $@ChatMsgsVip$,0; }
  274. }
  275.  
  276. function script Gerente#Syn {
  277.  
  278. OnStartG:
  279. if(getgroupid()>=$@VipAc) {
  280. mes "[ ^0065DFGerente^000000 ]";
  281. mes "Olá "+strcharinfo(0)+".";
  282. mes "Sou o Gerente de dados do Servidor. Meu trabalho é facilitar a vida do pessoal da Administração.";
  283. mes "Porfavor, escolha a opção que você deseja executar.";
  284. next;
  285. switch(select("Gerenciar Vip's","Gerenciar CASH","Gerenciar Loja","Gerenciar Banimentos","Gerenciar Staff","Sair")) {
  286.  
  287. case 1:
  288. mes "[ ^0065DFGerente^000000 ]";
  289. mes "Nessa área tenho total poder de manipular os dados de acesso VIP no servidor.";
  290. mes "Basta você me indicar o que quer fazer que eu executo a ação.";
  291. mes "Porfavor escolha uma das opções.";
  292. next;
  293. switch(select("Adicionar acesso Vip","Remover acesso Vip","Ver Contas VIP","Retornar ao menu principal")) {
  294.  
  295. case 1:
  296. mes "[ ^0065DFGerente^000000 ]";
  297. mes "Ok, agora preciso coletar os dados da conta do usuário que você deseja adicionar o acesso.";
  298. mes "Digite o Login da Conta à qual irei adicionar acesso Vip.";
  299. next;
  300. input .@Conta$;
  301. query_sql ("SELECT `account_id` FROM `login` WHERE `userid`='"+.@Conta$+"'",.@ContaEx);
  302. if(.@ContaEx==0) {
  303. mes "^FF0000***ERROR***^000000";
  304. mes " "; mes "Você não digitou uma conta válida.";
  305. mes " "; mes "^FF0000Fechando conexão^000000";
  306. close;
  307. }
  308. next;
  309. mes "[ ^0065DFGerente^000000 ]";
  310. mes "Agora, digite a quantidade de dias que o usuário terá acesso Vip";
  311. mes "Conta: ^FF0000"+.@Conta$+"^000000."; mes " ";
  312. mes "^FF0000**Dica: Digite '0' para cancelar.^000000";
  313. next;
  314. input .@VipQ;
  315. if(.@VipQ==0) {
  316. mes "Ação cancelada.";
  317. mes " ";
  318. mes "^FF0000***Fechando conexão***^000000";
  319. close;
  320. }
  321. .@amVip = .@VipQ*1440;
  322. mes "[ ^0065DFGerente^000000 ]";
  323. mes "Tudo certo, processando os dados e adicionando os dias de acesso Vip.";
  324. next;
  325. mes "[ ^0065DFGerente^000000 ]";
  326. mes "Pronto, acesso adicionado!";
  327. mes " ";
  328. mes "Conta: ^FF0000"+.@Conta$+"^000000";
  329. mes "Dias: ^FF0000"+.@VipQ+"^000000.";
  330. query_sql ("SELECT `value` FROM `acc_reg_num_db` WHERE `key`='#VipOk' AND `account_id` = '"+.@ContaEx+"'",.@valor);
  331. if(getarraysize(.@valor)) { query_sql "UPDATE `acc_reg_num_db` SET `value` = '"+$@NvVip+"' WHERE `key`='#VipOk' AND `account_id` = '"+.@ContaEx+"'";
  332. }else{ query_sql "INSERT INTO `acc_reg_num_db` (`account_id`, `key`, `index`, `value`) VALUES ('"+.@ContaEx+"', '#VipOk', '0', '1')"; }
  333. query_sql ("UPDATE `login` SET `group_id`='"+$@NvVip+"',`Vip`=`Vip`+"+.@amVip+" WHERE `userid`='"+.@Conta$+"'");
  334. close;
  335.  
  336. case 2:
  337. mes "[ ^0065DFGerente^000000 ]";
  338. mes "Ok, agora preciso coletar os dados da conta do usuário que você deseja remover o acesso.";
  339. mes "Digite o Login da Conta.";
  340. next;
  341. input @AccRet$;
  342. query_sql ("SELECT `account_id` FROM `login` WHERE `userid`='"+@AccRet$+"'",.@NExiste);
  343. if (!.@NExiste) {
  344. mes "^FF0000***ERROR***^000000";
  345. mes " ";
  346. mes "Você não digitou uma conta válida.";
  347. mes " ";
  348. mes "^FF0000Fechando conexão^000000";
  349. close;
  350. }
  351. next;
  352. mes "[ ^0065DFGerente^000000 ]";
  353. mes "Agora, digite a quantidade de dias que serão removidos do usuário Vip.";
  354. mes "Conta: "+.@AccRet$+".";
  355. mes "^FF0000**Dica: Digite '0' para cancelar.^000000";
  356. next;
  357. input .@QRem;
  358. if(.@QRem==0) {
  359. mes "Ação cancelada.";
  360. mes " ";
  361. mes "^FF0000***Fechando conexão***^000000";
  362. close;
  363. }
  364. mes "[ ^0065DFGerente^000000 ]";
  365. mes "Eu irei remover: ^FF0000"+.@QRem+"^000000 dias da conta: ^FF0000"+@AccRet$+"^000000.";
  366. mes "Estes dados estão corretos?";
  367. next;
  368. if(select("Sim","Não")==1) {
  369. mes "[ ^0065DFGerente^000000 ]";
  370. mes "Tudo certo, processando os dados e removendo os dias de acesso Vip";
  371. mes " ";
  372. mes " ";
  373. mes "Comando efetuado com SUCESSO!";
  374. close2;
  375. .@RemDia = .@QRem*1440;
  376. query_sql ("UPDATE `login` SET `Vip`=`Vip`-"+.@RemDia+" WHERE `userid`='"+@AccRet$+"'");
  377. end;
  378. }
  379. mes "[ ^0065DFGerente^000000 ]";
  380. mes "Encerrando conexão...";
  381. mes "Limpando dados...";
  382. mes "Conexão encerrada!";
  383. close;
  384.  
  385. case 3:
  386. query_sql("SELECT `userid` , `Vip` FROM `login` WHERE `group_id`= "+$@NvVip+" ",@Vips$,@dias);
  387. for(@i = 0; @i < getarraysize(@Vips$); @i++){
  388. mes "-----------------------------------";
  389. mes "|-- ^FF0000"+@dias[@i]/1440+"^000000 Dias --> Conta: ^FF0000"+@Vips$[@i]+"^000000 ";
  390. }
  391. close;
  392.  
  393. case 4: goto OnStartG;
  394. }
  395.  
  396. case 2:
  397. mes "[ ^0065DFGerente^000000 ]";
  398. mes "Nessa área tenho total poder de manipular os dados de CASH do servidor.";
  399. mes "Basta você me indicar o que quer fazer que eu executo a ação.";
  400. mes "Porfavor escolha uma das opções.";
  401. next;
  402. switch(select("Adicionar CASHs","Remover CASHs","Voltar ao menu principal")) {
  403.  
  404. case 1:
  405. mes "[ ^0065DFGerente^000000 ]";
  406. mes "Ok, agora preciso coletar os dados da conta do usuário que irei adicionar os CASHs.";
  407. mes "Digite o Login da Conta.";
  408. next;
  409. input .@Conta$;
  410. query_sql ("SELECT `account_id` FROM `login` WHERE `userid`='"+.@Conta$+"'",.@ContaEx);
  411. if(.@ContaEx==0) {
  412. mes "^FF0000***ERROR***^000000";
  413. mes " ";
  414. mes "Você não digitou uma conta válida.";
  415. mes " ";
  416. mes "^FF0000Fechando conexão^000000";
  417. close;
  418. }
  419. query_sql ("SELECT `value` FROM `acc_reg_num_db` WHERE `key`='#CASHPOINTS' AND `account_id` = '"+.@ContaEx+"'",.@valor);
  420. mes "Essa conta possui "+.@valor+" CASHs.";
  421. mes "Digite a quantidade de CASH que deseja adicionar nesta conta.";
  422. mes "^FF0000**Dica: Digite '0' para cancelar.^000000";
  423. next;
  424. input .@cash;
  425. if(.@cash==0) {
  426. mes "Ação cancelada.";
  427. mes " ";
  428. mes "^FF0000***Fechando conexão***^000000";
  429. close;
  430. }
  431. mes "[ ^0065DFGerente^000000 ]";
  432. mes "Eu irei adicionar: ^FF0000"+.@cash+"^000000 CASH's na conta: ^FF0000"+.@Conta$+"^000000.";
  433. mes "Estes dados estão corretos?";
  434. next;
  435. if(select("Sim","Não")==2) {
  436. mes "[ ^0065DFGerente^000000 ]";
  437. mes "Encerrando conexão...";
  438. mes "Limpando dados...";
  439. mes "Conexão encerrada!";
  440. close;
  441. }
  442. if(getarraysize(.@valor)) { query_sql "UPDATE `acc_reg_num_db` SET `value` = `value` + '"+.@cash+"' WHERE `key`='#CASHPOINTS' AND `account_id` = '"+.@ContaEx+"'";
  443. }else{ query_sql "INSERT INTO `acc_reg_num_db` (`account_id`, `key`, `index`, `value`) VALUES ('"+.@ContaEx+"', '#CASHPOINTS', '0', '"+.@cash+"')"; }
  444. next;
  445. mes "[ ^0065DFGerente^000000 ]";
  446. mes "Comando efetuado com SUCESSO!";
  447. mes "CASHs adicionados.";
  448. close;
  449.  
  450. case 2:
  451. mes "[ ^0065DFGerente^000000 ]";
  452. mes "Ok, agora preciso coletar os dados da conta do usuário que irei remover os CASHs.";
  453. mes "Digite o Login da Conta.";
  454. next;
  455. input .@Conta$;
  456. query_sql ("SELECT `account_id` FROM `login` WHERE `userid`='"+.@Conta$+"'",.@ContaEx);
  457. if(.@ContaEx==0) {
  458. mes "^FF0000***ERROR***^000000";
  459. mes " ";
  460. mes "Você não digitou uma conta válida.";
  461. mes " ";
  462. mes "^FF0000Fechando conexão^000000";
  463. close;
  464. }
  465. mes "[ ^0065DFGerente^000000 ]";
  466. query_sql "SELECT `value` FROM `acc_reg_num_db` WHERE `key` ='#CASHPOINTS' AND `account_id` = '"+.@ContaEx+"'",.@valor;
  467. mes "Essa conta possui "+.@valor+" CASHs.";
  468. mes "Digite a quantidade de CASHs que deseja remover dessa conta.";
  469. mes "^FF0000**Dica: Digite '0' para cancelar.^000000";
  470. next;
  471. input .@cash;
  472. if(.@cash==0) {
  473. mes "Ação cancelada.";
  474. mes " ";
  475. mes "^FF0000***Fechando conexão***^000000";
  476. close;
  477. }
  478. mes "[ ^0065DFGerente^000000 ]";
  479. mes "Eu irei remover: ^FF0000"+.@cash+"^000000 CASH's da conta: ^FF0000"+.@Conta$+"^000000.";
  480. mes "Estes dados estão corretos?";
  481. next;
  482. if(select("Sim","Não")==2) {
  483. mes "[ ^0065DFGerente^000000 ]";
  484. mes "Encerrando conexão...";
  485. mes "Limpando dados...";
  486. mes "Conexão encerrada!";
  487. close;
  488. }
  489. if(.@valor < @cash) {
  490. mes "[ ^0065DFGerente^000000 ]";
  491. mes "Essa conta possui um valor menor do que você solicitou.";
  492. mes "Conexão encerrada";
  493. close;
  494. }
  495. if(getarraysize(.@valor)) { query_sql "UPDATE `acc_reg_num_db` SET `value` = `value` - '"+.@cash+"' WHERE `key`='#CASHPOINTS' AND `account_id` = '"+.@ContaEx+"'";
  496. }else{ query_sql "INSERT INTO `acc_reg_num_db` (`account_id`, `key`, `index`, `value`) VALUES ('"+.@ContaEx+"', '#CASHPOINTS', '0', '"+.@cash+"')"; }
  497. next;
  498. mes "[ ^0065DFGerente^000000 ]";
  499. mes "Comando efetuado com SUCESSO!";
  500. mes "CASHs removidos.";
  501. close;
  502.  
  503. case 3: goto OnStartG;
  504. }
  505. case 3:
  506. mes "[ ^0065DFGerente^000000 ]";
  507. mes "Nessa área posso adicionar e retirar itens da Loja de CASH.";
  508. mes "Basta você me indicar o que quer fazer que eu executo a ação.";
  509. mes "Porfavor escolha uma das opções.";
  510. next;
  511. switch(select("Adicionar Item","Retirar Item","Atualizar Itens")) {
  512.  
  513. case 1:
  514. mes "[ ^0065DFGerente^000000 ]";
  515. mes "Insira o ID do item.";
  516. input .@Id;
  517. next;
  518. if(getitemname(.@Id) == "null") {
  519. mes "[ ^0065DFGerente^000000 ]";
  520. mes "Não existe nenhum item com esse ID.";
  521. close;
  522. }
  523. mes "Insira o preço do item. (Cash)";
  524. input .@Qtd;
  525. if(.@Qtd == 0) {
  526. mes "[ ^0065DFGerente^000000 ]";
  527. mes "AVISO O ITEM ESTÁ SENDO VENDIDO GRATUITAMENTE!";
  528. }
  529. next;
  530. mes "[ ^0065DFGerente^000000 ]";
  531. mes "Item à adicionar ao Shop:";
  532. mes "^EEAD2D"+getitemname(.@Id)+"^000000";
  533. mes "ID do Item: ^EEAD2D"+.@Id+"^000000";
  534. mes "Preço: ^EEAD2D"+.@Qtd+" Cash's^000000";
  535. next;
  536. if(select("Prosseguir","Cancelar")==2) { close; }
  537. query_sql ("INSERT INTO `cash_shop` (nameid,price) VALUES ("+.@Id+","+.@Qtd+")");
  538. mes "[ ^0065DFGerente^000000 ]";
  539. mes "Item adicionado com sucesso.";
  540. callfunc "UpdateShop",0;
  541. close;
  542.  
  543. case 2:
  544. mes "[ ^0065DFGerente^000000 ]";
  545. mes "Insira o ID do item.";
  546. input .@Id;
  547. next;
  548. query_sql ("SELECT `id`,`nameid` FROM `cash_shop` WHERE `nameid`="+.@Id,.@Id1,.@Id2);
  549. mes "[ ^0065DFGerente^000000 ]";
  550. if(!.@Id2) {
  551. mes "Este item não existe no shop.";
  552. close;
  553. }
  554. mes "Item à retirar do Shop:";
  555. mes "^EEAD2D"+getitemname(.@Id)+"^000000";
  556. mes "ID do Item: ^EEAD2D"+.@Id+"^000000";
  557. next;
  558. if(select("Prosseguir","Cancelar")==2) { close; }
  559. query_sql ("DELETE FROM `cash_shop` WHERE `nameid`="+.@Id);
  560. npcshopdelitem "cash_shop",.@Id;
  561. next;
  562. mes "[ ^0065DFGerente^000000 ]";
  563. mes "Item retirado com sucesso.";
  564. callfunc "UpdateShop",0;
  565. close;
  566.  
  567. case 3:
  568. mes "[ ^0065DFGerente^000000 ]";
  569. mes "Deseja atualizar o Shop?";
  570. if(select("Não","Sim")==1) { close; };
  571. .@a = 1;
  572. callfunc "UpdateShop",0;
  573. next;
  574. mes "[ ^0065DFGerente^000000 ]";
  575. mes "Shop atualizado com sucesso.";
  576. close;
  577. }
  578.  
  579. case 4:
  580. mes "[ ^0065DFGerente^000000 ]";
  581. mes "Nessa área tenho total poder de Banir qualquer Conta do servidor.";
  582. mes "Basta você me indicar quem quer banir que eu executo a ação.";
  583. mes "Porfavor escolha uma das opções.";
  584. next;
  585. switch(select("Banir Conta","Desbanir Conta","Ver Contas Banidas","Retornar ao menu principal")) {
  586.  
  587. case 1:
  588. mes "[ ^0065DFGerente^000000 ]";
  589. mes "Ok, agora preciso coletar os dados da conta do usuário que irei Banir.";
  590. mes "Digite o Login da Conta.";
  591. next;
  592. input @ban$;
  593. query_sql ("SELECT `account_id` FROM `login` WHERE `userid`='"+@ban$+"'",.@NExiste);
  594. if(!.@NExiste){
  595. mes "^FF0000***ERROR***^000000";
  596. mes " ";
  597. mes "Você não digitou uma conta válida.";
  598. mes " ";
  599. mes "^FF0000Fechando conexão^000000";
  600. close;
  601. }
  602. mes "[ ^0065DFGerente^000000 ]";
  603. mes "Tem certeza que quer banir a conta: ^FF0000"+@ban$+"^000000?";
  604. next;
  605. if(select("Sim","Não")==1) {
  606. mes "Comando efetuado com SUCESSO!";
  607. mes "Conta Banida.";
  608. close2;
  609. query_sql ("SELECT `char_id` FROM `char` WHERE `account_id`='"+.@NExiste+"'",.@Kick);
  610. for(@i = 0; @i < getarraysize(.@Kick); @i++) {
  611. atcommand "@kick "+.@Kick[@i];
  612. }
  613. query_sql ("UPDATE `login` SET `state`='5' WHERE `userid`='"+@ban$+"'");
  614. end;
  615. }
  616. mes "[ ^0065DFGerente^000000 ]";
  617. mes "Encerrando conexão...";
  618. mes "Limpando dados...";
  619. mes "Conexão encerrada!";
  620. close;
  621.  
  622. case 2:
  623. next;
  624. mes "[ ^0065DFGerente^000000 ]";
  625. mes "Ok, agora preciso coletar os dados da conta do usuário que irei Desbanir.";
  626. mes "Digite o Login da Conta.";
  627. next;
  628. input @ban$;
  629. query_sql ("SELECT `account_id` FROM `login` WHERE `userid`='"+@ban$+"'",.@NExiste);
  630. if(!.@NExiste){
  631. mes "^FF0000***ERROR***^000000";
  632. mes " ";
  633. mes "Você não digitou uma conta válida.";
  634. mes " ";
  635. mes "^FF0000Fechando conexão^000000";
  636. close;
  637. }
  638. mes "[ ^0065DFGerente^000000 ]";
  639. mes "Comando efetuado com SUCESSO!";
  640. mes "Conta Desbanida.";
  641. close2;
  642. query_sql ("UPDATE `login` SET `state`='0' WHERE `userid`='"+@ban$+"'");
  643. end;
  644.  
  645. case 3:
  646. query_sql("SELECT `userid` FROM `login` WHERE `state`>=5",@ban$);
  647. for(@i = 0; @i < getarraysize(@ban$); @i++) {
  648. mes "-----------------------------------";
  649. mes "| --> ^FF0000"+@nBan$[@i]+"^000000 ";
  650. }
  651. close;
  652.  
  653. case 4: goto OnStartG;
  654. }
  655.  
  656. case 5:
  657. mes "[ ^0065DFGerente^000000 ]";
  658. mes "Escolha a posição de Staff que deseja adicionar.";
  659. next;
  660. switch(select("Administrador ^CD0000(99)^000000","Game Master ^CD0000(60)^000000","Game Helper ^CD0000(40)^000000","Retirar Staff","Retornar ao menu principal")) {
  661.  
  662. case 1: .@NvGM = 99; goto AddGM;
  663. case 2: .@NvGM = 10; goto AddGM;
  664. case 3: .@NvGM = 4; goto AddGM;
  665. case 4: .@NvGM = 0; goto AddGM;
  666.  
  667. AddGM:
  668. mes "[ ^0065DFGerente^000000 ]";
  669. mes "Digite o Login da conta.";
  670. next;
  671. input .@ContaGM$;
  672. query_sql ("SELECT `account_id` FROM `login` WHERE `userid`='"+.@ContaGM$+"'",.@nGM);
  673. if(.@nGM==0) { next; mes "A conta não existe."; close; }
  674. next;
  675. mes "[ ^0065DFGerente^000000 ]";
  676. if(.@NvGM==0) mes "Estou retirando a posição de staff na conta: '"+.@ContaGM$+"'.";
  677. else mes "Estou adicionando a posição de staff na conta: '"+.@ContaGM$+"'.";
  678. query_sql ("UPDATE `login` SET `group_id`='"+.@NvGM+"' WHERE `userid`='"+.@ContaGM$+"'");
  679. next;
  680. mes "[ ^0065DFGerente^000000 ]";
  681. if(.@NvGM==0) mes "Pronto, retirado.";
  682. else mes "Pronto, adicionado.";
  683. close;
  684.  
  685. case 5: goto OnStartG;
  686. }
  687.  
  688. case 6:
  689. next;
  690. mes "[ ^0065DFGerente^000000 ]";
  691. mes "Ok, até mais.";
  692. close;
  693. }
  694. }
  695. }
  696.  
  697. - script CtrlVip -1,{
  698.  
  699. OnClock0001:
  700. if($VipMode==2) {
  701. query_sql "UPDATE `login` SET `Vip`=`Vip`-1440 WHERE `group_id`='1'";
  702. sleep2 5000;
  703. query_sql "UPDATE `login` SET `group_id`='0' , `Vip`='0' WHERE `Vip`<='0' AND `group_id`='1'";
  704. }
  705. end;
  706.  
  707. OnPCLoginEvent:
  708. if(getgroupid()==$@VipAc) { end; }
  709. if(getgroupid()>=$@NvVip) { if($@ExpBonus==1) { sc_start SC_CASH_PLUSEXP,60000000,$@ExpRate[0]; } if($@ExpBonus==2) { sc_start SC_CASH_RECEIVEITEM,60000000,$@ExpRate[1]; } if($@ExpBonus==3) { sc_start SC_CASH_PLUSEXP,60000000,$@ExpRate[0]; sc_start SC_CASH_RECEIVEITEM,60000000,$@ExpRate[1]; }
  710. if($@VipGratis==1) { if(#VipFree!=1) { query_sql ("UPDATE `login` SET `Vip`='"+$@VipGDias+"'*'1440' , `group_id`='"+$@NvVip+"' WHERE `account_id`="+getcharid(3)+"");
  711. #VipFree = 1;
  712. #VipOk = 1;
  713. mes "[Sistema Vip]";
  714. mes "Você acaba de ganhar "+$@VipGDias+" dias de Vip!";
  715. mes "Para que a alterações sejam válidas você precisará relogar.";
  716. mes "Deseja relogar agora?";
  717. next;
  718. if(select("Sim","Não")==2){ mes "[Sistema Vip]"; mes "Bom jogo!"; close; }
  719. mes "[Sistema Vip]";
  720. mes "Relogando...";
  721. close2;
  722. atcommand "@kick "+getcharid(0); end; }
  723. }
  724. }
  725.  
  726. if($VipMode==1) {
  727. OnLoop:
  728. query_sql ("SELECT `group_id` , `Vip` FROM `login` WHERE `account_id`='"+getcharid(3)+"'",@Out,@Vip);
  729. @DiasOut = @Vip;
  730. if(@CheckLog!=1) { callfunc "CheckDias",0; @CheckLog = 1; }
  731. sleep2 60000;
  732. query_sql ("UPDATE `login` SET `group_id`='0' WHERE `Vip`<='0' AND `group_id`='"+$@NvVip+"' AND `account_id`="+getcharid(3)+"");
  733. if(@DiasOut<=0 && #VipOk==1) {
  734. #VipOk = 0;
  735. mes "[Sistema Vip]";
  736. mes "Seus dias de VIP acabaram.";
  737. mes "Recarregue para desfrutar das vantagens VIP.";
  738. mes " ";
  739. mes "Relogando conta para atualização do sistema.";
  740. sleep2 5000;
  741. atcommand "@kick "+getcharid(0); end; }
  742. if(@Out>=1 && @Out<=40) {
  743. @DiasOut = @DiasOut-1;
  744. query_sql ("UPDATE `login` SET `Vip`='"+@DiasOut+"' WHERE `account_id`="+getcharid(3)+"");
  745. if(@DiasOut<=5) { callfunc "CheckDias",0; }
  746. goto OnLoop;
  747. }
  748. goto OnLoop; end;
  749. }
  750. callfunc "CheckDias",0;
  751. end;
  752.  
  753. OnPCLogoutEvent:
  754. query_sql ("SELECT `Vip` , `group_id` FROM `login` WHERE `account_id`='"+getcharid(3)+"'",@Out,@Vip);
  755. if(@Out<0) { query_sql ("UPDATE `login` SET `Vip`='0' WHERE `account_id`="+getcharid(3)+""); end; }
  756. if(@Vip<=0) { query_sql ("UPDATE `login` SET `Vip`='0' WHERE `account_id`="+getcharid(3)+""); end; }
  757. end;
  758.  
  759. OnInit:
  760. sleep2 2000;
  761. for(.@c = 0;.@c < getarraysize($itens2);.@c = .@c+2){ npcshopdelitem "cash_shop",$itens2[.@c]; }
  762. callfunc "UpdateShop",0;
  763. }
  764.  
  765. function script CheckDias {
  766.  
  767. if(@Out>=1 && @Out<=3) {
  768. if(@Vip<=60 && @Vip>0) {
  769. @temp = @DiasOut;
  770. if(@temp<1) { dispbottom "[Sistema Vip]: Você tem alguns segundos VIP restante."; goto Retorno; end; }
  771. if(@temp==1) { dispbottom "[Sistema Vip]: Você tem 1 minuto VIP restante."; goto Retorno; end; }
  772. dispbottom "[Sistema Vip]: Você tem "+@temp+" minutos VIP restantes."; goto Retorno; end; }
  773.  
  774. if(@Vip<=1440 && @Vip>60) {
  775. @temp = @DiasOut/60;
  776. if(@temp==1) { dispbottom "[Sistema Vip]: Você tem 1 hora VIP restante."; goto Retorno; end; }
  777. dispbottom "[Sistema Vip]: Você tem "+@temp+" horas VIP restantes."; goto Retorno; end; }
  778.  
  779. if(@Vip>1440) {
  780. @temp = @DiasOut/1440;
  781. if(@temp==1) { dispbottom "[Sistema Vip]: Você tem 1 dia VIP restante."; goto Retorno; end; }
  782. dispbottom "[Sistema Vip]: Você tem "+@temp+" dias VIP restantes."; goto Retorno; end; }
  783. }
  784. Retorno:
  785. return;
  786. }
  787.  
  788. function script AddVip {
  789.  
  790. query_sql "SELECT `Vip` FROM `login` WHERE `account_id`='"+getarg(0)+"'",@Out;
  791. @dias = @Out+(1440*getarg(1));
  792. query_sql "UPDATE `login` SET `Vip`='"+@dias+"' , `group_id`='"+$@NvVip+"' WHERE `account_id`='"+getarg(0)+"'";
  793. dispbottom "[Sistema Vip]: Foram adicionados "+getarg(1)+" dias Vip com sucesso!";
  794. #VipOk = 1;
  795. if(getgroupid()<$@NvVip) {
  796. dispbottom "[Sistema Vip]: Relogando conta para aplicar as alterações!";
  797. sleep2 5000;
  798. atcommand "@kick "+getcharid(0);
  799. }
  800. }
  801.  
  802. - script VipCmd -1,{
  803. OnInit:
  804. bindatcmd "cmdvip",strnpcinfo(3)+"::OnAtcommand";
  805. if($@StorageVip==1) { bindatcmd "storage",strnpcinfo(3)+"::OnAtcommand2"; }
  806. end;
  807.  
  808. OnAtcommand:
  809. if(getgroupid()==$@VipAc) callfunc "Gerente#Syn",0;
  810. end;
  811. OnAtcommand2:
  812. if(getgroupid()>=1 && getgroupid()<=3) {
  813. if(#passstore==1) {
  814. dispbottom "Digite a senha do armazém.";
  815. input @pass$;
  816. if(@pass$==#pass$) { dispbottom "Acesso ao armazém liberado."; openstorage; end; }
  817. dispbottom "Senha inválida."; end; }
  818. }
  819. openstorage; end;
  820. }
  821.  
  822. function script UpdateShop {
  823. $@InitShop = 1;
  824. npcshopattach "cash_shop";
  825. npcshopdelitem "cash_shop",512;
  826. for(.@c = 0;.@c < getarraysize($@cash_shop);.@c++){
  827. npcshopdelitem "cash_shop",$@cash_shop[.@c];
  828. }
  829. query_sql ("SELECT `nameid` , `price` FROM `cash_shop` WHERE `id`<'129' ORDER BY `nameid` asc",$@cash_shop,$@valoritem);
  830. for(.@i = 0;.@i!=getarraysize($@cash_shop);.@i++) {
  831. npcshopadditem "cash_shop",$@cash_shop[.@i],$@valoritem[.@i];
  832. }
  833. if(getarraysize($@cash_shop)>=128) {
  834. query_sql ("SELECT `nameid` , `price` FROM `cash_shop` WHERE `id`>'127' ORDER BY `nameid` asc",$@cash_shop2,$@valoritem2);
  835. for(.@i = 0;.@i!=getarraysize($@cash_shop2);.@i++) {
  836. npcshopadditem "cash_shop",$@cash_shop2[.@i],$@valoritem2[.@i];
  837. }
  838. } return;
  839. }
  840.  
  841. - cashshop cash_shop -1,512:100
  842. //- Arena 04 --------------------------------------------
  843. job_wiz mapflag gvg off
  844. job_wiz mapflag nowarp
  845. job_wiz mapflag noteleport
  846. job_wiz mapflag nowarpto
  847. job_wiz mapflag nobranch
  848. job_wiz mapflag nosave SavePoint
  849. job_wiz mapflag nomemo
  850. job_wiz mapflag nopenalty
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement