Jump to content

Stuck with guiSetText


callum123

Recommended Posts

    local char = (getPlayerName(localPlayer)):gsub( "_", " " ) 
    local health = (getElementHealth(localPlayer)) 
    local armor = (getPedArmor(localPlayer)) 
    local money = (getPlayerMoney(localPlayer)) 
    local hour, minute = getTime() 
     
function togHud() 
    mainWindow = guiCreateWindow(484,318,308,166,"Multi Theft Auto Roleplay",false) 
    btnClose = guiCreateButton(200,127,100,30,"Close",false,mainWindow) 
    btnNameLabel = guiCreateLabel(15,28,94,16,"Character Name: ",false,mainWindow) 
    btnTimeLabel = guiCreateLabel(14,53,32,16,"Time: ",false,mainWindow) 
    btnHealthLabel = guiCreateLabel(14,77,38,16,"Health: ",false,mainWindow) 
    btnArmorLabel = guiCreateLabel(13,101,38,18,"Armor: ",false,mainWindow) 
    btnMoneyLabel = guiCreateLabel(14,127,42,15,"Money: ",false,mainWindow) 
    btnChar = guiCreateLabel(105,28,169,17," "..char.."",false,mainWindow) 
    btnTime = guiCreateLabel(44,53,70,15," "..hour..":"..minute.."",false,mainWindow) 
    btnHealth = guiCreateLabel(53,78,169,16,"lol",false,mainWindow) 
    btnArmor = guiCreateLabel(49,101,70,19,"lol",false,mainWindow) 
    btnMoney = guiCreateLabel(53,128,112,17,"lol",false,mainWindow) 
    addEventHandler( "onClientGUIClick", btnClose, DestroyGUI, false) 
end 
addCommandHandler("hud", togHud) 
  
addEventHandler( "onClientRender", getRootElement(), 
    function() 
        if isElement( localPlayer ) then 
            guiSetText ( btnHealth, "" .. math.floor( getElementHealth(localPlayer ) ) ) 
            guiSetText ( btnArmor, "" .. math.floor( getPedArmor( localPlayer ) ) ) 
            guiSetText ( btnMoney, "" .. math.floor( getPlayerMoney( localPlayer ) ) ) 
             
        end 
    end 
) 
  
  
function DestroyGUI() 
    guiSetVisible(mainWindow, false) 
end 

Errors on line 27, 28, 29:

Bad argument @ 'guiSetText' [Expected gui-element at argument 1, got nil

Been having a look around and still cannot see what I am doing particularly wrong, I check the MTA for this, and the example was not the greatest.

Link to comment

That's because is trying to set the text of a non existing element, as the GUI is not created at the start, you should add the event handler to render it inside "togHud" function, and remove it on "DestroyGUI" function.

local char = (getPlayerName(localPlayer)):gsub( "_", " " ) 
local health = getElementHealth ( localPlayer ) 
local armor = getPedArmor ( localPlayer ) 
local money = getPlayerMoney ( ) 
local hour, minute = getTime ( ) 
    
function togHud ( ) 
    mainWindow = guiCreateWindow(484,318,308,166,"Multi Theft Auto Roleplay",false) 
    btnClose = guiCreateButton(200,127,100,30,"Close",false,mainWindow) 
    btnNameLabel = guiCreateLabel(15,28,94,16,"Character Name: ",false,mainWindow) 
    btnTimeLabel = guiCreateLabel(14,53,32,16,"Time: ",false,mainWindow) 
    btnHealthLabel = guiCreateLabel(14,77,38,16,"Health: ",false,mainWindow) 
    btnArmorLabel = guiCreateLabel(13,101,38,18,"Armor: ",false,mainWindow) 
    btnMoneyLabel = guiCreateLabel(14,127,42,15,"Money: ",false,mainWindow) 
    btnChar = guiCreateLabel(105,28,169,17," "..char.."",false,mainWindow) 
    btnTime = guiCreateLabel(44,53,70,15," "..hour..":"..minute.."",false,mainWindow) 
    btnHealth = guiCreateLabel(53,78,169,16,"lol",false,mainWindow) 
    btnArmor = guiCreateLabel(49,101,70,19,"lol",false,mainWindow) 
    btnMoney = guiCreateLabel(53,128,112,17,"lol",false,mainWindow) 
    addEventHandler ( "onClientGUIClick", btnClose, DestroyGUI, false ) 
    addEventHandler ( "onClientRender", getRootElement(), renderData ) 
end 
addCommandHandler("hud", togHud) 
  
function renderData ( ) 
    guiSetText ( btnHealth, "" .. math.floor ( getElementHealth(localPlayer ) ) ) 
    guiSetText ( btnArmor, "" .. math.floor ( getPedArmor( localPlayer ) ) ) 
    guiSetText ( btnMoney, "" .. math.floor ( getPlayerMoney( ) ) ) 
end 
  
  
function DestroyGUI ( ) 
    guiSetVisible ( mainWindow, false ) 
    removeEventHandler ( "onClientRender", getRootElement(), renderData ) 
end 

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