Problem #1
Why can I only cast the spell to target?
How can I use it on myself?
Problem #2
How can I add a distance effect to area 5?
I try change to
and spell dont work
Why can I only cast the spell to target?
How can I use it on myself?
Problem #2
How can I add a distance effect to area 5?
Lua:
local combat1 = Combat()
combat1:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat1:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
combat1:setFormula(COMBAT_FORMULA_LEVELMAGIC, -55.2, 1, -55.2, 1)
local combat2 = Combat()
combat2:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat2:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
combat2:setFormula(COMBAT_FORMULA_LEVELMAGIC, -1.2, 1, -1.2, 1)
local combat3 = Combat()
combat3:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat3:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
combat3:setFormula(COMBAT_FORMULA_LEVELMAGIC, -1.2, 1, -1.2, 1)
local combat4 = Combat()
combat4:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat4:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
combat4:setFormula(COMBAT_FORMULA_LEVELMAGIC, -1.2, 1, -1.2, 1)
local combat5 = Combat()
combat5:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat5:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
combat5:setFormula(COMBAT_FORMULA_LEVELMAGIC, -1.2, 1, -1.2, 1)
local combat6 = Combat()
combat6:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat6:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
combat6:setFormula(COMBAT_FORMULA_LEVELMAGIC, -1.2, 1, -1.2, 1)
local combat7 = Combat()
combat7:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat7:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
combat7:setFormula(COMBAT_FORMULA_LEVELMAGIC, -1.2, 1, -1.2, 1)
local combat8 = Combat()
combat8:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat8:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT)
combat8:setFormula(COMBAT_FORMULA_LEVELMAGIC, -1.2, 1, -1.2, 1)
local area1 = {
{0, 0, 0, 0, 0},
{0, 1, 1, 0, 0},
{0, 0, 2, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0}
}
local area2 = {
{0, 0, 0, 0, 0},
{0, 0, 0, 1, 0},
{0, 0, 2, 1, 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, 2, 0, 0},
{0, 0, 1, 1, 0},
{0, 0, 0, 0, 0}
}
local area4 = {
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 1, 2, 0, 0},
{0, 1, 0, 0, 0},
{0, 0, 0, 0, 0}
}
local area5 = {
{0, 0, 0, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 3, 0, 0, 1},
{0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0}
}
local area6 = {
{0, 0, 0, 1, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0},
{1, 1, 0, 3, 0, 1, 1},
{0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0}
}
local area7 = {
{0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0},
{0, 0, 1, 3, 1, 0, 0},
{0, 0, 0, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0}
}
local area8 = {
{1, 0, 0, 0, 0, 0, 1},
{0, 1, 0, 0, 0, 1, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 0, 1, 3, 1, 0, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 1, 0, 0, 0, 1, 0},
{1, 0, 0, 0, 0, 0, 1}
}
combat1:setArea(createCombatArea(area1))
combat2:setArea(createCombatArea(area2))
combat3:setArea(createCombatArea(area3))
combat4:setArea(createCombatArea(area4))
combat5:setArea(createCombatArea(area5))
combat6:setArea(createCombatArea(area6))
combat7:setArea(createCombatArea(area7))
combat8:setArea(createCombatArea(area8))
function onCastSpell1(cid, varid)
local player = Player(cid)
if not player then
return
end
local variant = Variant(varid)
if variant then
combat1:execute(player, variant)
end
end
function onCastSpell2(cid, varid)
local player = Player(cid)
if not player then
return
end
local variant = Variant(varid)
if variant then
combat2:execute(player, variant)
end
end
function onCastSpell3(cid, varid)
local player = Player(cid)
if not player then
return
end
local variant = Variant(varid)
if variant then
combat3:execute(player, variant)
end
end
function onCastSpell4(cid, varid)
local player = Player(cid)
if not player then
return
end
local variant = Variant(varid)
if variant then
combat4:execute(player, variant)
end
end
function onCastSpell5(cid, varid)
local player = Player(cid)
if not player then
return
end
local variant = Variant(varid)
if variant then
combat5:execute(player, variant)
end
end
function onCastSpell6(cid, varid)
local player = Player(cid)
if not player then
return
end
local variant = Variant(varid)
if variant then
combat6:execute(player, variant)
end
end
function onCastSpell7(cid, varid)
local player = Player(cid)
if not player then
return
end
local variant = Variant(varid)
if variant then
combat7:execute(player, variant)
end
end
function onCastSpell8(cid, varid)
local player = Player(cid)
if not player then
return
end
local variant = Variant(varid)
if variant then
combat8:execute(player, variant)
end
end
function onCastSpell(creature, variant)
local player = Player(creature)
if not player then
return false
end
addEvent(onCastSpell1, 100, player:getId(), variant:getNumber())
addEvent(onCastSpell2, 300, player:getId(), variant:getNumber())
addEvent(onCastSpell3, 600, player:getId(), variant:getNumber())
addEvent(onCastSpell4, 800, player:getId(), variant:getNumber())
addEvent(onCastSpell5, 1000, player:getId(), variant:getNumber())
addEvent(onCastSpell6, 1200, player:getId(), variant:getNumber())
addEvent(onCastSpell7, 1400, player:getId(), variant:getNumber())
addEvent(onCastSpell8, 1600, player:getId(), variant:getNumber())
return true
end
Lua:
<instant group="attack" spellid="119" name="Super Spell" words="Super Spell" lvl="1" manapercent="0" prem="0" range="8" needtarget="1" blockwalls="1" cooldown="3000" groupcooldown="500" needlearn="0" script="Custom/Super Spell.lua">
</instant>
Lua:
<instant group="attack" spellid="119" name="Super Spell" words="Super Spell" lvl="1" manapercent="0" prem="0" blockwalls="1" cooldown="3000" groupcooldown="500" needlearn="0" script="Custom/Super Spell.lua">
</instant>