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

Distance formula

Fare

Advanced OT User
Joined
Apr 3, 2008
Messages
2,387
Reaction score
151
Location
Ukraine
what is perfect formula for distance weapons? becouse >

HTML:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SPEAR)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, 0, 0, 0)

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


didn't work.




HTML:
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, 0, 1.0, 0)


too.

It is bug in TFS? or i got wrong formulas? ;)
 
Try

Code:
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, 0, 1.1, 0)

Or higher ;) That shoud work.
 
@up, you have worked this? on tfs? :D becouse i tryed almost all values =\ and it didn't work =(
 
WHO GOT WORKING BURST ARROWS\VIPER STARS\POISON STARS on TFS??? xD bump bump



edit. Also got a bug in trunk version(maybe in tags too),

00:03 You see a skull staff (Atk:36 Def:12 +1).
It can only be wielded properly by players of level 30 or higher.
It weighs 17.00 oz.
The staff longs for death.

<melee id="2436" level="30" unproperly="1" script="club.lua" function="internalLoadWeapon"/>

and I can use skull staff(2436) with 8 lvl knight =\ level req for weapons didnt work, as for me atleast
 
Last edited:
Set unproperly to 0, because with 1 players can wear weapons just attacking with half damage.
About burst arrows, I am using on WypasOTS this:
Code:
function onGetPlayerMinMaxValues(cid, weaponSkill, weaponAttack, attackStrength)
	local attack = 28
	local skill = getPlayerSkill(cid, CONST_SKILL_DISTANCE)
	local level = getPlayerLevel(cid)
	local damage = (attack / 20 * skill * 2 + attack + level / 10) / 10 * 1

	return 0, damage
end
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONHIT)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BURSTARROW)
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetPlayerMinMaxValues")

local area = createCombatArea( { {1, 1, 1}, {1, 3, 1}, {1, 1, 1} } )
setCombatArea(combat, area)

function onUseWeapon(cid, var)
	return doCombat(cid, combat, var)
end
 
<distance id="2546" script="burst_arrow.lua" function="internalLoadWeapon"/> ?
or just
<distance id="2546" script="burst_arrow.lua" />
 
FOR ALL WHO HAVE NOT WORKED DISTANCE SCRIPTS:
burst arrows:

PHP:
function onGetPlayerMinMaxValues(cid, weaponSkill, weaponAttack, attackStrength)
	local attack = 28
	local skill = getPlayerSkill(cid, CONST_SKILL_DISTANCE)
	local level = getPlayerLevel(cid)
	local damage = -(attack / 20 * skill * 2 + attack + level / 10) / 10 * 1

	return 0, damage
end
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONHIT)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BURSTARROW)
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetPlayerMinMaxValues")

local area = createCombatArea( { {1, 1, 1}, {1, 3, 1}, {1, 1, 1} } )
setCombatArea(combat, area)

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

Elf's version didn't work for me on trunk version, becouse it hasn't "-" before damage. Also for runes formulas I must add minus. Thanks to Elf for helping in this trouble =]
 
Back
Top