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

Monster Skandians - barbarian with north mountains.

Oskar1121

Excellent OT User
Joined
Jul 15, 2009
Messages
632
Reaction score
534
Location
Poland
First go to data/monsters and make files:
Skandian.xml
Skandian Skirl.xml
Skandian Jarl.xml
Oberjarl Ragnak.xml
Oberjarl Erak.xml
And paste:
Skandian.xml
Skandian Skirl.xml
Skandian Jarl.xml
Oberjarl Ragnak.xml
Oberjarl Erak.xml
Into monsters.xml paste:
PHP:
<monster name="skandian" file="skandian.xml"/>
<monster name="skandian skirl" file="skandian skirl.xml"/>
<monster name="skandian jarl" file="skandian jarl.xml"/>
<monster name="oberjarl ragnak" file="oberjarl ragnak.xml"/>
<monster name="oberjarl erak" file="oberjarl erak.xml"/>

Now go to data/spells/scripts and make file Skandian.lua and paste:
PHP:
function onTargetTile1(cid, pos)
	local getPos = pos
	getPos.stackpos = STACKPOS_TOP_CREATURE
	local creatureFound = getThingFromPos(getPos)
	if creatureFound.uid > 0 and (isInArray({"skandian","skandian skirl","skandian jarl","oberjarl erak","oberjarl ragnak"}, getCreatureName(creatureFound.uid)) == false) and creatureFound.uid ~= cid then
		doTargetCombatHealth(cid, creatureFound.uid, COMBAT_PHYSICALDAMAGE, -100, -150, CONST_ME_GROUNDSHAKER)
	end
return true
end
function onTargetTile2(cid, pos)
	local getPos = pos
	getPos.stackpos = STACKPOS_TOP_CREATURE
	local creatureFound = getThingFromPos(getPos)
	if creatureFound.uid > 0 and (isInArray({"skandian","skandian skirl","skandian jarl","oberjarl erak","oberjarl ragnak"}, getCreatureName(creatureFound.uid)) == false) and creatureFound.uid ~= cid then
		doTargetCombatHealth(cid, creatureFound.uid, COMBAT_PHYSICALDAMAGE, -150, -200, CONST_ME_GROUNDSHAKER)
	end
return true
end
function onTargetTile3(cid, pos)
	local getPos = pos
	getPos.stackpos = STACKPOS_TOP_CREATURE
	local creatureFound = getThingFromPos(getPos)
	if creatureFound.uid > 0 and (isInArray({"skandian","skandian skirl","skandian jarl","oberjarl erak","oberjarl ragnak"}, getCreatureName(creatureFound.uid)) == false) and creatureFound.uid ~= cid then
		doTargetCombatHealth(cid, creatureFound.uid, COMBAT_PHYSICALDAMAGE, -250, -300, CONST_ME_GROUNDSHAKER)
	end
return true
end
function onTargetTile4(cid, pos)
	local getPos = pos
	getPos.stackpos = STACKPOS_TOP_CREATURE
	local creatureFound = getThingFromPos(getPos)
	if creatureFound.uid > 0 and isInArray({"skandian","skandian skirl","skandian jarl","oberjarl erak","oberjarl ragnak"}, getCreatureName(creatureFound.uid)) == false and creatureFound.uid ~= cid then
		doTargetCombatHealth(cid, creatureFound.uid, COMBAT_PHYSICALDAMAGE, -350, -400, CONST_ME_GROUNDSHAKER)
	end
return true
end

local area1, combat1 = createCombatArea(AREA_CROSS1X1), createCombatObject()
setCombatArea(combat1, area1)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_GROUNDSHAKER)
setCombatCallback(combat1, CALLBACK_PARAM_TARGETTILE, "onTargetTile1")
local area2, combat2 = createCombatArea(AREA_PLAUGE_1), createCombatObject()
setCombatArea(combat2, area2)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_GROUNDSHAKER)
setCombatCallback(combat2, CALLBACK_PARAM_TARGETTILE, "onTargetTile2")
local area3, combat3 = createCombatArea(AREA_PLAUGE_2), createCombatObject()
setCombatArea(combat3, area3)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, CONST_ME_GROUNDSHAKER)
setCombatCallback(combat3, CALLBACK_PARAM_TARGETTILE, "onTargetTile3")
local area4, combat4 = createCombatArea(AREA_PLAUGE_3), createCombatObject()
setCombatArea(combat4, area4)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, CONST_ME_GROUNDSHAKER)
setCombatCallback(combat4, CALLBACK_PARAM_TARGETTILE, "onTargetTile4")

