Postado Agosto 3, 2019 6 anos Olá, eu tenho esse sistema de Aura Healing (esta disponivel aqui no tibiaking). Eu coloquei pra ela ser atraves de creaturescripts, agora gostaria de mudar pra onEquip e onDeEquip, porem esta dando um erro. Quando eu equipo o item ele ativa a função, porem assim que eu retiro o item ele nao desativa a função, e ao equipar o item novamente ele ativa a função de novo, ficando 2 funções ativa ou ate mais. Eu queria que ao equipa o item ele ativa a função e ao desequipa o item ele desativa a função. -- CONFIGURAÇÕES aurastr = 25950 -- storage da aura estr = 25951 -- storage para o exhaust porcentagem = 30 -- chance de curar em cada volta da aura, em porcentagem quantheal = 15 -- porcentagem do hp máximo que cada cura irá curar. (No caso, irá curar 10% do hp máximo cada cura) tempo = 1180 -- tempo para dar uma volta no player (este tempo foi o que achei mais agradável visualmente, é recomendável não mudar) tipoaura = 35 -- número do efeito da aura (efeito de distância, pode ser identificado com /x no jogo) efeitocura = 53 -- número do efeito quando a cura chega ao player (efeito de posição fixa, pode ser identificado com /z no jogo) local table = { itemNeed = 9969, -- Mesmo id do itemid que você colocou na tag xml. txt = {"´ . ,", ". ´ ,", "` . ,", ", ` ."}, -- Texto que vai sair. delay = 1000, -- Tempo que vai ficar saindo cor = {26, 30, 31, 32}, -- Cor do texto que vai sair. effect = 3 -- Efeito que vai sair(aura). } function doPlayerLoopEff(cid) if isPlayer(cid) and getPlayerSlotItem(cid, CONST_SLOT_AMMO).itemid == table.itemNeed then doSendAnimatedText(getThingPos(cid), table.txt[math.random(#table.txt)], table.cor[math.random(#table.cor)]) addEvent(function() doPlayerLoopEff(cid) end, table.delay) -- 1000 é o delay que vai sair o efeito e o texto. end end -- Função que chama a aura function efeitosAura1(i,tm,cid) if isCreature(cid) then local atual = getCreaturePosition(cid) local posaura = { {x=(atual.x)-1, y=(atual.y)-1, z=atual.z}, {x=atual.x, y=(atual.y)-1, z=atual.z}, {x=(atual.x)+1, y=(atual.y)-1, z=atual.z}, {x=(atual.x)+1, y=atual.y, z=atual.z}, {x=(atual.x)+1, y=(atual.y)+1, z=atual.z}, {x=atual.x, y=(atual.y)+1, z=atual.z}, {x=(atual.x)-1, y=(atual.y)+1, z=atual.z}, {x=(atual.x)-1, y=atual.y, z=atual.z}, } local chances = math.random(100) if(chances<=porcentagem/8) then doCreatureAddHealth(cid, getCreatureMaxHealth(cid)/quantheal) doCreatureAddMana(cid, getCreatureMaxMana(cid)/quantheal) if(i<=8 and i>1) then doSendDistanceShoot({x=posaura.x, y=posaura.y, z=posaura.z}, atual, tipoaura) else doSendDistanceShoot({x=posaura[1].x, y=posaura[1].y, z=posaura[1].z}, atual, tipoaura) end doSendMagicEffect(atual, efeitocura) end if(i==8) then doSendDistanceShoot({x=posaura.x, y=posaura.y, z=posaura.z}, {x=posaura[1].x, y=posaura[1].y, z=posaura[1].z}, tipoaura) elseif(i<8) then doSendDistanceShoot({x=posaura.x, y=posaura.y, z=posaura.z}, {x=posaura[i+1].x, y=posaura[i+1].y, z=posaura[i+1].z}, tipoaura) end if i<=8 then i = i+1 tm = tempo/8 return addEvent(efeitosAura1,tm,i,tm,cid) elseif i>8 then return efeitosAura1(1,0,cid) else return true end else return true endend -- Função principal function onEquip (cid, item, slot)doPlayerLoopEff(cid) efeitosAura1(1,tempo/8,cid) return true end Editado Agosto 18, 2019 6 anos por tetheuscunha (veja o histórico de edições) Senhoras e senhores, se alguma resposta lhe ajudou, marque-a como a melhor resposta e de ponto positivo, assim você incentiva quem lhe ajudou a continuar ajudando!!.
Postado Agosto 3, 2019 6 anos Cara, a sua dúvida está muito confusa.. Quando você equipa o item, ele ativa a função 2x ? ai você quer desativar em qual momento? Contribuições: => Distribuições/Servidores [8.60] The Forgotten Server 1.3 (COMPILADO WIN x64) => Scripts/Códigos/Tutoriais Pokemon pescado aparece em volta do seu pokemon [Gesior]Dobrar pontos PagSeguro a partir de x valor doado Gostou de alguma contribuição? Rep +?
Postado Agosto 8, 2019 6 anos Autor Em 03/08/2019 em 17:26, Rayo disse: Cara, a sua dúvida está muito confusa.. Quando você equipa o item, ele ativa a função 2x ? ai você quer desativar em qual momento? Desculpe a demora pra responder. Sim, ele ativa a função varias vezes. Se eu equipo o item mais de 2 vezes ele ativa toda essas vezes. Eu quero que ele desative assim que eu desequipo ele. onEquip e onDeEquip. Senhoras e senhores, se alguma resposta lhe ajudou, marque-a como a melhor resposta e de ponto positivo, assim você incentiva quem lhe ajudou a continuar ajudando!!.
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.