• 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!

Wait function [lua]

Archez

'
Senator
Joined
Jun 26, 2008
Messages
6,589
Solutions
1
Reaction score
70
Location
Mexico
I was wondering if there is any function to pause the script for a few seconds.

Example:
Lua:
doCreatureSay(cid, 'Wait 1 second.', TALKTYPE_ORANGE_1)
superWaitFunction(1000)
doCreatureSay(cid, 'Ok!', TALKTYPE_ORANGE_1)

I already tried wait(), but it doesn't work. I don't even know if it's a valid function.
 
Lua:
doCreatureSay(cid, 'Wait 1 second.', TALKTYPE_ORANGE_1)
addEvent(doCreatureSay, 1000, cid, 'Ok!', TALKTYPE_ORANGE_1)
 
Lua:
doCreatureSay(cid, 'Wait 1 second.', TALKTYPE_ORANGE_1)
addEvent(doCreatureSay, 1000, cid, 'Ok!', TALKTYPE_ORANGE_1)

Thanks Santi, but there is another problem now.

addEvent works, but I am using it for a spell. So it works like this:

Spell Name
Super...
Cool...
Spell...!
(spell comes out)

And it's working like this with addEvent:

(spell comes out)
Super..
Cool..
Spell..!

SPELL:
Lua:
function onCastSpell(cid, var) --N 0,S 2,E 1,W 3
playerpos = getCreaturePosition(cid)

if getPlayerLookDir(cid) == 0 then --NORTH
local pos = {x = playerpos.x, y = playerpos.y - 1, z = playerpos.z}
doCombat(cid, combat7, var) --START
doCombat(cid, combat2, var) --CENTER
doCombat(cid, combat5, var) --END
else
end
http://img03.imgland.net/Uc7qSFJeEg.png
 
Uhm make it so the spell comes after what you say?
Probably if you post the script I can help you a bit more.
 
Uhm make it so the spell comes after what you say?
Probably if you post the script I can help you a bit more.

Here it is.

SPELL:
Lua:
function onCastSpell(cid, var) --N 0,S 2,E 1,W 3
playerpos = getCreaturePosition(cid)

if getPlayerLookDir(cid) == 0 then --NORTH
local pos = {x = playerpos.x, y = playerpos.y - 1, z = playerpos.z}
doCombat(cid, combat7, var) --START
doCombat(cid, combat2, var) --CENTER
doCombat(cid, combat5, var) --END
else
end
http://img03.imgland.net/Uc7qSFJeEg.png

Full script:
Lua:
local combat = createCombatObject() --CENTER EAST WEST
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_CENTER_EW)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)

local area = createCombatArea(AREA_SPECIAL_BEAM_CANON_CENTER)
setCombatArea(combat, area)

local combat2 = createCombatObject() --CENTER NORTH SOUTH
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_CENTER_NS)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)

local area2 = createCombatArea(AREA_SPECIAL_BEAM_CANON_CENTER)
setCombatArea(combat2, area2)

local combat3 = createCombatObject() --WEST END
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_W)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)

local area3 = createCombatArea(AREA_SPECIAL_BEAM_CANON_END)
setCombatArea(combat3, area3)

local combat4 = createCombatObject() --EAST END
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_E)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)

local area4 = createCombatArea(AREA_SPECIAL_BEAM_CANON_END)
setCombatArea(combat4, area4)

local combat5 = createCombatObject() --NORTH END
setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat5, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_N)
setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)

local area5 = createCombatArea(AREA_SPECIAL_BEAM_CANON_END)
setCombatArea(combat5, area5)

local combat6 = createCombatObject() --SOUTH END
setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat6, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_S)
setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)

local area6 = createCombatArea(AREA_SPECIAL_BEAM_CANON_END)
setCombatArea(combat6, area6)

local combat7 = createCombatObject() --NORTH START
setCombatParam(combat7, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat7, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_N)
setCombatFormula(combat7, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)

local area7 = createCombatArea(AREA_SPECIAL_BEAM_CANON_START)
setCombatArea(combat7, area7)

local combat8 = createCombatObject() --SOUTH START
setCombatParam(combat8, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat8, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_S)
setCombatFormula(combat8, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)

local area8 = createCombatArea(AREA_SPECIAL_BEAM_CANON_START)
setCombatArea(combat8, area8)

local combat9 = createCombatObject() --EAST START
setCombatParam(combat9, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat9, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_E)
setCombatFormula(combat9, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)

local area9 = createCombatArea(AREA_SPECIAL_BEAM_CANON_START)
setCombatArea(combat9, area9)

local combat10 = createCombatObject() --WEST START
setCombatParam(combat10, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat10, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_W)
setCombatFormula(combat10, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)

local area10 = createCombatArea(AREA_SPECIAL_BEAM_CANON_START)
setCombatArea(combat10, area10)

function onCastSpell(cid, var) --N 0,S 2,E 1,W 3
playerpos = getCreaturePosition(cid)

if getPlayerLookDir(cid) == 0 then --NORTH
local pos = {x = playerpos.x, y = playerpos.y - 1, z = playerpos.z}
doCombat(cid, combat7, var) --START
doCombat(cid, combat2, var) --CENTER
doCombat(cid, combat5, var) --END
else
end
if getPlayerLookDir(cid) == 2 then --SOUTH
local pos = {x = playerpos.x, y = playerpos.y + 1, z = playerpos.z}
doCombat(cid, combat8, var)  --START
doCombat(cid, combat2, var) --CENTER
doCombat(cid, combat6, var) --END
else
end
if getPlayerLookDir(cid) == 1 then --EAST
local pos = {x = playerpos.x + 1, y = playerpos.y, z = playerpos.z}
doCombat(cid, combat9, var)  --START
doCombat(cid, combat, var)  --CENTER
doCombat(cid, combat4, var) --END
else
end
if getPlayerLookDir(cid) == 3 then --WEST
local pos = {x = playerpos.x - 1, y = playerpos.y, z = playerpos.z}
doCombat(cid, combat10, var)  --START
doCombat(cid, combat, var)  --CENTER
doCombat(cid, combat3, var) --END
else
end

end
 
hmm I guess you can use instead:
Lua:
local pos = getPositionByDirection(getThingPos(cid), getCreatureLookDirection(cid), 1)
can you post entire script?
 
I'm not that good with spells, but you can try this, I hope you get my idea:
Lua:
function onCastSpell(cid, var) --N 0,S 2,E 1,W 3
playerpos = getCreaturePosition(cid)
 
if getPlayerLookDir(cid) == 0 then --NORTH
local pos = {x = playerpos.x, y = playerpos.y - 1, z = playerpos.z}
doCreatureSay(cid, "Super..", TALKTYPE_ORANGE_1)
addEvent(doCreatureSay, 1000*1, "Cool..", TALKTYPE_ORANGE_1)
addEvent(doCreatureSay, 1000*2, "Spell!", TALKTYPE_ORANGE_1)
addEvent(doCombat, 1000*3, cid, combat7, var)
addEvent(doCombat, 1000*3, cid, combat2, var)
addEvent(doCombat, 1000*3, cid, combat7, var)
 
hmm I guess you can use instead:
Lua:
local pos = getPositionByDirection(getThingPos(cid), getCreatureLookDirection(cid), 1)
can you post entire script?

Lua:
local combat = createCombatObject() --CENTER EAST WEST
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_CENTER_EW)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)

local area = createCombatArea(AREA_SPECIAL_BEAM_CANON_CENTER)
setCombatArea(combat, area)

local combat2 = createCombatObject() --CENTER NORTH SOUTH
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_CENTER_NS)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)

local area2 = createCombatArea(AREA_SPECIAL_BEAM_CANON_CENTER)
setCombatArea(combat2, area2)

local combat3 = createCombatObject() --WEST END
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_W)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)

