• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

[Help] Casting Time on Spells! Please Read =](CYKOTITAN HELP!!!!)

tabz23

New Member
Joined
Sep 3, 2009
Messages
66
Reaction score
0
Well as the title says im requesting a script or a piece of a script that can be added to my spells so they have a casting time!
ive seen a couple of things that need casting time but there either an action or its too complicated...

i want something simple if possible that does this

Cast Spell--> 2 seconds pass--> spell takes effect...

EDIT: i found a spell that works perfectly how i want it too but check the problem

Code:
local arr = {}

arr[1] = {
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 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, 0},
    {1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1},
    {0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 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, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}
}

arr[2] = {
    {0, 0, 0, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 1, 0, 0, 0},
    {0, 0, 1, 0, 0, 0, 1, 0, 0},
    {0, 1, 0, 0, 0, 0, 0, 1, 0},
    {1, 0, 0, 0, 2, 0, 0, 0, 1},
    {0, 1, 0, 0, 0, 0, 0, 1, 0},
    {0, 0, 1, 0, 0, 0, 1, 0, 0},
    {0, 0, 0, 1, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 0, 0, 0}
}

arr[3] = {
    {0, 0, 0, 1, 0, 0, 0},
    {0, 0, 1, 0, 1, 0, 0},
    {0, 1, 0, 0, 0, 1, 0},
    {1, 0, 0, 2, 0, 0, 1},
    {0, 1, 0, 0, 0, 1, 0},
    {0, 0, 1, 0, 1, 0, 0},
    {0, 0, 0, 1, 0, 0, 0}
}

arr[4] = {
    {0, 0, 1, 0, 0},
    {0, 1, 0, 1, 0},
    {1, 0, 2, 0, 1},
    {0, 1, 0, 1, 0},
    {0, 0, 1, 0, 0}
}

arr[5] = {
    {0, 1, 0},
    {1, 2, 1},
    {0, 1, 0}
}

