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

Lua Double "wave" spell problem

Frikx

Computer Science
Joined
Mar 10, 2013
Messages
128
Solutions
3
Reaction score
31
Location
Spain
GitHub
amatria
Hello OTLand.

I got here the "exori con" script.

Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, true)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ETHEREALSPEAR)

function onGetFormulaValues(cid, level, skill)
    return -(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5)), 0
end

setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
    return doCombat(cid, combat, var)
end

And I want it to shoot like three waves of the exori con.

I tried tons of ways but no one was succesful.

Here there are some tries:

Code:
function onCastSpell(cid, var)
    local charges = 3
    repeat
        return doCombat(cid, combat, var)
        charges = charges - 1
    until charges <= 0
end

And many other ways.

If someone can help me.

Thanks!
 
Hey! I know this is late, but I seen your post while trying to make a similar script.

Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, true)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ETHEREALSPEAR)

function onGetFormulaValues(cid, level, skill)
return -(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5)), 0
end

setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end

Replace the
Code:
return doCombat(cid, combat, var)

With this.
Code:
addEvent(doCombat, 0, cid, combat, var)
addEvent(doCombat, 500, cid, combat, var)


So it should look like this.
Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, true)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ETHEREALSPEAR)

function onGetFormulaValues(cid, level, skill)
return -(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5)), 0
end

setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
addEvent(doCombat, 0, cid, combat, var)
addEvent(doCombat, 500, cid, combat, var)
end

That should work! Hopefully that helps anyone else looking for this same problem. =)

I tested this on 0.4.

Also if you want to add more shots, just add more events.
 
Back
Top