Ir para conteúdo

Featured Replies

Postado
  • 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 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

  • Respostas 22
  • Visualizações 4.6k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • 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 é

  • Pois então... É praticamente impossível. O que daria pra fazer é juntar o exura a uma magia de área.   Edit: Tipo assim:

  • Bom.. os códigos ficaram muito ridículos, preciso estudar uma forma mais bonitinha   @OBS: Não testei. LifeSteal.lua   Spells.xml     <instant name="Life Steal" words="life steal" lv

Postado
  • Autor

Funcionou, conforme eu queria O.o Nem acredito!

@MateusAK GOD :D

 

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

i3cSu80l.jpg

 

COM TARGET

Mostrar conteúdo oculto

tteWmMPl.jpg

 

/////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 por Xiolones (veja o histórico de edições)

 

Programador/Scripter/Mapper nível NOOB ?

 

Untitltasadasded-1.png.e24703844a8ee56fadbf0cdcf82cd9c7.png

Postado

É... é 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
  • Autor

Deve que eu fiz algo errado no spells.xml pra dar erro no distro! Consegui solucionar, e ficou perfeito!

Você é o cara ! :D

Obrigado pela ajuda! Te espero no meu server em breve xD kkk

 

Programador/Scripter/Mapper nível NOOB ?

 

Untitltasadasded-1.png.e24703844a8ee56fadbf0cdcf82cd9c7.png

Postado

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 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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo