Alles anzeigenocmd:usegutschein(playerid, params[])
{
new gutscheinid, string[256];
if(sscanf(params, "d", gutscheinid)) return SendClientMessage(playerid, COLOR_ERRORTEXT, "Benutze: /usegutschein [GutscheinCode]");
for(new g = 0; g <MAX_GUTSCHEINE; g++)
{
if(gutscheinid != Gutschein[g][gCode]) continue;
if(Gutschein[g][gUsed] == 1) return SendClientMessage(playerid, COLOR_ERRORTEXT, "Dieser Code wurde bereits aktiviert.");
if(Gutschein[g][gAktion] == 1)
{
ShowPlayerDialog(playerid, DIALOG_GNAMECHANGE, DIALOG_STYLE_INPUT, "Gutschein einlösen: Namenschange", "Bitte gib deinen neuen Wunschnamen ein:", "Change", "Abbrechen");
SetPVarInt(playerid, "g", g);
/*Gutschein[g][gUsed] = 1;
SendClientMessage(playerid, COLOR_WHITE, "Namensänderung");
format(string, sizeof(string), "UPDATE `gutscheine` SET `gUsed` = '1', `gUsedBy` = '%s' WHERE gCode = '%d'", SpielerName(playerid), Gutschein[g][gCode]);
self_mysql_query(string);*/
}
return 1;
}
return SendClientMessage(playerid, COLOR_ERRORTEXT, "Dieser Code existiert nicht!");
}
if(dialogid == DIALOG_GNAMECHANGE)
{
if(strlen(inputtext) > 24) return SendClientMessage(playerid, COLOR_ERRORTEXT, "Der Name darf nicht mehr als 24 Zeichen und nur Zeichen von A-Z, 0-9 besitzen!");
if(mysql_CheckAccount(inputtext) == 1) return SendClientMessage(playerid, COLOR_ERRORTEXT, "Der Name ist bereits in der Datenbank vorhanden!");
new g = GetPVarInt(playerid, "g");
if(strcmp(PlayerInfo[playerid][pOldName], "Niemand", true) == 0) return strmid(PlayerInfo[playerid][pOldName], giveplayer, 0, strlen(giveplayer), 255);
Gutschein[g][gUsed] = 1;
SetPlayerName(playerid, inputtext);
format(string, sizeof(string), "Du hast deinen Namen von %s auf %s geändert.", giveplayer, SpielerName(playerid));
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
SendClientMessage(playerid, COLOR_WHITE, "Wichtig: Ändere nach dem Logout deinen Namen im Multiplayer Clienten zu deinem neuen Namen.");
format(string, sizeof(string), "UPDATE `users` SET `Name`='%s' WHERE `Name`='%s'", SpielerName(playerid), giveplayer);
self_mysql_query(string);
format(string, sizeof(string), "UPDATE `gutscheine` SET `gUsed` = '1', `gUsedBy` = '%s' WHERE gCode = '%d'", SpielerName(playerid), Gutschein[g][gCode]);
self_mysql_query(string);
return 1;
}
Das kannst du dir wie einen Koffer vorstellen, in den Koffer "g" wird der Wert von g gepackt, und den nehmen wir zum Dialog mit, und schreiben ihn praktischerweise wieder in die Variable g, aus dem Koffer "g".
Und wieder ein Problem.. oh je^^ und zwar wenn ich den Server Restarte, oder das Spiel verlasse und neu Joine, will ich einen unbenutzten Gutschein Code eingeben, bekomme dann aber die Meldung der Code existiert nicht (existiert aber) - total komisch - Code ist wie oben im Zitat