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

Wave spell bug

poopsiedoodle

Gibe moni plos
Joined
Nov 23, 2011
Messages
2,458
Reaction score
586
Location
Georgia
Whenever I use my custom waves facing one direction, it hits in the exact opposite direction. Here are the scripts:
Code:
<instant group="attack" name="Water Wave" words="exevo hydro hur" lvl="18" maglv="3" mana="30" exhaustion="1000" prem="0" needlearn="0" direction="1" blockwalls="0" aggressive="1" script="custom/Water Wave.lua">
		<vocation name="Druid"/>
		<vocation name="Elder Druid"/>
		<vocation name="JackofallTrades"/>
	</instant>

and

Code:
-- Areas/Combat for 0ms
local combat0_Brush = createCombatObject()
setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_BUBBLES)
setCombatParam(combat0_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLICE)
setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_DROWNDAMAGE)
setCombatArea(combat0_Brush,createCombatArea({{2},
{1}}))
function getDmg_Brush(cid, level, maglevel)
	return (10+level*maglevel+100)*-1,(20+level*maglevel+300)*-1 
end
setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")

local con_Drowning__combat0_Brush = createConditionObject(0+CONDITION_DROWN)
addDamageCondition(con_Drowning__combat0_Brush, 20, 100, -20)
setCombatCondition(combat0_Brush, con_Drowning__combat0_Brush)
local dfcombat0_Brush = {CONST_ANI_SMALLICE,0,1}

-- Areas/Combat for 100ms
local combat1_Brush = createCombatObject()
setCombatParam(combat1_Brush, COMBAT_PARAM_EFFECT, CONST_ME_BUBBLES)
setCombatParam(combat1_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLICE)
setCombatParam(combat1_Brush, COMBAT_PARAM_TYPE, COMBAT_DROWNDAMAGE)
setCombatArea(combat1_Brush,createCombatArea({{2},
{0},
{1}}))
function getDmg_Brush(cid, level, maglevel)
	return (10+level*maglevel+100)*-1,(20+level*maglevel+300)*-1 
end
setCombatCallback(combat1_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")

local con_Drowning__combat1_Brush = createConditionObject(0+CONDITION_DROWN)
addDamageCondition(con_Drowning__combat1_Brush, 20, 100, -20)
setCombatCondition(combat1_Brush, con_Drowning__combat1_Brush)
local dfcombat1_Brush = {CONST_ANI_SMALLICE,0,2}

-- Areas/Combat for 200ms
local combat2_Brush = createCombatObject()
setCombatParam(combat2_Brush, COMBAT_PARAM_EFFECT, CONST_ME_BUBBLES)
setCombatParam(combat2_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLICE)
setCombatParam(combat2_Brush, COMBAT_PARAM_TYPE, COMBAT_DROWNDAMAGE)
setCombatArea(combat2_Brush,createCombatArea({{0, 2, 0},
{0, 0, 0},
{0, 0, 0},
{1, 1, 1}}))
function getDmg_Brush(cid, level, maglevel)
	return (10+level*maglevel+100)*-1,(20+level*maglevel+300)*-1 
end
setCombatCallback(combat2_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")

local con_Drowning__combat2_Brush = createConditionObject(0+CONDITION_DROWN)
addDamageCondition(con_Drowning__combat2_Brush, 20, 100, -20)
setCombatCondition(combat2_Brush, con_Drowning__combat2_Brush)
local dfcombat2_Brush = {CONST_ANI_SMALLICE,1,3,0,3,-1,3}

-- Areas/Combat for 300ms
local combat3_Brush = createCombatObject()
setCombatParam(combat3_Brush, COMBAT_PARAM_EFFECT, CONST_ME_BUBBLES)
setCombatParam(combat3_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLICE)
setCombatParam(combat3_Brush, COMBAT_PARAM_TYPE, COMBAT_DROWNDAMAGE)
setCombatArea(combat3_Brush,createCombatArea({{0, 2, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{1, 1, 1}}))
function getDmg_Brush(cid, level, maglevel)
	return (10+level*maglevel+100)*-1,(20+level*maglevel+300)*-1 
end
setCombatCallback(combat3_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")

local con_Drowning__combat3_Brush = createConditionObject(0+CONDITION_DROWN)
addDamageCondition(con_Drowning__combat3_Brush, 20, 100, -20)
setCombatCondition(combat3_Brush, con_Drowning__combat3_Brush)
local dfcombat3_Brush = {CONST_ANI_SMALLICE,1,4,0,4,-1,4}

-- Areas/Combat for 400ms
local combat4_Brush = createCombatObject()
setCombatParam(combat4_Brush, COMBAT_PARAM_EFFECT, CONST_ME_BUBBLES)
setCombatParam(combat4_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLICE)
setCombatParam(combat4_Brush, COMBAT_PARAM_TYPE, COMBAT_DROWNDAMAGE)
setCombatArea(combat4_Brush,createCombatArea({{0, 0, 2, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{1, 1, 1, 1, 1}}))
function getDmg_Brush(cid, level, maglevel)
	return (10+level*maglevel+100)*-1,(20+level*maglevel+300)*-1 
end
setCombatCallback(combat4_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")

local con_Drowning__combat4_Brush = createConditionObject(0+CONDITION_DROWN)
addDamageCondition(con_Drowning__combat4_Brush, 20, 100, -20)
setCombatCondition(combat4_Brush, con_Drowning__combat4_Brush)
local dfcombat4_Brush = {CONST_ANI_SMALLICE,2,5,1,5,0,5,-1,5,-2,5}

-- =============== CORE FUNCTIONS ===============
local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part
	if (isCreature(cid)) then
		doCombat(cid, c, var)
		if (dirList ~= nil) then -- Emit distance effects
			local i = 2;
			while (i < #dirList) do
				doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i],y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1])
				i = i + 2
			end		
		end
	end
end

function onCastSpell(cid, var)
	local startPos = getCreaturePosition(cid)
	RunPart(combat0_Brush,cid,var,dfcombat0_Brush,startPos)
	addEvent(RunPart,100,combat1_Brush,cid,var,dfcombat1_Brush,startPos)
	addEvent(RunPart,200,combat2_Brush,cid,var,dfcombat2_Brush,startPos)
	addEvent(RunPart,300,combat3_Brush,cid,var,dfcombat3_Brush,startPos)
	addEvent(RunPart,400,combat4_Brush,cid,var,dfcombat4_Brush,startPos)
	return true
end
 
Last edited:
Since it's clear you've used my SpellCreator, you didn't tick the Directional thing in Spell -> Properties, which will change the script so it works.
 
Back
Top