local function onCastSpell1(parameters)
doCombat(parameters.cid, parameters.combat1, parameters.var)
end
local function onCastSpell2(parameters)
doCombat(parameters.cid, parameters.combat2, parameters.var)
end
local function onCastSpell3(parameters)
doCombat(parameters.cid, parameters.combat3, parameters.var)
end
local function onCastSpell4(parameters)
doCombat(parameters.cid, parameters.combat4, parameters.var)
end
function onCastSpell(cid, var)
local parameters = {cid=cid,var=var,combat1=combat1,combat2=combat2,combat3=combat3,combat4=combat4}
if isInArray({"skandian skirl","skandian jarl","oberjarl erak","oberjarl ragnak"}, getCreatureName(cid)) then
	addEvent(onCastSpell1, 0, parameters)
	if isInArray({"skandian skirl","skandian jarl","oberjarl erak","oberjarl ragnak"}, getCreatureName(cid)) then
		addEvent(onCastSpell2, 200, parameters)
		if isInArray({"skandian jarl","oberjarl erak","oberjarl ragnak"}, getCreatureName(cid)) then
			addEvent(onCastSpell3, 400, parameters)
			if isInArray({"oberjarl erak","oberjarl ragnak"}, getCreatureName(cid)) then
				addEvent(onCastSpell4, 600, parameters)
			end
		end
	end
end
return true
end
Into spells.xml paste:
PHP:
<instant name="Skandian" words="Skandian" mana="10000" selftarget="1" event="script" value="Skandian.lua"/>

Sorry for my mistake.
Into data/spells/lib search spells.lua and paste:
PHP:
AREA_PLAUGE_1 = {
	{0, 0, 1, 0, 0},
	{0, 1, 0, 1, 0},
	{1, 0, 3, 0, 1},
	{0, 1, 0, 1, 0},
	{0, 0, 1, 0, 0}
} 
AREA_PLAUGE_2 = {
	{0, 0, 0, 1, 0, 0, 0},
	{0, 0, 1, 0, 1, 0, 0},
	{0, 1, 0, 0, 0, 1, 0},
	{1, 0, 0, 3, 0, 0, 1},
	{0, 1, 0, 0, 0, 1, 0},
	{0, 0, 1, 0, 1, 0, 0},
	{0, 0, 0, 1, 0, 0, 0}
} 
AREA_PLAUGE_3 = {
	{0, 0, 0, 0, 1, 0, 0, 0, 0},
	{0, 0, 0, 1, 0, 1, 0, 0, 0},
	{0, 0, 1, 0, 0, 0, 1, 0, 0},
	{0, 1, 0, 0, 0, 0, 0, 1, 0},
	{1, 0, 0, 0, 3, 0, 0, 0, 1},
	{0, 1, 0, 0, 0, 0, 0, 1, 0},
	{0, 0, 1, 0, 0, 0, 1, 0, 0},
	{0, 0, 0, 1, 0, 1, 0, 0, 0},
	{0, 0, 0, 0, 1, 0, 0, 0, 0}
}
 
Last edited:
I Have this error:

[11/11/2010 09:36:40] [Error - Spell Interface]
[11/11/2010 09:36:40] data/spells/scripts/monsters spells/Skandian.lua
[11/11/2010 09:36:40] Description:
[11/11/2010 09:36:40] (luaSetCombatArea) Area not found

[11/11/2010 09:36:40] [Error - Spell Interface]
[11/11/2010 09:36:40] data/spells/scripts/monsters spells/Skandian.lua
[11/11/2010 09:36:40] Description:
[11/11/2010 09:36:40] (luaSetCombatArea) Area not found

[11/11/2010 09:36:40] [Error - Spell Interface]
[11/11/2010 09:36:40] data/spells/scripts/monsters spells/Skandian.lua
[11/11/2010 09:36:40] Description:
[11/11/2010 09:36:40] (luaSetCombatArea) Area not found
 
@azzkaban
I think your TFS don't have function luaSetCombatArea, it will be nice if Oskar can share it with us ;)
 
Skandian?
You're referring to "Scandinavians" or "Vikings", I presume? ^_^
 
Back
Top