Postado Julho 7, 2014 11 anos Olá galera! Galera, estou multiplicando um script em 4, e a storage de cada script é diferenciada e essas storages eu coloquei em um script de quest, que também multipliquei em 4. Aqui está os scripts: Script das auras: Colocarei somente uma como exemplo. data/creaturescripts/scripts/aura.lua -- CONFIGURAÇÕES porcentagem = 30 -- chance de curar em cada volta da aura, em porcentagem quantheal = 10 -- porcentagem da mana máximo que cada cura irá curar. (No caso, irá curar 10% da mana máxima 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 = 37 -- número do efeito quando a cura chega ao player (efeito de posição fixa, pode ser identificado com /z no jogo) -- Função que chama a aura function efeitosAura(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 and getCreatureMana(cid)<getCreatureMaxMana(cid)) then doCreatureAddMana(cid, getCreatureMaxMana(cid)/quantheal) if(i<=8 and i>1) then doSendDistanceShoot({x=posaura[i].x, y=posaura[i].y, z=posaura[i].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[i].x, y=posaura[i].y, z=posaura[i].z}, {x=posaura[1].x, y=posaura[1].y, z=posaura[1].z}, tipoaura) elseif(i<8) then doSendDistanceShoot({x=posaura[i].x, y=posaura[i].y, z=posaura[i].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(efeitosAura,tm,i,tm,cid) else return efeitosAura(1,0,cid) end else return TRUE end end --Função principal function onLogin(cid) if(getPlayerStorageValue(cid, 00001)==1) then return efeitosAura(1,tempo/8,cid) end return TRUE end Em vermelho: Storage da aura, cada aura tem uma storage diferente data/creaturescripts/creaturescripts.xml <event type="login" name="Aura" script="aura.lua"/> Baú: data/actions/scripts/baustor function onUse(cid) local storage = 00001 if getPlayerStorageValue(cid, storage) ~= 1 then doPlayerSetStorageValue(cid, storage, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Parabens, voce derrotou o boss e ganhou sua aura.") elseif getPlayerStorageValue(cid, storage) == 1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce ja ganhou a sua aura.") end return TRUE end Em vermelho: Storage da aura data/actions/actions.xml <action actionid="11111" script="baustor.lua"/> Em azul: actionid que será colocado no baú Bom galera, como eu disse eu multipliquei esses dois scripts em 4, coloquei os actionsids diferentes em cada baú e em cada script de aura coloquei uma storage diferente, tudo nos conformes, mas quando eu clico no baú somente uma aura é obtida, em cada baú é colocado uma actionid diferente, em cada script da aura é colocada uma storage diferente, em cada script do baú é colocado as storages das auras corretamente. Minha dúvida é: Por que somente uma aura funciona? E como eu poderia resolver isso? Rep++ @up Editado Julho 6, 2014 11 anos por NathanAmaro (veja o histórico de edições) Oi
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.