Jump to content

Sincronizar HUD com sistemas de fome/sede/sono/Banco


Recommended Posts

                                                                                                                 Bom dia, tarde ou noite. 

Estava editando alguns scripts/huds e tentando torna-los compatíveis, porém encontrei alguns problemas, lembrando que sou apenas um iniciante e não tenho conhecimento algum em Script, todos os conhecimentos que obtive foi observando tutoriais  e usando a logica :

O sistema de fome, Sede e Sono estão incluso na HUD, são funcionais porém, não existe maneira de reabastece-los, ou seja :

- O Sistema tem sua própria fome, O HUD está sincronizado com a fome ( Ela diminui), igualmente para sede e sono(Apenas repliquei os arquivos e mudei os nomes deixando-os mais logico possível), porém não existe maneira de faze-las retornar ao ''máximo'', ou seja²:

- O Player não tem uma ''loja'' ou comida para ingerir e nem uma cama pra dormir(Press F to Pay Respect)(Sad dmais).

 

- Minha ideia inicial era deixar a HUD Oculta e aparecer quando eu pressionar certo botão ''TAB'' (RESOLVIDO)

 

Aguardo uma resposta para explicar mais detalhes e postar o script/hud se necessário. (claro que vai ser né Saulo) (Não me leve a mal, Apenas preciso sentir que tem alguem do outro lado)



 

Link to comment
28 minutes ago, Saulolno said:

                                                                                                                 Bom dia, tarde ou noite. 

Estava editando alguns scripts/huds e tentando torna-los compatíveis, porém encontrei alguns problemas, lembrando que sou apenas um iniciante e não tenho conhecimento algum em Script, todos os conhecimentos que obtive foi observando tutoriais  e usando a logica :

O sistema de fome, Sede e Sono estão incluso na HUD, são funcionais porém, não existe maneira de reabastece-los, ou seja :

- O Sistema tem sua própria fome, O HUD está sincronizado com a fome ( Ela diminui), igualmente para sede e sono(Apenas repliquei os arquivos e mudei os nomes deixando-os mais logico possível), porém não existe maneira de faze-las retornar ao ''máximo'', ou seja²:

- O Player não tem uma ''loja'' ou comida para ingerir e nem uma cama pra dormir(Press F to Pay Respect)(Sad dmais).

 

- Minha ideia inicial era deixar a HUD Oculta e aparecer quando eu pressionar certo botão ''TAB'' (RESOLVIDO)

 

Aguardo uma resposta para explicar mais detalhes e postar o script/hud se necessário. (claro que vai ser né Saulo) (Não me leve a mal, Apenas preciso sentir que tem alguem do outro lado)



 

manda o código de sua HUD

Link to comment
7 hours ago, HiroShi said:

Fonseca_C

