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

duplicate id item

Tumorte

Banned User
Joined
Sep 10, 2019
Messages
1
Reaction score
0
hello, a while ago a member here made a script for me of bow with condition, but now I tried to create another bow and it didn't work due to the duplicate id, how can I solve it? how can i add more bows with this condition without giving this error
tfs 0.4

Screenshot_2.png
Screenshot_3.png
Screenshot_4.png
Screenshot_5.png

LUA:
local bowid = 8857

local condition = createConditionObject(CONDITION_POISON)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 2, 2000, -50)
addDamageCondition(condition, 1, 2000, -30)
addDamageCondition(condition, 1, 2000, -29)
addDamageCondition(condition, 1, 2000, -28)
addDamageCondition(condition, 1, 2000, -27)
addDamageCondition(condition, 1, 2000, -26)
addDamageCondition(condition, 1, 2000, -25)
addDamageCondition(condition, 1, 2000, -24)
addDamageCondition(condition, 1, 2000, -23)
addDamageCondition(condition, 1, 2000, -22)
addDamageCondition(condition, 1, 2000, -21)
addDamageCondition(condition, 1, 2000, -20)
addDamageCondition(condition, 1, 2000, -19)
addDamageCondition(condition, 1, 2000, -18)
addDamageCondition(condition, 1, 2000, -17)
addDamageCondition(condition, 1, 2000, -16)
addDamageCondition(condition, 1, 2000, -15)
addDamageCondition(condition, 1, 2000, -14)
addDamageCondition(condition, 1, 2000, -13)
addDamageCondition(condition, 1, 2000, -12)
addDamageCondition(condition, 1, 2000, -11)
addDamageCondition(condition, 1, 2000, -10)
addDamageCondition(condition, 1, 2000, -9)
addDamageCondition(condition, 1, 2000, -8)
addDamageCondition(condition, 1, 2000, -7)
addDamageCondition(condition, 1, 2000, -6)
addDamageCondition(condition, 1, 2000, -5)
addDamageCondition(condition, 1, 2000, -4)
addDamageCondition(condition, 1, 2000, -3)
addDamageCondition(condition, 1, 2000, -2)
addDamageCondition(condition, 1, 2000, -1)


local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, 0, 1, 0)

function onUseWeapon(cid, var)
    local slotleft = getPlayerSlotItem(cid, CONST_SLOT_LEFT)
    local slotright = getPlayerSlotItem(cid, CONST_SLOT_RIGHT)
    local target = getCreatureTarget(cid)
    local distance_effect = CONST_ANI_ARROW
    if slotleft.itemid == bowid or slotright.itemid == bowid then
        distance_effect = CONST_ANI_POISONARROW
        doTargetCombatCondition(cid, target, condition, CONST_ME_POISON)
    end
    doSendDistanceShoot(getThingPosition(cid), getThingPosition(target), distance_effect)
    return doCombat(cid, combat, var)
end


LUA:
local bowid = 13480

local condition = createConditionObject(CONDITION_FIRE)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 2, 2000, -50)
addDamageCondition(condition, 1, 2000, -30)
addDamageCondition(condition, 1, 2000, -29)
addDamageCondition(condition, 1, 2000, -28)
addDamageCondition(condition, 1, 2000, -27)
addDamageCondition(condition, 1, 2000, -26)
addDamageCondition(condition, 1, 2000, -25)
addDamageCondition(condition, 1, 2000, -24)
addDamageCondition(condition, 1, 2000, -23)
addDamageCondition(condition, 1, 2000, -22)
addDamageCondition(condition, 1, 2000, -21)
addDamageCondition(condition, 1, 2000, -20)
addDamageCondition(condition, 1, 2000, -19)
addDamageCondition(condition, 1, 2000, -18)
addDamageCondition(condition, 1, 2000, -17)
addDamageCondition(condition, 1, 2000, -16)
addDamageCondition(condition, 1, 2000, -15)
addDamageCondition(condition, 1, 2000, -14)
addDamageCondition(condition, 1, 2000, -13)
addDamageCondition(condition, 1, 2000, -12)
addDamageCondition(condition, 1, 2000, -11)
addDamageCondition(condition, 1, 2000, -10)
addDamageCondition(condition, 1, 2000, -9)
addDamageCondition(condition, 1, 2000, -8)
addDamageCondition(condition, 1, 2000, -7)
addDamageCondition(condition, 1, 2000, -6)
addDamageCondition(condition, 1, 2000, -5)
addDamageCondition(condition, 1, 2000, -4)
addDamageCondition(condition, 1, 2000, -3)
addDamageCondition(condition, 1, 2000, -2)
addDamageCondition(condition, 1, 2000, -1)


local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, 0, 1, 0)

function onUseWeapon(cid, var)
    local slotleft = getPlayerSlotItem(cid, CONST_SLOT_LEFT)
    local slotright = getPlayerSlotItem(cid, CONST_SLOT_RIGHT)
    local target = getCreatureTarget(cid)
    local distance_effect = CONST_ANI_ARROW
    if slotleft.itemid == bowid or slotright.itemid == bowid then
        distance_effect = CONST_ANI_FLAMMINGARROW
        doTargetCombatCondition(cid, target, condition, CONST_ME_FIRE)
    end
    doSendDistanceShoot(getThingPosition(cid), getThingPosition(target), distance_effect)
    return doCombat(cid, combat, var)
end
 
