Postado Outubro 30, 2021 3 anos Em 01/02/2021 em 13:10, QuebradaZN disse: Boa Tarde, Hoje venho trazer a vocês um Sistema de Aura! Feito pelo @bielzinhocrazy [Fakezim/BielzinhoCrazy/GMLeal] Mudanças que Foram feitas... Retirei a ativação da Aura por Talk e coloquei por Equip Fixei o Bug que a aura Não Girava em torno do Player Fixei o Bug que o Player Parava de receber a aura assim que Tinha o Efeito da Cura! Em Movements/scripts/ Crie um Arquivo com nome de aura.lua -- CONFIGURAÇÕES aurastr = 25950 -- storage da aura estr = 25951 -- storage para o exhaust porcentagem = 50 -- chance de curar em cada volta da aura, em porcentagem quantheal = 20 -- 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 = 31 -- número do efeito da aura (efeito de distância, pode ser identificado com /x no jogo) efeitocura = 54 -- 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 getCreatureHealth(cid)<getCreatureMaxHealth(cid)) then doCreatureAddHealth(cid, getCreatureMaxHealth(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 and getPlayerStorageValue(cid, aurastr)==2) then i = i+1 tm = tempo/8 return addEvent(efeitosAura,tm,i,tm,cid) elseif(i>8 and getPlayerStorageValue(cid, aurastr)==2) then return efeitosAura(1,0,cid) else return TRUE end else return TRUE end end function onEquip(player, item, slot, isCheck) local slot_ = player:getSlotItem(CONST_SLOT_RING) if slot_ and slot_.itemid == item.itemid then return false end doPlayerSendCancel(player,"Você Ativou a Aura!") setPlayerStorageValue(player, aurastr, 2) efeitosAura(1,tempo/8,player.uid) return true end function onDeEquip(player, item, slot, isCheck) if(getPlayerStorageValue(player, aurastr)==2) then setPlayerStorageValue(player, estr, os.time()+2) setPlayerStorageValue(player, aurastr, -1) doPlayerSendCancel(player,"Você Desativou a Aura!") return true end end Feito Isso Vamos Registrar esse Script Em Movements/movements.xml <movevent event="Equip" itemid="9003" slot="ring" script="aura.lua" /> <movevent event="DeEquip" itemid="9003" slot="ring" script="aura.lua" /> OBS: Usei o Golden Falcon como Item Agora em Creaturescripts/scripts crie um Arquivos Chamado aura.lua function onLogin(cid) if(getPlayerStorageValue(cid, 25950)==2) then return efeitosAura(1,tempo/8,cid.uid) end return TRUE end Caso o Player Deslogue com a Aura Ativa, Quando retornar Online Continuará com a Aura! Registrando no Login.lua player:registerEvent("AuraLogin") Em Creaturescripts/creaturescripts.xml <event type="login" name="AuraLogin" script="others/aura.lua" /> Nesse Caso minha Aura.lua está na Pasta others! Então é isso Pessoal, Qualquer problema Tentarei ajudar todos por Aqui Espero ter ajudado! Prints
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.