local screenW,screenH = guiGetScreenSize()
local resW, resH = 1920,1080
local x, y = (screenW/resW), (screenH/resH)
local components = { "area_name", "radio", "vehicle_name" }
-----------------------------------------------------------====================================----------------------------------------------------------------------------------------
FomeTempo = 110000
SedeTempo = 870000
SonoTempo = 870000
-----------------------------------------------------------====================================----------------------------------------------------------------------------------------
function Fonseca()
    if getElementData ( localPlayer, "Fome:Logado" ) == true then
        local Jogador_Falando = getElementData(localPlayer, "Falando") or false
        local Vida = math.floor(getElementHealth(localPlayer))
        local Colete = math.floor(getPedArmor(localPlayer))
        Sedes = getElementData(localPlayer, "sede")
        Fomes = getElementData(localPlayer, "fome")
		Sonos = getElementData(localplayer, "AirNew:Sono")
		
        dxDrawImage(x*27, y*830, x*43, y*42, "files/fundo.png", 0, 0, 0, tocolor(255, 255, 255, 180), false)
        dxDrawImage(x*87, y*830, x*43, y*42, "files/fundo.png", 0, 0, 0, tocolor(255, 255, 255, 180), false)
        dxDrawImage(x*149, y*830, x*43, y*42, "files/fundo.png", 0, 0, 0, tocolor(255, 255, 255, 180), false)
        dxDrawImage(x*211, y*830, x*43, y*42, "files/fundo.png", 0, 0, 0, tocolor(255, 255, 255, 180), false)
        dxDrawImage(x*273, y*830, x*43, y*42, "files/fundo.png", 0, 0, 0, tocolor(255, 255, 255, 180), false)
		dxDrawImage(x*333, y*830, x*43, y*42, "files/fundo.png", 0, 0, 0, tocolor(255, 255, 255, 180), false)
				
        if Jogador_Falando == true then                                                                                                      -- Ativando # = True
            dxDrawImage(x*333, y*830, x*43, y*42, "files/fundo2.png", 0, 0, 0, tocolor(255, 255, 255, 200), false)
        end
		
        dxDrawImage(x*27, y*872, x*43, y*42/-100*Vida, "files/fundo3.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
        dxDrawImage(x*87, y*872, x*43, y*42/-100*Colete, "files/fundo5.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
        dxDrawImage(x*211, y*872, x*43, y*42/-100*Sede, "files/fundo4.png", 0, 0, 0, tocolor(255, 255, 255, 200), false)
        dxDrawImage(x*149, y*872, x*43, y*42/-100*Fome, "files/fundo7.png", 0, 0, 0, tocolor(255, 255, 255, 200), false)
	    dxDrawImage(x*223, y*844, x*18, y*18, "files/gota.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
        dxDrawImage(x*99, y*842, x*17, y*17, "files/shield.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
        dxDrawImage(x*159, y*842, x*22, y*22, "files/fome.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
        dxDrawImage(x*39, y*842, x*16, y*16, "files/hp.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
        dxDrawImage(x*345, y*842, x*18, y*18, "files/mic.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
		dxDrawImage(x*273, y*872, x*43, y*42/-100*Sono, "files/fundo6.png", 0, 0, 0, tocolor(255, 255, 255, 200), false)
		dxDrawImage(x*285, y*842, x*18, y*18, "files/sono.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
		
		
    end
end

addEventHandler ( "onClientPlayerVoiceStart", root, function() 
    if (source and isElement(source) and getElementType(source) == "player") and localPlayer == source then
        setElementData(source, "Falando", true);
    end 
end);
    
addEventHandler ( "onClientPlayerVoiceStop", root,function()
    if (source and isElement(source) and getElementType(source) == "player") and localPlayer == source then
        setElementData(source, "Falando", false);
    end
end);

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
function getPedMaxHealth(ped)
    assert(isElement(ped) and (getElementType(ped) == "ped" or getElementType(ped) == "player"), "Bad argument @ 'getPedMaxHealth' [Expected ped/player at argument 1, got " .. tostring(ped) .. "]")
    local stat = getPedStat(ped, 24)
    local maxhealth = 100 + (stat - 569) / 4.31
    return math.max(1, maxhealth)
    end
    	---------------------------------------------------------------------------------------------------------------------------------------
																	FOME
		---------------------------------------------------------------------------------------------------------------------------------------
    function agscFomeRepeat()
    if getElementData ( localPlayer, "Fome:Logado" ) == true then
    ---
    Fome = getElementData ( localPlayer, "fome" ) -1
    SetarFome = setElementData ( localPlayer, "fome", Fome )
    ---
    if Fome <= 0 then
    setElementData ( localPlayer, "fome", 25 )
    setElementHealth ( localPlayer, 0 )
    outputChatBox ( "Você morreu de fome!", 255, 255, 255, true )
    end
    if Fome == 15 then
    outputChatBox ( "Você esta com fome!", 255, 255, 255, true )
    playSoundFrontEnd ( 45 )
    end
    if Fome == 10 then
    outputChatBox ( "Você esta com fome!", 255, 255, 255, true )
    playSoundFrontEnd ( 45 )
    end
    if Fome == 5 then
    outputChatBox ( "Você esta com muita fome!", 255, 255, 255, true )
    playSoundFrontEnd ( 45 )
    end
    end
    end
    setTimer(agscFomeRepeat,FomeTempo,0)
    ---
    function agscVerificarFomeRepeat ()
    if getElementData ( localPlayer, "Fome:Logado" ) == true then
    Fome = getElementData ( localPlayer, "fome" )
    if Fome > 100 then
    setElementData ( localPlayer, "fome", 100 )
    end
    end
    end
    setTimer(agscVerificarFomeRepeat,50,0)
    	---------------------------------------------------------------------------------------------------------------------------------------
																		SEDE
		---------------------------------------------------------------------------------------------------------------------------------------
    function agscSedeRepeat()
    if getElementData ( localPlayer, "Sede:Logado" ) == true then
    ---
    Sede = getElementData ( localPlayer, "sede" ) -1
    SetarSede = setElementData ( localPlayer, "sede", Sede )
    ---
    if Sede <= 0 then
    setElementData ( localPlayer, "sprp:Sede", 10 )
    setElementHealth ( localPlayer, 0 )
    outputChatBox ( "Você morreu de sede!", 255, 255, 255, true )
    end
    if Sede == 15 then
    outputChatBox ( "Você esta com sede!", 255, 255, 255, true )
    playSoundFrontEnd ( 45 )
    end
    if Sede == 10 then
    outputChatBox ( "Você esta com sede!", 255, 255, 255, true )
    playSoundFrontEnd ( 45 )
    end
    if Sede == 5 then
    outputChatBox ( "Você esta com muita sede!", 255, 255, 255, true )
    playSoundFrontEnd ( 45 )
    end
    end
    end
    setTimer(agscSedeRepeat,SedeTempo,0)
    ---
    function agscVerificarSedeRepeat ()
    if getElementData ( localPlayer, "Sede:Logado" ) == true then
    ---
    Sede = getElementData ( localPlayer, "sede" )
    if Sede > 100 then
    setElementData ( localPlayer, "sede", 100 )
    ---
    end
    end
    end
    setTimer(agscVerificarSedeRepeat,50,0)
	---------------------------------------------------------------------------------------------------------------------------------------
																	SONO 
	---------------------------------------------------------------------------------------------------------------------------------------
	
function agscSonoRepeat()
    if getElementData ( localPlayer, "Sono:Logado" ) == true then
    ---
    Sono = getElementData ( localPlayer, "sono" ) -1
    SetarSono = setElementData ( localPlayer, "sono", Sono )
    ---
    if Sono <= 0 then
    setElementData ( localPlayer, "sono", 25 )
    setElementHealth ( localPlayer, 0 )
    outputChatBox ( "Você morreu de sono!", 255, 255, 255, true )
    end
    if Sono == 15 then
    outputChatBox ( "Você esta com sono!", 255, 255, 255, true )
    playSoundFrontEnd ( 45 )
    end
    if Sono == 10 then
    outputChatBox ( "Você esta com sono!", 255, 255, 255, true )
    playSoundFrontEnd ( 45 )
    end
    if Sono == 5 then
    outputChatBox ( "Você esta com muito sono!", 255, 255, 255, true )
    playSoundFrontEnd ( 45 )
    end
    end
    end
    setTimer(agscSonoRepeat,SonoTempo,0)
    ---
    function agscVerificarSonoRepeat ()
    if getElementData ( localPlayer, "Sono:Logado" ) == true then
    Sono = getElementData ( localPlayer, "sono" )
    if Sono > 100 then
    setElementData ( localPlayer, "sono", 100 )
    end
    end
    end
    setTimer(agscVerificarSonoRepeat,50,0)

function setHud()
    addEventHandler("onClientRender", getRootElement(), Fonseca)
    setPlayerHudComponentVisible("armour", false)
    setPlayerHudComponentVisible("wanted", false)
    setPlayerHudComponentVisible("weapon", false)
    setPlayerHudComponentVisible("money", false)
    setPlayerHudComponentVisible("health", false)
    setPlayerHudComponentVisible("clock", false)
    setPlayerHudComponentVisible("breath", false)
    setPlayerHudComponentVisible("ammo", false)

    for _, component in ipairs( components ) do
        setPlayerHudComponentVisible( component, false )
    end
end
addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), setHud)

function removeHud()
    setPlayerHudComponentVisible("armour", true)
    setPlayerHudComponentVisible("wanted", true)
    setPlayerHudComponentVisible("weapon", true)
    setPlayerHudComponentVisible("money", true)
    setPlayerHudComponentVisible("health", true)
    setPlayerHudComponentVisible("clock", true)
    setPlayerHudComponentVisible("breath", true)
    setPlayerHudComponentVisible("ammo", true)
end
addEventHandler("onClientResourceStop", getResourceRootElement(getThisResource()), removeHud)


local isDXVisible = false
bindKey ("TAB", "both", function()
    if isDXVisible then
        removeEventHandler( "onClientRender", root, Fonseca )
		showChat(true)
    else
        addEventHandler( "onClientRender", root, Fonseca )
		showChat(false)
    end
    isDXVisible = not isDXVisible
end)

function convertNumber ( number )   
    local formatted = number   
    while true do       
        formatted, k = string.gsub(formatted, "^(-?%d+)(%d%d%d)", '%1.%2')     
        if ( k==0 ) then       
            break   
        end   
    end   
    return formatted 
end

------------------------------------------------ LIMITE IMPOSTO POR SAULO ----------------------------------------------------

 

Fonseca_S

function deslogar(acc)
    cancelEvent ()
    end
    addEventHandler("onPlayerLogout",getRootElement(),deslogar)
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    --- F O M E
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    addEventHandler ("onPlayerLogin",root,function(_,Acc)
    local FomeAcc2 = getAccountData ( Acc, "fome" )
    if FomeAcc2 == false then
    setElementData (source, "fome", 100)
    setElementData (source, "Fome:Logado", true)
    else
    setElementData (source, "fome", FomeAcc2 )
    setElementData (source, "Fome:Logado", true)
    end
    end)
    ---
    function saveAccountDataFome ( account )
    if isGuestAccount ( account ) then return false end
    Player = getAccountPlayer (account)
    Fomes = getElementData (Player, "fome" )
    setAccountData (account,"fome",Fomes)
    end
    ---
    addEventHandler ( 'onPlayerQuit', root, function ( )
    local acc = getPlayerAccount ( source )
    saveAccountDataFome ( 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,"fome")
    if FomeAcc == false then
    setElementData (plr,"fome",100)
    setElementData (plr, "Fome:Logado", true)
    else
    setElementData (plr,"fome",FomeAcc)
    setElementData (plr, "Fome:Logado", true)
    end
    end    
    end
    end)
    ---
    addEventHandler ("onResourceStop",getResourceRootElement( getThisResource()),function()
    for index,players in ipairs(getElementsByType("player")) do 
    local acc = getPlayerAccount ( players )
    saveAccountDataFome ( acc )
    end
    end)
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    -- S E D E
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    addEventHandler ("onPlayerLogin",root,function(_,Acc)
    local SedeAcc2 = getAccountData ( Acc, "sede" )
    if SedeAcc2 == false then
    setElementData (source, "sede", 100)
    setElementData (source, "Sede:Logado", true)
    else
    setElementData (source, "sede", SedeAcc2 )
    setElementData (source, "Sede:Logado", true)
    end
    end)
    ---
    function saveAccountDataSede ( account )
    if isGuestAccount ( account ) then return false end
    Player = getAccountPlayer (account)
    Sedes = getElementData (Player, "sede" )
    setAccountData (account,"sede",Sedes)
    end
    ---
    addEventHandler ( 'onPlayerQuit', root, function ( )
    local acc = getPlayerAccount ( source )
    saveAccountDataSede ( acc )
    end )
    ---
    addEventHandler( "onResourceStart", getResourceRootElement( getThisResource() ), function( )        
    for _, plr in pairs( getElementsByType( "player" ) ) do 
    local Acc = getPlayerAccount (plr)
    if not isGuestAccount (Acc) then
    local SedeAcc = getAccountData (Acc,"sede")
    if SedeAcc == false then
    setElementData (plr,"sede",100)
    setElementData (plr, "Sede:Logado", true)
    else
    setElementData (plr,"sede",SedeAcc)
    setElementData (plr, "Sede:Logado", true)
    end
    end    
    end
    end)
    ---
    addEventHandler ("onResourceStop",getResourceRootElement( getThisResource()),function()
    for index,players in ipairs(getElementsByType("player")) do 
    local acc = getPlayerAccount ( players )
    saveAccountDataSede ( acc )
    end
    end)
 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    -- S O N O
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------	
	addEventHandler ("onPlayerLogin",root,function(_,Acc)
    local SonoAcc2 = getAccountData ( Acc, "sono" )
    if SonoAcc2 == false then
    setElementData (source, "sono", 100)
    setElementData (source, "Sono:Logado", true)
    else
    setElementData (source, "sono", SonoAcc2 )
    setElementData (source, "Sono:Logado", true)
    end
    end)
    ---
    function saveAccountDataSono ( account )
    if isGuestAccount ( account ) then return false end
    Player = getAccountPlayer (account)
    Sonos = getElementData (Player, "sono" )
    setAccountData (account,"sono",Sonos)
    end
    ---
    addEventHandler ( 'onPlayerQuit', root, function ( )
    local acc = getPlayerAccount ( source )
    saveAccountDataSono ( acc )
    end )
    ---
    addEventHandler( "onResourceStart", getResourceRootElement( getThisResource() ), function( )        
    for _, plr in pairs( getElementsByType( "player" ) ) do 
    local Acc = getPlayerAccount (plr)
    if not isGuestAccount (Acc) then
    local SonoAcc = getAccountData (Acc,"sono")
    if SonoAcc == false then
    setElementData (plr,"sono",100)
    setElementData (plr, "Sono:Logado", true)
    else
    setElementData (plr,"sono",SonoAcc)
    setElementData (plr, "Sono:Logado", true)
    end
    end    
    end
    end)
    ---
    addEventHandler ("onResourceStop",getResourceRootElement( getThisResource()),function()
    for index,players in ipairs(getElementsByType("player")) do 
    local acc = getPlayerAccount ( players )
    saveAccountDataSono ( acc )
    end
    end)
	
	
------------------------------------------------ LIMITE IMPOSTO POR SAULO ----------------------------------------------------
	

 

Fonseca_C e Fonseca_S.
Os dois caso precise sincronizar adequadamente, agradeço desde já e lamento essa parada do natal ai, é realmente uma epoca dificil pra muita gente.

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...