Advertisement
Guest User

Untitled

a guest
Jun 28th, 2016
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.94 KB | None | 0 0
  1. if SERVER then
  2.     util.AddNetworkString( "adminhub_playerlist" )
  3.     util.AddNetworkString( "adminhub_openmenu" )
  4.    
  5.     hook.Add( "PlayerInitialSpawn", "playerfilecreating", function(ply)
  6.         if not file.Exists( "adminhub", "DATA" ) then
  7.             file.CreateDir( "adminhub" )
  8.         end
  9.        
  10.         local plyinfo = {
  11.             name = ply:Nick(),
  12.             steamid = ply:SteamID(),
  13.             steamid64 = ply:SteamID64(),
  14.             ip = ply:IPAddress(),
  15.             lastjoin = os.time(),
  16.             lastjoinstr = os.date( "%X - %d/%m/%Y" , os.time() ),
  17.         }
  18.         if ( file.Exists( "adminhub/"..ply:SteamID64()..".txt", "DATA" ) ) then
  19.             print( "[AH]: User profile exists for "..ply:Nick()..", updating....." )
  20.             file.Write( "adminhub/"..ply:SteamID64()..".txt", util.TableToJSON(plyinfo) )
  21.             print( "[AH]: User profile for "..ply:Nick().." updated successfully!" )
  22.         else
  23.             print( "[AH]: User profile doesn't exist for "..ply:Nick()..", creating new." )
  24.             file.Write( "adminhub/"..ply:SteamID64()..".txt", util.TableToJSON(plyinfo) )
  25.             print( "[AH]: User profile for "..ply:Nick().." has been created!" )
  26.         end
  27.         net.Start( "adminhub_playerlist" )
  28.             net.WriteTable( adminhub_getTextData() )
  29.         net.Broadcast()
  30.     end )
  31.    
  32.     local ULXranks = {
  33.         "superadmin",
  34.         "admin"
  35.     }
  36.      
  37.     local function hasRank( ply )
  38.         local hasULXRank = false
  39.         for k, v in pairs( ULXranks ) do
  40.             if ply:IsUserGroup( v ) then
  41.                 hasULXRank = true
  42.             end
  43.         end
  44.         return hasULXRank
  45.     end
  46.    
  47.     hook.Add( "PlayerSay", "adminhub_chatCommand", function( ply, message )
  48.         if message == "!users" then
  49.             if hasRank( ply ) then
  50.                 net.Start( "adminhub_openmenu" )
  51.                 net.Send( ply )
  52.                 return false
  53.             end
  54.         end
  55.     end )
  56.    
  57.     function adminhub_getTextData()
  58.         local allPlayers = {}
  59.         local files, directories = file.Find( "adminhub/*", "DATA" )
  60.         for _, f in pairs(files) do
  61.             local TableFromJSON = util.JSONToTable( file.Read( "adminhub/"..f, "DATA" ) )
  62.             table.insert( allPlayers, TableFromJSON )
  63.         end
  64.         return allPlayers
  65.     end
  66. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement