Ir para conteúdo

Featured Replies

Postado

Olá galera do TK,

 

Venho aqui lhes trazer uma spell nova e funcional !

Ela é uma spell simples, com lifesteal incorporado!  Ou seja, você causa dano X, e recebe 20% de vida..

 

1° PASSO :

 

Copie qualquer arquivo.lua e cole, e renomeie para 'lifesteal'.lua .

Apague tudo de dentro do arquivo e cole este script:

 

function onCastSpell(cid)
    local formula = getPlayerLevel(cid) * getPlayerMagLevel(cid)
    local target = getCreatureTarget(cid)
    
    if target < 1 then
        
        doPlayerSendCancel(cid, "You need a target.")
        return false
    end
    
    if isPlayer(target) then
        
        formula = formula / getPlayerLevel(target)
    else
        
        formula = formula / 15
    end
    
    local stealPercent = formula / 100 * 20
    
    doCreatureAddHealth(cid, stealPercent)
    doSendAnimatedText(getThingPos(cid), "+" .. stealPercent, 25)
    
    doSendDistanceShoot(getThingPos(cid), getThingPos(target), 15)
    doAreaCombatHealth(cid, COMBAT_PHYSICALDAMAGE, getThingPos(target), 0, - formula, - formula * 0.5, CONST_ME_MAGIC_RED)
    return true
end

 

2° PASSO:

Cole esta linha no seu spells.xml

 

    <instant name="Lifesteal" words="exori drain" lvl="80" mana="230" prem="1" range="5" casterTargetOrDirection="1" blockwalls="1" exhaustion="4000" maglv="20" needlearn="0" script="lifesteal.lua">
        <vocation id="3"/>
        <vocation id="7"/>
    </instant>

 

Explicando :

No caso a spell está configurada para curar 20%  --     local stealPercent = formula / 100 * 20  --

Esta formula é de acordo com o magiclevel, quando maior o número, menor o dano!  formula = formula / 15

 

Ela pode ser usada por paladinos maiores de level 80 .. CONFIGURAVEL !

 

 

Créditos:

 

75% Orochi Elf - Script

25% Eu - Idéia, fundamentos, tópico

 

Quaisquer dúvidas podem vir tirar aqui no tópico! Estou a disposição !

Gostou? REP+

 

 

 

 

Programador/Scripter/Mapper nível NOOB ?

 

Untitltasadasded-1.png.e24703844a8ee56fadbf0cdcf82cd9c7.png

  • 8 years later...
  • Respostas 11
  • Visualizações 1.8k
  • Created
  • Última resposta

Top Posters In This Topic

Postado

Mano, mas essa spell voce colocou uma formula que usa lvl do player...

Quero ver fazer uma que cure X% do dano causado....

20120329195100.jpg
Postado
22 horas atrás, fabious disse:

Mano, mas essa spell voce colocou uma formula que usa lvl do player...

Quero ver fazer uma que cure X% do dano causado....

eita, esse tópico é de 9 anos atrás kkkkk

o cara nem vai ver

Toda terça-feira um tópico novo:

Descanso para curar mana (Spell): https://tibiaking.com/forums/topic/94615-spell-descanso-para-curar-mana/

Peça sua spell (Suporte):                https://tibiaking.com/forums/topic/84162-peça-sua-spell/                        

Chuva de flechas (Spell):                https://tibiaking.com/forums/topic/72232-chuva-de-flechas-spell/

Doom (Spell):                                https://tibiaking.com/forums/topic/51622-doom-spell/

Utilização do VS Code (Infra)       https://tibiaking.com/forums/topic/94463-utilizando-o-visual-studio-code-notepad-nunca-mais/

SD com Combo (Spell):                 https://tibiaking.com/forums/topic/94520-sd-modificada/

Alteração attack speed (C++):        https://tibiaking.com/forums/topic/94714-c-attack-speed-spells-itens-e-onde-você-quiser/  

Bônus de Speed (NPC)                  https://tibiaking.com/forums/topic/94809-npc-concede-bônus-aos-players/
 

Postado
Em 16/09/2023 em 21:44, fabious disse:

Mano, mas essa spell voce colocou uma formula que usa lvl do player...

Quero ver fazer uma que cure X% do dano causado....

function onCastSpell(cid)
    local target = getCreatureTarget(cid)
    
    if target < 1 then
        doPlayerSendCancel(cid, "You need a target.")
        return false
    end
    
    local damage = 100 -- Defina aqui o valor do dano que você quer curar, por exemplo, 100 para curar 100% do dano causado.
    local healthToRestore = (damage / 100) * getCreatureDamage(cid, target)
    
    doCreatureAddHealth(cid, healthToRestore)
    doSendAnimatedText(getThingPos(cid), "+" .. healthToRestore, 25)
    
    doSendDistanceShoot(getThingPos(cid), getThingPos(target), 15)
    doAreaCombatHealth(cid, COMBAT_PHYSICALDAMAGE, getThingPos(target), 0, -damage, -damage * 0.5, CONST_ME_MAGIC_RED)
    return true
end

nao sei se vai funcionar kkk!

Postado
1 hora atrás, GM Vortex disse:

function onCastSpell(cid)
    local target = getCreatureTarget(cid)
    
    if target < 1 then
        doPlayerSendCancel(cid, "You need a target.")
        return false
    end
    
    local damage = 100 -- Defina aqui o valor do dano que você quer curar, por exemplo, 100 para curar 100% do dano causado.
    local healthToRestore = (damage / 100) * getCreatureDamage(cid, target)
    
    doCreatureAddHealth(cid, healthToRestore)
    doSendAnimatedText(getThingPos(cid), "+" .. healthToRestore, 25)
    
    doSendDistanceShoot(getThingPos(cid), getThingPos(target), 15)
    doAreaCombatHealth(cid, COMBAT_PHYSICALDAMAGE, getThingPos(target), 0, -damage, -damage * 0.5, CONST_ME_MAGIC_RED)
    return true
end

nao sei se vai funcionar kkk!

 

 

Mano, eu ja consegui, vou lhe enviar como ficou. Mas agora estou quebrando a cabeça pra tentar fazer essa magia em área, por exemplo, exevo gran mas leech, onde os afetados, tanto player como monstros tenham suas vidas roubadas. Porque nesse script só consigo no Target.... Voce tem alguma ideia?
 

Citar

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_LIFEDRAIN)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1)

function onCastSpell(cid, var)
    local target = getCreatureTarget(cid)
    local first = getCreatureHealth(target)
    if doCombat(cid, combat, var) then
        local second = getCreatureHealth(target)
        local damage = first - second
        if damage > 0 then
            local addhealth = damage * 0.5
            doCreatureAddHealth(cid, addhealth)
            --doSendAnimatedText(getPlayerPosition(cid), "+"..addhealth.."", TEXTCOLOR_GREEN)
            doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_GREEN)
            doSendDistanceShoot(getThingPos(target), getThingPos(cid), 40)
        end
        return true
    end
    return
end
 

 

20120329195100.jpg

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

Informação Importante

Confirmação de Termo