Postado Junho 7, 2015 10 anos Autor Olá pessoal! Vi o tutorial sobre addEvent do Killua e decidi colocar em prática.. Então fiz esse sistema de campaínha para treino e decidi compartilhar com vocês que tanto me ajudam com sistemas e dúvidas! É um sistema bem simples e fácil de configurar, mesmo assim gostaria de criticas(construtivas) e sugestões uehue O script funciona assim: Da use na campaínha, então aparece um efeito e o texto "Tindon", depois aparece novamente outro "Tindon". Existe um exaust para evitar abusos/caras chatos - SIIIIIMPLES DE TUDO.. bora lá! 1°- Vá em data/actions e abra o arquivo actions.xml, então adicione essa linha antes do final do arquivo: <action itemid="1473;1475" script="campainha.lua"/> ps: antes do final do actions.xml.. o final do arquivo é o </actions> ps²: 1473 e 1475 são os IDs dos itens que servirão como campaínha, são separados por " ; " - caso acrescente mais coloque itemid="1473;1474;1475" etc Então salve seu Actions.xml e feche-o. 2°- Vá em data/actions/scripts e crie um novo arquivo com extensão lua chamado campainha.lua, cole isso dentro: local time = 1 function onUse(cid, item, frompos, item2, topos) if exhaustion.check(cid, 23000000) == false then exhaustion.set(cid, 23000000, 4) else return doPlayerSendCancel(cid, "Campaínha já foi tocada, espere: " ..exhaustion.get(cid, 23000000).."") end doSendMagicEffect(frompos,18) doSendAnimatedText(frompos,"Tindon",107) addEvent(doSendAnimatedText, time*400, frompos,"Tindon", 107) end Pronto, o sistema de campaínha está instalado! 3°- Entendendo o super mega simples script: if exhaustion.check(cid, 23000000) == false then exhaustion.set(cid, 23000000, 4) else return doPlayerSendCancel(cid, "Campaínha já foi tocada, espere: " ..exhaustion.get(cid, 23000000).."") end Spoiler Aqui é a função do exaust.. (cid, 23000000) - cid é para o exaust se aplicar ao player que apertou a campaínha, e 23000000 é a storage que salva o exaust exhaustion.set(cid, 23000000, 4) cid e 23000000 identico ao de cima.. 4 é o tempo em segundos de exaust return doPlayerSendCancel(cid, "Campaínha já foi tocada, espere: " ..exhaustion.get(cid, 23000000). - se o player ainda estive com exaust, aparecerá a mensagem"Campaínha já foi tocada, espere: " e os segundos que falta para poder usar novamente Se checar a storage 23000000 que equivale a 4 segundos e ela estiver vazia, o sistema acontece e adiciona o tempo de 4 segundos na storage. Se a storage 23000000 não estiver vazia, aparece aquela mensagem para o player. ps: as três storages são 23000000, se mudar uma, mude as três! local time = 1 Spoiler o tempo em segundos que irá demorar para aparecer o segundo "Tindon" doSendMagicEffect(frompos,18) Spoiler frompos é onde irá aparecer o efeito(no caso, encima do item usado) e 18 é o ID do efeito que irá aparecer ao usar. doSendAnimatedText(frompos,"Tindon",107) Spoiler frompos é onde irá aparecer o texto, "Tindon" é o texto que irá aparecer e 107 é a cor do texto(vai desde 0 que é preto até 215 que é branco) addEvent(doSendAnimatedText, time*1000, frompos,"Tindon", 107) Spoiler aqui é a parte que o treino entra.. doSendAnimatedText é a função que o addEvent irá chamar time*400 é o tempo que irá demorar para chamar a função( time foi uma variável configurada acima em milisegundos, então multiplica * por 400 para que o tempo configurado na variável 0,4 segundos [para transformar o time em segundos, multiplique por 1000 ao invés de 400]) frompos é onde ocorrerá o evento, como explicado acima(no caso, encima do item usado) "Tindon" é o texto que irá aparecer no addEvent 107 é a cor do texto, dei uma mini explicada acima. @Caronte vlww mano! É isso pessoal, meu primeiro script postado e é bem simples ueheu Se possível, indiquem-me algo para treinar pois tenho grande interesse na área de scripts! Caronte, Salvando tópicos desde 1997 REP+ e agradecimentos pq né, mereceu seu lindo aeuhaeuha vlw mano!
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.