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

Problem for lua experts.

Coca Cola

New Member
Joined
Apr 10, 2010
Messages
164
Reaction score
0
Well , i made a script that a item when equiped give x skill and when desequiped the skill gets out.
i made by condition and aid , but when 2 items are equiped just one give the attribute. so i realized that the error was in param_subid and i tried to fix but wasn't sucsseed .. sorry bad english.
Take a look :

Code:
local maxSKILLBonus, conditions = 1150, {}

local conditions = {}
for i = 1, maxSKILLBonus do
	conditions[i] = createConditionObject(CONDITION_ATTRIBUTES)
	setConditionParam(conditions[i], CONDITION_PARAM_TICKS, -1)
	setConditionParam(conditions[i], CONDITION_PARAM_SKILL_MELEE, i)
	setConditionParam(conditions[i], CONDITION_PARAM_BUFF, true)
	setConditionParam(conditions[i], CONDITION_PARAM_SUBID, 1)
end

local conditions2 = {}
for i = 2, maxSKILLBonus do
	conditions2[i] = createConditionObject(CONDITION_ATTRIBUTES)
	setConditionParam(conditions2[i], CONDITION_PARAM_TICKS, -1)
	setConditionParam(conditions2[i], CONDITION_PARAM_STAT_MAGICLEVEL, i)
	setConditionParam(conditions2[i], CONDITION_PARAM_BUFF, true)
	setConditionParam(conditions2[i], CONDITION_PARAM_SUBID, 2)
end

local conditions3 = {}
for i = 3, maxSKILLBonus do
	conditions3[i] = createConditionObject(CONDITION_ATTRIBUTES)
	setConditionParam(conditions3[i], CONDITION_PARAM_TICKS, -1)
	setConditionParam(conditions3[i], CONDITION_PARAM_SKILL_DISTANCE, i)
	setConditionParam(conditions3[i], CONDITION_PARAM_BUFF, true)
	setConditionParam(conditions3[i], CONDITION_PARAM_SUBID, 3)
end


function onEquip(cid, item, slot)
print(item.actionid)
type_ref = string.sub(item.actionid,0,1)
value_ref = string.sub(item.actionid,2)
value_ref = tonumber(value_ref)
if type_ref == "1" then
		doAddCondition(cid, conditions[value_ref])
return true
elseif type_ref == "2" then
		doAddCondition(cid, conditions2[value_ref])
return true
elseif type_ref == "3" then
		doAddCondition(cid, conditions3[value_ref])
return true
elseif type_ref == "4" then
print(x)
else
return true
end
end
function onDeEquip(cid, item, slot)
doRemoveCondition(cid, CONDITION_ATTRIBUTES, 1)
doRemoveCondition(cid, CONDITION_ATTRIBUTES, 2)
doRemoveCondition(cid, CONDITION_ATTRIBUTES, 3)
return true
end
 
Last edited:
Back
Top