• 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!
  • New resources must be posted under Resources tab. A discussion thread will be created automatically, you can't open threads manually anymore.

Spell Knight attack spells with elemental damage (Like Tibia Cip)

Joined
Apr 17, 2008
Messages
1,922
Solutions
1
Reaction score
188
Location
Venezuela
Hello, i'm boring and i made these scripts, it damage the creature whith physical and elemental damage like tibia cip. Here is:

First, paste this in data/function.lua
Lua:
local fireWeapons = {7744, 7745, 7746, 7747, 7748, 7749, 7750, 7751, 7752, 7753, 7754, 7755, 7756, 7757, 7758}
local energyWeapons = {7869, 7870, 7871, 7872, 7873, 7874, 7875, 7876, 7877, 7878, 7879, 7880, 7881, 7882, 7883}
local earthWeapons = {7854, 7855, 7856, 7857, 7858, 7859, 7860, 7861, 7862, 7863, 7864, 7865, 7866, 7867, 7868}
local iceWeapons = {7763, 7764, 7765, 7766, 7767, 7768, 7769, 7770, 7771, 7772, 7773, 7774, 7775, 7776, 7777}

Fierce Berserk (exori gran)
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatParam(combat, COMBAT_PARAM_USECHARGES, TRUE)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0.8, 0, 1.6, 0)

