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

Lua Conditions in 1.x

andu

Sold 649 scripts, 25 maps and 9 events!
Joined
Aug 7, 2009
Messages
969
Solutions
17
Reaction score
354
GitHub
olrios
Twitch
olrios
I had multiple spells in 0.4 which they were using conditions with subids. They do not work in 1.x. All of them, in some cases they even debugging client. I need an example 1.x script what will:

Code:
if you have condition haste with subid 100 and condition regeneration with subid 101 then
    remove condition haste with subid 100
    remove condition regeneration with subid 101
else
    add condition haste with subid 100
    add condition regeneration with subid 101
end
 
Solution
try this:
Lua:
local conditionRegeneration = Condition(CONDITION_REGENERATION, CONDITIONID_DEFAULT)
conditionRegeneration:setParameter(CONDITION_PARAM_SUBID, 101)
conditionRegeneration:setParameter(CONDITION_PARAM_TICKS, 1 * 60 * 1000) -- Means a minute
conditionRegeneration:setParameter(CONDITION_PARAM_HEALTHGAIN, 2) -- 2 of hp
conditionRegeneration:setParameter(CONDITION_PARAM_HEALTHTICKS, 3 * 1000)  --each 3 seconds

local conditionHaste = Condition(CONDITION_HASTE, CONDITIONID_DEFAULT)
conditionHaste:setParameter(CONDITION_PARAM_SUBID, 100)
conditionHaste:setParameter(CONDITION_PARAM_TICKS, 33 * 1000) --33 secs
conditionHaste:setFormula(0.3, -24, 0.3, -24)

if player:getCondition(CONDITION_HASTE, CONDITIONID_DEFAULT, 100) and...
try this:
Lua:
local conditionRegeneration = Condition(CONDITION_REGENERATION, CONDITIONID_DEFAULT)
conditionRegeneration:setParameter(CONDITION_PARAM_SUBID, 101)
conditionRegeneration:setParameter(CONDITION_PARAM_TICKS, 1 * 60 * 1000) -- Means a minute
conditionRegeneration:setParameter(CONDITION_PARAM_HEALTHGAIN, 2) -- 2 of hp
conditionRegeneration:setParameter(CONDITION_PARAM_HEALTHTICKS, 3 * 1000)  --each 3 seconds

local conditionHaste = Condition(CONDITION_HASTE, CONDITIONID_DEFAULT)
conditionHaste:setParameter(CONDITION_PARAM_SUBID, 100)
conditionHaste:setParameter(CONDITION_PARAM_TICKS, 33 * 1000) --33 secs
conditionHaste:setFormula(0.3, -24, 0.3, -24)

if player:getCondition(CONDITION_HASTE, CONDITIONID_DEFAULT, 100) and player:getCondition(CONDITION_REGENERATION, CONDITIONID_DEFAULT, 101) then
    player:removeCondition(CONDITION_REGENERATION)
    player:removeCondition(CONDITION_HASTE)
else
    player:addCondition(conditionRegeneration)
    player:addCondition(conditionHaste)
end
 
Solution
Back
Top