Postado Novembro 12, 2014 10 anos Solução Fera, acabei de pensar numa maneira simples de criar sua spell tão esperada de LifeSteal(o real, não esse fajuto... heuhueuhe), se quiseres eu faço pra ti aqui... Editado Vi que a do Orochi Elf é quase um LifeSteal... MAS... Tá aqui: Mostrar conteúdo oculto function onCastSpell(cid, var) local dividido = 10 -- Aqui você bota por quanto que ele vai dividir o dano pra te curar. Ex: dividido = 10, Dano = 50, Heal = 5 local level = getPlayerLevel(cid) local target = getCreatureTarget(cid) local maglevel = getPlayerMagLevel(cid) local mini = ((level*0.2) + (maglevel*1.403) + 8) -- Aqui são as formulas, essa é a formula padrão do atkMin de um exori tera local maxi = ((level*0.2) + (maglevel*2.203) + 13) -- Essa é a formula padrão do atkMax de um exori tera local damage = (math.random(mini,maxi)) local pPos = getPlayerPosition(cid) local tPos = getCreaturePosition(target) or {x=0, y=0, z=0} local pos = {x=tPos.x, y=tPos.y, z=tPos.z} doSendDistanceShoot(pPos, pos, CONST_ANI_SMALLEARTH) doAreaCombatHealth(cid, COMBAT_EARTHDAMAGE, pos, area, -damage, -damage, CONST_ME_CARNIPHILA) doCreatureAddHealth(cid, (damage/dividido)) return true end E tem que ter a tag "casterTargetOrDirection="1"" para funcionar, tire a "selftarget="1"". Editado Novembro 12, 2014 10 anos por mateusak (veja o histórico de edições) Não se esqueça de dar REP+ para quem te ajudou e caso seja a solução marcar como melhor resposta! NÃO CLIQUE AQUI! NEM AQUI! ________________________________________________________________________________________________________________________________________________________________________________________________________________________ “A imaginação é mais importante que o conhecimento.” Albert Einstein
Postado Novembro 12, 2014 10 anos Autor Funcionou, conforme eu queria O.o Nem acredito! @MateusAK GOD Porém, uma pequena falha.. Se eu não tiver com target em ninguém, ele apenas me cura! E não solta a magia na minha frente.. Mas se eu tiver atacando, funciona perfeitamente! Segue Prints ! SEM TARGET! Mostrar conteúdo oculto COM TARGET Mostrar conteúdo oculto /////ediit Se eu usar a magia sem dar target em nada.. aparece isso na distro! [Error-Spell Interface] data/spells/scripts/akilles/lifesteal.lua:onCastSpell Description: <luagetthingposition> Thing not found. Coloquei até o needtarget=1 no spells.xml e não adiantou.. ps:respondi PM sem querer com isso daqui '-' argh ///// EDIT TODOS PROBLEMAS RESOLVIDOS, SCRIPT 100% <instant name="Front Annihilation" words="exori grav min" lvl="300" mana="563" prem="1" needweapon="1" range="1" needtarget="1" blockwalls="1" exhaustion="1800" maglv="7" needlearn="0" script="akilles/exori grav min.lua"> <vocation id="8"/> <vocation id="12"/> <vocation id="16"/> <vocation id="20"/> </instant> Alterei a linha spells.xml conforme Código acima ! Editado Novembro 12, 2014 10 anos por Xiolones (veja o histórico de edições) Programador/Scripter/Mapper nível NOOB ?
Postado Novembro 12, 2014 10 anos É... é que eu tirei a parte que dizia "You only can use it on creatures" caso estivesse sem target, eu sabia que ia dar isso, só não sabia que ia te curar(nem do erro do distro, pra mim não aparece nada...). Mas que bom que achou uma solução... Não se esqueça de dar REP+ para quem te ajudou e caso seja a solução marcar como melhor resposta! NÃO CLIQUE AQUI! NEM AQUI! ________________________________________________________________________________________________________________________________________________________________________________________________________________________ “A imaginação é mais importante que o conhecimento.” Albert Einstein
Postado Novembro 12, 2014 10 anos Autor Deve que eu fiz algo errado no spells.xml pra dar erro no distro! Consegui solucionar, e ficou perfeito! Você é o cara ! Obrigado pela ajuda! Te espero no meu server em breve xD kkk Programador/Scripter/Mapper nível NOOB ?
Postado Novembro 13, 2014 10 anos E eu te espero no meu: Um server onde o Triple Bolt Crossbow atira 3 bolts por vez e acerta 3 targets diferentes, onde o druida finalmente tem uma arma única(e foda pra caralho, se vai ver), onde poções de tudo quanto é tipo existem, onde... Não posso contar mais, senão vão me copiar, huehueuheuheu. Editado Só um aprimoramento, agora dá pra configurar quantos % de dano vai curar, o que antes dava mas era pior(para botar 10% tinha que ver por quanto seria dividido o dano para dar 10% e etc): Mostrar conteúdo oculto function onCastSpell(cid, var) local porcentagem = 10 -- Aqui você bota a porcentagem. Ex: porcentagem = 10, Dano = 50, Heal = 5 local level = getPlayerLevel(cid) local target = getCreatureTarget(cid) local maglevel = getPlayerMagLevel(cid) local mini = ((level*0.2) + (maglevel*1.403) + 8) -- Aqui são as formulas, essa é a formula padrão do atkMin de um exori tera local maxi = ((level*0.2) + (maglevel*2.203) + 13) -- Essa é a formula padrão do atkMax de um exori tera local damage = (math.random(mini,maxi)) local pPos = getPlayerPosition(cid) local tPos = getCreaturePosition(target) or {x=0, y=0, z=0} local pos = {x=tPos.x, y=tPos.y, z=tPos.z} doSendDistanceShoot(pPos, pos, CONST_ANI_SMALLEARTH) doAreaCombatHealth(cid, COMBAT_EARTHDAMAGE, pos, area, -damage, -damage, CONST_ME_CARNIPHILA) doCreatureAddHealth(cid, (damage/100*porcentagem)) return true end O ideal para esta magia seria: <instant group="attack" spellid="1005" name="Life Steal" words="exori drain" lvl="13" mana="20" prem="1" range="3" needtarget="1" blockwalls="1" exhaustion="2000" groupcooldown="2000" needlearn="0" script="attack/lifesteal.lua"> <vocation name="Sorcerer"/> <vocation name="Master Sorcerer"/> <vocation name="Druid"/> <vocation name="Elder Druid"/> </instant> Editado Novembro 13, 2014 10 anos por mateusak (veja o histórico de edições) Não se esqueça de dar REP+ para quem te ajudou e caso seja a solução marcar como melhor resposta! NÃO CLIQUE AQUI! NEM AQUI! ________________________________________________________________________________________________________________________________________________________________________________________________________________________ “A imaginação é mais importante que o conhecimento.” Albert Einstein
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.