local area3 = createCombatArea(AREA_SPECIAL_BEAM_CANON_END)
setCombatArea(combat3, area3)

local combat4 = createCombatObject() --EAST END
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_E)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)

local area4 = createCombatArea(AREA_SPECIAL_BEAM_CANON_END)
setCombatArea(combat4, area4)

local combat5 = createCombatObject() --NORTH END
setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat5, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_N)
setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)

local area5 = createCombatArea(AREA_SPECIAL_BEAM_CANON_END)
setCombatArea(combat5, area5)

local combat6 = createCombatObject() --SOUTH END
setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat6, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_S)
setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)

local area6 = createCombatArea(AREA_SPECIAL_BEAM_CANON_END)
setCombatArea(combat6, area6)

local combat7 = createCombatObject() --NORTH START
setCombatParam(combat7, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat7, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_N)
setCombatFormula(combat7, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)

local area7 = createCombatArea(AREA_SPECIAL_BEAM_CANON_START)
setCombatArea(combat7, area7)

local combat8 = createCombatObject() --SOUTH START
setCombatParam(combat8, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat8, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_S)
setCombatFormula(combat8, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)

local area8 = createCombatArea(AREA_SPECIAL_BEAM_CANON_START)
setCombatArea(combat8, area8)

local combat9 = createCombatObject() --EAST START
setCombatParam(combat9, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat9, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_E)
setCombatFormula(combat9, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)

local area9 = createCombatArea(AREA_SPECIAL_BEAM_CANON_START)
setCombatArea(combat9, area9)

local combat10 = createCombatObject() --WEST START
setCombatParam(combat10, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat10, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_W)
setCombatFormula(combat10, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)

local area10 = createCombatArea(AREA_SPECIAL_BEAM_CANON_START)
setCombatArea(combat10, area10)

function onCastSpell(cid, var) --N 0,S 2,E 1,W 3
playerpos = getCreaturePosition(cid)

if getPlayerLookDir(cid) == 0 then --NORTH
local pos = {x = playerpos.x, y = playerpos.y - 1, z = playerpos.z}
doCombat(cid, combat7, var) --START
doCombat(cid, combat2, var) --CENTER
doCombat(cid, combat5, var) --END
else
end
if getPlayerLookDir(cid) == 2 then --SOUTH
local pos = {x = playerpos.x, y = playerpos.y + 1, z = playerpos.z}
doCombat(cid, combat8, var)  --START
doCombat(cid, combat2, var) --CENTER
doCombat(cid, combat6, var) --END
else
end
if getPlayerLookDir(cid) == 1 then --EAST
local pos = {x = playerpos.x + 1, y = playerpos.y, z = playerpos.z}
doCombat(cid, combat9, var)  --START
doCombat(cid, combat, var)  --CENTER
doCombat(cid, combat4, var) --END
else
end
if getPlayerLookDir(cid) == 3 then --WEST
local pos = {x = playerpos.x - 1, y = playerpos.y, z = playerpos.z}
doCombat(cid, combat10, var)  --START
doCombat(cid, combat, var)  --CENTER
doCombat(cid, combat3, var) --END
else
end

end

The spell works, I just want a few words to come out before the spell takes effect.
 
Lua:
local combat = createCombatObject() --CENTER EAST WEST
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_CENTER_EW)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat, createCombatArea(AREA_SPECIAL_BEAM_CANON_CENTER))
 
local combat2 = createCombatObject() --CENTER NORTH SOUTH
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_CENTER_NS)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat2, createCombatArea(AREA_SPECIAL_BEAM_CANON_CENTER))
 
local combat3 = createCombatObject() --WEST END
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_W)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat3, createCombatArea(AREA_SPECIAL_BEAM_CANON_END))
 
local combat4 = createCombatObject() --EAST END
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_E)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat4, createCombatArea(AREA_SPECIAL_BEAM_CANON_END))
 
