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

CreatureEvent [RPG] Sleep

bomba

Member
Joined
Feb 26, 2008
Messages
635
Reaction score
7
Location
Brazil
In a Lib, add this:
Code:
storDormir = 971714026
valorX = 971714027
valorY = 971714028
valorZ = 971714029

In creaturescripts, logout2.lua:
Code:
local function deslogar(cid)
    if isPlayer(cid) == true then
        if getPlayerStorageValue(cid, storDormir) >= 1 then
            setPlayerStorageValue(cid, storDormir, 2)
            addEvent(doRemoveCreature, 100, cid)
        end
    end
    return true
end

local function efeito(cid)
    if isPlayer(cid) == true then
        if getPlayerStorageValue(cid, storDormir) >= 1 then
            doSendMagicEffect(getCreaturePosition(cid), CONST_ME_SLEEP)
            addEvent(efeito, (1*1000), cid)
        end
    end
    return true
end

local function teleportar(cid)
    if isPlayer(cid) == true then
        if getPlayerStorageValue(cid, storDormir) >= 1 then
            doTeleportThing(cid, {x=getPlayerStorageValue(cid, valorX), y=getPlayerStorageValue(cid, valorY), z=getPlayerStorageValue(cid, valorZ)})
            addEvent(teleportar, 10, cid)
        end
    end
    return true
end

local function outfitDeDormir(cid)
    calculocalculo = (getPlayerLevel(cid)/100)
    if isPlayer(cid) == true then
        if getPlayerSex(cid) == 0 then
            doSetCreatureOutfit(cid, {lookTypeEx = 6560}, (calculocalculo*60*1000))
        else
            doSetCreatureOutfit(cid, {lookTypeEx = 2317}, (calculocalculo*60*1000))
        end
    end
    return true
end

function onLogout(cid)
    if getPlayerStorageValue(cid, storDormir) <= 0 then
        outfitDeDormir(cid)
        setPlayerStorageValue(cid, storDormir, 1)
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sleeping for ".. calculocalculo .." minutes.")
        addEvent(deslogar, ((calculocalculo*60*1000)+500), cid)
        addEvent(efeito, 100, cid)
        setPlayerStorageValue(cid, valorX, getCreaturePosition(cid).x)
        setPlayerStorageValue(cid, valorY, getCreaturePosition(cid).y)
        setPlayerStorageValue(cid, valorZ, getCreaturePosition(cid).z)
        addEvent(teleportar, 100, cid)
    elseif getPlayerStorageValue(cid, storDormir) == 1 then
        doPlayerSendCancel(cid, "Sleeping.")
    else
        return true
    end
end

Tag:
Code:
<event type="logout" name="Logout2" script="logout2.lua"/>

In login.lua add this:
Code:
setPlayerStorageValue(cid, storDormir, 0)
registerCreatureEvent(cid, "Logout2")
 
Back
Top