• 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!
  • 2026 staff recruitment is open! Check it out and consider applying!

Double hit spell

Fresh

Quack!
Joined
Oct 21, 2009
Messages
1,855
Solutions
18
Reaction score
671
Hello.
I need spell (yes spell, not talkaction).
Lets go:
- When player want to release spell he must have equipped sword (weapontype = sword).
- When player release spell it hits 2 times (damage -> damage)
- Player must standing near monster (it cannot be distance spell)


REP++ <_<
 
Last edited:
LUA:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONAREA)
setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 0, 4.8)

local area = createCombatArea(AREA_CROSS1X1)
setCombatArea(combat, area)

local t = {
	repeatTimes = 2,
	delay = 2000, -- miliseconds
	typeWeapon = 1 -- WEAPON_NONE = 0, WEAPON_SWORD = 1, WEAPON_CLUB = 2, WEAPON_AXE = 3, WEAPON_DIST = 4, WEAPON_SHIELD = 5, WEAPON_FIST = 6, WEAPON_WAND = 7, WEAPON_AMMO = 8
}

function onCastSpell(cid, var)
	local weapon = getPlayerWeapon(cid, true)
	if(getItemInfo(weapon.itemid).weaponType == t.typeWeapon) then
		for i = 0, t.repeatTimes - 1 do
			addEvent(doCombat, t.delay * i, cid, combat, var)
		end
	else
		doPlayerSendCancel(cid, "You must to equip sword to cast spell.")
	end
end

XML:
	<instant name="XXXXX" words="XXXXX" range="1" needtarget="1" exhaustion="2000" event="script" value="SCRPITNAME.lua">
		<vocation id="1"/>
		<vocation id="2"/>
		<vocation id="5"/>
		<vocation id="6"/>
	</instant>
 
Last edited:
Error is:
LUA:
[31/12/2010 13:16:06] [Warning - Event::loadScript] Cannot load script (data/spells/scripts/a1.lua)

And nothing else...
 
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_BLOCKARMOR, TRUE)
setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -1.0, -600, -1.5, -900)

local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_BLOCKARMOR, TRUE)
setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE)
setCombatFormula(combat2, COMBAT_FORMULA_SKILL, -1.0, -600, -1.5, -900)

local function onCastSpell1(parameters)
doCombat(parameters.cid, parameters.combat1, parameters.var)
local function onCastSpell2(parameters)
doCombat(parameters.cid, parameters.combat2, parameters.var)
end
function onCastSpell(cid, var)
local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2}
addEvent(onCastSpell1, 0, parameters)
addEvent(onCastSpell2, 500, parameters)
return RETURNVALUE_NOERROR
end

add in xml
<instant name="xxxx" words="xxxx" lvl="xxx" mana="xxx" prem="1" range="1" exhaustion="1000" needlearn="0" event="script" value="attack2/ws.lua">
<vocation id="8"/>
</instant>
 
Back
Top