Jump to content
  • 0
Sign in to follow this  
Juan Meissner

Sistema de Fogueira

Question

Pessoal, eu gostaria de criar um NPC onde eu clico em um item e esse NPC é gerado na frente do jogador, e terá a opção de acender a Fogueira, onde irá ficar com um Effect nela sem parar que durará um tempo determinado e irá liberar opções exclusivas caso a fogueira esteja acesa, alguém consegue me ajudar com isso?

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Veja no DOC do emulador e Wiki, se não me engano tem coisas do tipo.

Share this post


Link to post
Share on other sites
  • 0

que_ng,27,66,4    script    Fogueira#Casa    649,{

    if (getcharid(0) != getpartyleader(getcharid(1),2))
    {
        unittalk getcharid(3), "Essa é a famosa "+strnpcinfo(1)+"!";
        end;
    }

    if(select("- Acender:- Sair") == 1)
        //Começar script de acender fogueira aqui .name
    callsub FogueiraOn;
    close;
    
    FogueiraOn:
    initnpctimer;
    end;
    
    OnTimer300:
    specialeffect2 634;
    end;
    
    OnTimer600:
    specialeffect2 634;
    end;
    
    OnTimer900:
    specialeffect2 634;
    stopnpctimer;
    end;
} 

 

Aqui esta como o NPC esta ficando, teoricamente eu preciso que ele faça o efeito de uma chama e ative uma variavel nele de que esteja acesa para que eu possa liberar funções no menu da Fogueira, como por exemplo assar um peixe.

Edited by Juan Meissner

Share this post


Link to post
Share on other sites
  • 0

Aqui está um exemplo básico amigo.

Está funcionando bem, agora só você fazer suas modificações.

 

 

que_ng,27,66,4    script    Fogueira#Casa    4_TRACE,{
 
    if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2))
    {
        unittalk getcharid(CHAR_ID_ACCOUNT), "Essa é a famosa " + strnpcinfo(NPC_NAME_VISIBLE) + "!";
        end;
    }
 
    // Se a fogueira estiver acesa, desabilita a opção '- Acender' e ativa '- Assar Peixe' no menu.
    if (select(((.burning == true) ? "- Assar Peixe" : "- Acender") + ":- Sair") == 1)
    {
        if (.burning == true)
        {
            // Se a fogueira estiver acesa, executa o que está aqui...
        }
        else
        {
            .burning = true;
            .burning_time = gettimetick(2) + .burning_duration;
        }
    }
 
    close;
 
    OnInit:
        .burning = false;
        .burning_time = 0;
        .burning_duration = 5;    // Duração da fogueira em segundos.
 
        while(true)
        {
            if (.burning == true)
            {
                specialeffect EF_KAEN;
 
                if (.burning_time <= gettimetick(2))
                {
                    .burning_time = 0;
                    .burning = false;
                }
            }
 
            sleep 312; // Duração da animação do fogo.
        }
    end;
}

 

Edited by Cretino

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

  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.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

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