local combat5 = createCombatObject() --NORTH END
setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat5, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_N)
setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat5, createCombatArea(AREA_SPECIAL_BEAM_CANON_END))
 
local combat6 = createCombatObject() --SOUTH END
setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat6, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_S)
setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat6, createCombatArea(AREA_SPECIAL_BEAM_CANON_END))
 
local combat7 = createCombatObject() --NORTH START
setCombatParam(combat7, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat7, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_N)
setCombatFormula(combat7, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat7, createCombatArea(AREA_SPECIAL_BEAM_CANON_START))
 
local combat8 = createCombatObject() --SOUTH START
setCombatParam(combat8, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat8, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_S)
setCombatFormula(combat8, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat8, createCombatArea(AREA_SPECIAL_BEAM_CANON_START))
 
local combat9 = createCombatObject() --EAST START
setCombatParam(combat9, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat9, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_E)
setCombatFormula(combat9, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat9, createCombatArea(AREA_SPECIAL_BEAM_CANON_START))
 
local combat10 = createCombatObject() --WEST START
setCombatParam(combat10, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat10, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_W)
setCombatFormula(combat10, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat10, createCombatArea(AREA_SPECIAL_BEAM_CANON_START))
 
local dir = {
    [0] = {combat7, combat2, combat5},
    [1] = {combat9, combat2, combat4},
    [2] = {combat8, combat2, combat6},
    [3] = {combat10, combat2, combat3}
}
 
function onCastSpell(cid, var) --N 0,S 2,E 1,W 3    
    local dir = dir[getCreatureLookDirection(cid)]
    for i = 1, 3 do
        addEvent(doCombat, 1000*i, cid, dir[i], var)
        addEvent(doCreatureSay, 1000*i, cid, i==1 and 'Super..' or i==2 and 'Cool..' or 'Spell!', TALKTYPE_ORANGE_1)
    end
    return true
end
 
Last edited:
try..
Lua:
local combat = createCombatObject() --CENTER EAST WEST
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_CENTER_EW)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat, createCombatArea(AREA_SPECIAL_BEAM_CANON_CENTER))
 
local combat2 = createCombatObject() --CENTER NORTH SOUTH
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_CENTER_NS)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat2, createCombatArea(AREA_SPECIAL_BEAM_CANON_CENTER))
 
local combat3 = createCombatObject() --WEST END
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_W)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat3, createCombatArea(AREA_SPECIAL_BEAM_CANON_END))
 
local combat4 = createCombatObject() --EAST END
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_E)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat4, createCombatArea(AREA_SPECIAL_BEAM_CANON_END))
 
local combat5 = createCombatObject() --NORTH END
setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat5, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_N)
setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat5, createCombatArea(AREA_SPECIAL_BEAM_CANON_END))
 
local combat6 = createCombatObject() --SOUTH END
setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat6, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_S)
setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat6, createCombatArea(AREA_SPECIAL_BEAM_CANON_END))
 
local combat7 = createCombatObject() --NORTH START
setCombatParam(combat7, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat7, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_N)
setCombatFormula(combat7, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat7, createCombatArea(AREA_SPECIAL_BEAM_CANON_START))
 
local combat8 = createCombatObject() --SOUTH START
setCombatParam(combat8, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat8, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_S)
setCombatFormula(combat8, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat8, createCombatArea(AREA_SPECIAL_BEAM_CANON_START))
 
local combat9 = createCombatObject() --EAST START
setCombatParam(combat9, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat9, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_E)
setCombatFormula(combat9, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat9, createCombatArea(AREA_SPECIAL_BEAM_CANON_START))
 
local combat10 = createCombatObject() --WEST START
setCombatParam(combat10, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat10, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_W)
setCombatFormula(combat10, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat10, createCombatArea(AREA_SPECIAL_BEAM_CANON_START))

local dir = {
    [0] = {combat7, combat2, combat5},
    [1] = {combat9, combat2, combat4},
    [2] = {combat8, combat2, combat6},
    [3] = {combat10, combat2, combat3}
}

