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

Is it possible to reduce magic level or skills?

ligus

New Member
Joined
Apr 26, 2010
Messages
253
Reaction score
0
Hello, does anyone know how can be done something like this:
When player die then return his magic level and skills to any special value?
I tried with:
Code:
doPlayerAddMagLevel(cid, -(maglevel-60))
and:
Code:
doPlayerAddSkill(cid, SKILL__MAGLEVEL,-(maglevel-60), true)

but it does not work
 
Umm.. I want to make something like this: player starts with 20 magic level and when he die then his mlvl returns to 20. Is it possible to not save mlvl to database? In this way there will be always 20 mlvl :)
 
You can add a query in a death/preparedeath script and in a logout script that sets ml to 20, then in login.lua also if ml is higher then 20 with doRemoveCreature(cid) incase people xlog.
 
Hmm, it does not work for me:/

I have in creaturescripts.xml:
Code:
<event type="death" name="reduceDeath" script="reduceDeath.lua"/>
<event type="logout" name="reduceLog" script="reduceLog.lua"/>

login.lua:
Code:
registerCreatureEvent(cid, "reduceDeath")
registerCreatureEvent(cid, "reduceLog")

and scripts:
Code:
function onLogout(cid)
    db.executeQuery("UPDATE `players` SET `maglevel` = 20 WHERE `id` = " .. getPlayerGUID(cid))
    return true
end

Code:
function onDeath(cid)
    db.executeQuery("UPDATE `players` SET `maglevel` = 20 WHERE `id` = " .. getPlayerGUID(cid))
    return true
end

What's wrong?
 
Last edited:
Add them with addEvent and set time to 1.
In login.lua the addEvent isn't needed, only the doRemoveCreature(cid) above the query, because the player has to be offline when it runs the query.
 
Trying to do it:
Code:
local function reducemlvl(cid)
        db.executeQuery("UPDATE `players` SET `maglevel` = 20 WHERE `id` = " .. getPlayerGUID(cid))
    return TRUE
end 

function onLogout(cid)
    addEvent(reducemlvl, 1, cid)
    return true
end

There is error:
Code:
Player not found when requesting player info #6

What's wrong here?
 
Code:
function onLogout(cid)
   addEvent(db.executeQuery, 1, "UPDATE `players` SET `maglevel` = 20 WHERE `id` = " .. getPlayerGUID(cid))
   return true
end
 
Back
Top