Advertisement
johnlol

HC-Vip System2

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