Jump to content

Chengue

Members
  • Content Count

    4
  • Joined

  • Last visited

Posts posted by Chengue


  1. 11 hours ago, Nobre said:

    Bom, vou fazer tudo em um tópico só pra poupar "Poluição" no Fórum.

    Minhas Dúvidas são: 

    1º - Como faço pro GOSPEL não remover o FP? (testei varias formas já que vi aqui e nenhuma funcionou. Apenas uma, mas não tirava BUFF nenhum e ainda podia andar quando usava e o GOSPEL ficava travado no chão)

     

    2ª - Como faço pro TAROT (DESTINO DAS CARTAS) não remover o FP? Já procurei em tudo quanto é fórum, e sem sucesso até agora.

     

    3º - Como faço para aumentar a quantidade de palavras que podem ser ditas no chat? Não consigo digitar frases "longas" por conta desse problema.

     

    4º - Quando uso TAROT (DESTINO DAS CARTAS) tem uma pequena chance delas serem refletidas em mim. Como faço pra elas não voltarem?

     

    5º - Tem alguma Maneira de fazer o BUFF de Clown (Maçã e Bragi) aparecerem na barra de Buffs? (Hexed 20120410)

     

    6º - Editei um Item usável para me dar 100kk de Zeny sempre que eu abrir ele, mas quando chego no limite de Zeny o item continua sendo gasto. como faço para quando chegar no limite de zeny (2b) ele não abrir mais ?

     

    7º - Como faço pro DISPELL remover os buffs de musicas? (Bardo/Odalisca)

     

     

    Bom pessoal, sei que é muita coisa, mas sou novato nessa area e estou aprendendo tudo sozinho na marra.

    Se não souberem responder todas, respondam pelo menos as que sabem e já vai estar me ajudando MUITO !

    desde já meus agradecimentos.

    Google é o seu melhor amigo, nunca esqueça de tentar utilizá-lo pois geralmente as respostas estão aí na nossa frente.

    Sobre o Gospel & Destino nas Cartas:

    Dê uma olhada no repositório do rAthena, eles tem essa correção, que inclusive não me recordo se aplicaram aqui no Hercules, mas essas modificações podem ser feitas por aqui também, só dê uma olhada na compatibilidade e se for necessário, adapte o código de acordo com o que está acima, sempre funciona.
    https://github.com/rathena/rathena/commit/894d6f2fe64a401a62ceb57ec48f803e1e7f72be

    Sobre a limitação de fala:

    Isso é uma limitação do seu hexed, dê uma olhada no limite de linhas aplicado nele, o emulador raramente tem algo a ver com isso, ao menos que esteja tentando falar um livro, aí realmente não da.

    Sobre o item utilizável:

    Coloque uma verificação baseada em script no arquivo, verificando a quantidade de Zenys antes de utilizá-lo. Não há uma forma pronta de fazer isso.

    Sobre a inserção de ícones de buffs no cliente:

    Isso é possível, mas são necessárias várias modificações avançadas que provavelmente você não iria conseguir fazer e muito menos fazer a manutenção desses arquivos com o tempo e atualizações, portanto é melhor deixar isso para lá.

    Sobre os demais assuntos não mencionados:

    Todos são modificações na Source e você pode dar uma olhada no Google, use suas pesquisas em inglês e você verá que boa parte tem algum começo para você se aventurar, mas recorde-se de que são modificações que não são aconselhadas pois requerem um conhecimento avançado.


  2. That's it.

    https://github.com/chengue96/requests/blob/master/scripts/event_tarot.txt

    prontera,128,329,4    script    Evento do Destino    4_M_BARD,{
    	    mes "[Evento do Destino]";
        mes "Olá "+strcharinfo(0);
        mes "Está afim de testar sua sorte nas cartas? Fique atento quando anunciar o início do evento.";
        next;
        switch(select("Participar do evento", ( getgroupid() >= $@lvminGM ? ( !$tarot_status ? "Ligar":"Desligar")+" Evento":"") , "Premiação", "Não quero participar")){
        
            case 1:
                // = Se evento não ativo
                if (!$tarot_status){
                    mes "[Evento do Destino]";
                    mes "Senhor"+(Sex? "":"a")+", no momento o evento não está atívo! Nós avisaremos quando o evento começar.";
                    close;
                }
                
                // = Verifica se o nome do personagem já está no array
                for (set .@i,0; .@i < getarraysize($@tarot_participantes$); set .@i,.@i + 1) {
                    if ( $@tarot_participantes$[.@i] == strcharinfo(0) ) {
                    mes "[Evento do Destino]";
                    mes "Tenha calma "+strcharinfo(0)+"! Nós ainda não estamos prontos para você, aguarde um momento.";
                    next;
                    warp "force_1-1",100,100;
                    close;
                    }
                }
            
                mes "[Evento do Destino]";
                mes "Tudo certo, anotei a sua participação aqui! Em breve você será chamado para que o evento seja iniciado.";
                // = Adiciona o nome do personagem ao array
                set $@tarot_participantes$[getarraysize($@tarot_participantes$)], strcharinfo(0);
                //message strcharinfo(0), strnpcinfo(1)+" Meus parabéns! Você se registrou com êxito para participar do evento.";
                //announce strnpcinfo(1)+" <"+strcharinfo(0)+"> registrou-se para participar do evento!",bc_all;
                next;
                warp "force_1-1",100,100;
                            close;
            
            case 2:
                if( agitcheck() || agitcheck2() ){
                    mes "[Evento do Destino]";
                    mes "Neste momento a Guerra do Emperium está atíva e não é possível dar início ao evento!";
                    close;
                }
                mes "[Evento do Destino]";
                mes "Olá, Game-Master! Você tem certeza que deseja "+( !$tarot_status ? "Ligar":"Desligar")+" o evento?";
                if(select("Não:Tenho certeza") == 1) close;
                if ( !$tarot_status ){
                    donpcevent "Tarot Event::OnStart";
                }else
                    donpcevent "Tarot Event::OnStop";
                close;
                end;
                
            case 3:
                mes "[Evento do Destino]";
                mes "O participante que não for atingido pela carta 'Coma' receberá pontos de evento e recompensas aleatórias.";
                close;
            
            case 4:
            close;
        
        }
        
        OnInit:
        // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        //set "[Evento do Destino]", "^800000"+strnpcinfo(1)+"^000000";
        // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        setarray $@mapeventtarot$, "poring_w01", 102, 71;    // = Configuração do mapa do evento
        // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        set $@mintarot_participantes,2;    // = Número mínimo de participantes para iniciar o evento
        // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        set $@lvminGM, 60;    // = Level mínimo de GM para ligar/desligar o evento
        // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        // = ATENÇÃO: CADA ITEM TEM SUA QUANTIDADE
        // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        
        callfunc ("resetEventoTarot", $@tarot_participantes$, $@mapeventtarot$[0]);
        setarray .mapflag,0,1,7,8,13,22,33,34,12;
        for (set .@m,0; .@m < getarraysize(.mapflag); set .@m, .@m + 1){
            setmapflag $@mapeventtarot$[0], .mapflag[.@m];
        }
        end;
    	}
    	-    script    Tarot Event    -1,{
    	    // = Início automático
        OnWhisperGlobal:
        input @pass;
        if(@pass != 1324) end;
        OnClock0500:
        OnClock1700:
    	    
        // = Início manual
        OnStart:
        set $tarot_status,1;
        
            announce "[NPC] Evento do Destino: As inscrições para o evento estão abertas! Vocês tem 5 minutos para participar. Digite @evt para participar.",bc_all;
            sleep 60000;
            announce "[NPC] Evento do Destino: As inscrições para o evento estão abertas! Vocês tem 4 minutos para participar. Digite @evt para participar.",bc_all;
            sleep 60000;
            announce "[NPC] Evento do Destino: As inscrições para o evento estão abertas! Vocês tem 3 minutos para participar. Digite @evt para participar.",bc_all;
            sleep 60000;
            announce "[NPC] Evento do Destino: As inscrições para o evento estão abertas! Vocês tem 2 minutos para participar. Digite @evt para participar.",bc_all;
            sleep 60000;
            announce "[NPC] Evento do Destino: As inscrições para o evento estão abertas! Vocês tem 1 minuto para participar. Digite @evt para participar.",bc_all;
            sleep 60000;
            
        
        if ( getarraysize($@tarot_participantes$) < $@mintarot_participantes ){
            announce "As inscrições para o Evento do Destino não foram suficientes para iniciar.",bc_all;
            callfunc ("resetEventoTarot", $@tarot_participantes$, $@mapeventtarot$[0]);
            end;
        }
    	    announce "[NPC] Evento do Destino: As inscrições para o evento foram encerradas. Boa sorte a todos os participantes!",bc_all;
        
        set $tarot_status,0;
        for(set .@p, 0; .@p < getarraysize($@tarot_participantes$); set .@p, .@p + 1){
        
            if ( isloggedin(getcharid(3, $@tarot_participantes$[.@p])) ){
                warpchar $@mapeventtarot$[0], atoi($@mapeventtarot$[1]), atoi($@mapeventtarot$[2]), getcharid(0, $@tarot_participantes$[.@p]);
            }else{
                deletearray $@tarot_participantes$[.@p], 1;
            }
            
        }
        sleep 8000;
        sleep2 1500;
        donpcevent "[GM]Tyr::OnSpeak";
        end;
        
        OnReturn:
        while( getarraysize($@tarot_participantes$) > 1){ // = Enquanto o total de participantes for maior que 1
        //
            sleep 1000;
            for(set .@p,0;.@p<getarraysize($@tarot_participantes$);set .@p,.@p+1){
            sleep2 1000;
            if(getmapusers("poring_w01") == 1){goto Vencer;}
                attachrid(getcharid(3,$@tarot_participantes$[.@p]));
                    if( strcharinfo(3) == $@mapeventtarot$[0] ){
                        set .@CARDs,522+rand(1,14);
                        specialeffect2 .@CARDs, strcharinfo(0);
                        if( .@CARDs == 531 ){
                            deletearray $@tarot_participantes$[.@p], 1;
                            percentheal -99,-99;
                            sleep2 1500;
                            warp "SavePoint",0,0;
                        }
                    }
                    detachrid;
            }
        }
        sleep 2000;
        Vencer:
        if ( getarraysize($@tarot_participantes$)){
            attachrid(getcharid(3, $@tarot_participantes$[0]));    // = Atacha o account_id apartir do nome
            if ( strcharinfo(3) == $@mapeventtarot$[0] ){
                announce "[NPC] Evento do Destino: O vencedor do evento é o jogador '"+$@tarot_participantes$[0]+"' parabéns!",bc_all;
                getitem 7227,1;
                set #evento,#evento+10;
                
            }
            detachrid;
        }
        
        callfunc ("resetEventoTarot", $@tarot_participantes$, $@mapeventtarot$[0]);
        end;
        
        // = Encerra o Evento
        OnStop:
        //announce "["+strnpcinfo(1)+"] Evento encerrado!",bc_all;
        callfunc ("resetEventoTarot", $@tarot_participantes$, $@mapeventtarot$[0]);
        end;
    	}
    	-    script    tarot_events    -1,{
    	    // = Se o participante que deslogou ou morreu estiver no mapa do evento, seu nome será retirado do array de tarot_participantes
        OnPCLogoutEvent:
        if ( strcharinfo(3) == $@mapeventtarot$[0] ){
            for (set .@i,0; .@i < getarraysize($@tarot_participantes$); set .@i,.@i + 1) {
            
                if ( $@tarot_participantes$[.@i] == strcharinfo(0) ){
                    deletearray $@tarot_participantes$[.@i], 1;
                    break;
                }
                
            }
        }
        end;
    }
    	poring_w01,102,73,1    script    [GM]Tyr    871,{
    mes "[Organizadora de Eventos]";
    mes "Jogadores na disputa...";
    for (set .@i,0; .@i < getarraysize($@tarot_participantes$); set .@i,.@i + 1) {
    mes (.@i+1)+" - "+$@tarot_participantes$[.@i];
    }
    close;
    	    end;
        
        OnSpeak:
        setarray .msgs$,
            "Usarei a habilidade 'Destino nas Cartas' em cada um de vocês.",
            "As rodadas serão de acordo com a ordem de inscrição no evento.",
            "O vencedor será o último a sobreviver!",
            "Boa sorte a todos os participantes!",
            "TAROOOW!";
    	    for ( set .@i,0; .@i < getarraysize(.msgs$); set .@i, .@i+1 ){
            npctalk .msgs$[.@i];
            sleep 3000;
        }
        donpcevent "Tarot Event::OnReturn";
        end;
        
        OnInit:
        setarray .x[0],94,105,99,110;
        setarray .y[0],68;
        npcspeed 195;
        initnpctimer;
        end;
        
        OnTimer1000:
        emotion rand(34,45);
        for(set .c,0;.c<getarraysize(.x); set .c,.c+1){
            npcwalkto .x[.c],.y[0];
            sleep 3500;
        }
        initnpctimer;
        end;
        
    }
    	// = Reseta parâmetros
    function    script    resetEventoTarot    {
    	    // @param0 = array dos tarot_participantes
        // @param1 = map event
        deletearray getarg(0);
        set $tarot_status,0;
        mapwarp getarg(1), "prontera",156,183;
        return;
    }

    Please edit the claim at line 177. ;)

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.