• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    [Spells] Como reparo esto:

    Compartir:

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    1Cảnh báo [Spells] Como reparo esto: el Vie Dic 15, 2017 2:39 pm

    Fremy

    avatar
    Miembro
    Miembro
    Código:
     local massiveStorm = {
        createCombatArea({
            {0, 1, 0},
            {1, 2, 1},
            {0, 1, 0}
        }),
        createCombatArea({
            {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}
        }),
        createCombatArea({
            {1, 0, 1, 0, 1, 0, 1},
            {0, 1, 0, 1, 0, 1, 0},
            {1, 0, 1, 0, 1, 0, 1},
            {0, 1, 0, 2, 0, 1, 0},
            {1, 0, 1, 0, 1, 0, 1},
            {0, 1, 0, 1, 0, 1, 0},
            {1, 0, 1, 0, 1, 0, 1}
        }),
        createCombatArea({
            {0, 0, 1, 1, 1, 1, 1, 0, 0},
            {0, 1, 1, 0, 0, 0, 1, 1, 0},
            {1, 1, 0, 0, 1, 0, 0, 1, 1},
            {1, 0, 0, 1, 0, 1, 0, 0, 1},
            {1, 1, 0, 0, 2, 0, 1, 0, 1},
            {1, 0, 0, 1, 0, 1, 0, 0, 1},
            {1, 1, 0, 0, 1, 0, 0, 1, 1},
            {0, 1, 1, 0, 0, 0, 1, 1, 0},
            {0, 0, 1, 1, 1, 1, 1, 0, 0}
        })
        }
     
    local stormCircleArea = {
        createCombatArea({
            {1, 2}
        }),
        createCombatArea({
            {1, 0},
            {0, 2}
        }),
        createCombatArea({
            {1},
            {2}
        }),
        createCombatArea({
            {0, 1},
            {2, 0}
        }),
        createCombatArea({
            {2, 1}
        }),
        createCombatArea({
            {2, 0},
            {0, 1}
        }),
        createCombatArea({
            {2},
            {1}
        }),
        createCombatArea({
            {0, 2},
            {1, 0}
        })
    }
     
     
    local massiveStorm = {}
    for k, area in ipairs(massiveStormArea) do
        massiveStorm[k] = createCombatObject()
        setCombatParam(massiveStorm[k], COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
        setCombatParam(massiveStorm[k], COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONAREA)
        setCombatFormula(massiveStorm[k], COMBAT_FORMULA_LEVELMAGIC, -1.576, -(100 * (#massiveStormArea - k)), -1.741, -(150 * (#massiveStormArea - k)))
     
        setCombatArea(massiveStorm[k], area)
      
        loadstring([[onTargetTile]] .. k .. [[ = function(cid, pos)
            doSendDistanceShoot(getCreaturePosition(cid), pos, CONST_ANI_ENERGY)
        end]])()
        setCombatCallback(massiveStorm[k], CALLBACK_PARAM_TARGETTILE, "onTargetTile" .. k)
    end
     
    local stormCircle = {}
    for k, area in ipairs(stormCircleArea) do
        stormCircle[k] = createCombatObject()
        setCombatParam(stormCircle[k], COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
        setCombatParam(stormCircle[k], COMBAT_PARAM_EFFECT, CONST_ME_BIGCLOUDS)
        setCombatFormula(stormCircle[k], COMBAT_FORMULA_LEVELMAGIC, -1.496, -200, -1.891, -100)
     
        setCombatArea(stormCircle[k], area)
      
        loadstring([[onTargetTile]] .. k + #massiveStorm .. [[ = function(cid, pos)
            doSendDistanceShoot(getCreaturePosition(cid), pos, CONST_ANI_ENERGY)
        end]])()
        setCombatCallback(stormCircle[k], CALLBACK_PARAM_TARGETTILE, "onTargetTile" .. k + #massiveStorm)
    end
     
    loadstring([[onTargetTile]] .. #massiveStorm + #stormCircle + 1 .. [[ = function(cid, pos)
        doSendDistanceShoot(getCreaturePosition(cid), pos, CONST_ANI_ENERGYBALL)
    end]])()
     
    local function castSpellDelay(p)
        doCombat(unpack(p))
    end
     
    local stepDelay = 75
    local spins = 2
    function onCastSpell(cid, var)
        local delay = 0
        for i = 1, spins do
            for k, area in ipairs(stormCircle) do
                addEvent(castSpellDelay, delay, {cid, stormCircle[k], var})
                delay = delay + stepDelay
            end
        end
        for k, area in ipairs(massiveStorm) do
            addEvent(castSpellDelay, delay, {cid, massiveStorm[k], var})
            delay = delay + stepDelay
        end
      
        return LUA_NO_ERROR
    end





    y el de abajo, es el original :v

    Código:
     local holyDeathArea = {
        createCombatArea({
            {0, 1, 0},
            {1, 2, 1},
            {0, 1, 0}
        }),
        createCombatArea({
            {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}
        }),
        createCombatArea({
            {0, 0, 1, 1, 1, 0, 0},
            {0, 1, 0, 0, 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}
        }),
        createCombatArea({
            {0, 0, 1, 1, 1, 1, 1, 0, 0},
            {0, 1, 1, 0, 0, 0, 1, 1, 0},
            {1, 1, 0, 0, 0, 0, 0, 1, 1},
            {1, 0, 0, 0, 0, 0, 0, 0, 1},
            {1, 0, 0, 0, 2, 0, 0, 0, 1},
            {1, 0, 0, 0, 0, 0, 0, 0, 1},
            {1, 1, 0, 0, 0, 0, 0, 1, 1},
            {0, 1, 1, 0, 0, 0, 1, 1, 0},
            {0, 0, 1, 1, 1, 1, 1, 0, 0}
        })
    }
     
    local holyCircleArea = {
        createCombatArea({
            {1, 2}
        }),
        createCombatArea({
            {1, 0},
            {0, 2}
        }),
        createCombatArea({
            {1},
            {2}
        }),
        createCombatArea({
            {0, 1},
            {2, 0}
        }),
        createCombatArea({
            {2, 1}
        }),
        createCombatArea({
            {2, 0},
            {0, 1}
        }),
        createCombatArea({
            {2},
            {1}
        }),
        createCombatArea({
            {0, 2},
            {1, 0}
        })
    }
     
     
    local holyDeath = {}
    for k, area in ipairs(holyDeathArea) do
        holyDeath[k] = createCombatObject()
        setCombatParam(holyDeath[k], COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
        setCombatParam(holyDeath[k], COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE)
        setCombatFormula(holyDeath[k], COMBAT_FORMULA_LEVELMAGIC, -1.376, -(100 * (#holyDeathArea - k)), -1.841, -(150 * (#holyDeathArea - k)))
     
        setCombatArea(holyDeath[k], area)
      
        loadstring([[onTargetTile]] .. k .. [[ = function(cid, pos)
            doSendDistanceShoot(getCreaturePosition(cid), pos, CONST_ANI_HOLY)
        end]])()
        setCombatCallback(holyDeath[k], CALLBACK_PARAM_TARGETTILE, "onTargetTile" .. k)
    end
     
    local holyCircle = {}
    for k, area in ipairs(holyCircleArea) do
        holyCircle[k] = createCombatObject()
        setCombatParam(holyCircle[k], COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
        setCombatParam(holyCircle[k], COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE)
        setCombatFormula(holyCircle[k], COMBAT_FORMULA_LEVELMAGIC, -1.466, -200, -1.841, -100)
     
        setCombatArea(holyCircle[k], area)
      
        loadstring([[onTargetTile]] .. k + #holyDeath .. [[ = function(cid, pos)
            doSendDistanceShoot(getCreaturePosition(cid), pos, CONST_ANI_HOLY)
        end]])()
        setCombatCallback(holyCircle[k], CALLBACK_PARAM_TARGETTILE, "onTargetTile" .. k + #holyDeath)
    end
     
    loadstring([[onTargetTile]] .. #holyDeath + #holyCircle + 1 .. [[ = function(cid, pos)
        doSendDistanceShoot(getCreaturePosition(cid), pos, CONST_ANI_SMALLHOLY)
    end]])()
     
    local function castSpellDelay(p)
        doCombat(unpack(p))
    end
     
    local stepDelay = 75
    local spins = 2
    function onCastSpell(cid, var)
        local delay = 0
        for i = 1, spins do
            for k, area in ipairs(holyCircle) do
                addEvent(castSpellDelay, delay, {cid, holyCircle[k], var})
                delay = delay + stepDelay
            end
        end
        for k, area in ipairs(holyDeath) do
            addEvent(castSpellDelay, delay, {cid, holyDeath[k], var})
            delay = delay + stepDelay
        end
      
        return LUA_NO_ERROR
    end

    Ver perfil de usuario https://speeddrawn.wixsite.com/dosbarth/home/categories/monstruo

    2Cảnh báo Re: [Spells] Como reparo esto: el Vie Dic 15, 2017 4:36 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    primeramente el for k, area in ipairs(massiveStormArea) do esto hace referencia auna ejecucion que no existe



    Ver perfil de usuario http://www.tibiaface.com

    3Cảnh báo Re: [Spells] Como reparo esto: el Vie Dic 15, 2017 5:30 pm

    Fremy

    avatar
    Miembro
    Miembro
    Very Happy Resuelto Gracias Very Happy
    local massiveStorm = {   me falto la palabra Area xD

    Ver perfil de usuario https://speeddrawn.wixsite.com/dosbarth/home/categories/monstruo

    Contenido patrocinado


    Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje (Página 1 de 1.)

    Permisos de este foro:
    No puedes responder a temas en este foro.

     

    BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).