|
@@ -180,6 +180,51 @@ Text *MinigameClient::getAccountName( int id )
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+// Gibt eine geheime zeichenkette die nur der client kennt zurück (ist bei spielstart)
|
|
|
+Text *MinigameClient::getSecret()
|
|
|
+{
|
|
|
+ cs.lock();
|
|
|
+ if( !k )
|
|
|
+ {
|
|
|
+ if( !verbinde() )
|
|
|
+ {
|
|
|
+ err = "Der Client ist nicht verbunden.";
|
|
|
+ cs.unlock();
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ k->sendeEncrypted( "\xD", 1 );
|
|
|
+ char ret = 0;
|
|
|
+ k->getNachrichtEncrypted( &ret, 1 );
|
|
|
+ if( ret == 1 )
|
|
|
+ {
|
|
|
+ unsigned char l = 0;
|
|
|
+ k->getNachrichtEncrypted( (char*)&l, 1 );
|
|
|
+ char *buff = new char[ l + 1 ];
|
|
|
+ buff[ l ] = 0;
|
|
|
+ k->getNachrichtEncrypted( buff, l );
|
|
|
+ cs.unlock();
|
|
|
+ Text *ret = new Text( buff );
|
|
|
+ delete[] buff;
|
|
|
+ return ret;
|
|
|
+ }
|
|
|
+ if( ret == 3 )
|
|
|
+ {
|
|
|
+ char l = 0;
|
|
|
+ k->getNachrichtEncrypted( &l, 1 );
|
|
|
+ char *fehler = new char[ l + 1 ];
|
|
|
+ fehler[ l ] = 0;
|
|
|
+ k->getNachrichtEncrypted( fehler, l );
|
|
|
+ err = fehler;
|
|
|
+ delete[] fehler;
|
|
|
+ cs.unlock();
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ err = "Unbekannter Fehler";
|
|
|
+ cs.unlock();
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
// Ermittelt die liste mit allen Optionen zu einem Minigame zurück, zu denen es Welt beste Scores gibt
|
|
|
// mName: Der Name des Minigames
|
|
|
// zOptionList: Enthält nach erfolgreichem Aufruf eine Liste mit Optionen
|