local combatPhysical = createCombatObject()
setCombatParam(combatPhysical, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combatPhysical, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatFormula(combatPhysical, COMBAT_FORMULA_SKILL, 0.6, 0, 1.4, 0)

local combatFire = createCombatObject()
setCombatParam(combatFire, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combatFire, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatParam(combatFire, COMBAT_PARAM_USECHARGES, TRUE)
setCombatFormula(combatFire, COMBAT_FORMULA_SKILL, 0.2, 0, 0.2, 0)

local combatIce = createCombatObject()
setCombatParam(combatIce, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combatIce, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatParam(combatIce, COMBAT_PARAM_USECHARGES, TRUE)
setCombatFormula(combatIce, COMBAT_FORMULA_SKILL, 0.2, 0, 0.2, 0)

local combatEarth = createCombatObject()
setCombatParam(combatEarth, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
setCombatParam(combatEarth, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatParam(combatEarth, COMBAT_PARAM_USECHARGES, TRUE)
setCombatFormula(combatEarth, COMBAT_FORMULA_SKILL, 0.2, 0, 0.2, 0)

local combatEnergy = createCombatObject()
setCombatParam(combatEnergy, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combatEnergy, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatParam(combatEnergy, COMBAT_PARAM_USECHARGES, TRUE)
setCombatFormula(combatEnergy, COMBAT_FORMULA_SKILL, 0.2, 0, 0.2, 0)

local area = createCombatArea(AREA_SQUARE1X1)
setCombatArea(combat, area)
setCombatArea(combatFire, area)
setCombatArea(combatIce, area)
setCombatArea(combatEarth, area)
setCombatArea(combatEnergy, area)
setCombatArea(combatPhysical, area)

function onCastSpell(cid, var)
	if isInArray(fireWeapons, getPlayerWeapon(cid).itemid) then
		doCombat(cid, combatFire, var)
		doCombat(cid, combatPhysical, var)
	elseif isInArray(energyWeapons, getPlayerWeapon(cid).itemid) then
		doCombat(cid, combatEnergy, var)
		doCombat(cid, combatPhysical, var)
	elseif isInArray(iceWeapons, getPlayerWeapon(cid).itemid) then
		doCombat(cid, combatIce, var)
		doCombat(cid, combatPhysical, var)
	elseif isInArray(earthWeapons, getPlayerWeapon(cid).itemid) then
		doCombat(cid, combatEarth, var)
		doCombat(cid, combatPhysical, var)
	else
		doCombat(cid, combat, var)
	end
end

Berserk (exori)
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatParam(combat, COMBAT_PARAM_USECHARGES, TRUE)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, -90, 0.7, -50)

local combatPhysical = createCombatObject()
setCombatParam(combatPhysical, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combatPhysical, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatFormula(combatPhysical, COMBAT_FORMULA_SKILL, 0, -88, 0.7, -55)

local combatFire = createCombatObject()
setCombatParam(combatFire, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combatFire, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatParam(combatFire, COMBAT_PARAM_USECHARGES, TRUE)
setCombatFormula(combatFire, COMBAT_FORMULA_SKILL, 0, -2, 0.2, -5)

local combatIce = createCombatObject()
setCombatParam(combatIce, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combatIce, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatParam(combatIce, COMBAT_PARAM_USECHARGES, TRUE)
setCombatFormula(combatIce, COMBAT_FORMULA_SKILL, 0, -2, 0.2, -5)

local combatEarth = createCombatObject()
setCombatParam(combatEarth, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
setCombatParam(combatEarth, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatParam(combatEarth, COMBAT_PARAM_USECHARGES, TRUE)
setCombatFormula(combatEarth, COMBAT_FORMULA_SKILL, 0, -2, 0.2, -5)

local combatEnergy = createCombatObject()
setCombatParam(combatEnergy, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combatEnergy, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatParam(combatEnergy, COMBAT_PARAM_USECHARGES, TRUE)
setCombatFormula(combatEnergy, COMBAT_FORMULA_SKILL, 0, -2, 0.2, -5)

local area = createCombatArea(AREA_SQUARE1X1)
setCombatArea(combat, area)
setCombatArea(combatFire, area)
setCombatArea(combatIce, area)
setCombatArea(combatEarth, area)
setCombatArea(combatEnergy, area)
setCombatArea(combatPhysical, area)

function onCastSpell(cid, var)
	if isInArray(fireWeapons, getPlayerWeapon(cid).itemid) then
		doCombat(cid, combatFire, var)
		doCombat(cid, combatPhysical, var)
	elseif isInArray(energyWeapons, getPlayerWeapon(cid).itemid) then
		doCombat(cid, combatEnergy, var)
		doCombat(cid, combatPhysical, var)
	elseif isInArray(iceWeapons, getPlayerWeapon(cid).itemid) then
		doCombat(cid, combatIce, var)
		doCombat(cid, combatPhysical, var)
	elseif isInArray(earthWeapons, getPlayerWeapon(cid).itemid) then
		doCombat(cid, combatEarth, var)
		doCombat(cid, combatPhysical, var)
	else
		doCombat(cid, combat, var)
	end
end

Whirlwind Throw (exori hur)
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, TRUE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE)
setCombatParam(combat, COMBAT_PARAM_USECHARGES, TRUE)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, -20, 0.5, 0)

local combatPhysical = createCombatObject()
setCombatParam(combatPhysical, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combatPhysical, COMBAT_PARAM_BLOCKARMOR, TRUE)
setCombatParam(combatPhysical, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE)
setCombatFormula(combatPhysical, COMBAT_FORMULA_SKILL, 0, -18, 0.4, 0)

local combatFire = createCombatObject()
setCombatParam(combatFire, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combatFire, COMBAT_PARAM_BLOCKARMOR, TRUE)
setCombatParam(combatFire, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE)
setCombatParam(combatFire, COMBAT_PARAM_USECHARGES, TRUE)
setCombatFormula(combatFire, COMBAT_FORMULA_SKILL, 0, -2, 0.1, 0)

local combatIce = createCombatObject()
setCombatParam(combatIce, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combatIce, COMBAT_PARAM_BLOCKARMOR, TRUE)
setCombatParam(combatIce, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE)
setCombatParam(combatIce, COMBAT_PARAM_USECHARGES, TRUE)
setCombatFormula(combatIce, COMBAT_FORMULA_SKILL, 0, -2, 0.1, 0)

local combatEarth = createCombatObject()
setCombatParam(combatEarth, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
setCombatParam(combatEarth, COMBAT_PARAM_BLOCKARMOR, TRUE)
setCombatParam(combatEarth, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE)
setCombatParam(combatEarth, COMBAT_PARAM_USECHARGES, TRUE)
setCombatFormula(combatEarth, COMBAT_FORMULA_SKILL, 0, -2, 0.1, 0)

local combatEnergy = createCombatObject()
setCombatParam(combatEnergy, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combatEnergy, COMBAT_PARAM_BLOCKARMOR, TRUE)
setCombatParam(combatEnergy, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE)
setCombatParam(combatEnergy, COMBAT_PARAM_USECHARGES, TRUE)
setCombatFormula(combatEnergy, COMBAT_FORMULA_SKILL, 0, -2, 0.1, 0)


function onCastSpell(cid, var)
	if isInArray(fireWeapons, getPlayerWeapon(cid).itemid) then
		doCombat(cid, combatFire, var)
		doCombat(cid, combatPhysical, var)
	elseif isInArray(energyWeapons, getPlayerWeapon(cid).itemid) then
		doCombat(cid, combatEnergy, var)
		doCombat(cid, combatPhysical, var)
	elseif isInArray(iceWeapons, getPlayerWeapon(cid).itemid) then
		doCombat(cid, combatIce, var)
		doCombat(cid, combatPhysical, var)
	elseif isInArray(earthWeapons, getPlayerWeapon(cid).itemid) then
		doCombat(cid, combatEarth, var)
		doCombat(cid, combatPhysical, var)
	else
		doCombat(cid, combat, var)
	end
end

Groundshaker (exori mas)
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_GROUNDSHAKER)
setCombatParam(combat, COMBAT_PARAM_USECHARGES, TRUE)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0.3, 0, 0.6, 0)

local combatPhysical = createCombatObject()
setCombatParam(combatPhysical, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combatPhysical, COMBAT_PARAM_EFFECT, CONST_ME_GROUNDSHAKER)
setCombatFormula(combatPhysical, COMBAT_FORMULA_SKILL, 0.2, 0, 0.5, 0)

local combatFire = createCombatObject()
setCombatParam(combatFire, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combatFire, COMBAT_PARAM_EFFECT, CONST_ME_GROUNDSHAKER)
setCombatParam(combatFire, COMBAT_PARAM_USECHARGES, TRUE)
setCombatFormula(combatFire, COMBAT_FORMULA_SKILL, 0.1, 0, 0.1, 0)

local combatIce = createCombatObject()
setCombatParam(combatIce, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combatIce, COMBAT_PARAM_EFFECT, CONST_ME_GROUNDSHAKER)
setCombatParam(combatIce, COMBAT_PARAM_USECHARGES, TRUE)
setCombatFormula(combatIce, COMBAT_FORMULA_SKILL, 0.1, 0, 0.1, 0)

local combatEarth = createCombatObject()
setCombatParam(combatEarth, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
setCombatParam(combatEarth, COMBAT_PARAM_EFFECT, CONST_ME_GROUNDSHAKER)
setCombatParam(combatEarth, COMBAT_PARAM_USECHARGES, TRUE)
setCombatFormula(combatEarth, COMBAT_FORMULA_SKILL, 0.1, 0, 0.1, 0)

local combatEnergy = createCombatObject()
setCombatParam(combatEnergy, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combatEnergy, COMBAT_PARAM_EFFECT, CONST_ME_GROUNDSHAKER)
setCombatParam(combatEnergy, COMBAT_PARAM_USECHARGES, TRUE)
setCombatFormula(combatEnergy, COMBAT_FORMULA_SKILL, 0.1, 0, 0.1, 0)

local area = createCombatArea(AREA_CIRCLE3X3)
setCombatArea(combat, area)
setCombatArea(combatFire, area)
setCombatArea(combatIce, area)
setCombatArea(combatEarth, area)
setCombatArea(combatEnergy, area)
setCombatArea(combatPhysical, area)

function onCastSpell(cid, var)
	if isInArray(fireWeapons, getPlayerWeapon(cid).itemid) then
		doCombat(cid, combatFire, var)
		doCombat(cid, combatPhysical, var)
	elseif isInArray(energyWeapons, getPlayerWeapon(cid).itemid) then
		doCombat(cid, combatEnergy, var)
		doCombat(cid, combatPhysical, var)
	elseif isInArray(iceWeapons, getPlayerWeapon(cid).itemid) then
		doCombat(cid, combatIce, var)
		doCombat(cid, combatPhysical, var)
	elseif isInArray(earthWeapons, getPlayerWeapon(cid).itemid) then
		doCombat(cid, combatEarth, var)
		doCombat(cid, combatPhysical, var)
	else
		doCombat(cid, combat, var)
	end
end

Note: These scripts doesn't have the real tibia formulas.
 
why do u need screens? those are normal spells but with elemental & physical damage
 
Back
Top