Ir para conteúdo

Featured Replies

Postado

Nome: Target Spell
Autor: Socket
Versão: 0.1.0
Versão Testada: 8.54, TFS 0.3.6

Informações Adicionais
Quando a magia é lançada, caso você tenha target, a magia vai "seguindo" o target, caso não tenha, ela se movimenta na mesma direção que a pessoa que usou está olhando. Lembrando que se você muda de target, ela segue o novo, e se você matar o target, ou não tiver com nenhum alvo marcado, ela começa a andar na direção que você está olhando.

 

Bem, acho que já expliquei tudo nas Informações Adicionais.


No processo de instalação, será o nome do arquivo, que você deverá escolher.

Em data/spells/scripts crie um arquivo chamado com extensão .lua e mude seu conteúdo para isso:

 

 local config = {
                jumps = 50,
                walktime = 500
}

combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -15, 5, 5, 1.8, 3, -20, -40)


function onCastSpell(cid)
    function move(cid, pos, n)
        local n = n or 0

        if (n < config.jumps) then
            if (isCreature(cid)) then
                local pos = pos or getCreaturePosition(cid)
                local target = getCreatureTarget(cid)

                local dir = (target ~= 0) and getDirectionTo(pos, getCreaturePosition(target)) or getCreatureLookDirection(cid)
                local tpos = (target ~= 0) and getCreaturePosition(target)

                local newPos

                if ((target ~= 0) and ((pos.x == tpos.x) and (pos.y == tpos.y))) then
                    newPos = tpos
                else
                    newPos = getPosByDir(pos, dir)
                end

                if ((getTopCreature(newPos).uid == 0) and doTileQueryAdd(cid, newPos) ~= 1) then return false end

                doCombat(cid, combat, {
                    pos = newPos,
                    type = 2
                })

                addEvent(move, config.walktime, cid, newPos, n + 1)
            end
        end
    end

    move(cid)

    return true
end  

Em data/spells abra o arquivo spells.lua e adcione a seguinte tag:

 

<instant name="Target Spell" words="x" lvl="100" maglv="10" mana="500" exhaustion="30000" prem="1" enabled="1" script="x.lua"/>  

 

Lembre de escolher as words, (x) e arrumar o nome em script.
 

  • Configuração
local config = {
jumps = 50,
walktime = 500
}  

Em jumps, você defini quantos "passos", a magia pode dar, lembrando que quando a magia "chega" no alvo, cada ataque que ela dá conta como 1 passo.

Em walktime, você defini o tempo de um "passo", lembrando que é o mesmo tempo do dano, no caso o alvo esteja imóvel.

Se quiser editar alguma coisa, no efeito ou dano, edite o combat, no script.

Bem, é só isso, como eu estou sem conexão com a internet, e estou na escola, nem deu para botar SS. Configure e gogo se divertir.

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