Jump to content
  • 0
Sign in to follow this  
iamblood

Npc Porteiro Vip e Vip ao logar

Question

Esse Npc da vip quando o jogar loga e ai é só relogar:

Citar

-    script    VIP GRATIS    -1,{

OnPCLoginEvent:

if(#ganhou == 1){ end; }

query_sql "UPDATE `login` SET `diasvip` = `diasvip`+'7', `group_id` = '1' WHERE `account_id` = '"+getcharid(3)+"'";
dispbottom "Você acaba de ganhar 7 dias de vip grátis.";
#ganhou = 1;
end;
}

Esse é o Porteiro Vip:

Citar

//===== Atual Versão: ========================================
//    3.2
//===== Descrição: ===========================================
//    Ativa contas VIPs, retira dias vips automaticamente,
//    e quando acaba os dias vips, a VIP é retirada.
//===== Comentários Adicionais: ==============================
//    - 1.0 Criado SVRO 
//    - 2.0 Script Otimizado e adicionado opção que mostra o 
//        total de contas VIP que há no servidor. 
//    - 2.5 Adicionado possibilidade de setar o level da conta 
//        VIP do seu servidor. 
//    - 2.6 Script Otimizado e reestruturado. 
//    - 2.6b Readicionado o waitingroom e corrigido um 
//         pequeno erro. 
//    - 2.7 Script Otimizado. 
//    - 2.8 Adicionado novo modo de adicionar VIP (pelo nome do char). 
//    - 2.9 Adicionado nova opção de ter ou não ter o comando @reloadgmdb. 
//    - 3.0 Script Otimizado , e modificado pequenas coisas. 
//    - 3.0b Feita uma mini modificação.
//    - 3.1 Varias modificações no sistema.
//    - 3.2 Modificados comandos para ficar compatível com eAthena. [ Lord ]
//     - 3.2 OBSERVAÇÂO TABELA SQL A SER IMPORTADA PARA SEU BANCO DE DADOS --> ALTER TABLE `login` ADD `diasvip` INT( 11 ) NOT NULL DEFAULT '0';
//============================================================
-    script    SVRO#config    -1,{
//===== Configuraçõe: ========================================
//
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,"99";
//
// 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$,"minhasenha";
//
// 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_in01";
set $cordx,169;
set $cordy,174;
//
// Site do seu servidor : 
// OBSERVAÇÂO, se não houver deixe em branco (como está).
set $site$,"www.stormro.com.br";
//
//Nome do npc:
set $namenpc$, "^CD0000[Porteiro VIP]^000000";
//
end;
//
//============================================================
}

