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

TFS 0.X MONSTER BOOST daily -- -otx 2.16 based on 0.3.7 -- compatible

tuduras

Well-Known Member
Joined
Jun 4, 2017
Messages
340
Solutions
2
Reaction score
58
Hello Otlanders, it's okay ?
I have got boost creature scirpt and works . Problem is , every day is one monster boosted . Nothing changes. Any Ideas what is it? best regards.

data/creaturescirpt/daily_monster_bonus
LUA:
function onLogin(cid)
local BOOSTED_MONSTER = 56404
local boostedMonstersList = {"Dragon Lord", "Hener", "Mantykora"}
local boostedMonster = boostedMonstersList[getGlobalStorageValue(BOOSTED_MONSTER)]
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Today's monster boosted is: "..boostedMonster.."!")
return true
end

data/creaturescirpt/daily_monster
Code:
end

BOOSTED_MONSTER = 56404
boostedMonstersList = {"Dragon Lord", "Hener", "Mantykora"}
experienceBonus = 50

function onDeath(cid, corpse, deathList)
 
Try this:

XML:
<globalevent name="daily_monster" type="startup" event="script" value="daily_monster.lua"/>

LUA:
function onStartup()
local BOOSTED_MONSTER = 56404
local boostedMonstersList = {"black knight", "hellspawn", "ghastly dragon"}
local randomMonster = math.random(#boostedMonstersList)
setGlobalStorageValue(BOOSTED_MONSTER, randomMonster)
    print("Today's boosted monster is: " .. boostedMonstersList[randomMonster])
    db.query("UPDATE `server_config` SET `value` = " .. db.quote(boostedMonstersList[randomMonster]) .. " WHERE `config` = 'boosted_creature';")
end

there's two creaturescript:

XML:
<event type="login" name="daily_monster" event="script" value="daily_monster.lua"/>
<event type="death" name="daily_monster_bonus" event="script" value="daily_monster_bonus.lua"/>

LUA:
function onLogin(cid)
local BOOSTED_MONSTER = 56404
local boostedMonstersList = {"black knight", "hellspawn", "ghastly dragon"}
local boostedMonster = boostedMonstersList[getGlobalStorageValue(BOOSTED_MONSTER)]
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Today's monster boosted is: "..boostedMonster..". You will get half of the total EXP as a bonus, enjoy!")
return true
end

LUA:
BOOSTED_MONSTER = 56404
local boostedMonstersList = {"black knight", "hellspawn", "ghastly dragon"}

local stages = getBooleanFromString(getConfigInfo('experienceStages'))
local rateExperience = getConfigInfo('rateExperience')

function onDeath(cid, corpse, deathList)
    local master = getCreatureMaster(cid)
    if (master and master ~= cid) then
        return true
    end
    local boostedMonster = boostedMonstersList[getGlobalStorageValue(BOOSTED_MONSTER)]
    if getCreatureName(cid):lower() == boostedMonster then
        for i = 1, #deathList do
            if isCreature(deathList[i]) and isPlayer(deathList[i]) then
                local monsterExperience = getMonsterInfo(getCreatureName(cid)).experience
                local rateExp = stages and getExperienceStage(getPlayerLevel(deathList[i]), getVocationInfo(getPlayerVocation(deathList[i])).experienceMultiplier) or rateExperience
                local bonusExperience = math.floor(monsterExperience  * rateExp / 2)
                doPlayerAddExperience(deathList[i], bonusExperience)
                doSendAnimatedText(getPlayerPosition(deathList[i]), bonusExperience, 215)
            end
        end
    end
    return true
end
 
Do You change somethink. I see monster name is in lower case

PS: In globalevents/data I cannot see monster spawn position, in Your globalevent?
 
Last edited:
LUA:
22:08 Today's monster boosted is: Hener. You will get half of the total EXP as a bonus, enjoy!

great job Potinho , works elegantly :-)
 
Back
Top