Przemyslaw1101
Member
- Joined
- Feb 16, 2017
- Messages
- 53
- Solutions
- 2
- Reaction score
- 9
Hey, I did search whole forum for this but idk...
Can someone help me to add cooldown storage to potion's script or change that I can use potion and cast rune at the same time? [TFS 1.3]
Becouse sometimes potions cant be used for like 2s idk why. ( I did remove os.time check in player.cpp )
My config.lua: (Its set to 1000, becouse when I changed to 100 I can use like 10 potions/s)
timeBetweenActions = 1000
timeBetweenExActions = 1000
My potions.lua:
Much love for help <3
Can someone help me to add cooldown storage to potion's script or change that I can use potion and cast rune at the same time? [TFS 1.3]
Becouse sometimes potions cant be used for like 2s idk why. ( I did remove os.time check in player.cpp )
My config.lua: (Its set to 1000, becouse when I changed to 100 I can use like 10 potions/s)
timeBetweenActions = 1000
timeBetweenExActions = 1000
My potions.lua:
Lua:
local berserk = Condition(CONDITION_ATTRIBUTES)
berserk:setParameter(CONDITION_PARAM_TICKS, 10 * 60 * 1000)
berserk:setParameter(CONDITION_PARAM_SKILL_MELEE, 15)
berserk:setParameter(CONDITION_PARAM_SKILL_SHIELD, -25)
berserk:setParameter(CONDITION_PARAM_BUFF_SPELL, true)
local mastermind = Condition(CONDITION_ATTRIBUTES)
mastermind:setParameter(CONDITION_PARAM_TICKS, 10 * 60 * 1000)
mastermind:setParameter(CONDITION_PARAM_STAT_MAGICPOINTS, 5)
mastermind:setParameter(CONDITION_PARAM_BUFF_SPELL, true)
local bullseye = Condition(CONDITION_ATTRIBUTES)
bullseye:setParameter(CONDITION_PARAM_TICKS, 10 * 60 * 1000)
bullseye:setParameter(CONDITION_PARAM_SKILL_DISTANCE, 15)
bullseye:setParameter(CONDITION_PARAM_SKILL_SHIELD, -20)
bullseye:setParameter(CONDITION_PARAM_BUFF_SPELL, true)
local potions = {
[6558] = { -- concentrated demonic blood
transform = {7588, 7589},
effect = CONST_ME_DRAWBLOOD
},
[7439] = { -- berserk potion
condition = berserk,
vocations = {4, 8},
effect = CONST_ME_MAGIC_RED,
description = "Only knights may drink this potion.",
text = "You feel stronger."
},
[7440] = { -- mastermind potion
condition = mastermind,
vocations = {1, 2, 5, 6},
effect = CONST_ME_MAGIC_BLUE,
description = "Only sorcerers and druids may drink this potion.",
text = "You feel smarter."
},
[7443] = { -- bullseye potion
condition = bullseye,
vocations = {3, 7},
effect = CONST_ME_MAGIC_GREEN,
description = "Only paladins may drink this potion.",
text = "You feel more accurate."
},
[7588] = { -- strong health potion
health = {350, 500},
level = 50,
flask = 7634,
description = "Level 50 or above may drink this fluid."
},
[7589] = { -- strong mana potion
mana = {160, 260},
level = 50,
flask = 7634,
description = "Level 50 or above may drink this fluid."
},
[7590] = { -- great mana potion
mana = {235, 390},
level = 100,
flask = 7635,
description = "Level 100 or above may drink this fluid."
},
[7591] = { -- great health potion
health = {640, 860},
level = 100,
flask = 7635,
description = "Level 100 or above may drink this fluid."
},
[7618] = { -- health potion
health = {160, 230},
flask = 7636
},
[7620] = { -- mana potion
mana = {100, 160},
flask = 7636
},
[8472] = { -- great spirit potion
health = {260, 520},
mana = {130, 260},
vocations = {3, 7},
level = 100,
flask = 7635,
description = "Only paladins of level 100 or above may drink this fluid."
},
[8473] = { -- ultimate health potion
health = {820, 1060},
vocations = {4, 8},
level = 200,
flask = 7635,
description = "Only knights of level 200 or above may drink this fluid."
},
[8474] = { -- antidote potion
antidote = true,
flask = 7636,
},
[8704] = { -- small health potion
health = {80, 120},
flask = 7636,
},
[26029] = { -- ultimate mana potion
mana = {530, 720},
vocations = {1, 2, 5, 6},
level = 200,
flask = 7635,
description = "Only druids and sorcerers of level 200 or above may drink this fluid."
},
[26030] = { -- ultimate spirit potion
health = {620, 670},
mana = {250, 400},
vocations = {3, 7},
level = 200,
flask = 7635,
description = "Only paladins of level 200 or above may drink this fluid."
},
[26031] = { -- supreme health potion
health = {970, 1250},
vocations = {4, 8},
level = 300,
flask = 7635,
description = "Only knights of level 300 or above may drink this fluid."
}
}
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
if type(target) == "userdata" and not target:isPlayer() then
return false
end
local potion = potions[item:getId()]
if potion.level and player:getLevel() < potion.level or potion.vocations and not table.contains(potion.vocations, player:getVocation():getId()) then
player:say(potion.description, TALKTYPE_MONSTER_SAY)
return true
end
if potion.condition then
player:addCondition(potion.condition)
player:say(potion.text, TALKTYPE_MONSTER_SAY)
player:getPosition():sendMagicEffect(potion.effect)
elseif potion.transform then
local reward = potion.transform[math.random(#potion.transform)]
if fromPosition.x == CONTAINER_POSITION then
local targetContainer = Container(item:getParent().uid)
targetContainer:addItem(reward, 1)
else
Game.createItem(reward, 1, fromPosition)
end
item:getPosition():sendMagicEffect(potion.effect)
item:remove(1)
return true
else
if potion.health then
doTargetCombat(0, target, COMBAT_HEALING, potion.health[1], potion.health[2])
end
if potion.mana then
doTargetCombat(0, target, COMBAT_MANADRAIN, potion.mana[1], potion.mana[2])
end
if potion.antidote then
target:removeCondition(CONDITION_POISON)
end
player:addAchievementProgress("Potion Addict", 100000)
target:say("Aaaah...", TALKTYPE_MONSTER_SAY)
target:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE)
end
if not configManager.getBoolean(configKeys.REMOVE_POTION_CHARGES) then
return true
end
item:remove(1)
return true
end
Much love for help <3