Ir para conteúdo

xarles

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    xarles deu reputação a zipter98 em [PEDIDO] Item de Slot   
    Só pode receber o item de ID 1225 uma única vez, certo? E quando usa o item, ele é removido ou continua com o jogador? Eu posso até fazer o código, mas recomendaria fazer o que o WhiteWolf disse.
  2. Gostei
    xarles 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. Negativo
    xarles recebeu reputação de xWhiteWolf em (Resolvido)[PEDIDO] Red Star Diferente   
    vai copiar do fox de novo???
    aiai nbinho rsrs
  4. Gostei
    xarles deu reputação a CreatServer em Mapa Foxworld! Igualzinho.   
    Mapa Foxworld
     
    Bom gente eu vir aqui hj postar o servidor 8.40, tentei imitar o Server de foxworld mais n
     
    terminei pq eu estou sem tempo. Bom eu vou falar o que tem no server que eu imitei.
     
    . Tem Banshe Quest igual.
    . Pharao Quest.
    . DH quest.
    . Quest Gema Pally
     
    . Quest Gema Druid
     
    . Quest Gema Paladin
     
    . Só falta o do Sorcerer.
     
    . Behemonth Quest.
     
    . Arcane Staff Quest
     
    . Ice Titan Quest
     
    Bom isso ae saõ as Quest, eu aumenteii o hydra ficou um pouco maior que o de foxworld. na
     
    cidade de Valinor nas saidas tem o bixos igual ao do foxworld.
     
    fiss tb a parte pra ir pow SubSolo.
     
    aumentei o demon, pra chegar ate o demon ficou a msm distancia de foxworld.
     
    aumentei as viaje de uma cidade para a outra. <<< pra as pessoas que n usar o tp, que vaõ
     
    a pé.
     
    isso ae tb é pra mostra aos pessoal que posta o mapa de foxworld e ainda tem a coragem de
     
    disse que é 80% full, se o dele é 80% o meu é ?%.
     
    temos tb um website, o site pra otserv esta parecido com o de foxworld tb so arruma alguns coisas.
     
    Download de Uma Imagem.
     
    1.bmp
     
    entra aqui que eu acho que da pra ver
     
    http://www.flogao.com.br/xdafk
     
    NaÕ sei coloca imagens aqui mais eu acho se vc baixa da pra ver.
     
    Download
     
    Otserver: http://www.mediafire.com/download/pd0u5tnic7wgzm8/Mapa+Foxworld+1.0.rar
     
    Website: http://www.mediafire.com/download/9n45c92nn7obc7c/Foxworld+Site.rar
     
    Scan Otserv:https://www.virustotal.com/pt/file/d2ef8dda10eff1cad5452872f51d55d7d45ccfc519d0cea79b6390d2f7096c80/analysis/1399926659/
     
    Scan Website: https://www.virustotal.com/pt/file/99ac4a31dd84eceba64512ca58378810363d87697e1d08c104b5a990c4d5e4bd/analysis/1390923427/

Informação Importante

Confirmação de Termo