arr[6] = {
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 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, 1, 1, 1, 1, 1, 0, 0},
    {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
    {1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
    {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
    {0, 0, 1, 1, 1, 1, 1, 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},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}
}

local formulas = {
    [6] = {COMBAT_FORMULA_LEVELMAGIC, -2.0, -200, -3.2, -400}
}

local function onTileComb(cid, pos)
    if(isCreature(cid) == TRUE) then
        doSendDistanceShoot(pos, getThingPos(cid), CONST_ANI_SMALLHOLY)
    end
end

local combats = {}
for i, v in pairs(arr) do
    combats[i] = createCombatObject()
    setCombatParam(combats[i], COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
    if(i < #arr) then
        _G["callback" .. i] = onTileComb --Mwahaha
        setCombatCallback(combats[i], CALLBACK_PARAM_TARGETTILE, "callback" .. i)
    else
        setCombatParam(combats[i], COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE)
    end

    if(formulas[i] ~= nil) then
        setCombatFormula(combats[i], unpack(formulas[i]))
    end

    setCombatArea(combats[i], createCombatArea(v))
end

local isCharging = {}
local function eventFunc(p)
    local cid = p.cid
    local n = p.n or 1

    if(isCreature(cid) == FALSE) then
        isCharging[cid] = false
        return LUA_ERROR
    end

    if(isCharging[cid] and n == 1) then
        if(isPlayer(cid) == TRUE) then
            doPlayerSendCancel(cid, "You are already charging it.")
        end
        return LUA_ERROR
    end

    isCharging[cid] = (n < #combats)

    local pos = getThingPos(cid)
    if(getTilePzInfo(pos) ~= FALSE) then
        isCharging[cid] = false
        return LUA_ERROR
    end

    local var = positionToVariant(pos)
    if(doCombat(cid, combats[n], var) == LUA_ERROR) then
        isCharging[cid] = false
        return LUA_ERROR
    end

    if(isCharging[cid]) then
        addEvent(eventFunc, 1000-n*100, {cid=cid, n=n+1})
    end
    return LUA_NO_ERROR
end

function onCastSpell(cid, var)
    return eventFunc({cid=cid})
end

This spell works perfectly, but only does an area effect of holy UE... is it possible to change it so it still does the charging but only hits 1 target? like instead of divine caldera effect it does exori san to a target? thanks!
 
Last edited:
Hi, well i make this for you... Hope it works
Code:
local combat1 = createCombatObject() 
setCombatParam(combat1, COMBAT_PARAM_TYPE, 8)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 5)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -0.5,  0, -1.0,  0)
--=======================================================================
local combat2 = createCombatObject() 
setCombatParam(combat2, COMBAT_PARAM_TYPE, 8)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 5)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -0.5,  0, -1.0,  0)
--=======================================================================
local combat3 = createCombatObject() 
setCombatParam(combat3, COMBAT_PARAM_TYPE, 8)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, 5)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -0.5,  0, -1.0,  0)
--=======================================================================
local combat4 = createCombatObject() 
setCombatParam(combat4, COMBAT_PARAM_TYPE, 8)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, 5)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -0.5,  0, -1.0,  0)
--=======================================================================
local combat5 = createCombatObject() 
setCombatParam(combat5, COMBAT_PARAM_TYPE, 8)
setCombatParam(combat5, COMBAT_PARAM_EFFECT, 5)
setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -0.5,  0, -1.0,  0)
--=======================================================================
local combat6 = createCombatObject() 
setCombatParam(combat6, COMBAT_PARAM_TYPE, 8)
setCombatParam(combat6, COMBAT_PARAM_EFFECT, 5)
setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC, -0.5,  0, -1.0,  0)
--=======================================================================
local combat7 = createCombatObject() 
setCombatParam(combat7, COMBAT_PARAM_TYPE, 8)
setCombatParam(combat7, COMBAT_PARAM_EFFECT, 5)
setCombatFormula(combat7, COMBAT_FORMULA_LEVELMAGIC, -0.5,  0, -1.0,  0)
--=======================================================================
local combat8 = createCombatObject() 
setCombatParam(combat8, COMBAT_PARAM_TYPE, 8)
setCombatParam(combat8, COMBAT_PARAM_EFFECT, 5)
setCombatFormula(combat8, COMBAT_FORMULA_LEVELMAGIC, -0.5,  0, -1.0,  0)
--=======================================================================
local combat9 = createCombatObject() 
setCombatParam(combat9, COMBAT_PARAM_TYPE, 1)
setCombatParam(combat9, COMBAT_PARAM_EFFECT, 4)
setCombatFormula(combat9, COMBAT_FORMULA_LEVELMAGIC, -0.5,  0, -1.0,  0)
--=======================================================================
local combat10 = createCombatObject() 
setCombatParam(combat10, COMBAT_PARAM_TYPE, 1)
setCombatParam(combat10, COMBAT_PARAM_EFFECT, 4)
setCombatFormula(combat10, COMBAT_FORMULA_LEVELMAGIC, -0.5,  0, -1.0,  0)
--=======================================================================
local combat11 = createCombatObject() 
setCombatParam(combat11, COMBAT_PARAM_TYPE, 1)
setCombatParam(combat11, COMBAT_PARAM_EFFECT, 4)
setCombatFormula(combat11, COMBAT_FORMULA_LEVELMAGIC, -0.5,  0, -1.0,  0)
--=======================================================================
local combat12 = createCombatObject() 
setCombatParam(combat12, COMBAT_PARAM_TYPE, 1)
setCombatParam(combat12, COMBAT_PARAM_EFFECT, 4)
setCombatFormula(combat12, COMBAT_FORMULA_LEVELMAGIC, -0.5,  0, -1.0,  0)
--=======================================================================
local combat13 = createCombatObject() 
setCombatParam(combat13, COMBAT_PARAM_TYPE, 1)
setCombatParam(combat13, COMBAT_PARAM_EFFECT, 4)
setCombatFormula(combat13, COMBAT_FORMULA_LEVELMAGIC, -0.5,  0, -1.0,  0)
--=======================================================================
local combat14 = createCombatObject() 
setCombatParam(combat14, COMBAT_PARAM_TYPE, 1)
setCombatParam(combat14, COMBAT_PARAM_EFFECT, 4)
setCombatFormula(combat14, COMBAT_FORMULA_LEVELMAGIC, -0.5,  0, -1.0,  0)
--=======================================================================
local combat15 = createCombatObject() 
setCombatParam(combat15, COMBAT_PARAM_TYPE, 1)
setCombatParam(combat15, COMBAT_PARAM_EFFECT, 4)
setCombatFormula(combat15, COMBAT_FORMULA_LEVELMAGIC, -0.5,  0, -1.0,  0)
--=======================================================================
local combat16 = createCombatObject() 
setCombatParam(combat16, COMBAT_PARAM_TYPE, 1)
setCombatParam(combat16, COMBAT_PARAM_EFFECT, 4)
setCombatFormula(combat16, COMBAT_FORMULA_LEVELMAGIC, -0.5,  0, -1.0,  0)
--=======================================================================
local combat17 = createCombatObject() 
setCombatParam(combat17, COMBAT_PARAM_TYPE, 1)
setCombatParam(combat17, COMBAT_PARAM_EFFECT, 40)
setCombatFormula(combat17, COMBAT_FORMULA_LEVELMAGIC, -1.0, -30, -2.0,  0)
--=======================================================================




local area1 = {
{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, 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, 0, 0, 0, 2, 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, 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 area2 = {
{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, 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, 0, 0, 0, 0, 2, 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, 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 area3 = {
{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, 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, 2, 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, 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 area4 = {
{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, 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, 2, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}
--=======================================
local area5 = {
{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, 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, 2, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}
--=======================================
local area6 = {
{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, 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, 2, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}
--=======================================
local area7 = {
{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, 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, 2, 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, 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 area8 = {
{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, 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, 0, 0, 2, 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, 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 area9 = {
{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, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 2, 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, 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 area10 = {
{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, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 2, 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, 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 area11 = {
{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, 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, 2, 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, 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 area12 = {
{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, 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, 2, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}
--=======================================
local area13 = {
{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, 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, 2, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0}}
--=======================================
local area14 = {
{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, 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, 2, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0}}
--=======================================
local area15 = {
{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, 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, 2, 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, 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 area16 = {
{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, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 2, 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, 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 area17 = {
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}}
--=======================================




setCombatArea(combat1, createCombatArea(area1))
setCombatArea(combat2, createCombatArea(area2))
setCombatArea(combat3, createCombatArea(area3))
setCombatArea(combat4, createCombatArea(area4))
setCombatArea(combat5, createCombatArea(area5))
setCombatArea(combat6, createCombatArea(area6))
setCombatArea(combat7, createCombatArea(area7))
setCombatArea(combat8, createCombatArea(area8))
setCombatArea(combat9, createCombatArea(area9))
setCombatArea(combat10, createCombatArea(area10))
setCombatArea(combat11, createCombatArea(area11))
setCombatArea(combat12, createCombatArea(area12))
setCombatArea(combat13, createCombatArea(area13))
setCombatArea(combat14, createCombatArea(area14))
setCombatArea(combat15, createCombatArea(area15))
setCombatArea(combat16, createCombatArea(area16))
setCombatArea(combat17, createCombatArea(area17))



function onCastSpell(cid, var)
addEvent(doCombat, 100, cid, combat1, var)
addEvent(doCombat, 200, cid, combat2, var)
addEvent(doCombat, 300, cid, combat3, var)
addEvent(doCombat, 400, cid, combat4, var)
addEvent(doCombat, 500, cid, combat5, var)
addEvent(doCombat, 600, cid, combat6, var)
addEvent(doCombat, 700, cid, combat7, var)
addEvent(doCombat, 800, cid, combat8, var)
addEvent(doCombat, 900, cid, combat9, var)
addEvent(doCombat, 1000, cid, combat10, var)
addEvent(doCombat, 1100, cid, combat11, var)
addEvent(doCombat, 1200, cid, combat12, var)
addEvent(doCombat, 1300, cid, combat13, var)
addEvent(doCombat, 1400, cid, combat14, var)
addEvent(doCombat, 1500, cid, combat15, var)
addEvent(doCombat, 1600, cid, combat16, var)
addEvent(doCombat, 2000, cid, combat17, var)
end

In case you don't want so many effects just erase tome of the fire and explosion think..

Greetings.
 
well, i found something almost EXACTLY like what i was looking for... its a charge and kill spell not done by me but done by pedro b. heres the script.

Code:
local arr = {}

arr[1] = {
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 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, 0},
    {1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1},
    {0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 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, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}
}

arr[2] = {
    {0, 0, 0, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 1, 0, 0, 0},
    {0, 0, 1, 0, 0, 0, 1, 0, 0},
    {0, 1, 0, 0, 0, 0, 0, 1, 0},
    {1, 0, 0, 0, 2, 0, 0, 0, 1},
    {0, 1, 0, 0, 0, 0, 0, 1, 0},
    {0, 0, 1, 0, 0, 0, 1, 0, 0},
    {0, 0, 0, 1, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 0, 0, 0}
}

arr[3] = {
    {0, 0, 0, 1, 0, 0, 0},
    {0, 0, 1, 0, 1, 0, 0},
    {0, 1, 0, 0, 0, 1, 0},
    {1, 0, 0, 2, 0, 0, 1},
    {0, 1, 0, 0, 0, 1, 0},
    {0, 0, 1, 0, 1, 0, 0},
    {0, 0, 0, 1, 0, 0, 0}
}

arr[4] = {
    {0, 0, 1, 0, 0},
    {0, 1, 0, 1, 0},
    {1, 0, 2, 0, 1},
    {0, 1, 0, 1, 0},
    {0, 0, 1, 0, 0}
}

arr[5] = {
    {0, 1, 0},
    {1, 2, 1},
    {0, 1, 0}
}

arr[6] = {
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 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, 1, 1, 1, 1, 1, 0, 0},
    {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
    {1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
    {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
    {0, 0, 1, 1, 1, 1, 1, 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},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}
}

local formulas = {
    [6] = {COMBAT_FORMULA_LEVELMAGIC, -2.0, -200, -3.2, -400}
}

local function onTileComb(cid, pos)
    if(isCreature(cid) == TRUE) then
        doSendDistanceShoot(pos, getThingPos(cid), CONST_ANI_SMALLHOLY)
    end
end

local combats = {}
for i, v in pairs(arr) do
    combats[i] = createCombatObject()
    setCombatParam(combats[i], COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
    if(i < #arr) then
        _G["callback" .. i] = onTileComb --Mwahaha
        setCombatCallback(combats[i], CALLBACK_PARAM_TARGETTILE, "callback" .. i)
    else
        setCombatParam(combats[i], COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE)
    end

    if(formulas[i] ~= nil) then
        setCombatFormula(combats[i], unpack(formulas[i]))
    end

    setCombatArea(combats[i], createCombatArea(v))
end

local isCharging = {}
local function eventFunc(p)
    local cid = p.cid
    local n = p.n or 1

    if(isCreature(cid) == FALSE) then
        isCharging[cid] = false
        return LUA_ERROR
    end

    if(isCharging[cid] and n == 1) then
        if(isPlayer(cid) == TRUE) then
            doPlayerSendCancel(cid, "You are already charging it.")
        end
        return LUA_ERROR
    end

    isCharging[cid] = (n < #combats)

    local pos = getThingPos(cid)
    if(getTilePzInfo(pos) ~= FALSE) then
        isCharging[cid] = false
        return LUA_ERROR
    end

    local var = positionToVariant(pos)
    if(doCombat(cid, combats[n], var) == LUA_ERROR) then
        isCharging[cid] = false
        return LUA_ERROR
    end

    if(isCharging[cid]) then
        addEvent(eventFunc, 1000-n*100, {cid=cid, n=n+1})
    end
    return LUA_NO_ERROR
end

function onCastSpell(cid, var)
    return eventFunc({cid=cid})
end

The only thing i would like to fix about this, is that i want it to not do an area effect... instead of the holy UE i would like an exori san after it charges up... think anyone can help?
 
Ahm ok i made another spell for you...

Hope this work:

Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)

local condition = createConditionObject(CONDITION_PARALYZE)
setConditionParam(condition, CONDITION_PARAM_TICKS, 20000)
setConditionParam(condition, CONDITION_PARAM_SPEED, -5000)
setConditionFormula(condition, -0.9, 0, -0.9, 0)
--=======================================================================
local combat1 = createCombatObject() 
setCombatParam(combat1, COMBAT_PARAM_TYPE, 1)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 40)
setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 255)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC,  0,  0,  0,  0)
--=======================================================================
local combat2 = createCombatObject() 
setCombatParam(combat2, COMBAT_PARAM_TYPE, 1)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 38)
setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, 255)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC,  0,  0,  0,  0)
--=======================================================================
local combat3 = createCombatObject() 
setCombatParam(combat3, COMBAT_PARAM_TYPE, 1)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, 6)
setCombatParam(combat3, COMBAT_PARAM_DISTANCEEFFECT, 255)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC,  0,  0,  0,  0)
--=======================================================================
local combat4 = createCombatObject() 
setCombatParam(combat4, COMBAT_PARAM_TYPE, 1)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, 6)
setCombatParam(combat4, COMBAT_PARAM_DISTANCEEFFECT, 255)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC,  0,  0,  0,  0)
--=======================================================================
local combat5 = createCombatObject() 
setCombatParam(combat5, COMBAT_PARAM_TYPE, 1)
setCombatParam(combat5, COMBAT_PARAM_EFFECT, 5)
setCombatParam(combat5, COMBAT_PARAM_DISTANCEEFFECT, 255)
setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC,  0,  0,  0,  0)
--=======================================================================
local combat6 = createCombatObject() 
setCombatParam(combat6, COMBAT_PARAM_TYPE, 1)
setCombatParam(combat6, COMBAT_PARAM_EFFECT, 2)
setCombatParam(combat6, COMBAT_PARAM_DISTANCEEFFECT, 255)
setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC,  0,  0,  0,  0)
--=======================================================================
local combat7 = createCombatObject() 
setCombatParam(combat7, COMBAT_PARAM_TYPE, 1)
setCombatParam(combat7, COMBAT_PARAM_EFFECT, 40)
setCombatParam(combat7, COMBAT_PARAM_DISTANCEEFFECT, 255)
setCombatFormula(combat7, COMBAT_FORMULA_LEVELMAGIC,  0,  0,  0,  0)
--=======================================================================
local combat8 = createCombatObject() 
setCombatParam(combat8, COMBAT_PARAM_TYPE, 1)
setCombatParam(combat8, COMBAT_PARAM_EFFECT, 40)
setCombatParam(combat8, COMBAT_PARAM_DISTANCEEFFECT, 255)
setCombatFormula(combat8, COMBAT_FORMULA_LEVELMAGIC,  0,  0,  0,  0)
--=======================================================================
local combat9 = createCombatObject() 
setCombatParam(combat9, COMBAT_PARAM_TYPE, 1)
setCombatParam(combat9, COMBAT_PARAM_EFFECT, 42)
setCombatParam(combat9, COMBAT_PARAM_DISTANCEEFFECT, 255)
setCombatFormula(combat9, COMBAT_FORMULA_LEVELMAGIC,  0,  0,  0,  0)
--=======================================================================
local combat10 = createCombatObject() 
setCombatParam(combat10, COMBAT_PARAM_TYPE, 1)
setCombatParam(combat10, COMBAT_PARAM_EFFECT, 42)
setCombatParam(combat10, COMBAT_PARAM_DISTANCEEFFECT, 255)
setCombatFormula(combat10, COMBAT_FORMULA_LEVELMAGIC,  0,  0,  0,  0)
--=======================================================================
local combat11 = createCombatObject() 
setCombatParam(combat11, COMBAT_PARAM_TYPE, 1)
setCombatParam(combat11, COMBAT_PARAM_EFFECT, 43)
setCombatParam(combat11, COMBAT_PARAM_DISTANCEEFFECT, 255)
setCombatFormula(combat11, COMBAT_FORMULA_LEVELMAGIC,  0,  0,  0,  0)
--=======================================================================
local combat12 = createCombatObject() 
setCombatParam(combat12, COMBAT_PARAM_TYPE, 1)
setCombatParam(combat12, COMBAT_PARAM_EFFECT, 43)
setCombatParam(combat12, COMBAT_PARAM_DISTANCEEFFECT, 255)
setCombatFormula(combat12, COMBAT_FORMULA_LEVELMAGIC,  0,  0,  0,  0)
--=======================================================================
local combat13 = createCombatObject() 
setCombatParam(combat13, COMBAT_PARAM_TYPE, 1)
setCombatParam(combat13, COMBAT_PARAM_EFFECT, 52)
setCombatParam(combat13, COMBAT_PARAM_DISTANCEEFFECT, 255)
setCombatFormula(combat13, COMBAT_FORMULA_LEVELMAGIC,  0,  0,  0,  0)
--=======================================================================
local combat14 = createCombatObject() 
setCombatParam(combat14, COMBAT_PARAM_TYPE, 1)
setCombatParam(combat14, COMBAT_PARAM_EFFECT, 33)
setCombatParam(combat14, COMBAT_PARAM_DISTANCEEFFECT, 255)
setCombatFormula(combat14, COMBAT_FORMULA_LEVELMAGIC,  -1.3,  -30,  -1.6.0,  0)
--=======================================================================




local area1 = {
{0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0},
{0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0},
{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
{0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0},
{0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0}}
--=======================================
local area2 = {
{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, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0},
{0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0},
{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
{0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 0},
{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
{0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0},
{0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 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}}
--=======================================
local area3 = {
{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, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0},
{0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0},
{0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0},
{0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0},
{0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 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}}
--=======================================
local area4 = {
{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, 1, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 2, 0, 0, 1, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0}}
--=======================================
local area5 = {
{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, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 2, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}
--=======================================
local area6 = {
{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, 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, 0, 0, 0, 1, 2, 1, 0, 0, 0, 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, 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 area7 = {
{0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0},
{0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0},
{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
{0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0},
{0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0}}
--=======================================
local area8 = {
{0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0},
{0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0},
{1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1},
{1, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 1},
{1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1},
{0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0},
{0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0}}
--=======================================
local area9 = {
{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, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0},
{0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0},
{0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0},
{0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0},
{0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 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}}
--=======================================
local area10 = {
{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, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0},
{0, 0, 1, 1, 0, 0, 2, 0, 0, 1, 1, 0, 0},
{0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 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}}
--=======================================
local area11 = {
{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, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 2, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}
--=======================================
local area12 = {
{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, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}
--=======================================
local area13 = {
{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, 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, 0, 0, 0, 1, 3, 1, 0, 0, 0, 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, 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 area14 = {
{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, 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, 3, 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, 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}}
--=======================================




setCombatCondition(combat, condition)
setCombatArea(combat1, createCombatArea(area1))
setCombatArea(combat2, createCombatArea(area2))
setCombatArea(combat3, createCombatArea(area3))
setCombatArea(combat4, createCombatArea(area4))
setCombatArea(combat5, createCombatArea(area5))
setCombatArea(combat6, createCombatArea(area6))
setCombatArea(combat7, createCombatArea(area7))
setCombatArea(combat8, createCombatArea(area8))
setCombatArea(combat9, createCombatArea(area9))
setCombatArea(combat10, createCombatArea(area10))
setCombatArea(combat11, createCombatArea(area11))
setCombatArea(combat12, createCombatArea(area12))
setCombatArea(combat13, createCombatArea(area13))
setCombatArea(combat14, createCombatArea(area14))



function onCastSpell(cid, var)
addEvent(doCombat, 2000, cid, combat, var)
addEvent(doCombat, 2000, cid, combat1, var)
addEvent(doCombat, 2100, cid, combat1, var)
addEvent(doCombat, 2200, cid, combat1, var)
addEvent(doCombat, 2300, cid, combat1, var)
addEvent(doCombat, 2400, cid, combat1, var)
addEvent(doCombat, 2500, cid, combat2, var)
addEvent(doCombat, 2600, cid, combat2, var)
addEvent(doCombat, 2700, cid, combat2, var)
addEvent(doCombat, 2800, cid, combat2, var)
addEvent(doCombat, 2900, cid, combat2, var)
addEvent(doCombat, 3000, cid, combat3, var)
addEvent(doCombat, 3100, cid, combat3, var)
addEvent(doCombat, 3200, cid, combat3, var)
addEvent(doCombat, 3300, cid, combat3, var)
addEvent(doCombat, 3400, cid, combat3, var)
addEvent(doCombat, 3500, cid, combat4, var)
addEvent(doCombat, 3600, cid, combat4, var)
addEvent(doCombat, 3700, cid, combat4, var)
addEvent(doCombat, 3800, cid, combat4, var)
addEvent(doCombat, 3900, cid, combat4, var)
addEvent(doCombat, 4000, cid, combat5, var)
addEvent(doCombat, 4100, cid, combat5, var)
addEvent(doCombat, 4200, cid, combat5, var)
addEvent(doCombat, 4300, cid, combat5, var)
addEvent(doCombat, 4400, cid, combat5, var)
addEvent(doCombat, 4500, cid, combat6, var)
addEvent(doCombat, 4600, cid, combat6, var)
addEvent(doCombat, 4700, cid, combat6, var)
addEvent(doCombat, 4800, cid, combat6, var)
addEvent(doCombat, 4900, cid, combat6, var)
addEvent(doCombat, 5000, cid, combat7, var)
addEvent(doCombat, 5100, cid, combat7, var)
addEvent(doCombat, 5200, cid, combat7, var)
addEvent(doCombat, 5300, cid, combat7, var)
addEvent(doCombat, 5400, cid, combat7, var)
addEvent(doCombat, 5500, cid, combat8, var)
addEvent(doCombat, 5600, cid, combat8, var)
addEvent(doCombat, 5700, cid, combat8, var)
addEvent(doCombat, 5800, cid, combat8, var)
addEvent(doCombat, 5900, cid, combat8, var)
addEvent(doCombat, 6000, cid, combat9, var)
addEvent(doCombat, 6100, cid, combat9, var)
addEvent(doCombat, 6200, cid, combat9, var)
addEvent(doCombat, 6300, cid, combat9, var)
addEvent(doCombat, 6400, cid, combat9, var)
addEvent(doCombat, 6500, cid, combat10, var)
addEvent(doCombat, 6600, cid, combat10, var)
addEvent(doCombat, 6700, cid, combat10, var)
addEvent(doCombat, 6800, cid, combat10, var)
addEvent(doCombat, 6900, cid, combat10, var)
addEvent(doCombat, 7000, cid, combat11, var)
addEvent(doCombat, 7100, cid, combat11, var)
addEvent(doCombat, 7200, cid, combat11, var)
addEvent(doCombat, 7300, cid, combat11, var)
addEvent(doCombat, 7400, cid, combat11, var)
addEvent(doCombat, 7500, cid, combat12, var)
addEvent(doCombat, 7600, cid, combat12, var)
addEvent(doCombat, 7700, cid, combat12, var)
addEvent(doCombat, 7800, cid, combat12, var)
addEvent(doCombat, 7900, cid, combat12, var)
addEvent(doCombat, 8500, cid, combat13, var)
addEvent(doCombat, 9000, cid, combat14, var)
addEvent(doCombat, 9100, cid, combat14, var)
addEvent(doCombat, 9200, cid, combat14, var)
addEvent(doCombat, 9300, cid, combat14, var)
addEvent(doCombat, 9400, cid, combat14, var)
addEvent(doCombat, 9500, cid, combat14, var)
return TRUE
end

And in spells.xml

Code:
	<instant name="Name of the spell" words="words to spell it" lvl="1" mana="5000" prem="1" range="20" casterTargetOrDirection="1" blockwalls="0" exhaustion="2000" needlearn="1" script="????.lua">
	</instant>

Greetings
 
Hmmm armitxe i tried it out and the spell was awesome... but still not what im looking for...

PHP:
local arr = {}

arr[1] = {
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 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, 0},
    {1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1},
    {0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 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, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}
}

arr[2] = {
    {0, 0, 0, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 1, 0, 0, 0},
    {0, 0, 1, 0, 0, 0, 1, 0, 0},
    {0, 1, 0, 0, 0, 0, 0, 1, 0},
    {1, 0, 0, 0, 2, 0, 0, 0, 1},
    {0, 1, 0, 0, 0, 0, 0, 1, 0},
    {0, 0, 1, 0, 0, 0, 1, 0, 0},
    {0, 0, 0, 1, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 0, 0, 0}
}

arr[3] = {
    {0, 0, 0, 1, 0, 0, 0},
    {0, 0, 1, 0, 1, 0, 0},
    {0, 1, 0, 0, 0, 1, 0},
    {1, 0, 0, 2, 0, 0, 1},
    {0, 1, 0, 0, 0, 1, 0},
    {0, 0, 1, 0, 1, 0, 0},
    {0, 0, 0, 1, 0, 0, 0}
}

arr[4] = {
    {0, 0, 1, 0, 0},
    {0, 1, 0, 1, 0},
    {1, 0, 2, 0, 1},
    {0, 1, 0, 1, 0},
    {0, 0, 1, 0, 0}
}

arr[5] = {
    {0, 1, 0},
    {1, 2, 1},
    {0, 1, 0}
}

arr[6] = {
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 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, 1, 1, 1, 1, 1, 0, 0},
    {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
    {1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
    {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
    {0, 0, 1, 1, 1, 1, 1, 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},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}
}

local formulas = {
    [6] = {COMBAT_FORMULA_LEVELMAGIC, -2.0, -200, -3.2, -400}
}

local function onTileComb(cid, pos)
    if(isCreature(cid) == TRUE) then
        doSendDistanceShoot(pos, getThingPos(cid), CONST_ANI_SMALLHOLY)
    end
end

local combats = {}
for i, v in pairs(arr) do
    combats[i] = createCombatObject()
    setCombatParam(combats[i], COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
    if(i < #arr) then
        _G["callback" .. i] = onTileComb --Mwahaha
        setCombatCallback(combats[i], CALLBACK_PARAM_TARGETTILE, "callback" .. i)
    else
        setCombatParam(combats[i], COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE)
    end

    if(formulas[i] ~= nil) then
        setCombatFormula(combats[i], unpack(formulas[i]))
    end

    setCombatArea(combats[i], createCombatArea(v))
end

local isCharging = {}
local function eventFunc(p)
    local cid = p.cid
    local n = p.n or 1

    if(isCreature(cid) == FALSE) then
        isCharging[cid] = false
        return LUA_ERROR
    end

    if(isCharging[cid] and n == 1) then
        if(isPlayer(cid) == TRUE) then
            doPlayerSendCancel(cid, "You are already charging it.")
        end
        return LUA_ERROR
    end

    isCharging[cid] = (n < #combats)

    local pos = getThingPos(cid)
    if(getTilePzInfo(pos) ~= FALSE) then
        isCharging[cid] = false
        return LUA_ERROR
    end

    local var = positionToVariant(pos)
    if(doCombat(cid, combats[n], var) == LUA_ERROR) then
        isCharging[cid] = false
        return LUA_ERROR
    end

    if(isCharging[cid]) then
        addEvent(eventFunc, 1000-n*100, {cid=cid, n=n+1})
    end
    return LUA_NO_ERROR
end

function onCastSpell(cid, var)
    return eventFunc({cid=cid})
end

this spell is the one that i want help with... if you use it, it charges up energy for an amount of time, and then blasts a holy UE... the only thing i need is that instead of a UE... it does exori san or something... can anyone help?
 
it can work with target, would be better, but i think i can change that in spells.xml but do it however... either way is good...

ohh and if you can explain to me how to make static damage rather than a formula id appreciate it!!!
 
Sorry for delay, I was busy doing something else.

Code:
local config = {
	spellRange = 4,-- should be same as in spells.xml
	formulaType = "static", -- "static" or "levelmagic"
	formula = {500, 1000}, -- min, max ..
	distanceEffect = CONST_ANI_SMALLHOLY, -- distance effect, used both while charging and for final blast
	areaEffect = CONST_ME_HOLYDAMAGE, -- area effect of the final blast
	initalInterval = 1000, -- delay between sending combats at first
	intervalReduction = 100 -- how much faster (in ms) should the next combat be sent
}

local arr, combats, isCharging = {
	[1] = {
		{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
		{0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
		{0, 0, 0, 1, 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, 0},
		{1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1},
		{0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 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, 0, 1, 0, 0, 0, 0},
		{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}
	},
	[2] = {
		{0, 0, 0, 0, 1, 0, 0, 0, 0},
		{0, 0, 0, 1, 0, 1, 0, 0, 0},
		{0, 0, 1, 0, 0, 0, 1, 0, 0},
		{0, 1, 0, 0, 0, 0, 0, 1, 0},
		{1, 0, 0, 0, 2, 0, 0, 0, 1},
		{0, 1, 0, 0, 0, 0, 0, 1, 0},
		{0, 0, 1, 0, 0, 0, 1, 0, 0},
		{0, 0, 0, 1, 0, 1, 0, 0, 0},
		{0, 0, 0, 0, 1, 0, 0, 0, 0}
	},
	[3] = {
		{0, 0, 0, 1, 0, 0, 0},
		{0, 0, 1, 0, 1, 0, 0},
		{0, 1, 0, 0, 0, 1, 0},
		{1, 0, 0, 2, 0, 0, 1},
		{0, 1, 0, 0, 0, 1, 0},
		{0, 0, 1, 0, 1, 0, 0},
		{0, 0, 0, 1, 0, 0, 0}
	},
	[4] = {
		{0, 0, 1, 0, 0},
		{0, 1, 0, 1, 0},
		{1, 0, 2, 0, 1},
		{0, 1, 0, 1, 0},
		{0, 0, 1, 0, 0}
	},
	[5] = {
		{0, 1, 0},
		{1, 2, 1},
		{0, 1, 0}
	},
	[6] = {
		{3},
	}
}, {}, {}

local formulas = {
	[6] = {config.formulaType == "static" and COMBAT_FORMULA_DAMAGE or config.formulaType == "levelmagic" and COMBAT_FORMULA_LEVELMAGIC, -(math.abs(config.formula[1])), 0, -(math.abs(config.formula[2])), 0}
}

local function onTileComb(cid, pos)
	return isCreature(cid) == TRUE and doSendDistanceShoot(pos, getThingPos(cid), config.distanceEffect)
end

for i, v in pairs(arr) do
	combats[i] = createCombatObject()
	setCombatParam(combats[i], COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
	if(i < #arr) then
		_G["callback" .. i] = onTileComb --Mwahaha
		setCombatCallback(combats[i], CALLBACK_PARAM_TARGETTILE, "callback" .. i)
	else
		setCombatParam(combats[i], COMBAT_PARAM_EFFECT, config.areaEffect)
		setCombatParam(combats[i], COMBAT_PARAM_DISTANCEEFFECT, config.distanceEffect)
	end

	if(formulas[i]) then
		setCombatFormula(combats[i], unpack(formulas[i]))
	end

	setCombatArea(combats[i], createCombatArea(v))
end

local function eventFunc(p)
	local cid, target, n = p.cid, p.target, p.n or 1

	if(isCreature(cid) == FALSE) then
		isCharging[cid] = false
		return true
	end

	if(isCharging[cid] and n == 1) then
		if(isPlayer(cid) == TRUE) then
			doPlayerSendCancel(cid, "You are already charging it.")
		end
		return true
	end

	isCharging[cid] = (n < #combats)

	local pos = getThingPos(cid)
	if(getTilePzInfo(pos) ~= FALSE or isCreature(target) == FALSE or getDistanceBetween(pos, getThingPos(target)) > config.spellRange) then
		isCharging[cid] = false
		return true
	end

	if(doCombat(cid, combats[n], numberToVariant(isCharging[cid] and cid or target)) == TRUE) then
		isCharging[cid] = false
		return true
	end

	if(isCharging[cid]) then
		addEvent(eventFunc, config.initalInterval - n * config.intervalReduction, {cid=cid, target=target, n=n+1})
	end
	return false
end

function onCastSpell(cid, var)
	return eventFunc({cid=cid, target=var.number})
end
And yea, don't forget needtarget="1" in spells.xml
 
awesome! cant test it right now because im on my phone, but as soon as i get home ill be sure to test it out =)! and hey as for the static damage can i use that piece of the script for other spells too? :eek: if so, what part of the spell would i put it on, after on cast spell? or before?
 
Hmm just tried it out =/ well it did the first charging effect... it didnt do any of the charging effects after the first area one, and it doesnt do any type of damage to the target =(!

think you can fix it or try something else? =)

repp++
 
hmmm, im using latest tfs version so it should work O_O, well it shows the first effect and then does nothing else :p in theory what you did should work but ehh doesnt seem too, maybe its a slight error in my spells.xml... can you show me your spells.xml? and maybe relook the script? >.< i needs this for my wow server that so far looks like its gona be a complete success with alota help i got from people here :D
 
Code:
	<instant name="Divine Missile" words="exori san" lvl="40" mana="20" prem="1" range="4" needtarget="1" needlearn="0" blockwalls="1" exhaustion="2000" event="script" value="attack/divine missile.lua"/>
 
gahh it still doesnt work =( does the same =/... it doesnt seem to get the delay of when every combat should be sent... it only does the first combat and then it doesnt do any of the further ones... maybe thats why it doesnt do damage because it never reaches the last combat... im gona try taking away one of the returns, but think you can help out? it only does first combat..

EDIT: using latest tfs by the way
 
Back
Top