• 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.0] Vip system ( exp extra)

samuelav3

Member
Joined
Aug 18, 2014
Messages
95
Reaction score
5
Hey friends can anyone tell me how to add extra exp to vip players
I want 20% more exp

My login.lua
Code:
function onLogin(cid)
    local player = Player(cid)

    local loginStr = "Welcome to " .. configManager.getString(configKeys.SERVER_NAME) .. "!"
    if player:getLastLoginSaved() <= 0 then
        loginStr = loginStr .. " Please choose your outfit."
        player:sendOutfitWindow()
    else
        if loginStr ~= "" then
            player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr)
        end

        loginStr = string.format("Your last visit was on %s.", os.date("%a %b %d %X %Y", player:getLastLoginSaved()))
    end
    player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr)

    player:registerEvent("PlayerDeath")
    player:registerEvent("ZE_Death")
    if player:getStorageValue(1000) == 1 then --write ze_join_storage number here
        player:setStorageValue(1000, 0) --write ze_join_storage number here
    end
    player:registerEvent("bigfootBurdenQuestVesperoth")
    player:registerEvent("bigfootBurdenQuestWarzone")
    player:registerEvent("bigfootBurdenQuestWeeper")
    player:registerEvent("bigfootBurdenQuestWiggler")
    player:registerEvent("bossSummoning")
    player:registerEvent("theNewFrontierQuestShardOfCorruption")
    player:registerEvent("theNewFrontierQuestTirecz")
    player:registerEvent("inServiceOfYalaharQuestsDiseased")
    player:registerEvent("inServiceOfYalaharQuestsMorik")
    player:registerEvent("inServiceOfYalaharQuestsQuara")
    player:registerEvent("inquisitionQuestBosses")
    player:registerEvent("inquisitionQuestUngreez")
    player:registerEvent("killingInTheNameOfQuestKills")
    player:registerEvent("masterVoiceQuest")
    player:registerEvent("elementalspheresquestOverlords")
    player:registerEvent("SvargrondArenaKill")
    player:registerEvent("AdvanceSave")
    player:registerEvent("StorageConversion")
    player:registerEvent("Recompensa")
   
    --Others
    player:stopMove(false)
    return true
end
 
Code:
function Player:onGainExperience(source, exp, rawExp)
    if something then
        exp = exp * 1.2
    end
    return exp
end
Please specify whether you use storage key or MySQL field for VIP.
 
Here?
Code:
function getPlayerVip(cid)
local resultId = db.storeQuery("SELECT `id`, `vip_time` FROM `accounts` WHERE `id` = '".. getPlayerAccount(cid) .."';")
if resultId ~= false then
return result.getDataInt(resultId, "vip_time")
else
error('Account not found.')
end
end
 
help me pls how put it

my player.lua
Code:
function Player:onBrowseField(position)
    return true
end

function Player:onLook(thing, position, distance)
    local description = "You see " .. thing:getDescription(distance)
    if self:getGroup():getAccess() then
        if thing:isItem() then
            description = string.format("%s\nItemID: [%d]", description, thing:getId())

            local actionId = thing:getActionId()
            if actionId ~= 0 then
                description = string.format("%s, ActionID: [%d]", description, actionId)
            end
           
            local uniqueId = thing:getAttribute(ITEM_ATTRIBUTE_UNIQUEID)
            if uniqueId > 0 and uniqueId < 65536 then
                description = string.format("%s, UniqueId: [%d]", description, uniqueId)
            end
           
            description = description .. "."
            local itemType = thing:getType()
           
            local transformEquipId = itemType:getTransformEquipId()
            local transformDeEquipId = itemType:getTransformDeEquipId()
            if transformEquipId ~= 0 then
                description = string.format("%s\nTransformTo: [%d] (onEquip).", description, transformEquipId)
            elseif transformDeEquipId ~= 0 then
                description = string.format("%s\nTransformTo: [%d] (onDeEquip).", description, transformDeEquipId)
            end

            local decayId = itemType:getDecayId()
            if decayId ~= -1 then
                description = string.format("%s\nDecayTo: [%d]", description, decayId)
            end
        elseif thing:isCreature() then
            local str = "%s\nHealth: [%d / %d]"
            if thing:getMaxMana() > 0 then
                str = string.format("%s, Mana: [%d / %d]", str, thing:getMana(), thing:getMaxMana())
            end
            description = string.format(str, description, thing:getHealth(), thing:getMaxHealth()) .. "."
        end
       
        local position = thing:getPosition()
        description = string.format(
            "%s\nPosition: [X: %d] [Y: %d] [Z: %d].",
            description, position.x, position.y, position.z
        )
       
        if thing:isCreature() then
            if thing:isPlayer() then
                description = string.format("%s\nIP: [%s].", description, Game.convertIpToString(thing:getIp()))
            end
        end
    end
    self:sendTextMessage(MESSAGE_INFO_DESCR, description)