function onCastSpell(cid, var) --N 0,S 2,E 1,W 3    
    local dir = dir[getCreatureLookDirection(cid)]
    for i = 1, 3 do
        addEvent(doCombat, 1000*i, dir[i], var)
        addEvent(doCreatureSay, 1000*i, cid, 1000*i, i = 1 and 'Super..' or i = 2 and 'Cool..' or 'Spell!', TALKTYPE_ORANGE_1)
    end
    return true
end

It doesn't work. 0.0
Code:
[11/02/2011 15:45:52] [Warning - Event::loadScript] Cannot load script (data/spells/scripts/superkamehameha.lua)
[11/02/2011 15:45:52] data/spells/scripts/superkamehameha.lua:72: ')' expected near '='
 
Lua:
local combat = createCombatObject() --CENTER EAST WEST
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_CENTER_EW)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat, createCombatArea(AREA_SPECIAL_BEAM_CANON_CENTER))
 
local combat2 = createCombatObject() --CENTER NORTH SOUTH
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_CENTER_NS)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat2, createCombatArea(AREA_SPECIAL_BEAM_CANON_CENTER))
 
local combat3 = createCombatObject() --WEST END
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_W)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat3, createCombatArea(AREA_SPECIAL_BEAM_CANON_END))
 
local combat4 = createCombatObject() --EAST END
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_E)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat4, createCombatArea(AREA_SPECIAL_BEAM_CANON_END))
 
local combat5 = createCombatObject() --NORTH END
setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat5, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_N)
setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat5, createCombatArea(AREA_SPECIAL_BEAM_CANON_END))
 
local combat6 = createCombatObject() --SOUTH END
setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat6, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_S)
setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat6, createCombatArea(AREA_SPECIAL_BEAM_CANON_END))
 
local combat7 = createCombatObject() --NORTH START
setCombatParam(combat7, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat7, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_N)
setCombatFormula(combat7, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat7, createCombatArea(AREA_SPECIAL_BEAM_CANON_START))
 
local combat8 = createCombatObject() --SOUTH START
setCombatParam(combat8, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat8, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_S)
setCombatFormula(combat8, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat8, createCombatArea(AREA_SPECIAL_BEAM_CANON_START))
 
local combat9 = createCombatObject() --EAST START
setCombatParam(combat9, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat9, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_E)
setCombatFormula(combat9, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat9, createCombatArea(AREA_SPECIAL_BEAM_CANON_START))
 
local combat10 = createCombatObject() --WEST START
setCombatParam(combat10, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat10, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_W)
setCombatFormula(combat10, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat10, createCombatArea(AREA_SPECIAL_BEAM_CANON_START))

local dir = {
    [0] = {combat7, combat2, combat5},
    [1] = {combat9, combat2, combat4},
    [2] = {combat8, combat2, combat6},
    [3] = {combat10, combat2, combat3}
}

function onCastSpell(cid, var) --N 0,S 2,E 1,W 3    
    local dir = dir[getCreatureLookDirection(cid)]
    for i = 1, 3 do
        addEvent(doCombat, 1000*i, cid, dir[i], var)
        addEvent(doCreatureSay, 1000*i, cid, 1000*i, i==1 and 'Super..' or i==2 and 'Cool..' or 'Spell!', TALKTYPE_ORANGE_1)
    end
    return true
end

That works, but is somehow... inverted.

The script says "Super Kamehameha" (name of the spell) and then the first part of the beam comes out, mmm... I will just post a video.

http://armentaa.com/video.avi
 
update this part:
Lua:
local dir = {
    [0] = {combat7, combat2, combat5},
    [1] = {combat9, combat, combat4},
    [2] = {combat8, combat2, combat6},
    [3] = {combat10, combat, combat3}
}
 
update this part:
Lua:
local dir = {
    [0] = {combat7, combat2, combat5},
    [1] = {combat9, combat, combat4},
    [2] = {combat8, combat2, combat6},
    [3] = {combat10, combat, combat3}
}

