Hallo,
Ich hab zurzeit einige Quiz-Bots am laufen und diese funktionieren in moment reibungslos mit 6695 Fragen ohne Fehler.
Nun möchte ich ein Punkte-System einbauen um jeden einzelnen User Punkte zu verteilen und anzuzeigen.
Das ganze sollte in einer .txt oder .ini abgerufen und gespeichert werden wobei das schema folgendes wäre:
[ID=1#USER=blabla2#P=54#]
[ID=2#USER=blabla4554#P=500#]
[ID=3#USER=blabla8778#P=2580#]
[ID=4#USER=blabla876#P=34#]
[ID=5#USER=blabla7677#P=289#]
ID und User sind selbsterklärend und P sind sie Punkte von den jeweiligen User.
Folgendes hab ich schon gelöst oder könnte ich problemlos lösen ( habs noch im kopf xD):
Neuen User eintragen + 2 Punkte als start speichern , Einzelne User abfragen und deren Punkte anzeigen.
Wenn Antwort richtig -> Userinfo holen +2 Punkte addieren und danach wieder speichern.
Nun kommt der Teil wo ich feststecke:
Ich würde gerne am Schluss des Quizes (nach 20 fragen oda so) die Gesamtpunktezahl der höchsten letzten User anzeigen lassen.
Sowie die Gesamt-Highscore wo die Top 10 User mit den meisten Punkten absteigend angezeigt werden.
Mein Problem: Wenn ich die komplette Userliste abrufe (mit punkten) wie kann die sie dann Formatieren damit ich die höchste Punktzahl als erster stehen habe ?
Hier mal ein blödes beispiel:
(würde es aba gerne ohne Listview machen. z.b. nur eine Variable wo alle daten temporär gespeichert sind)
GUICreate("blub",200,500)
$list = GUICtrlCreateList("",10,10,-1,-1,$LBS_SORT)
$num = 1
$check = 0
GUISetState()
$file1 = FileOpen(@ScriptDir & "\hust.txt", 0)
If $file1 = -1 Then
MsgBox(0, "Error", "Unable to open file.")
Exit
EndIf
$file = FileRead($file1)
_GUICtrlListBox_BeginUpdate($list)
Do
$check = $check+1
$opennum = _StringBetween($file,"[ID="&$check&"#","]")
If @error Then
$num = 0
Else
$user = _StringBetween($opennum[0],"USER=","#")
$points = _StringBetween($opennum[0],"P=","#")
_GUICtrlListBox_AddString($list,$points[0]&"#"&$user[0])
;MsgBox(0,"dhdh",$user[0])
Endif
Until $num = 0
_GUICtrlListBox_EndUpdate($list)
_GUICtrlListBox_Sort($list)
MsgBox(4160, "Information", "Item 5 Text: " & _GUICtrlListBox_GetText($list, 1))
MsgBox(0,"passt",GUICtrlRead($list))
While 1
WEnd
FileClose($file1)
naja danke schonmal für die hilfe die ihr mir geben könnt.
MfG reeZZer