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

Spell Death Flames: Mages (Animated)

Colandus

Advanced OT User
Senator
Joined
Jun 6, 2007
Messages
2,434
Solutions
19
Reaction score
219
Location
Sweden
A spell from my old server (Original Rox0r + TheOTServer) used by Mages.

Lua:
local repeatAmount = 3


local deathFlamesArea = {
    createCombatArea({
        {0, 1, 0},
        {1, 2, 1},
        {0, 1, 0}
    }),
    createCombatArea({
        {0, 1, 1, 1, 0},
        {1, 1, 0, 1, 1},
        {1, 0, 2, 0, 1},
        {1, 1, 0, 1, 1},
        {0, 1, 1, 1, 0}
    }),
    createCombatArea({
        {0, 0, 1, 1, 1, 0, 0},
        {0, 1, 0, 0, 0, 1, 0},
        {1, 0, 0, 0, 0, 0, 1},
        {1, 0, 0, 2, 0, 0, 1},
        {1, 0, 0, 0, 0, 0, 1},
        {0, 1, 0, 0, 0, 1, 0},
        {0, 0, 1, 1, 1, 0, 0}
    })
  
}

local bigFlamesArea = createCombatArea({
    {0, 0, 1, 1, 1, 1, 1, 0, 0},
    {0, 1, 1, 0, 0, 0, 1, 1, 0},
    {1, 1, 0, 0, 0, 0, 0, 1, 1},
    {1, 0, 0, 0, 0, 0, 0, 0, 1},
    {1, 0, 0, 0, 2, 0, 0, 0, 1},
    {1, 0, 0, 0, 0, 0, 0, 0, 1},
    {1, 1, 0, 0, 0, 0, 0, 1, 1},
    {0, 1, 1, 0, 0, 0, 1, 1, 0},
    {0, 0, 1, 1, 1, 1, 1, 0, 0}
})