prontera,146,189,4    script    Porteiro VIP    4_M_ORIENT02,{
if (getgmlevel() < $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á!";
mes "O que deseja?";
next;
if (getgmlevel() >= $minlvgm)
set .@menu$,select("- Entrar na sala VIP","- Administrar VIPs","","- Nada");
else
set .@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?";
                            next;
                            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 (getgmlevel() != $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;
}


sec_in01,180,172,3    script    Resetadora de Skill    4_F_TELEPORTER,{

    set .@ResetStat,250000;    // Zeny for stat resetaaaa
    set .@ResetSkill,250000;    // Zeny for skill reset
    set .@ResetBoth,400000;    // Zeny for resetting both together

    mes "[Resetadora]";
    mes "Eu sou a Resetadora";
    mes "Resetar Status: "+ .@ResetStat +"z";
    mes "Resetar Skills: "+ .@ResetSkill +"z";
    mes "Resetar Ambos: "+ .@ResetBoth +"z";
    mes "Por favor selecione o serviço que quer:";
    next;
    switch(select("^FF3355Resetar Skills:Resetar Status:Resetar Ambos^000000:Cancel")) {
    case 1:
        mes "[Resetadora]";
        if (Zeny < .@ResetSkill) {
            mes "Desculpe, você não tem o zeny.";
            close;
        }
        Zeny -= .@ResetSkill;
        sc_end SC_ALL;
        resetskill;
        mes "Está feito.";
        close;
    case 2:
        mes "[Resetadora]";
        if (Zeny < .@ResetStat) {
            mes "Desculpe, você não tem o zeny.";
            close;
        }
        Zeny -= .@ResetStat;
        resetstatus;
        mes "Está feito.";
        close;
    case 3:
        mes "[Resetadora]";
        if (Zeny < .@ResetBoth) {
            mes "Desculpe, você não tem o zeny.";
            close;
        }
        Zeny -= .@ResetBoth;
        sc_end SC_ALL;
        resetskill;
        resetstatus;
        mes "Está feito.";
        close;
    case 4:
        close;
    }
}


sec_in01,183,169,3    script    Remover SkillPoint    4W_M_01,{

mes "[^FF0000Removedor Pontos de Habilidade^000000]";
mes "Você tem "+SkillPoint+" pontos de skill no momento";
next;
mes "[^FF0000Removedor Pontos de Habilidade^000000]";
mes "Deseja remover seus skill point?";
if(select("Não:Sim") == 1) close;
next;
mes "[^FF0000Removedor Pontos de Habilidade^000000]";
set SkillPoint, 0;
mes "Pontos resetados!";
close;
}


sec_in01,180,176,2    script    Removedora de Cartas#eAcustom    1_F_ORIENT_04,{

    set .zenycost,200000; // Set base cost in zeny of the card remover services
    set .percardcost,200000; // set cost per card of the card remover services
    set .faildestroy,0; // Should the card remover have a chance of failure that destroys items? 1 = Yes, 0 = No.

    disable_items;
    mes "^FF0000[Removedora de Cartas]^000000";
    mes "Bom dia " + strcharinfo(0) + ",";
    mes "tenho o poder de retirar cartas de equipamentos.";
    mes "Está ideia te agrada?";
    next;
    switch(select("Sim, bastante.:Quanto custa?:Não Obrigado.")) {
    case 1:
        mes "^FF0000[Removedora de Cartas]^000000";
        mes "Muito bem, Qual item eu devo examinar pra você?";
        next;

        setarray .@position$[1], "Head","Body","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3";
        set .@menu$,"";
        for( set .@i,1; .@i <= 10; set .@i,.@i+1 )
        {
            if( getequipisequiped(.@i) )
            set .@menu$, .@menu$ + .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]";

            set .@menu$, .@menu$ + ":";
        }
        set .@part,select(.@menu$);
        if(!getequipisequiped(.@part)) {
            mes "^FF0000[Removedora de Cartas]^000000";
            mes "Você não me ouviu dizer que posso remover as cartas dele.";
            close;
        }
        if(getequipcardcnt(.@part) == 0) {
            mes "^FF0000[Removedora de Cartas]^000000";
            mes "Não tem cartas nesse equipamento posso fazer nada com ele.";
            close;
        }
        set .@cardcount,getequipcardcnt(.@part);
        
        if (!checkweight(1202,(.@cardcount+1))) {
            mes "So um momento!";
            mes "Eu nao posso oferecer um dos meus";
            mes "serviços para voce, porque ";
            mes "voce esta carregando muito peso.";
            mes "Coloque na kafra ou venda";
            mes "seus itens extras.";
            close;
        }
        mes "^FF0000[Removedora de Cartas]^000000";
        mes "This item has " + .@cardcount + " cards compounded on it. To perform my magic, I will need " + (.zenycost+(.@cardcount * .percardcost)) + " zeny, a ^0000FFStar Crumb^000000, and a ^0000FFYellow Gemstone^000000.";
        next;
        if(select("Very well. Do it.:Nevermind.") == 2) {
            mes "^FF0000[Removedora de Cartas]^000000";
            mes "Volte se precisar de mim.";
            close;
        }
        if((Zeny < (.zenycost+(.@cardcount * .percardcost))) || (countitem(1000) < 1) || (countitem(715) < 1)) {
            mes "^FF0000[Removedora de Cartas]^000000";
            mes "Voce nao tem todos os itens necessarios para minha magica funcionar, volte quando tiver.";
            close;
        }
        mes "^FF0000[Removedora de Cartas]^000000";
        mes "Antes de começar, Preciso avisa-lo que pode falhar. Se acontecer, pode destruir as cartas, o item, ou ambos. Sem reembolso. Sera mais importante pra você: as cartas, ou o item?";
        next;
        switch(select("Eu mudei de ideia em relação a isso.:O item.:As cartas.")) {
        case 1:
            mes "^FF0000[Removedora de Cartas]^000000";
            mes "Muito bem. volte quando precisar de meus serviços.";
            close;
        case 2:
            set .@failtype,1;
            break;
        case 3:
            set .@failtype,2;
        }
        mes "^FF0000[Removedora de Cartas]^000000";
        mes "Very well. I shall begin.";
        Zeny -= (.zenycost+(.@cardcount * .percardcost));
        delitem 1000,1;
        delitem 715,1;
        
        // Replace the constants in the next 3 lines with failure chance values defined in refine_db.txt
        // First value = Total failure chance (item and cards destroyed)
        // Second value = Partial failure chance (one or the other is destroyed, player decides which one is safe)
        // Third value = Harmless failure chance (all that's lost is your investment)

        set .@failchance,rand(100);
        if (.faildestroy==1) {
            if(.@failchance < 2) {
                next;
                failedremovecards .@part,0;
                mes "^FF0000[Removedora de Cartas]^000000";
                mes "O processo foi um fracasso total. Receio que o item e as cartas foram destruídas.";
                close;
            }

            if(.@failchance < 😎 {
                if (.@failtype == 1) {
                    next;
                    failedremovecards .@part,1;
                    mes "[Removedora de Cartas]";
                    mes "Embora eu tenha conseguido remover as cartas a partir do item, foram destruídos no processo.";
                    close;
                }

                if (.@failtype == 2) {
                    next;
                    failedremovecards .@part,2;
                    mes "^FF0000[Removedora de Cartas]^000000";
                    mes "Mais infelizmente. Eu sucedi na remoção dos cartões, mas o item em si foi destruído no processo.";
                    close;
                }
            }
        }

        if(.@failchance < 10) {
            next;
            failedremovecards .@part,3;
            mes "^FF0000[Removedora de Cartas]^000000";
            mes "Eu não conseguiram remover as cartas. Felizmente, porém, tanto o item e os cartões ainda estão perfeitos.";
            close;
        }
        next;
        successremovecards .@part;
        mes "^FF0000[Removedora de Cartas]^000000";
        mes "O processo foi um sucesso. Aqui estão suas cartas e seu item.";
        close;
    case 2:
        mes "^FF0000[Removedora de Cartas]^000000";
        mes "Custa por volta de "+.zenycost+" zeny, referente a "+.percardcost+" zeny de cada carta que eu for remover, Eu preciso tambem de um fragmento estelar e uma gema amarela para magica funcionar.";
        close;
    case 3:
        mes "^FF0000[Removedora de Cartas]^000000";
        mes "Muito bem. volte quando precisar de meus serviços.";
        close;
    }
}

sec_in01,181,166,2    script    Cirurgião    4_M_SCIENCE,{
 
if (#cirurgia == 1) {
if(Class == 19 || Class == 20 || Class == 4020 || Class == 4021) {
 
    mes "[Cirurgião]";
    mes "Você deve ter vindo aqui para recuperar suas habilidades...";
    mes "quer recuperar suas habilidades?";
    menu "Sim",-,"Não",queronao;
 
    mes "[Cirurgião]";
    mes "Pronto todas as suas habilidades estão de volta.";
    set #cirurgia,0;
    atcommand "@allskills";
    close;
 
    queronao:
    mes "[Cirurgião]";
    mes "Esta bem então.";
    close;
}
 
}
    mes "[Cirurgião]";
    mes "Olá, "+strcharinfo(0);
    mes "Tento conseguir alegrar mais as pessoas que estão infelizes com seu corpo...";
    mes "Estou aqui para ser voluntário a fazer cirurgias pra mudança de sexo das pessoas.";
    mes "Com isso possa ser que elas fiquem mais felizes...";
    next;
    mes "[Cirurgião]";
    mes "Bom o que você me diz...";
    mes "quer fazer a sirurgia?";
    menu "Sim",-,"Não",naoquero;
 
if(Class == 19 || Class == 20 || Class == 4020 || Class == 4021) {
 
    mes "[Cirurgião]";
    mes "Desculpe-me, mas não posso fazer uma Cirurgia em você.";
    close;
 
}
 
    mes "[Cirurgião]";
    mes "Então vamos começar...";
    mes "Lembre-se se você tiver um Bardo/Menestrel ou Cigana/Odalisca...";
    mes "volte a falar comigo para recuperar seus pontos de job.";
    next;
    mes "[Cirurgião]";
    mes "Então vamos lá...";
    next;
    mes "[Cirurgião]";
    mes "Agulha... Bisturi...";
    next;
    mes "Algumas horas depois...";
    next;
    mes "[Cirurgião]";
    mes "Pronto, sua cirurgia foi um sucesso.";
    mes "sempre que precisarem de mim estarei aqui.";
    next;
    set #cirurgia,1;
    atcommand "@changesex";
    close;
 
    naoquero:
    mes "[Cirurgião]";
    mes "Ta ok, se mudar de ideia estarei a disposição.";
    close;
 
}

sec_in01,166,182,4    shop    Loja de Usáveis Vip    4_CAT_CHEF,12202:100000,12203:100000,12204:100000,12205:100000,12206:100000,12207:100000,12208:100000,12214:100000,12221:100000,12913:200000,12914:200000,12916:200000,12917:200000,12918:200000,14004:200000,13995:200000

sec_in01,169,182,5    shop    Loja de Equipamentos Vip    4_CAT_SAILOR1,2306:200000,2311:200000,2315:200000,2322:200000,2326:200000,2331:200000,2336:200000,2340:200000,2504:200000,2506:200000,2512:200000,2404:200000,2406:200000,2607:200000,2622:200000,2623:200000,2624:200000,2625:200000,2626:200000,2627:200000

sec_in01,166,182,4    shop    Loja de Armas Vip    4_CAT_SAILOR2,1108:200000,1208:200000,1302:200000,1309:200000,1408:200000,1505:200000,1602:200000,1705:200000,2102:200000,2104:200000

sec_in01,172,163,2    script    Sala vip    4_M_ALCHE_E,{

mes "[Sala vip]";
mes "Você quer ir para a prontera?";
menu "Opa, claro que sim",sim,"Ah, agora nao to afim",nao;

nao:
next;
mes "[Sala vip]";
mes "OK, volte quando quiser";
close;

sim:
next;
warp "prontera",156,195;
close;

}
 

Mesmo a conta estando como VIP (anexo) o porteiro não libera a entrada do player.

image.png

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Agora funcionou, consigo entrar na sala VIP, mas os dias não estão diminuindo. Eu ativei ontem através do primeiro script que mencionei nesse post. O Porteiro tem o sistema de controle mas acredito que não esteja funcionando.

image.png.a451089fb4a23813ff065f853449fef7.png

Share this post


Link to post
Share on other sites
  • 0
Em 11/06/2019 at 13:31, iamblood disse:

Agora funcionou, consigo entrar na sala VIP, mas os dias não estão diminuindo. Eu ativei ontem através do primeiro script que mencionei nesse post. O Porteiro tem o sistema de controle mas acredito que não esteja funcionando.

image.png.a451089fb4a23813ff065f853449fef7.png

Se vc esta testando offline, é preciso mudar o relógio do seu pc pra 23:55h e esperar a virada do 'dia' pro script fazer a leitura.

Se for em host mesmo, verifique o horário do mesmo

Share this post


Link to post
Share on other sites
  • 0

Já passou três dias que coloquei isso e nada de diminuir

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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