Jump to content
Sign in to follow this  
Worn

Entrada vip

Recommended Posts

Estou com o npc vip e estou com esse erro ou bug não sei, pessoas level 1 consegue entrar na sala vip até ai tudo bem, porém eu com conta gm lvl 99 não consigo entrar, nen acessar o menu de adiciona vips, e pessoas level 0 também consegue acessa a sala vip mudei os operadores " > " " < " ">=" e continua mesma coisa

//OnInit://// Level Mínimo de GM para ele poder mecher no Sistema VIP in-game:// Lembre-se: alem do Level Minimo o GM terá também que saber a// senha. ( deffault: 80 )set $minlvgm,"80";//// Level da conta VIP (deffault: 1)set $levelvip, 1;//// Seu emulador possui o comando: @reloadgmdb ?// (0 para não, 1 para sim) (deffault: 0)set $reload, 0;//// Senha para mexer no Sistema VIP in-game :set $vipsen$,"minha senha";//// Quantidade de contas a mostrar por página// na opção de listar contas vips.// Maximo: 100 por página. ( deffault: 30 )set $mesVIPs, 30;//// Coordenadas da Sala VIP :set $mapavip$,"sec_in02.gat";set $cordx,137;set $cordy,161;//// Site do seu servidor :// OBSERVAÇÂO, se não houver deixe em branco (como está).set $site$,"http://www.site.com";////Nome do npc:set $namenpc$, "^CD0000[Porteiro VIP]^000000";//end;////============================================================}prontera.gat,165,169,3	script	Porteiro VIP#1-1::porteiro	803,{if (getgroupid() > $levelvip){mes $namenpc$;mes "Você não é VIP";    if ($site$ == ""){mes "Informe-se como ser VIP!";} else {mes "Entre no site ^FF0000"+$site$+"^000000 e saiba como ser VIP !";}close;}set .@loop,1;while(.@loop){mes $namenpc$;mes "Olá "+strcharinfo(0)+"!";mes "O que deseja?";next;if (getgroupid() > $minlvgm)set .@menu$,select("- Entrar na sala VIP","- Administrar VIPs","","- Nada");elseset .@menu$,select("- Entrar na sala VIP","","- Dias restantes de VIP","- Nada");switch(.@menu$){        Case 1:            next;            mes $namenpc$;            mes "Você gostaria de ir para sala vip?";            if(select("- Sim:- Não") == 1){            warp $mapavip$,$cordx,$cordy; end;            }            next;            break;                    Case 2:            next;            mes ""+$namenpc$+" - ^FF0000Administração^000000";            mes "inpute a senha para acessar essa Area:";            input @admvipssenha$;            next;            if (@admvipssenha$ != $vipsen$){            mes ""+$namenpc$+" - ^FF0000Administração^000000";            mes "Senha Incorreta!";            next;            break;            }            mes ""+$namenpc$+" - ^FF0000Administração^000000";            mes "Senha Correta...";            mes "Levando à Administração de Contas VIP...";            set .@loop2,1;            while(.@loop2) {            next;            mes ""+$namenpc$+" - ^FF0000Administração^000000";            mes "Oque você gostaria de fazer?";            switch(select("- Adicionar VIP:- Editar conta VIP:- Listar contas VIP:- Total de Contas VIP:- Opções Extras:- Sair")){                Case 1:                    set .@loop6,1;                    while(.@loop6) {                    next;                    mes ""+$namenpc$+" - ^FF0000Administração^000000";                    mes "Como deseja adicionar a VIP?";                    switch(select("- Pelo Login:- Nome de um Char:- Voltar")){                                                Case 1:                            next;                            mes ""+$namenpc$+" - ^FF0000Administração^000000";                                mes "inpute o Login da Conta que deseja Adicionar:";                            mes "Observação: Não é possível adicionar conta que ja é VIP.";                            input @login$;                            next;                            set @accid,0;                            set @acclogin$,"";                            query_sql "SELECT `account_id` FROM `login` WHERE `group_id`='0' AND `diasvip`='0' AND `userid`='"+@login$+"'",@accid;                            if (@accid[0] == 0){                            mes ""+$namenpc$+" - ^FF0000Administração^000000";                            mes "Está conta não existe ou ja é VIP!";                            break;                            }                            query_sql "SELECT `userid` FROM `login` WHERE `account_id`='"+@accid+"'",@acclogin$;                            mes ""+$namenpc$+" - ^FF0000Administração^000000";                            mes "^FF0000ID da conta : ^000000"+@accid+"";                            mes "^FF0000Login : ^000000"+@acclogin$+"";                            mes "Quantos dias VIP deseja adicionar a essa conta?";                            mes "Observação: Não existe dias VIP 0";                            input @numdias;                            next;                            if (@numdias == 0){                            mes ""+$namenpc$+" - ^FF0000Administração^000000";                            mes "Não é possível adicionar 0 dia(s) VIP!";                            break;                            }                            mes ""+$namenpc$+" - ^FF0000Administração^000000";                            mes "Adicionar ^FF0000"+@numdias+"^000000 dia(s) VIP à conta de ^FF0000"+@acclogin$+"^000000.";                            mes "Proseguir?";                            if(select("- Sim:- Não") == 2) break;                            query_sql "UPDATE `login` SET `group_id`='"+$levelvip+"',`diasvip`='"+@numdias+"' WHERE `account_id`='"+@accid+"'";                            next;                            if($reload) atcommand "@reloadgmdb";                            mes ""+$namenpc$+" - ^FF0000Administração^000000";                            mes "Conta VIP adicionada!";                            break;                                                    Case 2:                            next;                            mes ""+$namenpc$+" - ^FF0000Administração^000000";                                mes "inpute o nome do Char que deseja Adicionar VIP:";                            mes "Observação: Não é possível adicionar VIP a chars VIP.";                            input @name$;                            next;                            set @accid2,0;                            set @acclogin2$,"";                            query_sql "SELECT `account_id` FROM `char` WHERE `name`='"+@name$+"'",@accid2;                            if (@accid2[0] == 0){                            mes ""+$namenpc$+" - ^FF0000Administração^000000";                            mes "Este char não existe!";                            break;                            }                            query_sql "SELECT `userid` FROM `login` WHERE `group_id`='0' AND `diasvip`='0' AND `account_id`='"+@accid2+"'",@acclogin2$;                            if (@acclogin2$[0] == ""){                            mes ""+$namenpc$+" - ^FF0000Administração^000000";                            mes "A conta referente a este char ja é VIP!";                            break;                            }                            query_sql "SELECT `name` FROM `char` WHERE `account_id`='"+@accid2+"'",@charname$;                            mes ""+$namenpc$+" - ^FF0000Administração^000000";                            mes "O char: ^FF0000"+@charname$+"^000000 pertence a:";                            mes "^FF0000ID da conta : ^000000"+@accid2+"";                            mes "^FF0000Login : ^000000"+@acclogin2$+"";                            mes "Quantos dias VIP deseja adicionar a essa conta?";                            mes "Observação: Não existe dias VIP 0";                            input @numdias2;                            next;                            if (@numdias2 == 0){                            mes ""+$namenpc$+" - ^FF0000Administração^000000";                            mes "Não é possível adicionar 0 dia(s) VIP!";                            break;                            }                            mes ""+$namenpc$+" - ^FF0000Administração^000000";                            mes "Adicionar ^FF0000"+@numdias2+"^000000 dia(s) VIP à conta de ^FF0000"+@acclogin2$+"^000000 cujo char pertencente é: ^FF0000"+@charname$+"^000000.";                            mes "Proseguir?";                            if(select("- Sim:- Não") == 2) break;                            query_sql "UPDATE `login` SET `group_id`='"+$levelvip+"',`diasvip`='"+@numdias2+"' WHERE `account_id`='"+@accid2+"'";                            next;                            if($reload) atcommand "@reloadgmdb";                            mes ""+$namenpc$+" - ^FF0000Administração^000000";                            mes "Conta VIP adicionada!";                            break;                                                Case 3:                            set .@loop6,0;                            break;                                        }                    }                    break;                                                        Case 2:                    next;                    mes ""+$namenpc$+" - ^FF0000Administração^000000";                    mes "inpute o Login da Conta que você deseja editar:";                    mes "Observação: Não é possível editar contas que não são VIPs.";                    input @login$;                    set @accid,0;                    set @diasr,0;                    set @acclogin$,"";                    set @EColor$, "^000000";                    query_sql "SELECT `account_id` FROM `login` WHERE `group_id`='"+$levelvip+"' AND `userid`='"+@login$+"'",@accid;                    if (@accid[0] == 0) {                    next;                    mes ""+$namenpc$+" - ^FF0000Administração^000000";                    mes "Está conta não é VIP ou não existe!";                    break;                    }                    set .@loop3,1;                    while(.@loop3) {                    next;                    query_sql "SELECT `userid` FROM `login` WHERE `account_id`='"+@accid+"'",@acclogin$;                    query_sql "SELECT `diasvip` FROM `login` WHERE `account_id`='"+@accid+"'",@diasr;                    mes ""+$namenpc$+" - ^FF0000Administração^000000";                    mes "A conta selecionada foi:";                    if (@diasr[0] <= 1) Set @Color$, "^FF0000";                    if (@diasr[0] >= 2 && @diasr[0] < 7) Set @Color$, "^FFA200";                    if (@diasr[0] >= 7 && @diasr[0] < 15) Set @Color$, "^C4CB00";                    if (@diasr[0] >= 15) Set @Color$, "^008000";                    mes "===========================";                    mes "ID da conta: "+ @Color$ + @accid + @EColor$;                    mes "Login da conta: "+ @Color$ + @acclogin$ + @EColor$;                    mes "Dias VIPs restantes: "+ @Color$ + @diasr + @EColor$;                    mes "===========================";                    mes "O que deseja fazer?";                    switch(select("- Editar dias VIP:- Cancelar conta VIP:- Voltar")){                        Case 1:                            next;                            mes ""+$namenpc$+" - ^FF0000Administração^000000";                            mes "Modificar Dias VIPs restantes da";                            mes "Conta: ^FF0000"+@acclogin$+"^000000 de ^FF0000"+@diasr+"^000000 dia(s) VIP";                            mes "Para?";                            mes "Observação: Não da para modificar para 0 dias VIP!";                            input @numdiase;                            next;                            if (@numdiase == 0){                            mes ""+$namenpc$+" - ^FF0000Administração^000000";                            mes "Não é possível modificar para 0 dia(s) VIP!";                            break;                            }                            mes ""+$namenpc$+" - ^FF0000Administração^000000";                            mes "Modificar de ^FF0000"+@diasr+"^000000 dia(s) VIP para ^FF0000"+@numdiase+"^000000 dia(s) VIP ?";                            if(select("- Sim:- Não") == 2) break;                            query_sql "UPDATE `login` SET `diasvip`='"+@numdiase+"' WHERE `account_id`='"+@accid+"'";                            next;                            if($reload) atcommand "@reloadgmdb";                            mes ""+$namenpc$+" - ^FF0000Administração^000000";                            mes "Dias Restantes VIP modificado!";                            break;                        Case 2:                            next;                            mes ""+$namenpc$+" - ^FF0000Administração^000000";                            mes "Deseja cancelar a VIP da";                            mes "Conta: ^FF0000"+@acclogin$+"^000000 ?";                            if(select("- Sim:- Não") == 2) break;                            query_sql "UPDATE `login` SET `group_id`='0',`diasvip`='0' WHERE `account_id`='"+@accid+"'";                            next;                            if($reload) atcommand "@reloadgmdb";                            mes ""+$namenpc$+" - ^FF0000Administração^000000";                            mes "Vip Cancelada!";                            break;                                                        Case 3:                            set .@loop3,0;                            break;                        }                    }                    break;                Case 3:                    set .@Page, 0;                    set .@Found, 0;                    set .@loop5,1;                    while(.@loop5){                    deleteArray .@UserID$[0], 128;                    deleteArray .@AccID[0], 128;                    deleteArray .@VipDia[0], 128;                    if ($mesVIPs > 100) Set $mesVIPs, 100;                    set @EColor$, "^000000";                    set .@Page, .@Page + 1;                    next;                    mes ""+$namenpc$+" - ^FF0000Administração^000000";                    mes "Lista de Contas VIPs:";                    query_Sql "SELECT `userid`, `account_id`, `diasvip` FROM `login` WHERE `group_id`='"+$levelvip+"' LIMIT " + (.@Page - 1) * $mesVIPs + ", " + ($mesVIPs + 1), .@UserID$, .@AccID, .@VipDia;                    for (Set .@i, 0; .@i < $mesVIPs; Set .@i, .@i + 1) {                        if (.@VipDia[.@i] <= 1) Set @Color$, "^FF0000";                        if (.@VipDia[.@i] >= 2 && .@VipDia[.@i] < 7) Set @Color$, "^FFA200";                        if (.@VipDia[.@i] >= 7 && .@VipDia[.@i] < 15) Set @Color$, "^C4CB00";                        if (.@VipDia[.@i] >= 15) Set @Color$, "^008000";                        if (.@AccID[.@i]) {                        mes "ID da conta: "+ @Color$ + .@AccID[.@i] + @EColor$;                        mes "Login da conta: "+ @Color$ + .@UserID$[.@i] + @EColor$;                        mes "Dias VIPs restantes: "+ @Color$ + .@VipDia[.@i] + @EColor$;                        mes "===========================";                        set .@Found, 1;                        }                    }                    setArray .@Mnu$[0], "", "";                    if (.@Page > 1) Set .@Mnu$[0], "- Página anterior";                    if (.@AccID[$mesVIPs]) Set .@Mnu$[1], "- Próxima página";                    if (!.@Found) mes "Não existe nenhum VIP ainda.";                    switch(select(""+.@Mnu$[0]+"",""+.@Mnu$[1]+"","- Voltar")){                                                Case 1:                            set .@Page, .@Page - 2;                            break;                                                Case 2:                            break;                        Case 3:                        set .@loop5,0;                        break;                        }                    }                    break;                Case 4:                    next;                    set @totalvip,0;                    set @desbug,0;                    query_sql "SELECT COUNT(1) FROM `login` WHERE `group_id`='"+$levelvip+"'",@totalvip;                    query_sql "SELECT COUNT(1) FROM `login` WHERE `group_id`='"+$levelvip+"' AND `diasvip`<= '0'",@desbug;                    if (@desbug[0] > 0){                    mes ""+$namenpc$+" - ^FF0000Administração^000000";                    mes "Seu servidor tem um total de ^008000"+@totalvip+"^000000 conta VIP, mas há ^FF0000"+@desbug+"^000000 contas VIP que eram para estar canceladas.";                    mes "Deseja cancelar as Contas VIPs com dias acabados?";                    if(select("- Sim:- Não") == 2) break;                    query_sql "UPDATE `login` SET `group_id`='0' WHERE `diasvip`<='0' AND `group_id`='"+$levelvip+"'";                    next;                    if($reload) atcommand "@reloadgmdb";                    mes ""+$namenpc$+" - ^FF0000Administração^000000";                    mes "Contas com dias vip acabados canceladas com sucesso.";                    break;                    }                    mes ""+$namenpc$+" - ^FF0000Administração^000000";                    mes "Seu servidor tem um total de ^008000"+@totalvip+"^000000 conta VIP.";                    select("- Voltar");                    break;                                    Case 5:                    set .@loop4,1;                    while(.@loop4) {                    next;                    mes ""+$namenpc$+" - ^FF0000Administração^000000";                    mes "O que deseja fazer?";                    switch(select("- Processar Contas VIP:- Cancelar TODAS contas VIPs:- Voltar")){                                    Case 1:                            next;                            mes ""+$namenpc$+" - ^FF0000Administração^000000";                            mes "Processando as Contas VIP você ";                            mes "retirará 1 dia de todas contas VIP ";                            mes "e se alguma conta chegar a 0 dias VIP ";                            mes "ela será cancelada.";                            mes "Deseja fazer isto?";                            if(select("Sim:Não") == 2) break;                            query_sql "UPDATE `login` SET `diasvip`=`diasvip`-1 WHERE `group_id`='"+$levelvip+"'";                            query_sql "UPDATE `login` SET `group_id`='0' WHERE `diasvip`<='0' AND `group_id`='"+$levelvip+"'";                            next;                            if($reload) atcommand "@reloadgmdb";                            mes ""+$namenpc$+" - ^FF0000Administração^000000";                            mes "Contas Processadas com sucesso!";                            break;                        Case 2:                            next;                            mes ""+$namenpc$+" - ^FF0000Administração^000000";                            mes "Fazendo isto você irá cancelar";                            mes "TODAS contas VIP do servidor.";                            mes "Deseja fazer isto?";                            if(select("Sim:Não") == 2) break;                            query_sql "UPDATE `login` SET `group_id`='0',`diasvip`='0' WHERE `group_id`='"+$levelvip+"'";                            next;                            if($reload) atcommand "@reloadgmdb";                            mes ""+$namenpc$+" - ^FF0000Administração^000000";                            mes "Todas as contas VIP foram Canceladas!";                            break;                                    Case 3:                            set .@loop4,0;                            break;                        }                    }                    break;                Case 6:                    set .@loop2,0;                    break;                }            }            close;        Case 3:            next;            query_sql "SELECT `diasvip` FROM `login` WHERE `account_id` = '"+ getcharid(3) +"'", @dias;            if (@dias[0] <= 5){            mes $namenpc$;            mes "Você só tem "+@dias+" dia(s) de VIP restando,";            mes "recarregue sua VIP e Ajude o Servidor !!!";            select("- Voltar");            next;            break;            }            mes $namenpc$;            mes "Você ainda tem "+@dias+" dia(s) de VIP.";            select("- Voltar");            next;            break;                Case 4:            next;            mes $namenpc$;            mes "Ok! Volte quando quiser!";            set .@loop,0;            break;    }}close;OnInit:waitingroom "Porteiro VIP",0;    end;}-	script	SVRO#T-1	-1,{    end;OnClock0001:    query_sql "UPDATE `login` SET `diasvip`=`diasvip`-1 WHERE `group_id`='"+$levelvip+"'";    end;OnClock0002:    query_sql "UPDATE `login` SET `group_id`='0' WHERE `diasvip`<='0' AND `group_id`='"+$levelvip+"'";    if($reload) atcommand "@reloadgmdb";    end;}-	script	SVRO#L-1	-1,{OnPCLoginEvent:    if(getgroupid() != $levelvip) end;    query_sql "SELECT `diasvip` FROM `login` WHERE `account_id` = '"+ getcharid(3) +"'", @dias;    if (@dias[0] <= 5){    dispbottom "[Controle VIP]";    dispbottom "Você só tem "+@dias+" dia(s) de VIP restando,";    dispbottom "Recarregue sua VIP e Ajude o Servidor !!!";    end;    }    dispbottom "[Controle VIP]";    dispbottom "Você ainda tem "+@dias+" dia(s) de VIP.";    end;}que_temsky,143,135,5	duplicate(porteiro)	Porteiro VIP#2-1	803// Mapflags não apagarsec_in02	mapflag	nowarptosec_in02	mapflag	nowarpsec_in02	mapflag	noteleportsec_in02	mapflag	nosavesec_in02	mapflag	nomemo 

Share this post


Link to post
Share on other sites

Não seria aqui?

set $minlvgm,"80";

tentou tirar os "", deixando assim:

set $minlvgm, 80;

Share this post


Link to post
Share on other sites
set $minlvgm,"80";

o "80" quer dizer string 80, como como essa variável é para tipo inteiro, ela recebe 0 (oou null, não sei kk)

então, é assim que seu npc acontece:

if (getgroupid() > $levelvip){

se (groupid é maior que 0), então não é vip

Tente dar uma lida no doc/script_commands.txt, sempre ajuda =)

Edited by Lokii

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...