end

function Player:onLookInBattleList(creature, distance)
    local description = "You see " .. creature:getDescription(distance)
    if self:getGroup():getAccess() then
        local str = "%s\nHealth: [%d / %d]"
        if creature:getMaxMana() > 0 then
            str = string.format("%s, Mana: [%d / %d]", str, creature:getMana(), creature:getMaxMana())
        end
        description = string.format(str, description, creature:getHealth(), creature:getMaxHealth()) .. "."

        local position = creature:getPosition()
        description = string.format(
            "%s\nPosition: [X: %d] [Y: %d] [Z: %d].",
            description, position.x, position.y, position.z
        )
       
        if creature:isPlayer() then
            description = string.format("%s\nIP: [%s].", description, Game.convertIpToString(creature:getIp()))
        end
    end
    self:sendTextMessage(MESSAGE_INFO_DESCR, description)
end

function Player:onLookInTrade(partner, item, distance)
    self:sendTextMessage(MESSAGE_INFO_DESCR, "You see " .. item:getDescription(distance))
end

function Player:onLookInShop(itemType, count)
    return true
end

function Player:onMoveItem(item, count, fromPosition, toPosition)
    local tile = toPosition:getTile()
    if tile then
        local thing = tile:getItemByType(ITEM_TYPE_TELEPORT)
        if thing ~= nil then
            self:sendCancelMessage("Sorry, not possible.")
            self:getPosition():sendMagicEffect(CONST_ME_POFF)
            return false
        end
    end

    if isInArray({1738, 1740, 1747, 1748, 1749}, item:getId()) and item:getActionId() > 0 and item:getActionId() < 65535 then
        self:sendCancelMessage("You cannot move this object.")
        return false
    end
    return true
end

function Player:onMoveCreature(creature, fromPosition, toPosition)
    return true
end

function Player:onTurn(direction)
    return true
end

function Player:onTradeRequest(target, item)
    return true
end

function Player:onMove(direction)
    if self:getStorageValue(stopMoveStorage) == 1 then
        return false
    end
    return true
end
and that i put on event.xml?
Code:
<?xml version="1.0" encoding="UTF-8"?>
<events>
    <!-- Party methods -->
    <event class="Party" method="onJoin" enabled="0"/>
    <event class="Party" method="onLeave" enabled="0"/>
    <event class="Party" method="onDisband" enabled="0"/>
   
    <!-- Player methods -->
    <event class="Player" method="onBrowseField" enabled="0"/>
    <event class="Player" method="onLook" enabled="1"/>
    <event class="Player" method="onLookInBattleList" enabled="1"/>
    <event class="Player" method="onLookInTrade" enabled="1"/>
    <event class="Player" method="onLookInShop" enabled="0"/>
    <event class="Player" method="onMoveItem" enabled="1"/>
    <event class="Player" method="onMoveCreature" enabled="0"/>
    <event class="Player" method="onTurn" enabled="0"/>
    <event class="Player" method="onTradeRequest" enabled="0"/>
</events>
 
events/events.xml
Code:
<event class="Player" method="onGainExperience" enabled="1" />
events/scripts/player.lua
Code:
function Player:onGainExperience(source, exp, rawExp)
    if self:hasVip() then
        return exp * 1.2
    end

    return exp
end
 
Back
Top