Größer als Zeichen in Autoit spinnt!?

11/21/2010 18:05 V8II#1
Hi elitepvpers,
Ich habe in den vergangennen Wochen ein kleines großes Gui-Strategie Spiel gebastelt, das mein Bruder und mein Nachbar spielen. Heute habe ich eine "online-Zone" hinzugefügt, man kannn den höchsten Highscore über einen TCP server einsehen und seinen eigenen absenden.
Wenn der Server eine zahl empfängt schreibt er sie in eine INI datei und vergleicht sie mit dem aktuellen Highscore , dazu habe ich

PHP Code:
$2=IniRead("log.ini","Score","Score1","")
If 
$receivedData>$2 Then
        IniWrite
("log.ini","Score","Score1",$receivedData)
        
$sendtext2="Du bist der neue Highscore-Führer!"
            
$socket2 TCPConnect("127.0.0.1"4322
$sendedBytes2 TCPSend($socket2$sendtext2
TCPCloseSocket($socket2)
    Else
        
$sendtext3="Der aktuelle Highscore ist höher als deiner!"
            
$socket3TCPConnect("127.0.0.1"4322
$sendedBytes3 TCPSend($socket3$sendtext3
TCPCloseSocket($socket3)
EndIf 
Verwendet. Dabei wird auch gleich eine nachricht an den absender geschickt, der ohne es zu wissen einen kleinen empfänger server mitführt.
Seid heute bekomme ich einen seltsamen Fehler. Selbst wenn der abgeschickte highscore größer ist, bekommt man die meldung, das der aktuelle Score größer ist als der abgeschickte. Wenn ich das > umdrehe (<) dann nimmt er plötzlich jeden score auch wenn er kleiner ist!

Meine Frage : warum funkt das nicht mehr > bedeutet doch größer als !?

EDIT:
xD absolut mysteriös ich habe das > zeichen in einem anderen script erfolgreich getestet.
Ich habe das ganze auch schon so umgebaut, das der server nur noch die angekommenen werte in eine test section der ini datei schreibt und eine zusätzlich laufende datei die werte auslest und vergleicht:
lustigerweise meint die datei das der wert in der test section immer größer ist. Ich habe einenn Score von 8 abgeschickt obwohl 130 führend war hats 8 in den highscore (Score1) reingeschrieben -.-
11/21/2010 19:01 ZeraPain#2
hm, also ich verstehe weder dein script so ganz, noch deine logik...

wieso ist denn receiveddata bei dir das auslesen einer inidatei?
sollte das nicht eher mit tcprecv funktionieren?

des weiteren sollte man tcpstartup und tcpconnect nur 1 mal am scriptanfang benutzen, wenn es jedes mal auf die gleiche ip geht. (tcpclosesocket ist unnötig)
am besten du erstellst dir pakete mit opcodes, die dann ggf. text oder score ausgeben.

probier man deine "werte" in int zu konvertieren (also mit Int())
am größerzeichen wird es bestimmt nicht liegen ;-)