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

TFS 1.4 Potions.lua display value

Nefre

New Member
Joined
May 17, 2012
Messages
12
Reaction score
4
Hello. I want to display healed value like this:
1634137853830.png
What function I need to add?
This is my potions.lua
Lua:
local berserk = Condition(CONDITION_ATTRIBUTES)
berserk:setParameter(CONDITION_PARAM_TICKS, 10 * 60 * 1000)
berserk:setParameter(CONDITION_PARAM_SKILL_MELEE, 5)
berserk:setParameter(CONDITION_PARAM_SKILL_SHIELD, -10)
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, 3)
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, 5)
bullseye:setParameter(CONDITION_PARAM_SKILL_SHIELD, -10)
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 = {250, 350},
        vocations = {3, 4, 7, 8},
        level = 50,
        flask = 7634,
        description = "Only knights and paladins of level 50 or above may drink this fluid."
    },
    [7589] = { -- strong mana potion
        mana = {115, 185},
        vocations = {1, 2, 3, 5, 6, 7},
        level = 50,
        flask = 7634,
        description = "Only sorcerers, druids and paladins of level 50 or above may drink this fluid."
    },
    [7590] = { -- great mana potion
        mana = {2, 2,5},
        vocations = {1, 2, 5, 6},
        level = 80,
        flask = 7635,
        description = "Only druids and sorcerers of level 80 or above may drink this fluid."
    },
    [7591] = { -- great health potion
        health = {425, 575},
        vocations = {4, 8},
        level = 80,
        flask = 7635,
        description = "Only knights of level 80 or above may drink this fluid."
    },
    [7618] = { -- health potion
        health = {125, 175},
        flask = 7636
    },
    [7620] = { -- mana potion
        mana = {75, 125},
        flask = 7636
    },
    [8472] = { -- great spirit potion
        health = {250, 350},
        mana = {100, 200},
        vocations = {3, 7},
        level = 80,
        flask = 7635,
        description = "Only paladins of level 80 or above may drink this fluid."
    },
    [8473] = { -- ultimate health potion
        health = {650, 850},
        vocations = {4, 8},
        level = 130,
        flask = 7635,
        description = "Only knights of level 130 or above may drink this fluid."
    },
    [8474] = { -- antidote potion
        antidote = true,
        flask = 7636,
    },
    [8704] = { -- small health potion
        health = {60, 90},
        flask = 7636,
    }
}

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
            doTargetCombatHealth(0, target, COMBAT_HEALING, potion.health[1] * player:getLevel(), potion.health[2] * player:getLevel())
        end

        if potion.mana then
            doTargetCombatMana(0, target, potion.mana[1] * player:getLevel() , potion.mana[2] * player:getLevel())
        end

        if potion.antidote then
            target:removeCondition(CONDITION_POISON)
        end

        player:addAchievementProgress("Potion Addict", 100000)
        --player:addItem(potion.flask)
        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
 

God Nixez

Member
Joined
Sep 20, 2009
Messages
403
Reaction score
17
dude just go to your config file at SERV DIR
Lua:
    showHealingDamage = true
    showHealingDamageForMonsters = true
you might find those two line too
Code:
    healthHealingColor = 'COLOR_GREEN'
    manaHealingColor = 'COLOR_DARKPURPLE'

edit those to your desire.
 
Last edited:
OP
OP
N

Nefre

New Member
Joined
May 17, 2012
Messages
12
Reaction score
4
dude just go to your config file at SERV DIR
Lua:
    showHealingDamage = true
    showHealingDamageForMonsters = true
you might find those two line too
Code:
    healthHealingColor = 'COLOR_GREEN'
    manaHealingColor = 'COLOR_DARKPURPLE'

edit those to your desire.
Bro I have tfs 1.4 and i dont have this lines

Check this

When i use health potion this animation work
 

Ramon Bernardo

Active Member
Joined
Oct 7, 2018
Messages
65
Solutions
2
Reaction score
40
game.cpp
search
C++:
if (realManaChange > 0 && !targetPlayer->isInGhostMode()) {
below
C++:
targetPlayer->sendTextMessage(...)
add
C++:
addAnimatedText(fmt::format("+{:d}", realManaChange), targetPlayer->getPosition(), TEXTCOLOR_DARKPURPLE);

@EDIT
below from this code, add
C++:
if (realManaChange > 0 && !targetPlayer->isInGhostMode()) {
    addAnimatedText(fmt::format("+{:d}", realManaChange), targetPlayer->getPosition(), TEXTCOLOR_DARKPURPLE);
}

;)
1634294173170.png
 
Last edited:

vexler222

Member
Joined
Apr 22, 2012
Messages
401
Solutions
6
Reaction score
12
game.cpp
search
C++:
if (realManaChange > 0 && !targetPlayer->isInGhostMode()) {
below
C++:
targetPlayer->sendTextMessage(...)
add
C++:
addAnimatedText(fmt::format("+{:d}", realManaChange), targetPlayer->getPosition(), TEXTCOLOR_DARKPURPLE);

@EDIT
below from this code, add
C++:
if (realManaChange > 0 && !targetPlayer->isInGhostMode()) {
    addAnimatedText(fmt::format("+{:d}", realManaChange), targetPlayer->getPosition(), TEXTCOLOR_DARKPURPLE);
}

;)
View attachment 62844

Hey, how add it to tfs 1.3? When i try add i have errors

 
Top