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

Break Ring

itzbrhue3

New Member
Joined
Feb 21, 2017
Messages
41
Solutions
1
Reaction score
1
How i can make a ring that break after unequip?
like the ring of favor and protection in dark souls
 
Solution
i cant equip ring now

Lua:
local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, -1)
setConditionParam(condition, CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT, 120)
setConditionParam(condition, CONDITION_PARAM_STAT_MAXMANAPOINTSPERCENT, 120)
setConditionParam(condition, CONDITION_PARAM_SUBID, 10)

local condition2 = createConditionObject(CONDITION_REGENERATION)
setConditionParam(condition2, CONDITION_PARAM_SUBID, 1)
setConditionParam(condition2, CONDITION_PARAM_TICKS, 3000)
setConditionParam(condition2, CONDITION_PARAM_HEALTHGAIN, 240)
setConditionParam(condition2, CONDITION_PARAM_MANAGAIN, 240)
setConditionParam(condition2, CONDITION_PARAM_SUBID, 15)

function onEquip(cid...
By breaking you want it ti disappear at all? or it will transform to different broken ring? Like wedding ring when it transforms to broken wedding ring?
 
<item id="12770" article="an" name="Love and Peace Ring">
<attribute key="weight" value="1200"/>
<attribute key="armor" value="1"/>
<attribute key="slotType" value="ring"/>
<attribute key="transformDeEquipTo" value="0"/> im try this but doesnt works
<attribute key="maxHitPointsPercent" value="120"/>
<attribute key="maxManaPointsPercent" value="120"/>
<attribute key="healthGain" value="240"/>
<attribute key="healthTicks" value="3000"/>
<attribute key="manaGain" value="240"/>
<attribute key="manaTicks" value="3000"/>
</item>

im try this but doesnt works.
i want it to disappear completely
 
<item id="12770" article="an" name="Love and Peace Ring">
<attribute key="weight" value="1200"/>
<attribute key="armor" value="1"/>
<attribute key="slotType" value="ring"/>
<attribute key="transformDeEquipTo" value="0"/> im try this but doesnt works
<attribute key="maxHitPointsPercent" value="120"/>
<attribute key="maxManaPointsPercent" value="120"/>
<attribute key="healthGain" value="240"/>
<attribute key="healthTicks" value="3000"/>
<attribute key="manaGain" value="240"/>
<attribute key="manaTicks" value="3000"/>
</item>

im try this but doesnt works.
i want it to disappear completely

Did you register the itemid on movements.xml?
 
Not sure why the items.xml attribute doesn't work as it is supposed to do but try something simple like this, create a movement script and add this to it then add to movements.xml onDeEquip with your ring id.
Lua:
function onDeEquip(cid, item, slot)
doTransformItem(item.uid, 0)
end
 
Not sure why the items.xml attribute doesn't work as it is supposed to do but try something simple like this, create a movement script and add this to it then add to movements.xml onDeEquip with your ring id.
Lua:
function onDeEquip(cid, item, slot)
doTransformItem(item.uid, 0)
end
function onDeEquip(cid, item)
doRemoveItem(item.uid, 1)
end
works but doesnt remove status of ring
 
Remove your item attributes and try this one
Lua:
local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, -1)
setConditionParam(condition, CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT, 120)
setConditionParam(condition, CONDITION_PARAM_STAT_MAXMANAPOINTSPERCENT, 120)

local condition2 = createConditionObject(CONDITION_REGENERATION)
setConditionParam(condition2, CONDITION_PARAM_SUBID, 1)
setConditionParam(condition2, CONDITION_PARAM_TICKS, 3000)
setConditionParam(condition2, CONDITION_PARAM_HEALTHGAIN, 240)
setConditionParam(condition2, CONDITION_PARAM_MANAGAIN, 240)

function onEquip(cid, item, slot)
doAddCondition(cid, condition)
doAddCondition(cid, condition2)
end

function onDeEquip(cid, item, slot)
doRemoveItem(item.uid, 1)
doRemoveCondition(cid, CONDITION_ATTRIBUTES)
doRemoveCondition(cid, CONDITION_REGENERATION)
end
 
Last edited:
Remove your item attributes and try this one
Lua:
local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, -1)
setConditionParam(condition, CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT, 120)
setConditionParam(condition, CONDITION_PARAM_STAT_MAXMANAPOINTSPERCENT, 120)

local condition2 = createConditionObject(CONDITION_REGENERATION)
setConditionParam(condition2, CONDITION_PARAM_SUBID, 1)
setConditionParam(condition2, CONDITION_PARAM_TICKS, 3000)
setConditionParam(condition2, CONDITION_PARAM_HEALTHGAIN, 240)
setConditionParam(condition2, CONDITION_PARAM_MANAGAIN, 240)

function onEquip(cid, item, slot)
doAddCondition(cid, condition)
doAddCondition(cid, condition2)
end

function onDeEquip(cid, item, slot)
doTransformItem(item.uid, 0)
doRemoveCondition(cid, CONDITION_ATTRIBUTES)
doRemoveCondition(cid, CONDITION_REGENERATION)
end
doesnt works after unequip appears
10:20 You see an item of type 0, please report it to gamemaster.
ItemID: [0].
Position: [X: 1580] [Y: 1575] [Z: 6].
 
i cant equip ring now

Lua:
local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, -1)
setConditionParam(condition, CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT, 120)
setConditionParam(condition, CONDITION_PARAM_STAT_MAXMANAPOINTSPERCENT, 120)
setConditionParam(condition, CONDITION_PARAM_SUBID, 10)

local condition2 = createConditionObject(CONDITION_REGENERATION)
setConditionParam(condition2, CONDITION_PARAM_SUBID, 1)
setConditionParam(condition2, CONDITION_PARAM_TICKS, 3000)
setConditionParam(condition2, CONDITION_PARAM_HEALTHGAIN, 240)
setConditionParam(condition2, CONDITION_PARAM_MANAGAIN, 240)
setConditionParam(condition2, CONDITION_PARAM_SUBID, 15)

function onEquip(cid, item, slot)
    doAddCondition(cid, condition)
    doAddCondition(cid, condition2)
    return true
end

function onDeEquip(cid, item, slot)
    doRemoveItem(item.uid)
    doRemoveCondition(cid, CONDITION_ATTRIBUTES, 10)
    doRemoveCondition(cid, CONDITION_REGENERATION, 15)
    return true
end

Always use subid on conditions so you won't remove other active conditions
 
Solution
Back
Top