• 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 otx 2.16 based on 0.3.7 -- problem with exp for monster

tuduras

Well-Known Member
Joined
Jun 4, 2017
Messages
340
Solutions
2
Reaction score
58
Heello, how are U ? good okay.

when I equip ring i have double exp and get experience for monster, when I deequip ring when I kill monster dont get exp for monster.
Do You know maybe what is wrong ?

here post my exp_ring script
LUA:
--By Kalan/YoS!--
local Inforate = getConfigInfo('rateExperience')
local lvlmin = 800 --lvl minimum by uzyc
local lvlmax = 10000 --lvl max by uzyc
local exprate = 2 --jak ma zmieniac exp rate... 1.2 = exprate z configu + 20%
local newrate = exprate*Inforate
local effect = math.random(27, 32)
function onEquip(cid, item, slot)
playerlvl = getPlayerLevel(cid)
playerpos = getPlayerPosition(cid)
if playerlvl >= lvlmin then
        if playerlvl <= lvlmax then
            doPlayerSetExperienceRate(cid, exprate)
            doPlayerSendTextMessage(cid,22,"Your Exp Stage is Bigger(rate: "..newrate..")!")
            doSendMagicEffect(playerpos, effect)
        else
            doPlayerSendTextMessage(cid,22,"Your lvl is too big!")
        end
else
    doPlayerSendTextMessage(cid,22,"Your lvl is too low!")
    end
return true
end
function onDeEquip(cid, item, slot)
if playerlvl >= lvlmin then
    doPlayerSetExperienceRate(cid, normal)
    doPlayerSendTextMessage(cid,22,"Your exp rate now is normal(rate: "..getConfigInfo('rateExperience')..")!")
    doSendMagicEffect(playerpos, effect)
end
return true
end
 
@lindero33 very thanks. solved .

Script was not correct.

PS: Here post right version:

LUA:
--By Kalan/YoS! (Poprawione przez Gemini)
local Inforate = getConfigInfo('rateExperience')
local lvlmin = 800
local lvlmax = 10000
local exprate = 2 -- Mnożnik, gdy ring jest założony
local effect = math.random(27, 32)

function onEquip(cid, item, slot)
    local playerlvl = getPlayerLevel(cid)
    local playerpos = getPlayerPosition(cid)
    local newrate = exprate * Inforate

    if playerlvl >= lvlmin then
        if playerlvl <= lvlmax then
            doPlayerSetExperienceRate(cid, exprate)
            doPlayerSendTextMessage(cid, 22, "Twoj Exp Rate zostal zwiekszony (rate: " .. newrate .. ")!")
            doSendMagicEffect(playerpos, effect)
        else
            doPlayerSendTextMessage(cid, 22, "Twoj poziom jest zbyt wysoki!")
        end
    else
        doPlayerSendTextMessage(cid, 22, "Twoj poziom jest zbyt niski!")
    end
    return true
end

function onDeEquip(cid, item, slot)
    -- Ustawiamy exp rate z powrotem na 1.0 (Normalny)
    doPlayerSetExperienceRate(cid, 1.0)
    
    local playerpos = getPlayerPosition(cid)
    doPlayerSendTextMessage(cid, 22, "Twoj exp rate wrocil do normy (rate: " .. Inforate .. ")!")
    doSendMagicEffect(playerpos, effect)
    
    return true
end
 
Back
Top