local deathFlames = {}
for k, area in ipairs(deathFlamesArea) do
    deathFlames[k] = createCombatObject()
    setCombatParam(deathFlames[k], COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
    setCombatParam(deathFlames[k], COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
    setCombatFormula(deathFlames[k], COMBAT_FORMULA_LEVELMAGIC, -0.593, -50, -0.929, -100)

    setCombatArea(deathFlames[k], area)
end

local bigFlames = createCombatObject()
setCombatParam(bigFlames, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(bigFlames, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatFormula(bigFlames, COMBAT_FORMULA_LEVELMAGIC, -0.766, -50, -1.241, -100)

setCombatArea(bigFlames, bigFlamesArea)

function onTargetTile(cid, pos)
    doSendDistanceShoot(getCreaturePosition(cid), pos, CONST_ANI_DEATH)
end
setCombatCallback(bigFlames, CALLBACK_PARAM_TARGETTILE, "onTargetTile")

local function castSpellDelay(p)
    if(isCreature(p[1]) == TRUE) then
        doCombat(unpack(p))
    end
end

function onCastSpell(cid, var)
    for i = 0, repeatAmount - 1 do
        for k, combat in ipairs(deathFlames) do
            addEvent(castSpellDelay, (150 * k) + #deathFlames * 150 * i + 700 * i, {cid, combat, var})
        end
        addEvent(castSpellDelay, (150 * #deathFlames) + #deathFlames * 150 * i + 700 * i, {cid, bigFlames, var})
    end
  
    return LUA_NO_ERROR
end
 
Last edited:
Man, can anyone say something else but "screenshot plzz" ? It's an animated spell, it requires video and I don't have time for nothing. I just released some spells just try it yourself.

It's awesome, trust me!
 
Here The Img
One repeats 3 Times
deathflames.png
 
Nice. Adding screenshots is a good way for people to see the spell and decide weather they like it rather than adding it to their server and deciding, this sucks. But its pretty good, Ill use it. :D
 
Nice. Adding screenshots is a good way for people to see the spell and decide weather they like it rather than adding it to their server and deciding, this sucks. But its pretty good, Ill use it. :D

yes but you can't really see the whole spell from that screenshot... you can barely notice it's animated unless you look close to realize the explosion areas change ^.^ im sure its better than nothing though, but it aint showin its true beauty :(
 
How can I add this? :I, Do I add it as a normal spell? lol, 'mi newbi', never heard about animated before so idk what to do.
 
yes add as normal spell :)

animated spell means instead of just a regular spell it will be "moving"... what it basically does is to send e.g. 4 spell areas with e.g. 200 second delay so it looks like its moving aka animated
 
Someone requested from me this spell, but with animations and damage of 'ethereal spear'. Worked ~30 minutes to fix all TFS bugs...
PHP:
local repeatAmount = 3
 
 
local deathFlamesArea = {
	createCombatArea({
		{0, 1, 0},
		{1, 2, 1},
		{0, 1, 0}
	}),
	createCombatArea({
		{0, 1, 1, 1, 0},
		{1, 1, 0, 1, 1},
		{1, 0, 2, 0, 1},
		{1, 1, 0, 1, 1},
		{0, 1, 1, 1, 0}
	}),
	createCombatArea({
		{0, 0, 1, 1, 1, 0, 0},
		{0, 1, 0, 0, 0, 1, 0},
		{1, 0, 0, 0, 0, 0, 1},
		{1, 0, 0, 2, 0, 0, 1},
		{1, 0, 0, 0, 0, 0, 1},
		{0, 1, 0, 0, 0, 1, 0},
		{0, 0, 1, 1, 1, 0, 0}
	})
 
}
 
local bigFlamesArea = createCombatArea({
	{0, 0, 1, 1, 1, 1, 1, 0, 0},
	{0, 1, 1, 0, 0, 0, 1, 1, 0},
	{1, 1, 0, 0, 0, 0, 0, 1, 1},
	{1, 0, 0, 0, 0, 0, 0, 0, 1},
	{1, 0, 0, 0, 2, 0, 0, 0, 1},
	{1, 0, 0, 0, 0, 0, 0, 0, 1},
	{1, 1, 0, 0, 0, 0, 0, 1, 1},
	{0, 1, 1, 0, 0, 0, 1, 1, 0},
	{0, 0, 1, 1, 1, 1, 1, 0, 0}
})
 
function onGetFormulaValues1(cid, level, skill, attack, factor)
	return 0, -(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5))
end

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

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

local deathFlames = {}
for k, area in ipairs(deathFlamesArea) do
	deathFlames[k] = createCombatObject()
	setCombatParam(deathFlames[k], COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
	setCombatParam(deathFlames[k], COMBAT_PARAM_EFFECT, CONST_ME_DRAWBLOOD)
	setCombatCallback(deathFlames[k], CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues"..k)
 
	setCombatArea(deathFlames[k], area)
end
 
local bigFlames = createCombatObject()
setCombatParam(bigFlames, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(bigFlames, COMBAT_PARAM_EFFECT, CONST_ME_NONE)
setCombatArea(bigFlames, bigFlamesArea)

function onTargetTile(cid, pos)
	doSendDistanceShoot(getCreaturePosition(cid), pos, CONST_ANI_ETHEREALSPEAR)
end
setCombatCallback(bigFlames, CALLBACK_PARAM_TARGETTILE, "onTargetTile")
 
function castSpellDelay(p)
	if(isCreature(p[1]) == TRUE) then
		doCombat(unpack(p))
	end
end
 
function onCastSpell(cid, var)
	for i = 0, repeatAmount - 1 do
		for k, combat in ipairs(deathFlames) do
			addEvent(castSpellDelay, (150 * k) + #deathFlames * 150 * i + 700 * i, {cid, combat, var})
		end
		addEvent(castSpellDelay, (150 * #deathFlames) + #deathFlames * 150 * i + 700 * i, {cid, bigFlames, var})
	end
 
	return LUA_NO_ERROR
end
After all tests I think script must declare 3 times:
onGetFormulaValues1 ... 2, 3

Anyone got idea how to fix it?
 
Ye nice script poor enough I can cast it in protection zone-,-

Wow. Do you expect everything prepackaged for your use? I'd hate to see how you'd handle a 'Modders Resource' release.
 
Stolen from forgottenL.se No offense If you don't believe it go to : ForgottenL.se and see it its a donation items Btw.

You obviously have no idea who, how long Colandus is, has been around...
 
You obviously have no idea who, how long Colandus is, has been around...
True. It is NOT stolen from forgottenl.se, i used that spell from this very thread actually. Colandus is a great scripter.
Stolen from forgottenL.se No offense If you don't believe it go to : ForgottenL.se and see it its a donation items Btw.
ask me before posting stuff on my ot :mad:
 
Back
Top