Jump to content
Sign in to follow this  
4digo

Vip admin, cash e clock

Recommended Posts

Olá pessoal do Cronus, tudo bem ?
Resolvi abrir um servidor caseiro, mais pra jogar com os amigos e se for possivel futuramente abrir pro pessoal de fora porém, estou tendo alguns problemas com uns npcs e gostaria de saber se alguém poderia me dar uma ajudinha com eles pois eu não lembro onde eu consegui eles (talvez no google) na epoca e tem uns 4 anos pra mais e com essas mudanças fiquei meio perdido
Obs.. Eu achei alguns npcs de vip etc.. aqui no cronus mas eu queria algo simples tipo estes que tenho.
Se não for possivel usa-los, teria como alguém me ajudar a criar um com as mesmas funções ?
Obrigado desde já.

Controle Vip:

//==============================================================
prontera,149,184,5 script Controle Vip 60,{

if (groupid() < 99){
mes "[Vip Control]";
mes "Somente os Administradores podem usar meus serviços.";
close;
}

mes "[Vip Control]";
mes "Olá senhor "+ strcharinfo(0) +"!";
mes "Qual dos meus serviços deseja utilizar?";
next;
switch (select ("- Adicionar VIPs","- Deletar VIPs","- Listar VIPs","- Modificar VIPs","- Cancelar")){

case 1:
mes "[Vip Control]";
mes "Não se esqueça de inserir todos os dados necessários!";
next;
mes "[Vip Control]";
mes "Insira o Login da conta:";
next;
input @Login$;
mes "[Vip Control";
mes "Vou verificar se a conta existe.";
next;
query_sql "SELECT `userid` FROM `login` WHERE `userid` = '"+ @Login$ +"'", @logid$;
if (!getarraysize(@logid$)){
mes "[Vip Control]";
mes "Essa Conta não existe em nossa Database.";
close;
}
next;
mes "[Vip Control]";
mes "Tudo Ok, agora vou ver se essa conta já é Vip, aguarde um momento.";
next;
query_sql "SELECT `vip_id` FROM `viptable` WHERE `vip_id` = '"+ @Login$ +"'", @checkid$;
if (getarraysize(@checkid$)){
mes "[Vip Control]";
mes "Essa Conta já é uma conta VIP.";
close;
}

next;
mes "[Vip Control]";
mes "Ok, pode prosseguir com o VIP.";
next;

// Level do Vip
mes "[Vip Control]";
mes "Insira o Level do VIP: (Max: 3)";
next;
input @Level;
if (@Level <= 0) close;
if (@Level > 3){
mes "[Vip Control]";
mes "O level do VIP não pode ser maior que 3.";
close;
}

// Dias de Vip
mes "[Vip Control]";
mes "Insira os Dias de VIP: (Max: 365)";
input @Dias;
if (@Dias > 365){
mes "[Vip Control]";
mes "Você não pode dar mais de 1 ano de VIP por conta.";
close;
}

// Email do Vip
mes "[Vip Control]";
mes "Para terminar, insira o email COMPLETO do usuário:";
input @Email$;
next;
mes "[Vip Control]";
mes "Confirmando VIP:";
mes "ID do VIP: "+ @Login$ +".";
mes "Level do VIP: "+ @Level +".";
mes "Dias de VIP: "+ @Dias +".";
mes "Email do Usuário: "+ @Email$ +".";
next;
mes "[Vip Control]";
mes "Prosseguir com o VIP?";
next;
if (select("- Sim:- Não") == 2){
mes "[Vip Control]";
mes "VIP Cancelado.";
close;
}

// Inserindo VIP na DB
query_sql "SELECT `account_id` FROM `login` WHERE `userid` = '"+ @Login$ +"'", @AccID;
query_sql "INSERT INTO `viptable` (`vipacc_id`, `vip_id`, `days`, `email`) VALUES ('"+ @AccID +"', '"+ @Login$ +"', '"+ @Dias +"', '"+ @Email$ +"')";
query_sql "UPDATE `login` SET `level` = '"+ @Level +"' WHERE `userid` = '"+ @Login$ +"'";
atcommand "@reloadpcdb";
next;
mes "[Vip Control]";
mes "Vip inserido com Sucesso!";
close;

case 2:
mes "[Vip Control]";
mes "Insira o Login da Conta VIP:";
next;
input @Login$;
query_sql "SELECT `vip_id` FROM `viptable` WHERE `vip_id` = '"+ @Login$ +"'", @delid$;
if (!getarraysize(@delid$)){
mes "[Vip Control]";
mes "Esta conta VIP não existe.";
close;
}
query_sql "DELETE FROM `viptable` WHERE `vip_id` = '"+ @Login$ +"'";
query_sql "UPDATE `login` SET `level` = '0' WHERE `userid` = '"+ @Login$ +"'";
atcommand "@reloadpcdb";
next;
mes "[Vip Control]";
mes "Vip Deletado com Sucesso!";
close;

case 3:
query_sql "SELECT COUNT(1) FROM `login` WHERE `sex` != 'S' AND `level` <= '3'", @Total;
mes "[VIP Control]";
mes "Temos um Total de: ^00FF00"+ @Total +"^000000";
mes "Que são:";
query_sql "SELECT `viptable`.`vipacc_id`, `viptable`.`vip_id`, `viptable`.`days` FROM `viptable` LEFT JOIN `login` ON `viptable`.`vipacc_id` = `login`.`account_id` ORDER BY `days` DESC LIMIT 100", @AccID, @Login$, @Dias;
for(set @i, 0; @i < getarraysize(@Login$); set @i, @i + 1){
mes @i+1+". "+@Login$[@i]+" - "+@Dias[@i]+" dias restantes.";
}
close;

case 4:
mes "[Vip Control]";
mes "Deseja Alterar oque?";
next;
switch(select ("- Dias do VIP","- Email do VIP","- Level do VIP")){

case 1:
mes "[Vip Control]";
mes "Insira o Login da Conta VIP:";
input @Login$;
query_sql "SELECT `vip_id` FROM `viptable` WHERE `vip_id` = '"+ @Login$ +"'", @alterid$;
if (!getarraysize(@alterid$)){
mes "[Vip Control]";
mes "Esta conta VIP não existe.";
close;
}

query_sql "SELECT `days` FROM `viptable` WHERE `vip_id` = '"+ @Login$ +"'", @Restante;
mes "[Vip Control]";
mes "Esta conta ainda tem "+ @Restante +" dias de VIP.";
mes "Insira o novo número de dias: (Max: 365)";
input @Dias;
if (@Dias > 365){
mes "[Vip Control]";
mes "Você não pode dar mais de 1 ano aos VIPs.";
close;
}

query_sql "UPDATE `viptable` SET `days` = '"+ @Dias +"' WHERE `vip_id` = '"+ @Login$ +"'";
mes "[Vip Control]";
mes "Dias Alterados com sucesso!";
next;
mes "[Vip Control]";
mes "O novo número de dias desta conta VIP é: "+ @Dias +".";
close;


case 2:
mes "[Vip Control]";
mes "Insira o Login da Conta:";
input @Login$;
query_sql "SELECT `vip_id` FROM `viptable` WHERE `vip_id` = '"+ @Login$ +"'", @mailid$;
if (!getarraysize(@mailid$)){
mes "[Vip Control]";
mes "Esta conta VIP não existe.";
close;
}

mes "[Vip Control]";
mes "Insira o NOVO email da conta:";
input @Email$;
next;
query_sql "UPDATE `viptable` SET `email` = '"+ @Email$ +"' WHERE `vip_id` = '"+ @Login$ +"'";
mes "[Vip Control]";
mes "Email alterado com sucesso!";
next;
mes "[Vip Control]";
mes "O novo email desta conta VIP é: "+ @Email$ +".";
close;


case 3:
mes "[Vip Control]";
mes "Insira o Login da Conta:";
input @Login$;
query_sql "SELECT `vip_id` FROM `viptable` WHERE `vip_id` = '"+ @Login$ +"'", @levelid$;
if (!getarraysize(@levelid$)){
mes "[Vip Control]";
mes "Esta conta VIP não existe.";
close;
}

mes "[Vip Control]";
mes "Insira o NOVO level da conta:";
input @Level;
if (@Level > 3){
mes "[Vip Control]";
mes "O level do VIP não pode ser maior que 3!";
close;
}

query_sql "UPDATE `login` SET `level` = '"+ @Level +"' WHERE `userid` = '"+ @Login$ +"'";
mes "[Vip Control]";
mes "Level do VIP alterado com sucesso.";
next;
mes "[Vip Control]";
mes "O novo level da conta vip é: "+ @Level +".";
atcommand "@reloadpcdb";
close;

default:
mes "[Vip Control]";
mes "^FF0000- ERRO -^000000";
mes "Contacte o Administrador para solução, e tire uma SS deste menu.";
close;
}


case 5:
mes "[Vip Control]";
mes "Volte quando quiser!";
close;

default:
mes "[Vip Control]";
mes "^FF0000- ERRO -^000000";
mes "Contacte o Administrador para solução, e tire uma SS deste menu.";
close;
}
}


