Ir para conteúdo
  • 0

[TFS 0.3.6 - 8.60] Converter Esse Códigos Pra TFS 0.3.6


Pergunta

 

 


local arrs = {
    {
        {0, 1, 0},
        {1, 2, 1},
        {0, 1, 0}
    },
    
    {
        {0, 1, 1, 1, 0},
        {1, 1, 0, 1, 1},
        {1, 0, 2, 0, 1},
        {1, 1, 0, 1, 1},
        {0, 1, 1, 1, 0}
    },
    
    {
        {0, 0, 1, 0, 1, 0, 0},
        {0, 1, 0, 1, 0, 1, 0},
        {1, 0, 0, 0, 0, 0, 1},
        {1, 0, 0, 2, 0, 0, 1},
        {1, 0, 0, 0, 0, 0, 1},
        {0, 1, 0, 0, 0, 1, 0},
        {0, 0, 1, 1, 1, 0, 0}
    },
    
    {
        {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
        {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
        {0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0},
        {0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0},
        {1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1},
        {1, 1, 0, 0, 0, 2, 0, 0, 0, 1, 1},
        {1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1},
        {0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0},
        {0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0},
        {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
        {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}
    }
}

local combat = {}

for i = 1, 4 do
    combat[i] = Combat()
    combat[i]:setParameter(COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
    combat[i]:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HOLYAREA)
    combat[i]:setArea(createCombatArea(arrs[i]))


    function onGetFormulaValues(player, level, magicLevel)
        local min = (level / 5) + (maglevel * 10)
        local max = (level / 5) + (maglevel * 14)
        return -min, -max
    end
    
    function onTargetTile(creature, position)
        creature:getPosition():sendDistanceEffect(position, CONST_ANI_HOLY)
    end
    
    
    combat[i]:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
    combat[i]:setCallback(CALLBACK_PARAM_TARGETTILE, "onTargetTile")
end


local function castSpell(creatureId, variant, counter)
    local creature = Creature(creatureId)
    if not creature then
        return
    end
    
    if counter == 0 then
        combat[1]:execute(creature, variant)
    elseif counter == 100 then
        combat[2]:execute(creature, variant)
    elseif counter == 250 then
        combat[3]:execute(creature, variant)
    elseif counter == 500 then
        combat[4]:execute(creature, variant)
    end
    
    if counter < 500 then
        addEvent(castSpell, 50, creatureId, variant, counter + 50)
    end
end

function onCastSpell(creature, variant)
    castSpell(creatureId, variant, 0)
    return true
end

 

 

local arr1 = {
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
}

local arr2 = {
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0},
    {0, 0, 0, 1, 0, 2, 0, 1, 0, 0, 0},
    {0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
}

local arr3 = {
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0},
    {0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
    {0, 0, 1, 0, 0, 2, 0, 0, 1, 0, 0},
    {0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
    {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
}

local arr4 = {
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0},
    {0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0},
    {1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1},
    {1, 1, 0, 0, 0, 2, 0, 0, 0, 1, 1},
    {1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1},
    {0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0},
    {0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}
}

local combat = Combat()
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HOLYAREA)
combat:setArea(createCombatArea(arr1))

local combat2 = Combat()
combat2:setParameter(COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
combat2:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE)
combat2:setArea(createCombatArea(arr2))

local combat3 = Combat()
combat3:setParameter(COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
combat3:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE)
combat3:setArea(createCombatArea(arr3))

local combat4 = Combat()
combat4:setParameter(COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
combat4:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_GROUNDSHAKER)
combat4:setArea(createCombatArea(arr4))

function onGetFormulaValues(player, level, magicLevel)
    local min = 1
    local max = 1
    return -min, -max
end

function onGetFormulaValues2(player, level, magicLevel)
    local min = 2
    local max = 2
    return -min, -max
end

function onGetFormulaValues3(player, level, magicLevel)
    local min = 3
    local max = 3
    return -min, -max
end

function onGetFormulaValues4(player, level, magicLevel)
    local min = 4
    local max = 4
    return -min, -max
end

function onTargetTile(creature, position)
    creature:getPosition():sendDistanceEffect(position, CONST_ANI_HOLY)
end

function onTargetTileTwo(creature, position)
    creature:getPosition():sendDistanceEffect(position, CONST_ANI_HOLY)
end

function onTargetTileThree(creature, position)
    creature:getPosition():sendDistanceEffect(position, CONST_ANI_HOLY)
end

combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
combat2:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues2")
combat3:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues3")
combat4:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues4")
combat2:setCallback(CALLBACK_PARAM_TARGETTILE, "onTargetTile")
combat3:setCallback(CALLBACK_PARAM_TARGETTILE, "onTargetTileTwo")
combat4:setCallback(CALLBACK_PARAM_TARGETTILE, "onTargetTileThree")

local function castSpell1(creatureId, variant)
    local creature = Creature(creatureId)
    if not creature then
        return
    end
    combat:execute(creature, variant)
end

local function castSpell2(creatureId, variant)
    local creature = Creature(creatureId)
    if not creature then
        return
    end
    combat2:execute(creature, variant)
end

local function castSpell3(creatureId, variant)
    local creature = Creature(creatureId)
    if not creature then
        return
    end
    combat3:execute(creature, variant)
end

local function castSpell4(creatureId, variant)
    local creature = Creature(creatureId)
    if not creature then
        return
    end
    combat4:execute(creature, variant)
end

function onCastSpell(creature, variant)
    castSpell1(creature, variant)
    addEvent(castSpell2, 100, creature:getId(), variant)
    addEvent(castSpell3, 250, creature:getId(), variant)
    addEvent(castSpell4, 500, creature:getId(), variant)
    return true
end

 

Link para o comentário
https://xtibia.com/forum/topic/259966-tfs-036-860-converter-esse-c%C3%B3digos-pra-tfs-036/
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 1

local arrs = {
    {
        {0, 1, 0},
        {1, 2, 1},
        {0, 1, 0}
    },
    
    {
        {0, 1, 1, 1, 0},
        {1, 1, 0, 1, 1},
        {1, 0, 2, 0, 1},
        {1, 1, 0, 1, 1},
        {0, 1, 1, 1, 0}
    },
    
    {
        {0, 0, 1, 0, 1, 0, 0},
        {0, 1, 0, 1, 0, 1, 0},
        {1, 0, 0, 0, 0, 0, 1},
        {1, 0, 0, 2, 0, 0, 1},
        {1, 0, 0, 0, 0, 0, 1},
        {0, 1, 0, 0, 0, 1, 0},
        {0, 0, 1, 1, 1, 0, 0}
    },
    
    {
        {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
        {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
        {0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0},
        {0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0},
        {1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1},
        {1, 1, 0, 0, 0, 2, 0, 0, 0, 1, 1},
        {1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1},
        {0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0},
        {0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0},
        {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
        {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}
    }
}

local arr1 = {
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
}

local arr2 = {
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0},
    {0, 0, 0, 1, 0, 2, 0, 1, 0, 0, 0},
    {0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
}

local arr3 = {
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0},
    {0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
    {0, 0, 1, 0, 0, 2, 0, 0, 1, 0, 0},
    {0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
    {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
}

local arr4 = {
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0},
    {0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0},
    {1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1},
    {1, 1, 0, 0, 0, 2, 0, 0, 0, 1, 1},
    {1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1},
    {0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0},
    {0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}
}

local area1 = createCombatArea(arr1)
local area2 = createCombatArea(arr2)
local area3 = createCombatArea(arr3)
local area4 = createCombatArea(arr4)

-- Dano do spell - Fase 1
function onGetFormulaValues1(cid, level, maglevel)
    local min = 1
    local max = 1
    return -min, -max
end

-- Dano do spell - Fase 2
function onGetFormulaValues2(cid, level, maglevel)
    local min = 2
    local max = 2
    return -min, -max
end

-- Dano do spell - Fase 3
function onGetFormulaValues3(cid, level, maglevel)
    local min = 3
    local max = 3
    return -min, -max
end

-- Dano do spell - Fase 4
function onGetFormulaValues4(cid, level, maglevel)
    local min = 4
    local max = 4
    return -min, -max
end

-- Efeito visual para o alvo - Fase 1
function onTargetTile1(cid, pos)
    doSendDistanceShoot(getCreaturePosition(cid), pos, CONST_ANI_HOLY)
    return true
end

-- Efeito visual para o alvo - Fase 2
function onTargetTile2(cid, pos)
    doSendDistanceShoot(getCreaturePosition(cid), pos, CONST_ANI_HOLY)
    return true
end

-- Efeito visual para o alvo - Fase 3
function onTargetTile3(cid, pos)
    doSendDistanceShoot(getCreaturePosition(cid), pos, CONST_ANI_HOLY)
    return true
end

-- Efeito visual para o alvo - Fase 4
function onTargetTile4(cid, pos)
    doSendDistanceShoot(getCreaturePosition(cid), pos, CONST_ANI_HOLY)
    return true
end

-- Criação do combate - Fase 1
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_HOLYAREA)
setCombatArea(combat1, area1)
setCombatCallback(combat1, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues1")
setCombatCallback(combat1, CALLBACK_PARAM_TARGETTILE, "onTargetTile1")

-- Criação do combate - Fase 2
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE)
setCombatArea(combat2, area2)
setCombatCallback(combat2, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues2")
setCombatCallback(combat2, CALLBACK_PARAM_TARGETTILE, "onTargetTile2")

-- Criação do combate - Fase 3
local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE)
setCombatArea(combat3, area3)
setCombatCallback(combat3, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues3")
setCombatCallback(combat3, CALLBACK_PARAM_TARGETTILE, "onTargetTile3")

-- Criação do combate - Fase 4
local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, CONST_ME_GROUNDSHAKER)
setCombatArea(combat4, area4)
setCombatCallback(combat4, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues4")
setCombatCallback(combat4, CALLBACK_PARAM_TARGETTILE, "onTargetTile4")

-- Funções para executar cada fase do spell
function castSpell1(parameters)
    if isCreature(parameters.cid) then
        doCombat(parameters.cid, combat1, parameters.var)
    end
    return true
end

function castSpell2(parameters)
    if isCreature(parameters.cid) then
        doCombat(parameters.cid, combat2, parameters.var)
    end
    return true
end

function castSpell3(parameters)
    if isCreature(parameters.cid) then
        doCombat(parameters.cid, combat3, parameters.var)
    end
    return true
end

function castSpell4(parameters)
    if isCreature(parameters.cid) then
        doCombat(parameters.cid, combat4, parameters.var)
    end
    return true
end

function onCastSpell(cid, var)
    -- Executa a primeira fase imediatamente
    doCombat(cid, combat1, var)
    
    -- Agenda as próximas fases com atrasos diferentes
    local parameters = {cid = cid, var = var}
    addEvent(castSpell2, 100, parameters)
    addEvent(castSpell3, 250, parameters)
    addEvent(castSpell4, 500, parameters)
    
    return true
end

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...