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

Solved BUG -> Player lose bless when log out

1268995

Member
Joined
Sep 9, 2010
Messages
422
Reaction score
13
Hello guys. Here i am!

I have a bug on bless. Player are losing the bless when them log out.

My bless scritp on talkacions folder:

Code:
local bless = {1, 2, 3, 4, 5}
local cost = 80000
function onSay(cid, words, param)
for i = 1, table.maxn(bless) do
if(getPlayerBlessing(cid, bless[i])) then
doPlayerSendCancel(cid, "you already got all blesses.")
return TRUE
end
end

if(doPlayerRemoveMoney(cid, cost) == TRUE) then
for i = 1, table.maxn(bless) do
doPlayerAddBlessing(cid, bless[i])
end
doCreatureSay(cid, "You are now blessed!" ,19)
doSendMagicEffect(getPlayerPosition(cid), 49)
else
doPlayerSendCancel(cid, "you need 80k for buy bless.")
end
return TRUE
end

Presuming its a bug on login.lua, here it is:

Code:
local config = {
    loginMessage = getConfigValue('loginMessage'),
    useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))
}

function onLogin(cid)
    local loss = getConfigValue('deathLostPercent')
    if(loss ~= nil) then
        doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10)
    end

    local accountManager = getPlayerAccountManager(cid)
    if(accountManager == MANAGER_NONE) then
        local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage
        if(lastLogin > 0) then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
            str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."
        else
            str = str .. " Please choose your outfit."
            doPlayerSendOutfitWindow(cid)
        end

        doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
    elseif(accountManager == MANAGER_NAMELOCK) then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")
    elseif(accountManager == MANAGER_ACCOUNT) then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type {account} to manage your account and if you want to start over then type {cancel}.")
    else
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type {account} to create an account or type {recover} to recover an account.")
    end

    if(not isPlayerGhost(cid)) then
        doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
    end

    registerCreatureEvent(cid, "Mail")
    registerCreatureEvent(cid, "petKill")  registerCreatureEvent(cid, "loguthunt")  registerCreatureEvent(cid, "huntdeath")  registerCreatureEvent(cid, "killitem")  registerCreatureEvent(cid, "SkullAmulet")  registerCreatureEvent(cid, "SkullCheck")  registerCreatureEvent(cid, "magebomb")  registerCreatureEvent(cid, "perdereifeto")  registerCreatureEvent(cid, "RushOutfit")  registerCreatureEvent(cid, "pvpsystem")  registerCreatureEvent(cid, "RushAttack")  registerCreatureEvent(cid, "RushDead")  registerCreatureEvent(cid, "petDeath")  registerCreatureEvent(cid, "RushCombat")  registerCreatureEvent(cid, "ReflectSpellKnight")  registerCreatureEvent(cid, "ReflectSpellPally")  registerCreatureEvent(cid, "ReflectSpellMage")  registerCreatureEvent(cid, "TiraBattle")  registerCreatureEvent(cid, "PointSystem")  registerCreatureEvent(cid, "petSta")  registerCreatureEvent(cid, "deathBroadcast")  registerCreatureEvent(cid, "addons")  registerCreatureEvent(cid, "GuildMotd")

    registerCreatureEvent(cid, "CombatDodge")

    registerCreatureEvent(cid, "Idle")
    if(config.useFragHandler) then
        registerCreatureEvent(cid, "SkullCheck")
        registerCreatureEvent(cid, "Reward")
    end

    registerCreatureEvent(cid, "ReportBug")
    registerCreatureEvent(cid, "AdvanceSave")
  
registerCreatureEvent(cid, "exppremium")
registerCreatureEvent(cid, "premiumaura")

registerCreatureEvent(cid, "anunciarmorte")

registerCreatureEvent(cid, "advance")
registerCreatureEvent(cid, "FimVip")
registerCreatureEvent(cid, "SkullCheck")
    registerCreatureEvent(cid, "ReportBug")

registerCreatureEvent(cid, VipReceive)
registerCreatureEvent(cid, "PlayerKill")
    if (InitArenaScript ~= 0) then
    InitArenaScript = 1
    -- make arena rooms free
        for i = 42300, 42309 do
            setGlobalStorageValue(i, 0)
            setGlobalStorageValue(i+100, 0)
        end
    end
    -- if he did not make full arena 1 he must start from zero
    if getPlayerStorageValue(cid, 42309) < 1 then
        for i = 42300, 42309 do
            setPlayerStorageValue(cid, i, 0)
        end
    end
    -- if he did not make full arena 2 he must start from zero
    if getPlayerStorageValue(cid, 42319) < 1 then
        for i = 42310, 42319 do
            setPlayerStorageValue(cid, i, 0)
        end
    end
    -- if he did not make full arena 3 he must start from zero
    if getPlayerStorageValue(cid, 42329) < 1 then
        for i = 42320, 42329 do
            setPlayerStorageValue(cid, i, 0)
        end
    end
  
    if getPlayerStorageValue(cid, 42355) == -1 then
        setPlayerStorageValue(cid, 42355, 0) -- did not arena level
    end
    setPlayerStorageValue(cid, 42350, 0) -- time to kick 0
    setPlayerStorageValue(cid, 42352, 0) -- is not in arena
return true
end
 
Solved! On conf.lua has a part that say something like: blessonlypremium. I putted false and now works very well..

WHATA NOOB ERROR WTF, IM REALLY GETTING MORE NOOB WHEN TIME PASS ON!

THANKS FOR HELP GUYS!
 
Back
Top