E este é o Entregador de ROPs


//==============================================================
prontera,140,176,5 script Entregador de ROPs 842,{

set .n$, "[Entrador de ROPs]";
set .@w$, "http:site do servidor/";

if ( groupid() < 99 ) {
mes .n$;
mes "Seu saldo atual é de : ^4169E1" + #CASHPOINTS + "^000000 ROPs.";
if ( #CASHPOINTS == 0 )
mes "Para saber como adquírir ROPs, acesse : ^4169E1" + .@w$;
else
mes "Para saber como adquírir mais ROPs, acesse : ^4169E1" + .@w$;
close;
}
mes .n$;
mes "Bem-vindo, " + strcharinfo( 0 );
mes "Você deseja fazer alguma entrega de ROPs?";
next;
if ( select ( "Sim.:Não." ) == 2 ) close;
next;
mes .n$;
mes "Digite o nome do jogador que irá receber os ROPs:";
next;
input .@nome$;
query_sql "SELECT `account_id`,`name` FROM `char` WHERE `name` = '" + escape_sql( .@nome$ ) + "'", .@a_id, .@nome$;
if ( !.@a_id ) {
mes .n$;
mes "O nome do jogador digitado não foi encontrado.";
close;
}
next;
mes .n$;
mes "Digite a quantia de ROPs que será enviada para o jogador : ^4169E1 " + .@nome$;
next;
input .@qnt;
if ( .@qnt < 1 ) {
mes .n$;
mes "Você precisa digitar algum número.";
close;
}
mes .n$;
mes "Confirme a entrega:";
mes "Quantidade de ROPs: ^4169E1" + .@qnt;
mes "^000000Nome do jogador: ^4169E1" + .@nome$;
next;
if ( select ( "Confirmar.:Cancelar." ) == 2 ) close;

set .@AID, playerattached( );

if ( attachrid ( .@a_id ) ) {
set #CASHPOINTS, #CASHPOINTS + .@qnt;
dispbottom "Entrador de ROPs : Você acaba de receber " + .@qnt + " ROPs. Saldo atual : " + #CASHPOINTS + " ROPs.";

} else {

query_sql "SELECT COUNT(`account_id`) FROM `global_reg_value` WHERE `str`='#CASHPOINTS' AND `account_id`='" + .@a_id + "'", .@ud;
if ( .@ud )
query_sql "UPDATE `global_reg_value` SET `value` = (CAST(`value` AS UNSIGNED)+'"+ .@qnt + "') WHERE `str`='#CASHPOINTS' AND `account_id`='" + .@a_id + "'";
else
query_sql "INSERT INTO `global_reg_value` (`str`,`value`,`type`,`account_id`) VALUES ('#CASHPOINTS'," + .@qnt + ",2," + .@a_id + ")";

}
attachrid( .@AID );
mes .n$;
mes "Pronto.";
mes "A quantia de ^4169E1" + .@qnt + "^000000 ROPs acaba de ser entregue ao jogador : ^4169E1" + .@nome$;
close;
}




E este é o clock

//==============================================================
- script VipClock -1,{
end;

OnClock0000:
query_sql "UPDATE `viptable` SET `days` = `days` - '1'";
end;
}

- script OnPCLoginEvent -1,{
OnPCLoginEvent:
if (groupid() < 1 || groupid() > 3) end;
query_sql "SELECT `days` FROM `viptable` WHERE `vipacc_id` = '"+ getcharid(3) +"'", @Dias;
if (@Dias <= 0){
query_sql "DELETE FROM `viptable` WHERE `vipacc_id` = '"+ getcharid(3) +"'";
query_sql "UPDATE `login` SET `level` = '0' WHERE `account_id` = '"+ getcharid(3) +"'";
atcommand "@reloadpcdb";
mes "[MeuServerRO Control]";
mes "Desculpe, seus dias VIPs acabaram, obrigado por ser um jogador vip do MeuServerRO.";
close;
}

// Mensagem ao Logar
mes "[MeuServerRO VIPS]";
mes "Você ainda tem "+@Dias+" de VIP sobrando.";
close;
}



Share this post


Link to post
Share on other sites

mano em alguns lugar voce coloco

if ( groupid() < 99 ) {

e o certo e assim

if ( getgroupid() < 99 ) {

Share this post


Link to post
Share on other sites

mano em alguns lugar voce coloco

if ( groupid() < 99 ) {

e o certo e assim

if ( getgroupid() < 99 ) { 

Então, modifiquei e mesmo problema e os dois npcs não aparecem =/

Edited by 4digo

Share this post


Link to post
Share on other sites

mano em alguns lugar voce coloco

if ( groupid() < 99 ) {

e o certo e assim

if ( getgroupid() < 99 ) { 

Então, modifiquei e mesmo problema e os dois npcs não aparecem =/

1º - Você adicionou as tabulações: Ex: prontera,149,184,5<tecla_tab>script<tecla_tab>Controle Vip<tecla_tab>60,{

2º - Verifique o console do Emulador, e veja se aparece algum erro!!!

Share this post


Link to post
Share on other sites

1º - Você adicionou as tabulações: Ex: prontera,149,184,5<tecla_tab>script<tecla_tab>Controle Vip<tecla_tab>60,{

2º - Verifique o console do Emulador, e veja se aparece algum erro!!!

Nenhum erro no emulador e sim, estão com as tabulações. =/

Share this post


Link to post
Share on other sites
Sign in to follow this  

Seja bem vindo ao Cronus-Emulator.
É sempre um prazer te-lo conosco.
Você pode visualizar nossas áreas de suporte para encontrar suas soluções sem a necessidade de se registrar!
Registrando em nossa comunidade, você poderá conhecer mais sobre nosso projeto, criar tópicos, responder tópicos existentes, baixar milhares de recursos em nosso sistema de downloads, participar de nossa comunidade, customizar seu perfil e muito mais... Se você já possui uma conta, faça seu login - ou crie uma conta. Também temos integração com Google+ e Facebook.

×
×
  • Create New...