Jump to content

Sistema Fome/Sede


Recommended Posts

Outra dúvida klkkk mds eu sou mt burro, Enfim to com um sistema de fome e sede, e eu fiz uma gambiarra meio loka (peguei código de um mod e taquei em outro) que salvava a fome e sede do player ao deslogar e quando ele logasse voltava doque tava e a princípio funcionou (n sei como mais funcionou, me senti o fodao) porém agora parou de funcionar e a fome e sede reseta quando o player reloga (volta pra 100) vcs podem me ajudar?

Oque aparece no console é isso: T7oLa_6JSQ2QDajlJ8GRCg.png

Código: 

 

addEventHandler ("onPlayerLogin",root,function(_,Acc)
local FomeAcc2 = getAccountData (Acc,"AtualHunger") 
local SedeAcc2 = getAccountData (Acc,"AtualSede")
        if FomeAcc2 == false then
        setElementData (source,"hunger",100)
        else
        setElementData (source,"hunger",FomeAcc2)
        end
            if SedeAcc2 == false then 
            setElementData (source,"sede",100)
            else
            setElementData (source,"sede",SedeAcc2)
            end 
end)

function saveAccountData ( account )
    if isGuestAccount ( account ) then
        return false
    end
    Player = getAccountPlayer (account)
Fomes = getElementData (Player,"hunger")
Sedes = getElementData (Player,"sede")
setAccountData (account,"AtualHunger",Fomes)
setAccountData (account,"AtualSede",Sedes)
end

addEventHandler ( 'onPlayerQuit', root, function ( )
    local acc = getPlayerAccount ( source )
    saveAccountData ( acc )
end )


addEventHandler( "onResourceStart", getResourceRootElement( getThisResource() ), function( )        
 for _, plr in pairs( getElementsByType( "player" ) ) do 
 local Acc = getPlayerAccount (plr)
    if not isGuestAccount (Acc) then
    local FomeAcc = getAccountData (Acc,"AtualHunger") 
    local SedeAcc = getAccountData (Acc,"AtualSede")
        if FomeAcc == false then
        setElementData (plr,"hunger",100)
        else
        setElementData (plr,"hunger",FomeAcc)
        end
            if SedeAcc == false then
            setElementData (plr,"sede",100) 
            else
            setElementData (plr,"sede",SedeAcc)
            end 
    end    
 end
 end)
 
 
 addEventHandler ("onResourceStop",getResourceRootElement( getThisResource()),function()
for index,players in ipairs(getElementsByType("player")) do 
 local acc = getPlayerAccount ( players )
 saveAccountData ( acc )
end
end)

function saveHungerData(player, account)
    if account then
        local account = player:getAccount() -- @Obtém a conta do jogador
        if player:getData("hunger") then -- @Verifica se o elemento possui a data "fome"
            account:setData("hunger", player:getData("hunger")) -- @Transfere a data do elemento, para a conta
        else
            account:setData("hunger", 100)
        end
    end
end
-- @Salva a fome

function loadHungerData(player, account)
    if account then
        local account = player:getAccount() -- @Obtém a conta do jogador
        if account:getData("hunger") then -- @Verifica se a data existe na conta
            player:setData("hunger", account:getData("hunger")) -- @Transfere a data da conta, para o elemento
        else
            player:setData("hunger", 100) 
        end
    end
end
-- @Carrega a fome

function saveHunger()
    for index, p in ipairs(getElementsByType("player")) do
        local acc = p:getAccount()
        if acc then
            saveHungerData(p, acc)
        end
    end
end
addEventHandler("onPlayerQuit", root, saveHunger)
addEventHandler("onResourceStop", resourceRoot, saveHunger)
-- @Salva a fome quando o recurso da stop, ou o jogador sai

function loadHunger()
    for index, p in ipairs(getElementsByType("player")) do -- @Loop para obter jogadores
        local acc = p:getAccount() -- @Obtém a conta do jogador
        if acc then -- @Verifica se a conta existe
            loadHungerData(p, acc) -- @Executa a função de carregar os dados
        else
            p:setData("hunger", 100) -- @Caso não esteja logado, irá definir a fome para 100
        end
    end
end
addEventHandler("onResourceStart", resourceRoot, loadHunger)
addEventHandler("onPlayerLogin", root, loadHunger)
addEventHandler("onPlayerJoin", root, loadHunger)
-- @Carrega a fome quando o jogador loga/entra, ou o resource inicia

 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...