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

I have 3 scripts that need modified.

Cornwallis

Member
Joined
Jan 3, 2010
Messages
480
Reaction score
16
Ok, first I need this so it stops working once the target goes in pz if its a player


Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 40)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -4.3, -4, -4.4, -5)

local condition = createConditionObject(CONDITION_CURSED)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 0)
addDamageCondition(condition, 50, 500, -600)
setCombatCondition(combat, condition)

function onCastSpell(cid, var)
	return doCombat(cid, combat, var)
end

I need this script to hit harder every time i advance in distance fighting even if the player is not using a weapon, it still hits that ammount ( im having problems so this is a solution).


Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 31)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 32)

function onGetFormulaValues(cid, level, skill, attack, factor)
	return -(level * 3.6 + skill * 4), -(level * 3.7 + skill * 5)
end

setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

function onCastSpell(cid, var)
	return doCombat(cid, combat, var)
end

And finally, the last one. I need this so you can't keep casting over top of it, its a rush wood trap spell.


Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 29)
setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1499)

local arr = {
{1, 1, 1},
{1, 2, 1},
{1, 1, 1}
}

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

function onCastSpell(cid, var)
	return doCombat(cid, combat, var)
end
 
Ok, i edited the trap spell because it would be overpowered, but this new script gives pz lock everytime you use it.. I officialy fail. Here it is, wanna fix it?

Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 29)
setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1499)

local arr = {
{1, 3, 1}
}

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

function onCastSpell(cid, var)
	return doCombat(cid, combat, var)
end

Code:
		<instant name="Rush Wood" words="exevo grav mas tera" lvl="55" mana="150" casterTargetOrDirection="1" aggresive="0" blocktype="all" prem="1" blockwalls="1" exhaustion="1000" needlearn="0" event="script" value="customspells/trap.lua">
		<vocation id="2"/>
		<vocation id="6"/>
	</instant>
Edit; The aggresive-"0" was my fail attempt to fix this problem :(
 
add

setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE)

after

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 29)
setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1499)

so its
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 29)
setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1499)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE)
 
More problems, This spell if you cast sideways but infront of pz, one wall can go in protection zone.

Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 29)
setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1499)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE) 

local arr = {
{1, 3, 1}
}

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

function onCastSpell(cid, var)
	return doCombat(cid, combat, var)
end
 
Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 29)

local arr = {
	{1, 3, 1}
}

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

function onTargetTile(cid, pos)
	if getTileItemById(pos, 1499).uid < 1 and not getTilePzInfo(pos) then
		doDecayItem(doCreateItem(1499, 1, pos))
	end
end
setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")

function onCastSpell(cid, var)
	if getTileItemById(variantToPosition(var), 1499).uid < 1 and not getTilePzInfo(variantToPosition(var)) then
		return doCombat(cid, combat, var)
	end
end
 
Last edited:
Back
Top