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

Spell that gives skills

henkas

Well-Known Member
Joined
Jul 8, 2015
Messages
1,067
Solutions
5
Reaction score
63
Hello,
i haven't seen this type of spell but probably correct term should be "Buff" so how do i add like SKILL_FIST,SKILL_AXE,SKILL_SWORD to a spell when i cast this spell they add me for example +10 skill axe,sword,fist and etc for a temporary time.

TFS 1.2
 
Solution
Same nothing happening
Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, 14)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)

local condition = createConditionObject(CONDITION_ATTRIBUTES)
condition:setParameter(CONDITION_PARAM_TICKS, 10000)
condition:setParameter(CONDITION_PARAM_SKILL_SWORD, 10)
condition:setParameter(CONDITION_PARAM_BUFF, true)
setCombatCondition(combat, condition)

function onCastSpell(cid, var)
    return combat:execute(cid, var)
end
Check if work. Then try add this strange "Cooldowns"
look at blood rage
otland/forgottenserver
just remove PERCENT and you get the actual skill
CONDITION_PARAM_SKILL_SWORD for example
So it should be like this?
LUA:
local combat = Combat()
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN)
combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false)
local condition = Condition(CONDITION_ATTRIBUTES)
condition:setParameter(CONDITION_PARAM_TICKS, 10000)
condition:setParameter(CONDITION_PARAM_SKILL_SWORD , 10)
condition:setParameter(CONDITION_PARAM_SKILL_AXE, 10)
combat:addCondition(condition)
function onCastSpell(creature, variant)
return combat:execute(creature, variant)
end
 
LUA:
local combat = Combat()
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN)
combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false)

local skill = Condition(CONDITION_ATTRIBUTES)
skill:setParameter(CONDITION_PARAM_TICKS, 10000)
skill:setParameter(CONDITION_PARAM_SKILL_SWORD, 10)
skill:setParameter(CONDITION_PARAM_BUFF_SPELL, true)
combat:addCondition(skill)

local cooldownHealingGroup = Condition(CONDITION_SPELLGROUPCOOLDOWN)
cooldownHealingGroup:setParameter(CONDITION_PARAM_TICKS, 10000)
cooldownHealingGroup:setParameter(CONDITION_PARAM_SUBID, 2)
combat:addCondition(cooldownHealingGroup)

local cooldownSupportGroup = Condition(CONDITION_SPELLGROUPCOOLDOWN)
cooldownSupportGroup:setParameter(CONDITION_PARAM_TICKS, 10000)
cooldownSupportGroup:setParameter(CONDITION_PARAM_SUBID, 3)
combat:addCondition(cooldownSupportGroup)

function onCastSpell(creature, variant)
    return combat:execute(creature, variant)
end
try this
 
LUA:
local combat = Combat()
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN)
combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false)

local skill = Condition(CONDITION_ATTRIBUTES)
skill:setParameter(CONDITION_PARAM_TICKS, 10000)
skill:setParameter(CONDITION_PARAM_SKILL_SWORD, 10)
skill:setParameter(CONDITION_PARAM_BUFF_SPELL, true)
combat:addCondition(skill)

local cooldownHealingGroup = Condition(CONDITION_SPELLGROUPCOOLDOWN)
cooldownHealingGroup:setParameter(CONDITION_PARAM_TICKS, 10000)
cooldownHealingGroup:setParameter(CONDITION_PARAM_SUBID, 2)
combat:addCondition(cooldownHealingGroup)

local cooldownSupportGroup = Condition(CONDITION_SPELLGROUPCOOLDOWN)
cooldownSupportGroup:setParameter(CONDITION_PARAM_TICKS, 10000)
cooldownSupportGroup:setParameter(CONDITION_PARAM_SUBID, 3)
combat:addCondition(cooldownSupportGroup)

function onCastSpell(creature, variant)
    return combat:execute(creature, variant)
end
try this
Same nothing happening
 
Same nothing happening
Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, 14)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)

local condition = createConditionObject(CONDITION_ATTRIBUTES)
condition:setParameter(CONDITION_PARAM_TICKS, 10000)
condition:setParameter(CONDITION_PARAM_SKILL_SWORD, 10)
condition:setParameter(CONDITION_PARAM_BUFF, true)
setCombatCondition(combat, condition)

function onCastSpell(cid, var)
    return combat:execute(cid, var)
end
Check if work. Then try add this strange "Cooldowns"
 
Solution
Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, 14)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)

local condition = createConditionObject(CONDITION_ATTRIBUTES)
condition:setParameter(CONDITION_PARAM_TICKS, 10000)
condition:setParameter(CONDITION_PARAM_SKILL_SWORD, 10)
condition:setParameter(CONDITION_PARAM_BUFF, true)
setCombatCondition(combat, condition)

function onCastSpell(cid, var)
    return combat:execute(cid, var)
end
Check if work. Then try add this strange "Cooldowns"
Still same
 
Give *.xml

And you change full script by this what i post here?
You can check in condition.cpp names for you conditions, but make sure you have in xml
Code:
aggressive="0" selftarget="1"
Sorry im actually autistic this whole time i register wrong lua...
 
Back
Top