Ich habe ein kleines problem, also ich habs jetz so gemacht,
Wo man das bei Menu auswählt.
public OnPlayerSelectedMenuRow(playerid, row)
{
new Menu:SpielerInMenu = GetPlayerMenu(playerid);
if(SpielerInMenu == SHMENU) {
switch(row) {
case 0: {
if(SpielerInfo[playerid][pPersonalausweis] == 0) {
if(SpielerInfo[playerid][pPersoBestellt] == 1) {
SendClientMessage(playerid,COLOR_SPECIALBLUE,"Sekretärin: {FFFFFF}Ihr Personalausweis ist noch nicht fertig.");
TogglePlayerControllable(playerid,1);
}
if(SpielerInfo[playerid][pPersoBestellt] == 0) {
SendClientMessage(playerid,COLOR_SPECIALBLUE,"Sekretärin: {FFFFFF}Ihr Personalausweis wird nun fertiggestellt, bitte kommen sie in 10 minuten wieder.");
SpielerInfo[playerid][pPersoBestellt] = 2;
SetTimerEx("PersoZeit",888,0,"u",playerid);
SpielerInfo[playerid][pPersoVerbleibendeZeit] = 3600;
TogglePlayerControllable(playerid,1);
}
if(SpielerInfo[playerid][pPersoBestellt] == 3) {
SendClientMessage(playerid,COLOR_SPECIALBLUE,"Sekretärin: {FFFFFF}Bitte schön, hier ist euer Personalausweis.");
SendClientMessage(playerid,COLOR_SPECIALBLUE,"Sekretärin: {FFFFFF}Mit /showperso können sie den Personalausweis anderen Spieler vorzeigen.");
SpielerInfo[playerid][pPersonalausweis] = 1;
TogglePlayerControllable(playerid,1);
}
}else {
SendClientMessage(playerid,COLOR_SPECIALBLUE,"Sekretärin: {FFFFFF}Sie haben bereits einen Personalausweis.");
TogglePlayerControllable(playerid,1);
}
TogglePlayerControllable(playerid,1);
}
}
}
TogglePlayerControllable(playerid,1);
return 1;
}
Dann habe ich das hier bei LoadPlayer
SpielerInfo[playerid][pPersoBestellt] = mysql_GetInt("accounts", "PersoBestellt", "Name", SpielerInfo[playerid][pSpieler]);
SpielerInfo[playerid][pPersoVerbleibendeZeit] = mysql_GetInt("accounts", "PersoVerbleibendeZeit", "Name", SpielerInfo[playerid][pSpieler]);
Dann habe ich das hier bei SavePlayer
mysql_SetInt("accounts", "PersoBestellt", SpielerInfo[playerid][pPersoBestellt], "Name", SpielerInfo[playerid][pSpieler]);
mysql_SetInt("accounts", "PersoVerbleibendeZeit", SpielerInfo[playerid][pPersoVerbleibendeZeit], "Name", SpielerInfo[playerid][pSpieler]);
Und bei dem Timer habe ich das Drinne...
public PersoZeit(playerid)
{
if(IsPlayerConnected(playerid) && SpielerInfo[playerid][pPersoBestellt] == 2) {
SpielerInfo[playerid][pPersoVerbleibendeZeit] --;
if(SpielerInfo[playerid][pPersoVerbleibendeZeit] < 1) {
SendClientMessage(playerid,COLOR_LIGHTRED,"[___LOS SANTOS STADTHALLE___]");
SendClientMessage(playerid,COLOR_SPECIALBLUE,"Dein Personalausweis ist fertig, du kannst den in der Stadthalle abhollen.");
}
}
return 1;
}
Doch, wenn ich 10min warte kommt da keine Nachricht...wisst ihr villt warum das so ist?...