• 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 TFS burst arrow

keatoru

...workin...
Joined
Apr 26, 2008
Messages
96
Reaction score
0
Location
KY, USA
the burst arrow will not hurt anything same for poison arrow.
I think that it might be due to this in the arrow script:
burst
Code:
local combat = createCombatObject()
[B]setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1)[/B]
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BURSTARROW)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)

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

poison
Code:
local combat = createCombatObject()
[B]setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)[/B]
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_POISONARROW)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)

local condition = createConditionObject(CONDITION_POISON)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 10, 2000, -1)
setCombatCondition(combat, condition)

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

anyone?
 
I personally remade the burst arrow and made it into levelmagic for mages...

This is what I'm using (TFS)...

Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 0)
setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BURSTARROW)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.2, -30, -0.3, 0)

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
 
And it works right? so i'm guessing mine isn't working becuz of this part on yours:
Code:
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 0)
mine has a 1 at the end.
 
The problem is at:
Code:
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)

That does damage based on your distance skill... As i wanted the burst arrow to be for mages, I made it to damage based on their level and magic level:
Code:
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.2, -30, -0.3, 0)
 
I had a person with lvl 65 dist and the arrow did nothing... so if its judged on distance then why are ppl not doing any damage to anything?
 
Not exactly sure.. I'v seen threads prior to this one talking about this problem. I think what they did was set
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)
to
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1.0, 0, 1.1, 0)

I am not sure if will actually make a difference...but it's worth a shot to see if it will do damage :p

Also... I'll mess around with it in my server and let you know what I come up with...
 
no didn't work. and i am now noticing that it doesn't add any distance skill. my viper star works tho. it hits them and does poisen damage but doesn't give distance exp. this is the viper_star.lua
Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_GREENSTAR)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, 0, 1.0, 0)

local xCombat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)

local condition = createConditionObject(CONDITION_POISON)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 4, 2000, -2)
addDamageCondition(condition, 6, 2000, -1)
setCombatCondition(xCombat, condition)

function onUseWeapon(cid, var)
	local ret = doCombat(cid, combat, var)
	if(ret == LUA_ERROR) then
		return LUA_ERROR
	end

	local target = variantToNumber(var)
	if(target ~= 0) then
		-- chance to poison the enemy
		local chance = math.random(0, 100)
		if(chance > 90) then
			ret = doCombat(cid, xCombat, var)
		end
	end
	return ret
end
 
Back
Top