Ir para conteúdo

N3MESIZ

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    N3MESIZ deu reputação a Cat em Água transparente no Tibia 70% (psd + png + obd)   
    ÁGUA TRANSPARENTE NO TIBIA
     
    Amostra/teste:

     
    Download Tibia.otfi -> Arquivo necessário para ativar transparência no seu client.
    (coloque junto ao tibia.dat e tibia.spr)
    Tibia.otfi
     
    Para ativar a transparência nas versões 8.54 e 8.60 é necessário o uso de dll:
    https://github.com/SaiyansKing/Tibia-Extended-Client-Library
     
    Download Object Builder -> Programa usado para add sprites
    https://github.com/ottools/ObjectBuilder/releases/tag/v0.4.8
     
    Download Item Editor -> Usado para cadastrar as propriedades de itens novos e abrir no map editor.
    https://github.com/ottools/ItemEditor/releases/tag/v0.5.1
     
    Download Sprites
    Contém:
    - Sprites de piso d'água full ground + 1 estilo borda (recomendo usar todos como borda, tirar full ground)
    - Sprites borda água-barranco.
    - Sprites borda água-areia.
    - Sprites borda areia-barranco-água.
    - Sprites borda água solo.
    - Sprites cachoeira + quedas d'água versão leste/norte
    - Sprites água transparente versão córrego (12x)
    sprites transparentes.rar
     
     
    (Senha para abrir o arquivo: tibiaking)

     
  2. Curtir
    N3MESIZ deu reputação a Killua em Como usar addEvent   
    Usando addEvent
     
    O uso do addEvent tem inúmeras utilidades e pode ser complicado para algumas pessoas, inclusive era para mim quando eu estava começando a aprender LUA.
     
    Para que serve o addEvent?
    Para "chamar" uma função após um periodo de tempo, ou seja, executar uma função após um tempo estipulado. 
     
    O addEvent tem como parâmetros: callback, delay e ...
    addEvent(callback, delay, ...)
     
    Onde callback é a função que será chamada, delay é o tempo (em milissegundos) até que se chame essa função e ... são os parâmetros que a função chamada utiliza. Exemplo:
    addEvent(doBroadcastMessage, 1000, "Bom dia", 23) Aqui, após 1 segundo (1000 ms), a função doBroadcastMessage(message, type) será executada com os parâmetros message = "Bom dia" e type = 23.
     
    O addEvent pode ser usado de duas maneiras:
    Chamando uma função existente ou criando uma nova função.
     
    Para chamar uma função existente, basta usar como acima, para usá-lo para criar uma nova função, usa-se assim, por exemplo:
    addEvent(function()      if isCreature(cid) then           doPlayerAddItem(cid, 2160, 10)           doPlayerSendTextMessage(cid, 25, "Voce ganhou 10k.")      end end, 1000) Assim é basicamente a mesma coisa, mas pude colocar várias funções dentro de um único addEvent e mantive o delay 1000 (1 segundo).
    Obs: Precisei usar 2 ends, um para fechar function() e outro para fechar o if.
     
    Atenção! Além disso, existe uma outra diferença entre as duas formas de uso, vou tentar explicar da melhor maneira possível:
    Quando usamos o addEvent com uma função já existente (1o exemplo), as informações usadas serão as geradas no momento em que o evento foi chamado, por exemplo:
    function onUse(cid, item, fromPosition, itemEx, toPosition)      if getPlayerLevel(cid) > 10 then           doPlayerSendTextMessage(cid, 25, "Uma pedra sera criada na sua posiçao dentro de 2 segundos.")           addEvent(doCreateItem, 2000, 1308, 1, getThingPos(cid))      end      return true end Se usarmos assim, a pedra será criada na posição onde o jogador se encontrava no momento em que "deu use" e não onde ele estará 2 segundos depois. Se você quiser que a pedra seja criada na nova posição do jogador (pos de 2 segundos depois), você deve fazer uma nova checagem, criando uma função:
    function onUse(cid, item, fromPosition, itemEx, toPosition)      if getPlayerLevel(cid) > 10 then           doPlayerSendTextMessage(cid, 25, "Uma pedra sera criada na sua posiçao dentro de 2 segundos.")           addEvent(function()                if isCreature(cid) then                     doCreateItem(1308, 1, getThingPos(cid))                end           end, 2000)      end      return true end Atenção novamente: A checagem if isCreature(cid) que utilizei, é muito importante para um addEvent que envolva criaturas. Se você executasse o addEvent sem a checagem e o player logasse ou morresse antes desses 2 segundos se passarem, daria um erro na distro e interromperia o resto do script.
     
     
    Recursão
    Uma outra ótima funcionalidade dos addEvents é a recursão, ou seja, criar um evento que fica se repetindo. É simplesmente um addEvent chamando a sí mesmo.
    Para usar, crie uma função, exemplo:
    function respawnMonster(name, pos)      if doCreateMonster(name, pos) then           doBroadcastMessage(name.." nasceu!")      end      addEvent(respawnMonster, 10000, name, pos) end Quando chamada, esta função ficará criando um monstro e uma determinada área a cada 10 segundos, sem nunca parar.
    Para chamar a função, seria assim:
    respawnMonster("Demon", {x = 123, y = 123, z = 5}) Considerações
    Reloads param os addEvents. Se um script talkaction executou um addEvent programado para acontecer depois de 5 minutos e se dentro deste intervalo de tempo, você usar /reload talkactions, o addEvent será interrompido.
     
    Erros no código podem fazer o evento ser interrompido, preste sempre atenção.
     
    Se ainda ficou com alguma dúvida, poste aqui.
     
     
        
  3. Curtir
    N3MESIZ deu reputação a KotZletY em Erro Catch   
    @UnzVega catch.lua
  4. Curtir
    N3MESIZ deu reputação a KotZletY em Erro Sourcer (Level Sistem)   
    @UnzVega faltou incluir configmanager.h em map.cpp, no tutorial também fala.
     
    E para os próximos erros revise todo o tutorial, algo você estará fazendo de errado!!
  5. Curtir
    N3MESIZ deu reputação a KotZletY em Erro Sourcer (Level Sistem)   
    @UnzVega faltou as variáveis de lvl min e max em monsterType:
     
    https://tibiaking.com/forums/topic/53938-c-level-monster/

Informação Importante

Confirmação de Termo