Still inverted, but I checked the console and this is the error:
Code:
[11/02/2011 16:06:47] Lua Script Error: [Spell Interface] 
[11/02/2011 16:06:47] in a timer event called from: 
[11/02/2011 16:06:47] data/spells/scripts/superkamehameha.lua:onCastSpell

[11/02/2011 16:06:47] attempt to index a number value
[11/02/2011 16:06:47] stack traceback:
[11/02/2011 16:06:47] 	[C]: ?
 
btw try..
Lua:
local combat = createCombatObject() --CENTER EAST WEST
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_CENTER_EW)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat, createCombatArea(AREA_SPECIAL_BEAM_CANON_CENTER))
 
local combat2 = createCombatObject() --CENTER NORTH SOUTH
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_CENTER_NS)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat2, createCombatArea(AREA_SPECIAL_BEAM_CANON_CENTER))
 
local combat3 = createCombatObject() --WEST END
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_W)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat3, createCombatArea(AREA_SPECIAL_BEAM_CANON_END))
 
local combat4 = createCombatObject() --EAST END
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_E)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat4, createCombatArea(AREA_SPECIAL_BEAM_CANON_END))
 
local combat5 = createCombatObject() --NORTH END
setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat5, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_N)
setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat5, createCombatArea(AREA_SPECIAL_BEAM_CANON_END))
 
local combat6 = createCombatObject() --SOUTH END
setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat6, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_S)
setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat6, createCombatArea(AREA_SPECIAL_BEAM_CANON_END))
 
local combat7 = createCombatObject() --NORTH START
setCombatParam(combat7, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat7, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_N)
setCombatFormula(combat7, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat7, createCombatArea(AREA_SPECIAL_BEAM_CANON_START))
 
local combat8 = createCombatObject() --SOUTH START
setCombatParam(combat8, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat8, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_S)
setCombatFormula(combat8, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat8, createCombatArea(AREA_SPECIAL_BEAM_CANON_START))
 
local combat9 = createCombatObject() --EAST START
setCombatParam(combat9, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat9, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_E)
setCombatFormula(combat9, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat9, createCombatArea(AREA_SPECIAL_BEAM_CANON_START))
 
local combat10 = createCombatObject() --WEST START
setCombatParam(combat10, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat10, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_W)
setCombatFormula(combat10, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat10, createCombatArea(AREA_SPECIAL_BEAM_CANON_START))
 
local dir = {
    [0] = {combat7, combat2, combat5},
    [1] = {combat9, combat, combat4},
    [2] = {combat8, combat2, combat6},
    [3] = {combat10, combat, combat3}
} 

function onCastSpell(cid, var) --N 0,S 2,E 1,W 3    
    local dir = dir[getCreatureLookDirection(cid)]
    for i = 1, 3 do
        addEvent(doCombat, 700*i, cid, dir[i], var)
        addEvent(doCreatureSay, 700*i, cid, i==1 and 'Super..' or i==2 and 'Cool..' or 'Spell!', TALKTYPE_ORANGE_1)
    end
    return true
end
i'll check 'inverted' part..
 
btw try..
Lua:
local combat = createCombatObject() --CENTER EAST WEST
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_CENTER_EW)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat, createCombatArea(AREA_SPECIAL_BEAM_CANON_CENTER))
 
local combat2 = createCombatObject() --CENTER NORTH SOUTH
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_CENTER_NS)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat2, createCombatArea(AREA_SPECIAL_BEAM_CANON_CENTER))
 
local combat3 = createCombatObject() --WEST END
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_W)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat3, createCombatArea(AREA_SPECIAL_BEAM_CANON_END))
 
local combat4 = createCombatObject() --EAST END
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_E)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat4, createCombatArea(AREA_SPECIAL_BEAM_CANON_END))
 
local combat5 = createCombatObject() --NORTH END
setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat5, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_N)
setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat5, createCombatArea(AREA_SPECIAL_BEAM_CANON_END))
 
local combat6 = createCombatObject() --SOUTH END
setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat6, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_END_S)
setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat6, createCombatArea(AREA_SPECIAL_BEAM_CANON_END))
 
local combat7 = createCombatObject() --NORTH START
setCombatParam(combat7, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat7, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_N)
setCombatFormula(combat7, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat7, createCombatArea(AREA_SPECIAL_BEAM_CANON_START))
 
local combat8 = createCombatObject() --SOUTH START
setCombatParam(combat8, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat8, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_S)
setCombatFormula(combat8, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat8, createCombatArea(AREA_SPECIAL_BEAM_CANON_START))
 
local combat9 = createCombatObject() --EAST START
setCombatParam(combat9, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat9, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_E)
setCombatFormula(combat9, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat9, createCombatArea(AREA_SPECIAL_BEAM_CANON_START))
 
local combat10 = createCombatObject() --WEST START
setCombatParam(combat10, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat10, COMBAT_PARAM_EFFECT, SUPER_KAMEHAMEHA_START_W)
setCombatFormula(combat10, COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
setCombatArea(combat10, createCombatArea(AREA_SPECIAL_BEAM_CANON_START))
 
local dir = {
    [0] = {combat7, combat2, combat5},
    [1] = {combat9, combat, combat4},
    [2] = {combat8, combat2, combat6},
    [3] = {combat10, combat, combat3}
} 

function onCastSpell(cid, var) --N 0,S 2,E 1,W 3    
    local dir = dir[getCreatureLookDirection(cid)]
    for i = 1, 3 do
        addEvent(doCombat, 700*i, cid, dir[i], var)
        addEvent(doCreatureSay, 700*i, cid, i==1 and 'Super..' or i==2 and 'Cool..' or 'Spell!', TALKTYPE_ORANGE_1)
    end
    return true
end
i'll check 'inverted' part..

No more console errors, you fixed it. :p

Only problem: http://armentaa.com/video2.avi
 
btw..shortened:
Lua:
local ME = {
    SUPER_KAMEHAMEHA_CENTER_EW, --1
    SUPER_KAMEHAMEHA_CENTER_NS, --2
    SUPER_KAMEHAMEHA_END_W, --3
    SUPER_KAMEHAMEHA_END_E, --4
    SUPER_KAMEHAMEHA_END_N, --5
    SUPER_KAMEHAMEHA_END_S, --6
    SUPER_KAMEHAMEHA_START_N, --7
    SUPER_KAMEHAMEHA_START_S, --8
    SUPER_KAMEHAMEHA_START_E, --9
    SUPER_KAMEHAMEHA_START_W --10
}

local combat = {}
for i = 1, 10 do
    combat[i] = createCombatObject()
    setCombatParam(combat[i], COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
    setCombatParam(combat[i], COMBAT_PARAM_EFFECT, ME[i])
    setCombatFormula(combat[i], COMBAT_FORMULA_LEVELMAGIC, -2.5, -30, -3.7, 0)
    setCombatArea(combat[i], createCombatArea(AREA_SPECIAL_BEAM_CANON_CENTER))
end
 
local dir = {
    [0] = {combat[7], combat[2], combat[5]}, --NORTH
    [1] = {combat[9], combat[1], combat[4]}, --EAST
    [2] = {combat[8], combat[2], combat[6]}, --SOUTH
    [3] = {combat[10], combat[1], combat[3]} --WEST
} 

function onCastSpell(cid, var) --N 0,S 2,E 1,W 3    
    local dir = dir[getCreatureLookDirection(cid)]
    for i = 1, 3 do
        addEvent(doCombat, 500*i, cid, dir[i], var)
        addEvent(doCreatureSay, 500*i, cid, i==1 and 'Super..' or i==2 and 'Cool..' or 'Spell!', TALKTYPE_ORANGE_1)
    end
    return true
end
 
Back
Top