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

One Weapon, but attack differents for each voc.

115820

Member
Joined
Feb 27, 2011
Messages
193
Solutions
1
Reaction score
5
Location
London, England
Hi everyone, i need a weapon script. The weapon works like:
-When a Knight equip weapon, It attacks different in a way Y
-When a Sorcerer equip weapon, It attacks different in a way X
-When a Druid equip weapon, It attacks different in a way K
-When a Paladin equip weapon, It attacks different in a way T
The Weapon in the case of the 4 would be the same ID (ITEM), more when each vocation equip it changes its way of attack.
Thanks in advance.
 
Code:
local combat = Combat()
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE)

function onGetFormulaValues(player, skill, attack, factor)
    local min = 100
    local max = 500
    return -min, -max
end

combat:setCallback(CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

local combat2 = Combat()
combat2:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat2:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONAREA)
combat2:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE)

function onGetFormulaValues(player, skill, attack, factor)
    local min = 500
    local max = 1000
    return -min, -max
end

combat2:setCallback(CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

local combat3 = Combat()
combat3:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat3:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)

function onGetFormulaValues(player, skill, attack, factor)
    local min = 2000
    local max = 3000
    return -min, -max
end

combat3:setCallback(CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

local combat4 = Combat()
combat4:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat4:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONAREA)

function onGetFormulaValues(player, skill, attack, factor)
    local min = 4000
    local max = 5000
    return -min, -max
end

combat4:setCallback(CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

function onUseWeapon(player, variant)
local item = player:getSlotItem(CONST_SLOT_LEFT):getId()
local voc = player:getVocation()
local weapon = (2000) // WEAPON ID <<<<<<

if item == weapon and voc == 1 or voc == 5 then // Sorcerer, Master Sorcerer

return combat:execute(player, variant)

elseif item == weapon and voc == 2 or voc == 6 then // Druid, Elder Druid

return combat2:execute(player, variant)

elseif item == weapon and voc == 3 or voc == 7 then // Paladin, Royal Paladin

return combat3:execute(player, variant)

elseif item == weapon and voc == 4 or voc == 8 then // Knight, Elite Knight

return combat4:execute(player, variant)

end
end
 
Code:
local combat = Combat()
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE)

function onGetFormulaValues(player, skill, attack, factor)
    local min = 100
    local max = 500
    return -min, -max
end

combat:setCallback(CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

local combat2 = Combat()
combat2:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat2:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONAREA)
combat2:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE)

function onGetFormulaValues(player, skill, attack, factor)
    local min = 500
    local max = 1000
    return -min, -max
end

combat2:setCallback(CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

local combat3 = Combat()
combat3:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat3:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)

function onGetFormulaValues(player, skill, attack, factor)
    local min = 2000
    local max = 3000
    return -min, -max
end

combat3:setCallback(CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

local combat4 = Combat()
combat4:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat4:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONAREA)

function onGetFormulaValues(player, skill, attack, factor)
    local min = 4000
    local max = 5000
    return -min, -max
end

combat4:setCallback(CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

function onUseWeapon(player, variant)
local item = player:getSlotItem(CONST_SLOT_LEFT):getId()
local voc = player:getVocation()
local weapon = (2000) // WEAPON ID <<<<<<

if item == weapon and voc == 1 or voc == 5 then // Sorcerer, Master Sorcerer

return combat:execute(player, variant)

elseif item == weapon and voc == 2 or voc == 6 then // Druid, Elder Druid

return combat2:execute(player, variant)

elseif item == weapon and voc == 3 or voc == 7 then // Paladin, Royal Paladin

return combat3:execute(player, variant)

elseif item == weapon and voc == 4 or voc == 8 then // Knight, Elite Knight

return combat4:execute(player, variant)

end
end


Dont Work. I use TFS 0.4

How change for formula??? No Min and MAX
 
Back
Top