Solution
Try this I have merged both scripts in 1 so only add it once to Weapons.xml
LUA:
local bowid = 8857
local bowid22 = 13480
local condition1 = createConditionObject(CONDITION_POISON)
setConditionParam(condition1, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition1, 2, 2000, -50)
addDamageCondition(condition1, 1, 2000, -30)
addDamageCondition(condition1, 1, 2000, -29)
addDamageCondition(condition1, 1, 2000, -28)
addDamageCondition(condition1, 1, 2000, -27)
addDamageCondition(condition1, 1, 2000, -26)
addDamageCondition(condition1, 1, 2000, -25)
addDamageCondition(condition1, 1, 2000, -24)
addDamageCondition(condition1, 1, 2000, -23)
addDamageCondition(condition1, 1, 2000, -22)
addDamageCondition(condition1, 1, 2000, -21)...
Try this I have merged both scripts in 1 so only add it once to Weapons.xml
LUA:
local bowid = 8857
local bowid22 = 13480
local condition1 = createConditionObject(CONDITION_POISON)
setConditionParam(condition1, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition1, 2, 2000, -50)
addDamageCondition(condition1, 1, 2000, -30)
addDamageCondition(condition1, 1, 2000, -29)
addDamageCondition(condition1, 1, 2000, -28)
addDamageCondition(condition1, 1, 2000, -27)
addDamageCondition(condition1, 1, 2000, -26)
addDamageCondition(condition1, 1, 2000, -25)
addDamageCondition(condition1, 1, 2000, -24)
addDamageCondition(condition1, 1, 2000, -23)
addDamageCondition(condition1, 1, 2000, -22)
addDamageCondition(condition1, 1, 2000, -21)
addDamageCondition(condition1, 1, 2000, -20)
addDamageCondition(condition1, 1, 2000, -19)
addDamageCondition(condition1, 1, 2000, -18)
addDamageCondition(condition1, 1, 2000, -17)
addDamageCondition(condition1, 1, 2000, -16)
addDamageCondition(condition1, 1, 2000, -15)
addDamageCondition(condition1, 1, 2000, -14)
addDamageCondition(condition1, 1, 2000, -13)
addDamageCondition(condition1, 1, 2000, -12)
addDamageCondition(condition1, 1, 2000, -11)
addDamageCondition(condition1, 1, 2000, -10)
addDamageCondition(condition1, 1, 2000, -9)
addDamageCondition(condition1, 1, 2000, -8)
addDamageCondition(condition1, 1, 2000, -7)
addDamageCondition(condition1, 1, 2000, -6)
addDamageCondition(condition1, 1, 2000, -5)
addDamageCondition(condition1, 1, 2000, -4)
addDamageCondition(condition1, 1, 2000, -3)
addDamageCondition(condition1, 1, 2000, -2)
addDamageCondition(condition1, 1, 2000, -1)

local condition2 = createConditionObject(CONDITION_FIRE)
setConditionParam(condition2, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition2, 2, 2000, -50)
addDamageCondition(condition2, 1, 2000, -30)
addDamageCondition(condition2, 1, 2000, -29)
addDamageCondition(condition2, 1, 2000, -28)
addDamageCondition(condition2, 1, 2000, -27)
addDamageCondition(condition2, 1, 2000, -26)
addDamageCondition(condition2, 1, 2000, -25)
addDamageCondition(condition2, 1, 2000, -24)
addDamageCondition(condition2, 1, 2000, -23)
addDamageCondition(condition2, 1, 2000, -22)
addDamageCondition(condition2, 1, 2000, -21)
addDamageCondition(condition2, 1, 2000, -20)
addDamageCondition(condition2, 1, 2000, -19)
addDamageCondition(condition2, 1, 2000, -18)
addDamageCondition(condition2, 1, 2000, -17)
addDamageCondition(condition2, 1, 2000, -16)
addDamageCondition(condition2, 1, 2000, -15)
addDamageCondition(condition2, 1, 2000, -14)
addDamageCondition(condition2, 1, 2000, -13)
addDamageCondition(condition2, 1, 2000, -12)
addDamageCondition(condition2, 1, 2000, -11)
addDamageCondition(condition2, 1, 2000, -10)
addDamageCondition(condition2, 1, 2000, -9)
addDamageCondition(condition2, 1, 2000, -8)
addDamageCondition(condition2, 1, 2000, -7)
addDamageCondition(condition2, 1, 2000, -6)
addDamageCondition(condition2, 1, 2000, -5)
addDamageCondition(condition2, 1, 2000, -4)
addDamageCondition(condition2, 1, 2000, -3)
addDamageCondition(condition2, 1, 2000, -2)
addDamageCondition(condition2, 1, 2000, -1)


local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, 0, 1, 0)

function onUseWeapon(cid, var)
    local slotleft = getPlayerSlotItem(cid, CONST_SLOT_LEFT)
    local slotright = getPlayerSlotItem(cid, CONST_SLOT_RIGHT)
    local target = getCreatureTarget(cid)
    local distance_effect = CONST_ANI_ARROW
    if slotleft.itemid == bowid or slotright.itemid == bowid then
        distance_effect = CONST_ANI_POISONARROW
        doTargetCombatCondition(cid, target, condition1, CONST_ME_POISON)
    doSendDistanceShoot(getThingPosition(cid), getThingPosition(target), distance_effect)
        elseif slotleft.itemid == bowid22 or slotright.itemid == bowid22 then
        distance_effect = CONST_ANI_FLAMMINGARROW
        doTargetCombatCondition(cid, target, condition2, CONST_ME_FIRE)
        doSendDistanceShoot(getThingPosition(cid), getThingPosition(target), distance_effect)
    return doCombat(cid, combat, var)
end
end
 
Solution
Back
Top