PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Daten dauerhaft speichern



Bake
30.12.2007, 13:16
Hallo!
Mein Ziel ist es die Steam-ID's von bestimmten Usern dauerhaft in einer "Liste" zu speichern. Diese Liste muss auch unverbundene User enthalten und nach einem Server-Neustart verfügbar sein.

Ich habe zuerst an eine .txt Datei mit allen ID's gedacht aber so etwas ist ja anscheinend (und sinnvollerweise) nicht möglich. Ein einfacher Table ist natürlich auch Schwachsinn weil er nach jedem Neustart wieder leer ist.

Ich hoffe es ist einigermaßen klar was ich meine. Meine Lua-Kenntnisse sind noch recht "beschränkt", darum freue ich mich über jede Idee wie ich die ID's oder andere Daten dauerhaft gespeichert bekomme und auslesen kann.

BennyG
30.12.2007, 14:10
Wieso ist eine .txt schwachsinn?

Da ich mal nicht davon ausgehe das du vorhast es in Verbindung mit Mysql zu machen,denke ich dass eine Txt vollkommen genügt.

(Hatte etwas länger gedauert,da ichso ein Script selbst noch nie gemacht hatte,also hier.)


function Inited()
if !file.Exists("steamids.txt") then // Existiert die txt "steamids" in garrysmod/data ?
file.Write("steamids.txt","// Steam Id`s of the Players that were at the server.") // Erstelle die Datei
end
end
hook.Add("Initialize","Gamemideinialized",Inited)



function Lookupplayer(name,add,Steamid)
PlayerIds = file.Read("steamids.txt") //Schreib die steamids in PlayerIds
if !string.find(PlayerIds,Steamid) then // Falls die Steam id nicht gefunden wird,fahre fort.
file.Write("steamids.txt",PlayerIds .."\n".. Steamid) // Füge die Steam id zu den bisherigen hinzu.
Msg("Player: ".. name .." connected. He has been registered at the Database of the Server\n")

else
Msg("Somebody reconnected, ".. name )
end
end

hook.Add("PlayerConnect","SomebodyConnected",Lookupplayer)


Ich hoffe das hilft dir ;)

Mfg Benny.

Bake
30.12.2007, 14:25
Vielen Dank Benny!
Genau sowas habe ich gesucht :)

Moby
30.12.2007, 17:47
Muss ich das als Lua datei speichern und dann wohin packen? Also den Script in eine txt datei, umbenennen in z.B. Script.lua und dann wohin packen?
Moby

Pac_187
30.12.2007, 18:13
Lua/autorun/server

Moby
30.12.2007, 18:24
Danke Pac ;)

aVoN
31.12.2007, 00:05
Vorratsdatenspeicherung?
Naja, betreibe meine stats und logs auch schon seit gmod 9, und weiß, wie lange wer wo in welche team, mit welche nicknames und unter welcher steamid auf welchem steamaccount gespielt hat.

Ist aber nur da, damit ich logfiles auswerten kann, wenn sich wer beschwert :)

Sieht dann in etwa so aus:

"Out"
{
"joins" "14"
"deaths" "48"
"onlinetime" "47"
"kills" "-48"
"nicknames"
{
"1" "[YaS] System of a pWne!^"
}
"lastjoined" "12.30.2007 - 23:34:17"
}

Pac_187
31.12.2007, 08:54
Bei V10 kann man sich dann auch noch ganz nett, die ganzen XFire ICQ zeugs
mitloggen insofern das jemand eingetragen hat ;)

Hatte mir auch mal solch etwas gebastelt, legt für jeden User
eine separate Datei in einem Ordner an und schreibt dort alles rein.

Allerdings habe ich vergessen das teil zu backupen als ich meinen Rechner
platt gemacht habe :(

aVoN
31.12.2007, 13:18
Naja, die XFire etc informationen sind für mich nicht so wichtig. Wichtiger ist mir die Spielzeit. Aber ich kanns ja mal adden :)

Wollte meinen logger eh überarbetein, sodass sobald wer joined jeder ein kleines fenster mit seinen stats bekommt wie ich es in gmod9 hatte :)

LoC
31.12.2007, 13:24
Das hört sich gut an. Könnte ich gut gebrauchen um das Forum und den Gameserver etwas besser zu verbinden.