dafür ein tut zu schreiben ist nicht so einfach, da es halt darauf ankommt wie du deine jobs geschrieben hast....
ich z.b. vergebe jobid´s das heißt wenn einer einen job annimmt hat er halt eine bestimmte jobid diese speicher ich dann in seiner Spieler Datei ab wenn du das auch so gemacht hast bzw. so abänderst kann ich dir helfen.....
also als musst du dir überlegen wann der payday immer kommen soll. Ich nehm jetzt einfach mal 1 Stunde.
Um rauszugriegen wie lange der Spieler schon spielt musst du als erstes in seine Spielerdatei follgendes schreiben lassen:
Stunden, Minuten
hierzu ein auszug aus meinem Cod:
dini_IntSet(save, "Stunden", 0);
dini_IntSet(save, "Minuten", 0);
ok ich hoffe du kennst dich mit dini aus....
als nächstes musst du schauen wie lange der spieler spielt das machst du am besten mit hilfe einer Function und einem Timer
new TimeTimer;
brauchen wir um den Timer zu deffinieren bzw. um ihn wieder zu löschen
public OnGameModeInit()
{
TimeTimer = SetTimer("TimeFunction", 60000, true);
}
das bedeutet er soll die Function "TimeFunction" alle 60000 millisekunden == 60 sekunden aufrufen. Das true steht dafür dass er den Timer solange wiederholen soll bis wir ihn abbrechen.
public OnGameModeExit ()
{
KillTimer(TimeTimer);
}
damit brechen bzw. löschen wir den Timer.
als nächstes müssen wir die function schreiben:
ich zeig dir jetzt einfach mein beispiel und erklär es dir anschließend
public TimeFunction(playerid)
{
for(new i = 0; i <= MAX_PLAYERS; i++)
{
GetPlayerName(i, name, sizeof(name));
format(save, sizeof(save), "Spieler/%s.ini", name);
new oldminute = dini_Int(save,"Minuten");
new oldstunde = dini_Int(save,"Stunden");
new newminute = oldminute +1;
if(newminute == 60)
{
new newstunde = oldstunde +1;
dini_IntSet(save, "Minuten", 0);
dini_IntSet(save, "Stunden", newstunde);
}
else
{
dini_IntSet(save, "Minuten", newminute);
}
}
return 1;
}
also die for schleife brauchen wir, dass das ganze bei allen Spielern und nicht nur bei einem Spieler functioniert.
bei fromat(save, sizeof(save), "Spieler/%s.ini", name); musst du halt deine Daten eingeben wo deine SpielerDatei eben gespeichert wird.
als nächstes lese ich eben die Stunden und minuten aus und überprüfe ob es schon 60 sind, wenn ja soll er bei stunde eins dazutund und bei minuten 0 eintragen. Sollten es noch keine 60 Minuten sein z.b. nur 44 Minuten dann schreibt er einfach eine Minute mehr rein.
Nun kannst du bei deinen PayDay dazuschreiben:
einfach in die if abfrage wo er abfrägt ob es schon 60 sind mit rein. Dann kannst du abfragen welche Job id er hat und wenn er null hat dann soll er eben so und so viel arbeitslosengeld bekommen. Wenn du willst dass er das erst beantragen muss, dann mach das arbeitslosengeld einfach auf die jobid 1.
Also das war mein erstes Tut das ich geschrieben hab
Bitte achte nicht auf die Rechtschreibfehler.....und wenn du noch fragen hast frag einfach.....
ich hoffe ich konnte dir helfen
mfg The_OTTO