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

[Lua] Rebirth based experience stages

ares413

New Member
Joined
Apr 1, 2010
Messages
130
Reaction score
3
is there a way to set rebirth based experience stages?

for example..

Code:
local config = {

storage = 2500,

}

check onLogin

        if (getPlayerStorageValue(cid, config.vipstorage) <= 5) then


set experience rate = x;

then you would register the event in login.lua and stuff..


obviously thats not right its just pseudo code, but could someone figure it out?

rep+!
 
so is it a creature event? what should i call in creatueevents.xml and what should i put in login.lua?

very vague, that script isnt even complete...please help?
 
i need the script too though, its not complete, my login.lua 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 .. " Welcome to Abandon Rebirth!"
        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, "GuildMotd")
   
    registerCreatureEvent(cid, "Advance")
    registerCreatureEvent(cid, "ReportBug")
    registerCreatureEvent(cid, "AdvanceSave")
    registerCreatureEvent(cid, "VipCheck")
    registerCreatureEvent(cid, "TempleTeleporter")
    registerCreatureEvent(cid, "forever amulet")
    registerCreatureEvent(cid, "skull amulet")
    registerCreatureEvent(cid, "charge amulet")
    registerCreatureEvent(cid, "SpellUp")
    registerCreatureEvent(cid, "rebirth")
    registerCreatureEvent(cid, "maxlvl")
    registerCreatureEvent(cid, "Aol")
    registerCreatureEvent(cid, "PWNED")
    registerCreatureEvent(cid, "InfoAdv")
    registerCreatureEvent(cid, "InfoDeath")
    registerCreatureEvent(cid, "summonDeath")
    registerCreatureEvent(cid, "ExpHit")
    registerCreatureEvent(cid, "onPrepareDeath")
    registerCreatureEvent(cid, "PlayerDeath")

    registerCreatureEvent(cid, "Idle")
    if(config.useFragHandler) then
        registerCreatureEvent(cid, "SkullCheck")
    end
    return true
end
 
I put the script in the login.lua you dont have to do anything else

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 .. " Welcome to Abandon Rebirth!"
        end
   
        local rates = {
        [1] = {rate = 0},
        [2] = {rate = 2},
        [3] = {rate = 2},
        [4] = {rate = 2},
        [5] = {rate = 2},
        [6] = {rate = 3}
    }
   
    local v = getPlayerStorageValue(cid, 2500)]
    if v then
        doPlayerSetRate(cid, SKILL__LEVEL, v.rate)
    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, "GuildMotd")
   
    registerCreatureEvent(cid, "Advance")
    registerCreatureEvent(cid, "ReportBug")
    registerCreatureEvent(cid, "AdvanceSave")
    registerCreatureEvent(cid, "VipCheck")
    registerCreatureEvent(cid, "TempleTeleporter")
    registerCreatureEvent(cid, "forever amulet")
    registerCreatureEvent(cid, "skull amulet")
    registerCreatureEvent(cid, "charge amulet")
    registerCreatureEvent(cid, "SpellUp")
    registerCreatureEvent(cid, "rebirth")
    registerCreatureEvent(cid, "maxlvl")
    registerCreatureEvent(cid, "Aol")
    registerCreatureEvent(cid, "PWNED")
    registerCreatureEvent(cid, "InfoAdv")
    registerCreatureEvent(cid, "InfoDeath")
    registerCreatureEvent(cid, "summonDeath")
    registerCreatureEvent(cid, "ExpHit")
    registerCreatureEvent(cid, "onPrepareDeath")
    registerCreatureEvent(cid, "PlayerDeath")

    registerCreatureEvent(cid, "Idle")
    if(config.useFragHandler) then
        registerCreatureEvent(cid, "SkullCheck")
    end
    return true
end
 
I tried, im now getting this error
Code:
[16:28:38.233] [Error - CreatureScript Interface]
[16:28:38.234] data/creaturescripts/scripts/login.lua:onLogin
[16:28:38.234] Description:
[16:28:38.234] data/creaturescripts/scripts/login.lua:32: attempt to index local 'v' (a number value)
[16:28:38.234] stack traceback:
[16:28:38.235]  data/creaturescripts/scripts/login.lua:32: in function <data/creaturescripts/scripts/login.lua:6>
 
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 .. " Welcome to Abandon Rebirth!"
        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
   
    local rates = {
        [1] = {rate = 0},
        [2] = {rate = 2},
        [3] = {rate = 2},
        [4] = {rate = 2},
        [5] = {rate = 2},
        [6] = {rate = 3}
    }
 
    local v = rates[getPlayerStorageValue(cid, 2500)]
    if v then
        doPlayerSetRate(cid, SKILL__LEVEL, v.rate)
    end

    registerCreatureEvent(cid, "Mail")
    registerCreatureEvent(cid, "GuildMotd")
 
    registerCreatureEvent(cid, "Advance")
    registerCreatureEvent(cid, "ReportBug")
    registerCreatureEvent(cid, "AdvanceSave")
    registerCreatureEvent(cid, "VipCheck")
    registerCreatureEvent(cid, "TempleTeleporter")
    registerCreatureEvent(cid, "forever amulet")
    registerCreatureEvent(cid, "skull amulet")
    registerCreatureEvent(cid, "charge amulet")
    registerCreatureEvent(cid, "SpellUp")
    registerCreatureEvent(cid, "rebirth")
    registerCreatureEvent(cid, "maxlvl")
    registerCreatureEvent(cid, "Aol")
    registerCreatureEvent(cid, "PWNED")
    registerCreatureEvent(cid, "InfoAdv")
    registerCreatureEvent(cid, "InfoDeath")
    registerCreatureEvent(cid, "summonDeath")
    registerCreatureEvent(cid, "ExpHit")
    registerCreatureEvent(cid, "onPrepareDeath")
    registerCreatureEvent(cid, "PlayerDeath")

    registerCreatureEvent(cid, "Idle")
    if(config.useFragHandler) then
        registerCreatureEvent(cid, "SkullCheck")
    end
    return true
end
 
Back
Top