HeelSpy 10 Postado Abril 21, 2014 Share Postado Abril 21, 2014 Um amigo tinha me passado uma função na lib que fazia o efeito se repetir por varias vezes, só lembro que era assim O efeito ficava se repetindo varias vezes a cada 1 seg Função(cid, effect, tempo) Alguém pode fazer pra mim ? Link para o comentário https://xtibia.com/forum/topic/232182-repetir-effects-varias-vezes/ Compartilhar em outros sites More sharing options...
0 Slicer 1070 Postado Abril 21, 2014 Share Postado Abril 21, 2014 function repeatEff(cid, eff, tempo) if not isCreature(cid) or tempo == 0 then return end doSendMagicEffect(getThingPos(cid), eff) addEvent(repeatEff, 1000, cid, eff, tempo-1) end exemplo: repeatEff(cid, 21, 15) no caso vai repetir o efeito a cada 1s por 15segundos... Link para o comentário https://xtibia.com/forum/topic/232182-repetir-effects-varias-vezes/#findComment-1639866 Compartilhar em outros sites More sharing options...
0 Demonbholder 420 Postado Abril 21, 2014 Share Postado Abril 21, 2014 Eu fiz assim: function doRepeatEffect(cid, effect, vezes, intervalo) if not effect then return end if not vezes then return end if not intervalo then intervalo = 1000 end local pos = getThingPos(cid) for i = 1, vezes do addEvent(doSendMagicEffect, i*intervalo, pos, effect) end end Lembrando que o intervalo deve ser em Milesegundos. doRepeatEffect(cid, 3, 10, 1000) Abraços Tem que cuidar que o player pode deslogar. Outra coisa é que ele chama vários addEvents, se você usasse recursividade, se alguma das condições desse errada, ele já parava por ali. Link para o comentário https://xtibia.com/forum/topic/232182-repetir-effects-varias-vezes/#findComment-1639874 Compartilhar em outros sites More sharing options...
0 Mateusoo 15 Postado Abril 21, 2014 Share Postado Abril 21, 2014 Tem que cuidar que o player pode deslogar. Outra coisa é que ele chama vários addEvents, se você usasse recursividade, se alguma das condições desse errada, ele já parava por ali. Realmente, testei aqui agora, tem alguns problemas. Vou tirar e talvez eu poste novamente quando resolver. Abraço ;] Link para o comentário https://xtibia.com/forum/topic/232182-repetir-effects-varias-vezes/#findComment-1639876 Compartilhar em outros sites More sharing options...
0 Demonbholder 420 Postado Abril 21, 2014 Share Postado Abril 21, 2014 Realmente, testei aqui agora, tem alguns problemas. Vou tirar e talvez eu poste novamente quando resolver. Abraço ;] Não precisa tirar, a sua função ta certa, só alguns detalhes que daria pra mudar. Anyway, não sei se vai fugir muito do que o slicer postou. Link para o comentário https://xtibia.com/forum/topic/232182-repetir-effects-varias-vezes/#findComment-1639878 Compartilhar em outros sites More sharing options...
0 Mateusoo 15 Postado Abril 21, 2014 Share Postado Abril 21, 2014 Não precisa tirar, a sua função ta certa, só alguns detalhes que daria pra mudar. Anyway, não sei se vai fugir muito do que o slicer postou. Vou arrumar a questão do Logout e se o player andar também, o efeito fica na antiga posição. Ai depois posto. Abraços... Link para o comentário https://xtibia.com/forum/topic/232182-repetir-effects-varias-vezes/#findComment-1639883 Compartilhar em outros sites More sharing options...
0 HeelSpy 10 Postado Abril 21, 2014 Autor Share Postado Abril 21, 2014 Obrigado a ambos. @Slicer Vlw mesmo cara, funcionou mas teria como de algum modo mudar a posição do efeito ? para que não saia torto ? com: {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} Link para o comentário https://xtibia.com/forum/topic/232182-repetir-effects-varias-vezes/#findComment-1639993 Compartilhar em outros sites More sharing options...
0 Slicer 1070 Postado Abril 21, 2014 Share Postado Abril 21, 2014 (editado) da pra fazer, mas o problema de efeitos tortos é q tu tem q arrumar pra cada efeito, isso q eh foda kk' oq podes fazer eh por isso na lib: local effsTortos = { --[eff] = {valores para corrigi-los}, [21] = {x= 1, y= 0}, --soh exemplo [23] = {x= 0, y= -1}, } function repeatEff(cid, eff, tempo) if not isCreature(cid) or tempo == 0 then return end local p = getThingPos(cid) if effsTortos[eff] then p = {x= p.x+(effsTortos[eff].x), y= p.y+(effsTortos[eff].y), z= p.z} end doSendMagicEffect(p, eff) addEvent(repeatEff, 1000, cid, eff, tempo-1) end os valores da tabela sao soh exemplos... no caso tu bota os effs tortos do teu serv e bota os valores de x e y para corrigi-los... Editado Abril 21, 2014 por Slicer Link para o comentário https://xtibia.com/forum/topic/232182-repetir-effects-varias-vezes/#findComment-1639997 Compartilhar em outros sites More sharing options...
0 EdMignari 187 Postado Abril 21, 2014 Share Postado Abril 21, 2014 da pra fazer, mas o problema de efeitos tortos é q tu tem q arrumar pra cada efeito, isso q eh foda kk' oq podes fazer eh por isso na lib: local effsTortos = { --[eff] = {valores para corrigi-los}, [21] = {x= 1, y= 0}, --soh exemplo [23] = {x= 0, y= -1}, } function repeatEff(cid, eff, tempo) if not isCreature(cid) or tempo == 0 then return end local p = getThingPos(cid) if effsTortos[eff] then p = {x= p.x+(effsTortos[eff].x), y= p.y+(effsTortos[eff].y), z= p.z} end doSendMagicEffect(p, eff) addEvent(repeatEff, 1000, cid, eff, tempo-1) end os valores da tabela sao soh exemplos... no caso tu bota os effs tortos do teu serv e bota os valores de x e y para corrigi-los... Aqueles efeitos maiores que 64x64 têm que envia-los em outra posição pra sair no lugar certo? Link para o comentário https://xtibia.com/forum/topic/232182-repetir-effects-varias-vezes/#findComment-1639999 Compartilhar em outros sites More sharing options...
0 Slicer 1070 Postado Abril 21, 2014 Share Postado Abril 21, 2014 n sei dizer kk' eh q pelo menos alguns da pxg o cara tem q botar em outras posis pra eles sairem corretos... mas nem todos q tem esse problema sao grandes... Link para o comentário https://xtibia.com/forum/topic/232182-repetir-effects-varias-vezes/#findComment-1640002 Compartilhar em outros sites More sharing options...
0 HeelSpy 10 Postado Abril 21, 2014 Autor Share Postado Abril 21, 2014 Haha vlw de novo, e que efeitos maiores que 32x32 saem torto se forem adicionados errado. Link para o comentário https://xtibia.com/forum/topic/232182-repetir-effects-varias-vezes/#findComment-1640003 Compartilhar em outros sites More sharing options...
0 EdMignari 187 Postado Abril 21, 2014 Share Postado Abril 21, 2014 Adicionei uns 192x192, mas saem errados. Estou procurando uma solução pra isso Link para o comentário https://xtibia.com/forum/topic/232182-repetir-effects-varias-vezes/#findComment-1640004 Compartilhar em outros sites More sharing options...
0 HeelSpy 10 Postado Abril 21, 2014 Autor Share Postado Abril 21, 2014 Adicionei uns 192x192, mas saem errados. Estou procurando uma solução pra isso Pra mim o jeito simples e mover por coordenadas, Link para o comentário https://xtibia.com/forum/topic/232182-repetir-effects-varias-vezes/#findComment-1640007 Compartilhar em outros sites More sharing options...
0 EdMignari 187 Postado Abril 21, 2014 Share Postado Abril 21, 2014 Eu tinha esperança que fosse de outro jeito. Link para o comentário https://xtibia.com/forum/topic/232182-repetir-effects-varias-vezes/#findComment-1640010 Compartilhar em outros sites More sharing options...
0 Nu77 81 Postado Abril 22, 2014 Share Postado Abril 22, 2014 Adicionei uns 192x192, mas saem errados. Estou procurando uma solução pra isso Offset para efeitos, é possível editando o otclient do mesmo modo que o tibia possui offset para criaturas... Eu também não gosto do jeito que efeitos grande são "tratados", gambiarra total... Você ia precisar editar também, a estrutura do dat e com isso os editores... Link para o comentário https://xtibia.com/forum/topic/232182-repetir-effects-varias-vezes/#findComment-1640174 Compartilhar em outros sites More sharing options...
0 EdMignari 187 Postado Abril 22, 2014 Share Postado Abril 22, 2014 Offset para efeitos, é possível editando o otclient do mesmo modo que o tibia possui offset para criaturas... Eu também não gosto do jeito que efeitos grande são "tratados", gambiarra total... Você ia precisar editar também, a estrutura do dat e com isso os editores... Não é possível fazer offset negativo pra criaturas. Acredito que pra efeitos também. Buga toda a renderização. Objetos com offset negativo ficam por baixo dos grounds anteriores. Link para o comentário https://xtibia.com/forum/topic/232182-repetir-effects-varias-vezes/#findComment-1640217 Compartilhar em outros sites More sharing options...
Pergunta
HeelSpy 10
Um amigo tinha me passado uma função na lib que fazia o efeito se repetir por varias vezes, só lembro que era assim
O efeito ficava se repetindo varias vezes a cada 1 seg
Função(cid, effect, tempo)
Alguém pode fazer pra mim ?
Link para o comentário
https://xtibia.com/forum/topic/232182-repetir-effects-varias-vezes/Compartilhar em outros sites
20 respostass a esta questão
Posts Recomendados