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

TalkAction [TFS 1.1+] Monsters required to level up

velocitraptor

devFuel = feedback
Joined
Jun 3, 2016
Messages
23
Reaction score
20
Hi, this is a remake i did to a script who @tetra20 did here
It says how many monsters are required to level up.

data/talkactions/scripts/monstersreq2lv.lua
Code:
local function getExperienceForLevel(lv)
    lv = lv - 1
    return ((50 * lv * lv * lv) - (150 * lv * lv) + (400 * lv)) / 3
end

local STAMINA_MINUTES = 2400

function onSay(player, words, param)

    if (not param or param == "") then
        player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "You need to use a param.")
        return false
    end

    local monster = MonsterType(param:lower())
    if (monster) then
        local mLevel = player:getLevel()
        local mExp = player:getExperience()
        local mExpStage = Game.getExperienceStage(mLevel)
        local mNextExp = getExperienceForLevel(mLevel+1)
        local mStaminaMinutes = player:getStamina()  
        local requiredExp = mNextExp - mExp
        local monsters = 0
        local monsterExp = monster:getExperience() * mExpStage
        if (mStaminaMinutes > STAMINA_MINUTES) then
            monsterExp = monsterExp * 1.5
        end

        monsters = math.floor(requiredExp / monsterExp)+1
  
        player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, string.format("You need to kill %d %s to level up.", monsters, param:lower()))
    else
        player:sendTextMessage(MESSAGE_STATUS_SMALL, "Uknown monster.")      
    end

    return false
end


data/talkactions/talkactions.xml
Code:
    <talkaction words="!mreq" separator=" " script="monstersreq2lv.lua" />

You can use it by this way:
!mreq monsterName
output:
oiy055F.png
 
Last edited:
Back
Top