Hallo alle zusammen
Ich habe gerade ein payday System gescriptet und es Funktioniert nicht richtige
Alos: jeder Spieler sollte sein eigenes PayDay bekommen alle 60 minuten und ich habe es so gescriptet
ich habe aber kein errors oder warnings drin nur wen ich 60 Minuten lang spiele und dann bekomme ich auch payday nur wen dann wieder ein Minute vergeht steht da du hast nicht lange genug gespeilt und das kommt dann jede Minute
2. Problem wen ich stats mache steht da wie lange ich noch bis zu nextem payday spielen muss aber es geht auch nicht richtig also wen ich ein stunde speile fangt es nicht wieder von 0 an sonder die zeit lauft weiter und wen ich mich reloge fangt es von neu an zu zahlen aber nur im /stats sonst speichert es alles richtig
und so habe ich das gemacht
new Spielzeit[MAX_PLAYERS];
forward Payday(playerid);
dann
OnPlayerConnect
Spielzeit[playerid] = 0;
dan habe ich das eingefügt
format(coordsstring, sizeof(coordsstring), "Deine Spielzeit beträgt %d Stunden",Spielzeit);
SendClientMessage(playerid, COLOR_GRAD5,coordsstring);
dann
OnGameModeInit
SetTimer("Payday",60000,1);
OnPlayerRegister
format(var, 32, "Payday=%d\n",Spielzeit[playerid]);fwrite(hFile, var);
OnPlayerUpdate
format(var, 32, "Payday=%d\n",Spielzeit[playerid]);fwrite(hFile, var);
OnPlayerLogin
if( strcmp( key , "Payday" , true ) == 0 ) { val = ini_GetValue( Data ); Spielzeit[playerid] = strval( val ); }
und ganz unten im gamemode
//payday
public Payday(playerid)
{
for (new i = 0; i < MAX_PLAYERS; i++)
{
Spielzeit[i]++;
if(Spielzeit[i] >= 59)
{
{
PayDay();
}
}
}
return 1;
}
so habe ich das gemacht kann mir einer sagen was ich falsch mache bitte
LG: The_Joe