• Error with IsAdmin
    9 replies, posted
Hello I have this code: [lua] local ply = LocalPlayer() if ply:IsAdmin() && ply:IsSuperAdmin() then hook.Add( "HUDPaint", "AdminCheck", function() surface.SetFont( "CenterPrintText" ) surface.SetTextColor( 0, 255, 94, 255 ) surface.SetTextPos( 225, 1050 ) surface.DrawText( "Admin" ) end ) else return false end [/lua] and I get this error even though I am an admin: [lua] [ERROR] gamemodes/life/gamemode/cl_init.lua:4: attempt to call method 'IsAdmin' <a nil vaalue> 1. unknown - gamemodes/life/gamemode/cl_init.lua:4 [TheNeuraProject:2:STEAM_:0:0:XXXXXXXX] Lua Error: Couldn't Load Init Script: 'life/gamemode/cl_init.lua' [/lua] Please help
Does IsAdmin exist clientside?
It is shared, so yes. [editline]16th November 2014[/editline] [lua] if (LocalPlayer():IsSuperAdmin()) then hook.Add( "HUDPaint", "AdminCheck", function() surface.SetFont( "CenterPrintText" ) surface.SetTextColor( 0, 255, 94, 255 ) surface.SetTextPos( 225, 1050 ) surface.DrawText( "Admin" ) end) end [/lua] No need for the "else return end" shit
I get another error: [lua] [ERROR] gamemodes/life/gamemode/cl_init.lua:4: attempt to call method 'IsSuperAdmin' <a nil vaalue> 1. unknown - gamemodes/life/gamemode/cl_init.lua:4 [TheNeuraProject:2:STEAM_:0:0:XXXXXXXX] Lua Error: Couldn't Load Init Script: 'life/gamemode/cl_init.lua' [/lua]
LocalPlayer() doesn't exist as soon as cl_init.lua is loaded. That's why you get da errors.
Correct way of doing this would be: [code] hook.Add( "HUDPaint", "AdminCheck", function() if (!IsValid(LocalPlayer()) || !LocalPlayer():IsAdmin()) then return end -- If not admin, dont execute code below in this function surface.SetFont( "CenterPrintText" ) surface.SetTextColor( 0, 255, 94, 255 ) surface.SetTextPos( 225, 1050 ) surface.DrawText( "Admin" ) end) [/code]
-snip-
Okay. How do I do the same thing but with SteamID [lua] hook.Add( "HUDPaint", "ID", function() surface.SetFont( "CenterPrintText" ) surface.SetTextColor( 255, 255, 255 ) surface.SetTextPos( 9, 1050 ) surface.DrawText( LocalPlayer():SteamID() ) end ) [/lua] [editline]16th November 2014[/editline] Thanks [editline]16th November 2014[/editline] Oh I think I got it [lua] hook.Add( "HUDPaint", "ID", function() if (!IsValid(LocalPlayer())) then surface.SetFont( "CenterPrintText" ) surface.SetTextColor( 255, 255, 255 ) surface.SetTextPos( 9, 1050 ) surface.DrawText( LocalPlayer():SteamID() ) end end ) [/lua] Right?
[code]hook.Add( "HUDPaint", "ID", function() if (IsValid(LocalPlayer())) then surface.SetFont( "CenterPrintText" ) surface.SetTextColor( 255, 255, 255 ) surface.SetTextPos( 9, 1050 ) surface.DrawText( LocalPlayer():SteamID() ) end end )[/code] You code tries to draw the stuff if LocalPlayer is INVALID ( if ( ! IsValid ) then ), while you should be doing ( if ( IsValid ) then )
Ohhhh I see Thank you!! !
Sorry, you need to Log In to post a reply to this thread.