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

Need help fixing burst arrows and poison arrows! Please

nicoelperro

New Member
Joined
May 3, 2024
Messages
15
Reaction score
3
I own a 8.6 server using TFS 1.3.X, yep, really old but i like it. The thing is that my burst arrows do not burst, they only do base damage an physical damage, same for the poison arrows, only physical damage, i want them to work like they should but i can't get it working..

I've been messing around with weapons.xml but the scripts of weapons.xml doesn't seem to work.
Here's my Burst Arrow from Items.xml

<item id="2546" article="a" name="burst arrow" plural="burst arrows">
<attribute key="weight" value="90" />
<attribute key="slotType" value="ammo" />
<attribute key="attack" value="28" />
<attribute key="hitChance" value="100" />
<attribute key="weaponType" value="ammunition" />
<attribute key="ammoType" value="arrow" />
<attribute key="shootType" value="burstarrow" />
<attribute key="ammoAction" value="removecount" />
</item>

and this is my weapons.xml info

<distance id="2546" script="burst_arrow.lua"/>

and the burst_arrow.lua script from weapons.xml

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) -- daño de fuego
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK) -- efecto visual de fuego
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BURSTARROW) -- proyectil gráfico
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1.0, 0, 1.0, 0) -- daño basado en skill

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

If someone could help me get them back to normal i would really appreciate, pls
 
Here

LUA:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BURSTARROW)

-- Daño base (ajustable)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1.0, 0, 1.0, 0)

-- Área de explosión (3x3)
local area = createCombatArea(AREA_CIRCLE2X2)
setCombatArea(combat, area)

-- Condición de FUEGO (quemadura)
local condition = createConditionObject(CONDITION_FIRE)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
setConditionParam(condition, CONDITION_PARAM_MINVALUE, -5)    -- daño mínimo por tic
setConditionParam(condition, CONDITION_PARAM_MAXVALUE, -25)   -- daño máximo por tic
setConditionParam(condition, CONDITION_PARAM_STARTVALUE, -15) -- primer tic
setConditionParam(condition, CONDITION_PARAM_TICKS, 8000)     -- dura 8s

setCombatCondition(combat, condition)

function onUseWeapon(cid, var)
    local pos = variantToPosition(var)
    return doCombat(cid, combat, positionToVariant(pos))
end

LUA:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_POISONAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_POISON)

-- Daño base (puedes ajustar)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1.0, 0, 1.0, 0)

-- Área de veneno 3x3
local area = createCombatArea(AREA_CIRCLE2X2)
setCombatArea(combat, area)

-- Condición de veneno real
local condition = createConditionObject(CONDITION_POISON)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
setConditionParam(condition, CONDITION_PARAM_MINVALUE, -5)   -- daño mínimo por tic
setConditionParam(condition, CONDITION_PARAM_MAXVALUE, -25)  -- daño máximo por tic
setConditionParam(condition, CONDITION_PARAM_STARTVALUE, -15)
setConditionParam(condition, CONDITION_PARAM_TICKS, 8000)    -- duración 8s

setCombatCondition(combat, condition)

function onUseWeapon(cid, var)
    local pos = variantToPosition(var)
    return doCombat(cid, combat, positionToVariant(pos))
end
 
Last edited:
Back
Top