Hello, facepunch.
How to read from a file only the first line?
[url]http://wiki.garrysmod.com/page/file/Read[/url]
[CODE]
--Find file
local files = file.Find( "ps_key/" .. net.ReadString(), "DATA" )
--Read file
local contentss = file.Read( "ps_key/" .. files[1], "DATA" )
[/CODE]
[code]
--Find file
local files = file.Find( "ps_key/" .. net.ReadString(), "DATA" )
--Read file
local contentss = file.Read( "ps_key/" .. files[1], "DATA" )
local line = string.match(contentss, '[^\n]+')
[/code]
is another way of doing it, using patterns instead. string.match will return the first match found. Also, i'm pretty sure that using file.Find is completely unnecessary for what you are doing. Unless you are trying to get the first file in a directory, just use file.Read('ps_key/'..net.ReadString()) instead.
[QUOTE=|Royal|;48103076][CODE]
--Find file
local files = file.Find( "ps_key/" .. net.ReadString(), "DATA" )
--Read file
local contentss = string.Explode( "\n", file.Read( "ps_key/" .. files[1], "DATA" ) )
--Print first row
print( contentss[1] )
[/CODE][/QUOTE]
Thx
[editline]2nd July 2015[/editline]
Help me again please
Error:Command "ps2_addpoints", argument #2: string cannot contain control characters
[CODE]
local files = file.Find( "ps_key/" .. net.ReadString(), "DATA" )
local contentss = string.Explode( "\n", file.Read( "ps_key/" .. files[1], "DATA" ) )
local pp_point = contentss[3]
RunConsoleCommand( "ps2_addpoints", ply:SteamID(), pp_point, contentss[4] )
[/CODE]
File:
[CODE]
ps2_addpoints
ply:SteamID()
premiumPoints
600
[/CODE]
[QUOTE=godred2;48103810]Thx
[editline]2nd July 2015[/editline]
Help me again please
Error:Command "ps2_addpoints", argument #2: string cannot contain control characters
[CODE]
local files = file.Find( "ps_key/" .. net.ReadString(), "DATA" )
local contentss = string.Explode( "\n", file.Read( "ps_key/" .. files[1], "DATA" ) )
local pp_point = contentss[3]
RunConsoleCommand( "ps2_addpoints", ply:SteamID(), pp_point, contentss[4] )
[/CODE]
File:
[CODE]
ps2_addpoints
ply:SteamID()
premiumPoints
600
[/CODE][/QUOTE]
Did you insert the actual SteamID of the player or did you just insert "ply:SteamID()"? If the latter is true, just replace ply:SteamID() with the actual SteamID of the player in question.
That's all fine. He does not want to accept this:
RunConsoleCommand( "ps2_addpoints", ply:SteamID(), [B][I][U]pp_point[/U][/I][/B], contentss[4] )
[QUOTE=godred2;48104776]That's all fine. He does not want to accept this:
RunConsoleCommand( "ps2_addpoints", ply:SteamID(), [B][I][U]pp_point[/U][/I][/B], contentss[4] )[/QUOTE]
What error are you getting?
So everything works fine:
RunConsoleCommand( "ps2_addpoints", ply:SteamID(), premiumPoints, contentss[4] )
It does not work:
RunConsoleCommand( "ps2_addpoints", ply:SteamID(), pp_point, contentss[4] )
Error:
Command "ps2_addpoints", argument #2: string cannot contain control characters
Sorry, you need to Log In to post a reply to this thread.