Postado Julho 28, 2017 7 anos Bom vamos lá, eu gostaria de pedir se alguém pode me ajudar juntando 2 talkactions que já estão prontas. As talk's no caso seriam essas: -- 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 = 5 -- porcentagem do hp máximo que cada cura irá curar. (No caso, irá curar 5% 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 = 30 -- número do efeito da aura (efeito de distância, pode ser identificado com /x no jogo) efeitocura = 49 -- 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 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) 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(efeitosAura1,tm,i,tm,cid) elseif(i>8 and getPlayerStorageValue(cid, aurastr)==2) then return efeitosAura1(1,0,cid) else return TRUE end else return TRUE end end -- Função principal function onSay(cid, words, param, channel) if getPlayerStorageValue(cid, 89123) <= 0 then doPlayerSendCancel(cid, "Você precisa ter feito a quest.") return true end if(param=="on") then if getPlayerStorageValue(cid, estr) > os.time() then doPlayerSendCancel(cid, "Espere "..(getPlayerStorageValue(cid, estr) - os.time()).." segundos para poder habilitar aura level 1 novamente.") else if(getPlayerStorageValue(cid, aurastr)==2) then doPlayerSendCancel(cid,"Sua Aura Level 1 já está habilitada.") elseif(getPlayerStorageValue(cid, aurastr)==-1) then doPlayerSendCancel(cid,"Aura Level 1 ligada!") setPlayerStorageValue(cid, aurastr, 2) efeitosAura1(1,tempo/8,cid) end end elseif(param=="off") then if(getPlayerStorageValue(cid, aurastr)== 2) then setPlayerStorageValue(cid, estr, os.time()+2) setPlayerStorageValue(cid, aurastr, -1) doPlayerSendCancel(cid,"Aura Level 1 desligada!") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Digite '!aura on' para ligar sua aura, e '!aura off' para desligá-la.") end return true end E esse o outro script: -- CONFIGURAÇÕES aurastrs = 25943 -- storage da aura estrs = 25813 -- storage para o exhaust porcentagems = 50 -- chance de curar em cada volta da aura, em porcentagems quantheals = 5 -- porcentagems do hp máximo que cada cura irá curar. (No caso, irá curar 5% do hp máximo cada cura) tempos = 1180 -- tempos para dar uma volta no player (este tempos foi o que achei mais agradável visualmente, é recomendável não mudar) tipoauras = 35 -- número do efeito da aura (efeito de distância, pode ser identificado com /x no jogo) efeitocuras = 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 efeitosAura2s(i,tm,cid) if(isCreature(cid)) then local atuals = getCreaturePosition(cid) local posauras = { {x=(atuals.x)-1, y=(atuals.y)-1, z=atuals.z}, {x=atuals.x, y=(atuals.y)-1, z=atuals.z}, {x=(atuals.x)+1, y=(atuals.y)-1, z=atuals.z}, {x=(atuals.x)+1, y=atuals.y, z=atuals.z}, {x=(atuals.x)+1, y=(atuals.y)+1, z=atuals.z}, {x=atuals.x, y=(atuals.y)+1, z=atuals.z}, {x=(atuals.x)-1, y=(atuals.y)+1, z=atuals.z}, {x=(atuals.x)-1, y=atuals.y, z=atuals.z}, } local chances = math.random(100) if(chances<=porcentagems/8) then doCreatureAddMana(cid, getCreatureMaxMana(cid)/quantheals) if(i<=8 and i>1) then doSendDistanceShoot({x=posauras[i].x, y=posauras[i].y, z=posauras[i].z}, atuals, tipoauras) else doSendDistanceShoot({x=posauras[1].x, y=posauras[1].y, z=posauras[1].z}, atuals, tipoauras) end doSendMagicEffect(atuals, efeitocuras) end if(i==8) then doSendDistanceShoot({x=posauras[i].x, y=posauras[i].y, z=posauras[i].z}, {x=posauras[1].x, y=posauras[1].y, z=posauras[1].z}, tipoauras) elseif(i<8) then doSendDistanceShoot({x=posauras[i].x, y=posauras[i].y, z=posauras[i].z}, {x=posauras[i+1].x, y=posauras[i+1].y, z=posauras[i+1].z}, tipoauras) end if(i<=8 and getPlayerStorageValue(cid, aurastrs)==2) then i = i+1 tm = tempos/8 return addEvent(efeitosAura2s,tm,i,tm,cid) elseif(i>8 and getPlayerStorageValue(cid, aurastrs)==2) then return efeitosAura2s(1,0,cid) else return TRUE end else return TRUE end end -- Função principal function onSay(cid, words, param, channel) if getPlayerStorageValue(cid, 89124) <= 0 then doPlayerSendCancel(cid, "Você precisa ter feito a quest.") return true end if(param=="on") then if getPlayerStorageValue(cid, estrs) > os.time() then doPlayerSendCancel(cid, "Espere "..(getPlayerStorageValue(cid, estrs) - os.time()).." segundos para poder habilitar aura level 2 novamente.") else if(getPlayerStorageValue(cid, aurastrs)==2) then doPlayerSendCancel(cid,"Sua Aura Level 2 já está habilitada.") elseif(getPlayerStorageValue(cid, aurastrs)==-1) then doPlayerSendCancel(cid,"Aura Level 2 ligada!") setPlayerStorageValue(cid, aurastrs, 2) efeitosAura2s(1,tempos/8,cid) end end elseif(param=="off") then if(getPlayerStorageValue(cid, aurastrs)== 2) then setPlayerStorageValue(cid, estrs, os.time()+2) setPlayerStorageValue(cid, aurastrs, -1) doPlayerSendCancel(cid,"Aura Level 2 desligada!") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Digite '!aura2 on' para ligar sua aura, e '!aura2 off' para desligá-la.") end return true end Esse é um sistema de Aura que roda o Player e tem chance de healar HP dele. Eu fiz 2 tipos de Aura que o Player so pode usar tendo a storage que ele ganha fazendo a quest. O primeiro seria a Aura 1 da quest easy, ae o Player acabando a segunda quest ele ganharia a Aura 2 e automaticamente ela substituiria a Aura 1... Sendo o comando !aura on e !aura off para ativar e desativar a Aura. Se alguém poder fazer pra mim ou me ajudar a juntar agradeço! OBS: O Báu da quest que ganha a storage já esta pronto! A única coisa que preciso é a junção do sistema, pois para ele funcionar tenho que usar comandos diferentes e gostaria de manter o mesmo comando só alterando o tipo da aura para 2. Qualquer duvida estou a disposição. Grato! UP!!!@xWhiteWolf ajuda eu rs @moviebr ve se consegue me ajudar! Editado Julho 28, 2017 7 anos por gleison157 (veja o histórico de edições)
Postado Julho 28, 2017 7 anos -- 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 = 5 -- porcentagem do hp máximo que cada cura irá curar. (No caso, irá curar 5% 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 = 30 -- número do efeito da aura (efeito de distância, pode ser identificado com /x no jogo) efeitocura = 49 -- 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 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) 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(efeitosAura1,tm,i,tm,cid) elseif(i>8 and getPlayerStorageValue(cid, aurastr)==2) then return efeitosAura1(1,0,cid) else return TRUE end else return TRUE end end -- Função principal function onSay(cid, words, param, channel) if getPlayerStorageValue(cid, 25943) => 1 then doPlayerSendCancel(cid, "Você já possui a aura level 2.") return true end if(param=="on") then if getPlayerStorageValue(cid, estr) > os.time() then doPlayerSendCancel(cid, "Espere "..(getPlayerStorageValue(cid, estr) - os.time()).." segundos para poder habilitar aura level 2 novamente.") else if(getPlayerStorageValue(cid, aurastr)==2) then doPlayerSendCancel(cid,"Sua Aura Level 2 já está habilitada.") elseif(getPlayerStorageValue(cid, aurastr)==-1) then doPlayerSendCancel(cid,"Aura Level 2 ligada!") setPlayerStorageValue(cid, aurastr, 2) efeitosAura1(1,tempo/8,cid) end end elseif(param=="off") then if(getPlayerStorageValue(cid, aurastr)== 2) then setPlayerStorageValue(cid, estr, os.time()+2) setPlayerStorageValue(cid, aurastr, -1) doPlayerSendCancel(cid,"Aura Level 1 desligada!") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Digite '!aura on' para ligar sua aura, e '!aura off' para desligá-la.") end return true end -- CONFIGURAÇÕES aurastrs = 25943 -- storage da aura estrs = 25813 -- storage para o exhaust porcentagems = 50 -- chance de curar em cada volta da aura, em porcentagems quantheals = 5 -- porcentagems do hp máximo que cada cura irá curar. (No caso, irá curar 5% do hp máximo cada cura) tempos = 1180 -- tempos para dar uma volta no player (este tempos foi o que achei mais agradável visualmente, é recomendável não mudar) tipoauras = 35 -- número do efeito da aura (efeito de distância, pode ser identificado com /x no jogo) efeitocuras = 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 efeitosAura2s(i,tm,cid) if(isCreature(cid)) then local atuals = getCreaturePosition(cid) local posauras = { {x=(atuals.x)-1, y=(atuals.y)-1, z=atuals.z}, {x=atuals.x, y=(atuals.y)-1, z=atuals.z}, {x=(atuals.x)+1, y=(atuals.y)-1, z=atuals.z}, {x=(atuals.x)+1, y=atuals.y, z=atuals.z}, {x=(atuals.x)+1, y=(atuals.y)+1, z=atuals.z}, {x=atuals.x, y=(atuals.y)+1, z=atuals.z}, {x=(atuals.x)-1, y=(atuals.y)+1, z=atuals.z}, {x=(atuals.x)-1, y=atuals.y, z=atuals.z}, } local chances = math.random(100) if(chances<=porcentagems/8) then doCreatureAddMana(cid, getCreatureMaxMana(cid)/quantheals) if(i<=8 and i>1) then doSendDistanceShoot({x=posauras[i].x, y=posauras[i].y, z=posauras[i].z}, atuals, tipoauras) else doSendDistanceShoot({x=posauras[1].x, y=posauras[1].y, z=posauras[1].z}, atuals, tipoauras) end doSendMagicEffect(atuals, efeitocuras) end if(i==8) then doSendDistanceShoot({x=posauras[i].x, y=posauras[i].y, z=posauras[i].z}, {x=posauras[1].x, y=posauras[1].y, z=posauras[1].z}, tipoauras) elseif(i<8) then doSendDistanceShoot({x=posauras[i].x, y=posauras[i].y, z=posauras[i].z}, {x=posauras[i+1].x, y=posauras[i+1].y, z=posauras[i+1].z}, tipoauras) end if(i<=8 and getPlayerStorageValue(cid, aurastrs)==2) then i = i+1 tm = tempos/8 return addEvent(efeitosAura2s,tm,i,tm,cid) elseif(i>8 and getPlayerStorageValue(cid, aurastrs)==2) then return efeitosAura2s(1,0,cid) else return TRUE end else return TRUE end end -- Função principal function onSay(cid, words, param, channel) if getPlayerStorageValue(cid, 25950) <= 0 then doPlayerSendCancel(cid, "Você precisa ter feito a quest.") return true end if(param=="on") then if getPlayerStorageValue(cid, estrs) > os.time() then doPlayerSendCancel(cid, "Espere "..(getPlayerStorageValue(cid, estrs) - os.time()).." segundos para poder habilitar aura level 2 novamente.") else if(getPlayerStorageValue(cid, aurastrs)==2) then doPlayerSendCancel(cid,"Sua Aura Level 2 já está habilitada.") elseif(getPlayerStorageValue(cid, aurastrs)==-1) then doPlayerSendCancel(cid,"Aura Level 2 ligada!") setPlayerStorageValue(cid, aurastrs, 2) efeitosAura2s(1,tempos/8,cid) end end elseif(param=="off") then if(getPlayerStorageValue(cid, aurastrs)== 2) then setPlayerStorageValue(cid, estrs, os.time()+2) setPlayerStorageValue(cid, aurastrs, -1) doPlayerSendCancel(cid,"Aura Level 2 desligada!") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Digite '!aura2 on' para ligar sua aura, e '!aura2 off' para desligá-la.") end return true end Tenta assim Baiak Thunder New TFS Downgrade [TFS 1.5 - 8.60] Gesior Ferobra Downgrade Evento Monster Hunt [TFS 1.X] Evento SafeZone [TFS 1.X] Online Bonus System [TFS 1.X] Dodge & Critical [TFS 1.X] Nova moeda, funcionando com NPCs [TFS 1.X] Square System [TFS 1.X] Loot Channel [TFS 1.X] Gerenciador de Quests [All TFS] NPCs comprando vial/flasks por storage [TFS 1.X] AntiBot [TFS 1.X] Como compilar TFS 0.X
Postado Julho 28, 2017 7 anos Autor 26 minutos atrás, moviebr disse: -- 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 = 5 -- porcentagem do hp máximo que cada cura irá curar. (No caso, irá curar 5% 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 = 30 -- número do efeito da aura (efeito de distância, pode ser identificado com /x no jogo) efeitocura = 49 -- 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 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) 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(efeitosAura1,tm,i,tm,cid) elseif(i>8 and getPlayerStorageValue(cid, aurastr)==2) then return efeitosAura1(1,0,cid) else return TRUE end else return TRUE end end -- Função principal function onSay(cid, words, param, channel) if getPlayerStorageValue(cid, 25943) => 1 then doPlayerSendCancel(cid, "Você já possui a aura level 2.") return true end if(param=="on") then if getPlayerStorageValue(cid, estr) > os.time() then doPlayerSendCancel(cid, "Espere "..(getPlayerStorageValue(cid, estr) - os.time()).." segundos para poder habilitar aura level 2 novamente.") else if(getPlayerStorageValue(cid, aurastr)==2) then doPlayerSendCancel(cid,"Sua Aura Level 2 já está habilitada.") elseif(getPlayerStorageValue(cid, aurastr)==-1) then doPlayerSendCancel(cid,"Aura Level 2 ligada!") setPlayerStorageValue(cid, aurastr, 2) efeitosAura1(1,tempo/8,cid) end end elseif(param=="off") then if(getPlayerStorageValue(cid, aurastr)== 2) then setPlayerStorageValue(cid, estr, os.time()+2) setPlayerStorageValue(cid, aurastr, -1) doPlayerSendCancel(cid,"Aura Level 1 desligada!") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Digite '!aura on' para ligar sua aura, e '!aura off' para desligá-la.") end return true end -- CONFIGURAÇÕES aurastrs = 25943 -- storage da aura estrs = 25813 -- storage para o exhaust porcentagems = 50 -- chance de curar em cada volta da aura, em porcentagems quantheals = 5 -- porcentagems do hp máximo que cada cura irá curar. (No caso, irá curar 5% do hp máximo cada cura) tempos = 1180 -- tempos para dar uma volta no player (este tempos foi o que achei mais agradável visualmente, é recomendável não mudar) tipoauras = 35 -- número do efeito da aura (efeito de distância, pode ser identificado com /x no jogo) efeitocuras = 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 efeitosAura2s(i,tm,cid) if(isCreature(cid)) then local atuals = getCreaturePosition(cid) local posauras = { {x=(atuals.x)-1, y=(atuals.y)-1, z=atuals.z}, {x=atuals.x, y=(atuals.y)-1, z=atuals.z}, {x=(atuals.x)+1, y=(atuals.y)-1, z=atuals.z}, {x=(atuals.x)+1, y=atuals.y, z=atuals.z}, {x=(atuals.x)+1, y=(atuals.y)+1, z=atuals.z}, {x=atuals.x, y=(atuals.y)+1, z=atuals.z}, {x=(atuals.x)-1, y=(atuals.y)+1, z=atuals.z}, {x=(atuals.x)-1, y=atuals.y, z=atuals.z}, } local chances = math.random(100) if(chances<=porcentagems/8) then doCreatureAddMana(cid, getCreatureMaxMana(cid)/quantheals) if(i<=8 and i>1) then doSendDistanceShoot({x=posauras[i].x, y=posauras[i].y, z=posauras[i].z}, atuals, tipoauras) else doSendDistanceShoot({x=posauras[1].x, y=posauras[1].y, z=posauras[1].z}, atuals, tipoauras) end doSendMagicEffect(atuals, efeitocuras) end if(i==8) then doSendDistanceShoot({x=posauras[i].x, y=posauras[i].y, z=posauras[i].z}, {x=posauras[1].x, y=posauras[1].y, z=posauras[1].z}, tipoauras) elseif(i<8) then doSendDistanceShoot({x=posauras[i].x, y=posauras[i].y, z=posauras[i].z}, {x=posauras[i+1].x, y=posauras[i+1].y, z=posauras[i+1].z}, tipoauras) end if(i<=8 and getPlayerStorageValue(cid, aurastrs)==2) then i = i+1 tm = tempos/8 return addEvent(efeitosAura2s,tm,i,tm,cid) elseif(i>8 and getPlayerStorageValue(cid, aurastrs)==2) then return efeitosAura2s(1,0,cid) else return TRUE end else return TRUE end end -- Função principal function onSay(cid, words, param, channel) if getPlayerStorageValue(cid, 25950) <= 0 then doPlayerSendCancel(cid, "Você precisa ter feito a quest.") return true end if(param=="on") then if getPlayerStorageValue(cid, estrs) > os.time() then doPlayerSendCancel(cid, "Espere "..(getPlayerStorageValue(cid, estrs) - os.time()).." segundos para poder habilitar aura level 2 novamente.") else if(getPlayerStorageValue(cid, aurastrs)==2) then doPlayerSendCancel(cid,"Sua Aura Level 2 já está habilitada.") elseif(getPlayerStorageValue(cid, aurastrs)==-1) then doPlayerSendCancel(cid,"Aura Level 2 ligada!") setPlayerStorageValue(cid, aurastrs, 2) efeitosAura2s(1,tempos/8,cid) end end elseif(param=="off") then if(getPlayerStorageValue(cid, aurastrs)== 2) then setPlayerStorageValue(cid, estrs, os.time()+2) setPlayerStorageValue(cid, aurastrs, -1) doPlayerSendCancel(cid,"Aura Level 2 desligada!") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Digite '!aura2 on' para ligar sua aura, e '!aura2 off' para desligá-la.") end return true end Tenta assim Testando agora... Erro no executavel: Spoiler [28/07/2017 15:41:32] [Error - LuaScriptInterface::loadFile] data/talkactions/scripts/SystemAura/aura1.lua:55: 'then' expected near '=' [28/07/2017 15:41:32] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/SystemAura/aura1.lua) [28/07/2017 15:41:32] data/talkactions/scripts/SystemAura/aura1.lua:55: 'then' expected near '=' Não funcionou... Se eu pegar o bau que da a Storage: 25950 ele ativa a Aura 2... Mais se eu pegar o Bau da Storage: 25943 ele não ativa nenhuma UP!!!
Postado Agosto 4, 2017 7 anos Eu já havia modificado este mesmo script para meu servidor. Segue o script: lvlaura é o nível da aura, na quest da primeira aura ponha setPlayerStorageValue(cid, 8445682, 1) Quest da segunda aura, coloque setPlayerStorageValue(cid, 8445682, 2) e assim por diante. Obs: Na minha versão eu já corrigi os erros que dava no distro quando algum player relogava com a aura ligada. Obs²: Eu configurei para curar tanto hp quanto mana, em mesma quantia. Obs³: Eu corrigi o erro que fazia a aura curar a qualquer momento, e não somente quando completava uma volta no personagem. -- CONFIGURAÇÕES lvlaura = 8445682 aurastr = 8445680 estr = 8445681 tempo = 1310 function efeitosAura(i,tm,cid) if isPlayer(cid) and getPlayerStorageValue(cid, aurastr)== 2 then if getPlayerStorageValue(cid, lvlaura) == 1 then -- aura level 1 porcentagem = 25 -- chance de curar em cada volta da aura quantheal = 6 -- porcentagem do hp máximo que cada cura irá curar tipoaura = 12 -- efeito da aura /x efeitocura = 43 --efeito quando a cura chega ao player /z elseif getPlayerStorageValue(cid, lvlaura) == 2 then -- aura level 2 porcentagem = 30 -- chance de curar em cada volta da aura quantheal = 8 -- porcentagem do hp máximo que cada cura irá curar tipoaura = 28 -- efeito da aura /x efeitocura = 43 --efeito quando a cura chega ao player /z elseif getPlayerStorageValue(cid, lvlaura) == 3 then -- aura level 3 porcentagem = 35 -- chance de curar em cada volta da aura quantheal = 10 -- porcentagem do hp máximo que cada cura irá curar tipoaura = 30 -- efeito da aura /x efeitocura = 39 --efeito quando a cura chega ao player /z elseif getPlayerStorageValue(cid, lvlaura) == 4 then -- aura level 4 porcentagem = 40 -- chance de curar em cada volta da aura quantheal = 12 -- porcentagem do hp máximo que cada cura irá curar tipoaura = 31 -- efeito da aura /x efeitocura = 38 --efeito quando a cura chega ao player /z end 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}, } if i == 1 then local chances = math.random(1, 100) if(chances<=porcentagem and (getCreatureHealth(cid)<getCreatureMaxHealth(cid) or getCreatureMana(cid)<getCreatureMaxMana(cid))) then local hpheal = (getCreatureMaxHealth(cid)/100) * quantheal local mpheal = (getCreatureMaxMana(cid)/100) * quantheal doCreatureAddHealth(cid, hpheal) doCreatureAddMana(cid, mpheal) 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 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) elseif(i>8) then return efeitosAura(1,0,cid) else return TRUE end else return TRUE end return true end end -- Função principal function onSay(cid, words, param, channel) if getPlayerStorageValue(cid, lvlaura) <= 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "[AURA SYSTEM] Você não possui aura.") return true end if(param=="on") then if getPlayerStorageValue(cid, estr) > os.time() then doPlayerSendCancel(cid, "Espere "..(getPlayerStorageValue(cid, estr) - os.time()).." segundos para poder habilitar aura novamente.") else if(getPlayerStorageValue(cid, aurastr)==2) then doPlayerSendCancel(cid,"Sua aura já está habilitada.") elseif(getPlayerStorageValue(cid, aurastr)==-1) then doPlayerSendCancel(cid,"Aura ligada!") setPlayerStorageValue(cid, aurastr, 2) efeitosAura(1,tempo/8,cid) end end elseif(param=="off") then if(getPlayerStorageValue(cid, aurastr)==2) then setPlayerStorageValue(cid, estr, os.time()+2) setPlayerStorageValue(cid, aurastr, -1) doPlayerSendCancel(cid,"Aura desligada!") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Digite '!aura on' para ligar sua aura, e '!aura off' para desligá-la.") end return TRUE end Editado Agosto 4, 2017 7 anos por luangop a (veja o histórico de edições) Te ajudei? Clique em Gostei ! ²²²d¬¬b²²² "She's got a smile that it seems to me...." ♪♪
Postado Agosto 5, 2017 7 anos Autor 9 horas atrás, luangop disse: Eu já havia modificado este mesmo script para meu servidor. Segue o script: lvlaura é o nível da aura, na quest da primeira aura ponha setPlayerStorageValue(cid, 8445682, 1) Quest da segunda aura, coloque setPlayerStorageValue(cid, 8445682, 2) e assim por diante. Obs: Na minha versão eu já corrigi os erros que dava no distro quando algum player relogava com a aura ligada. Obs²: Eu configurei para curar tanto hp quanto mana, em mesma quantia. Obs³: Eu corrigi o erro que fazia a aura curar a qualquer momento, e não somente quando completava uma volta no personagem. -- CONFIGURAÇÕES lvlaura = 8445682 aurastr = 8445680 estr = 8445681 tempo = 1310 function efeitosAura(i,tm,cid) if isPlayer(cid) and getPlayerStorageValue(cid, aurastr)== 2 then if getPlayerStorageValue(cid, lvlaura) == 1 then -- aura level 1 porcentagem = 25 -- chance de curar em cada volta da aura quantheal = 6 -- porcentagem do hp máximo que cada cura irá curar tipoaura = 12 -- efeito da aura /x efeitocura = 43 --efeito quando a cura chega ao player /z elseif getPlayerStorageValue(cid, lvlaura) == 2 then -- aura level 2 porcentagem = 30 -- chance de curar em cada volta da aura quantheal = 8 -- porcentagem do hp máximo que cada cura irá curar tipoaura = 28 -- efeito da aura /x efeitocura = 43 --efeito quando a cura chega ao player /z elseif getPlayerStorageValue(cid, lvlaura) == 3 then -- aura level 3 porcentagem = 35 -- chance de curar em cada volta da aura quantheal = 10 -- porcentagem do hp máximo que cada cura irá curar tipoaura = 30 -- efeito da aura /x efeitocura = 39 --efeito quando a cura chega ao player /z elseif getPlayerStorageValue(cid, lvlaura) == 4 then -- aura level 4 porcentagem = 40 -- chance de curar em cada volta da aura quantheal = 12 -- porcentagem do hp máximo que cada cura irá curar tipoaura = 31 -- efeito da aura /x efeitocura = 38 --efeito quando a cura chega ao player /z end 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}, } if i == 1 then local chances = math.random(1, 100) if(chances<=porcentagem and (getCreatureHealth(cid)<getCreatureMaxHealth(cid) or getCreatureMana(cid)<getCreatureMaxMana(cid))) then local hpheal = (getCreatureMaxHealth(cid)/100) * quantheal local mpheal = (getCreatureMaxMana(cid)/100) * quantheal doCreatureAddHealth(cid, hpheal) doCreatureAddMana(cid, mpheal) 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 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) elseif(i>8) then return efeitosAura(1,0,cid) else return TRUE end else return TRUE end return true end end -- Função principal function onSay(cid, words, param, channel) if getPlayerStorageValue(cid, lvlaura) <= 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "[AURA SYSTEM] Você não possui aura.") return true end if(param=="on") then if getPlayerStorageValue(cid, estr) > os.time() then doPlayerSendCancel(cid, "Espere "..(getPlayerStorageValue(cid, estr) - os.time()).." segundos para poder habilitar aura novamente.") else if(getPlayerStorageValue(cid, aurastr)==2) then doPlayerSendCancel(cid,"Sua aura já está habilitada.") elseif(getPlayerStorageValue(cid, aurastr)==-1) then doPlayerSendCancel(cid,"Aura ligada!") setPlayerStorageValue(cid, aurastr, 2) efeitosAura(1,tempo/8,cid) end end elseif(param=="off") then if(getPlayerStorageValue(cid, aurastr)==2) then setPlayerStorageValue(cid, estr, os.time()+2) setPlayerStorageValue(cid, aurastr, -1) doPlayerSendCancel(cid,"Aura desligada!") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Digite '!aura on' para ligar sua aura, e '!aura off' para desligá-la.") end return TRUE end Pó cara vlw mesmo, funcionou certinho aqui pra mim as auras, só meu baú que quando pego o primeiro, e vou pegar o segundo bau ele fala que eu já peguei pois como é a storage igual ele não libera para pegar... Se poderia me ajuar passando seu script do baú para mim ?
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.