• 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 New Ultimate Explosion 1.2 & Poison Storm

Nice spells :thumbup:.

But is way to make Posion Storm that will posion monster/player when hit him??
 
I did this that Posion Storm is posioning monster/player.

Posion Storm:
Code:
local arr = {
 
{
{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, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 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, 1, 1, 1, 1, 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},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{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, 1, 1, 1, 1, 0, 0, 0}
}
 
}
 
local combat = {}
for i = 1, 3 do
        combat[i] = createCombatObject()
end
 
        setCombatArea(combat[1], createCombatArea(arr[1]))
		setCombatParam(combat[1], COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
		setCombatArea(combat[2], createCombatArea(arr[2]))
		setCombatParam(combat[2], COMBAT_PARAM_EFFECT, CONST_ME_POISONAREA)

		
[COLOR="red"]	local condition = createConditionObject(CONDITION_POISON)
		setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
		for i = 0, 5 do
			addDamageCondition(condition, 6 - i, 1000, -50 + 5 * i) 
		end
		setCombatCondition(combat[2], condition)
		setCombatCondition(combat[1], condition)[/COLOR]
 
function spellCallbackStorm(param)
	if param.count > 0 or math.random(0, 1) == 1 then
		doSendMagicEffect(param.pos, CONST_ME_HITBYPOISON)
		doSendDistanceShoot({ x = param.pos.x - 7, y = param.pos.y - 7, z = param.pos.z}, param.pos, CONST_ANI_POISON)
		addEvent(doSendMagicEffect, 50, param.pos, CONST_ME_GREEN_RINGS)
	end
 
	if(param.count < 3) then
		param.count = param.count + 1
		addEvent(spellCallbackStorm, math.random(0, 500), param)
	end
end
 
function onTargetTile(cid, pos)
	local param = {}
	param.cid = cid
	param.pos = pos
	param.count = 0
	spellCallbackStorm(param)
end
 
function onTargetTile2(cid, pos)
    doCombat(cid, combat[3], positionToVariant(pos))
end
 
function onGetFormulaValues(cid, level, maglevel)
	local min = -((level/5)+(maglevel*15))
	local max = -((level/5)+(maglevel*18))
	return min, max
end
 
setCombatCallback(combat[1], CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
setCombatCallback(combat[1], CALLBACK_PARAM_TARGETTILE, "onTargetTile")
setCombatCallback(combat[2], CALLBACK_PARAM_TARGETTILE, "onTargetTile2")
 
function onCastSpell(cid, var)
	doCombat(cid, combat[1], var)
	doCombat(cid, combat[2], var)
	return true
end




How edit damage?? :blink:

Code:
		for i = 0, 5 do
			addDamageCondition(condition, [B][COLOR="blue"]6 - i[/COLOR], [COLOR="sandybrown"]1000[/COLOR], [COLOR="seagreen"]-50 + 5 * i[/COLOR][/B]) 
		end

this /\ is the same like that:
Code:
addDamageCondition(condition, [COLOR="blue"]6[/COLOR], [COLOR="sandybrown"]1000[/COLOR], [COLOR="seagreen"]-50[/COLOR])
addDamageCondition(condition, [COLOR="blue"]5[/COLOR], [COLOR="sandybrown"]1000[/COLOR], [COLOR="seagreen"]-45[/COLOR])
addDamageCondition(condition, [COLOR="blue"]4[/COLOR], [COLOR="sandybrown"]1000[/COLOR], [COLOR="seagreen"]-40[/COLOR])
addDamageCondition(condition, [COLOR="blue"]3[/COLOR], [COLOR="sandybrown"]1000[/COLOR], [COLOR="seagreen"]-35[/COLOR])
addDamageCondition(condition, [COLOR="blue"]2[/COLOR], [COLOR="sandybrown"]1000[/COLOR], [COLOR="seagreen"]-20[/COLOR])
addDamageCondition(condition, [COLOR="blue"]1[/COLOR], [COLOR="sandybrown"]1000[/COLOR], [COLOR="seagreen"]-15[/COLOR])

Seagreen: Damage of posion

Blue: Repetition of damage

Sandybrown: Time bettwen damages
 
Last edited:
on tfs 1.2 error with function -

Code:
function onCastSpell(cid, var)
    doCombat(cid, combat[1], var)
    doCombat(cid, combat[2], var)
    return true
end
 
not working in TFS 0.4 =/
[Error - Test Interface]
data/spells/scripts/ultimateExplo.lua
Description:
data/spells/scripts/ultimateExplo.lua:38: attempt to index local 'combat' (a number value)
[Error - Event::checkScript] Cannot load script (data/spells/scripts/ultimateExplo.lua)
 
Back
Top