Hey.
Mein Paydaysystem buggt rum!
Also , es werden die Nachrichten 2x gesendet , und das mit den Levelpunkten buggt:
zB steht da "Dir fehlen noch 10 Levelpunkte bis Level 2" (Was schonmal nicht sein kann, da es 8 sein müssen! Level * 2 + 6)
Dann aufeinmal steht da dir fehlen noch 1 Levelpunkte bis Level 3!
public paydaytimer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
{
new Spieler[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
//if(PayDayZeit[playerid]<2700)
if(PayDayZeit[playerid]>0)
{
PayDayZeit[playerid]--;
dini_IntSet(Spieler,"Payday",PayDayZeit[playerid]);
}
else
{
new geld;
new gehalt;
new hartz4;
new levelbonus = GetPlayerScore(playerid)*300;
switch(dini_Int(Spieler,"Fraktionsrang"))
{
case 0: {gehalt = 2500;}
case 1: {gehalt = 4500;}
case 2: {gehalt = 6000;}
case 3: {gehalt = 7500;}
case 4: {gehalt = 12000;}
case 5: {gehalt = 15000;}
}
if(dini_Int(Spieler,"Hartz4")==1)
{
hartz4+=750;
}
else
{
hartz4=0;
}
geld=gehalt+hartz4+levelbonus;
GivePlayerMoney(playerid,geld);
SendClientMessage(playerid,Hellblau,"Payday");
dini_IntSet(Spieler,"Levelpunkte",dini_Int(Spieler,"Levelpunkte")+1);
new levelpunkteprolevel=GetPlayerScore(playerid)*2;
levelpunkteprolevel+=6;
new gehaltstring[128];
new hartz4string[128];
new levelbstring[128];
new levelustring[128];
new levelpstring[128];
format(gehaltstring,sizeof(gehaltstring),"Gehalt: %i€",gehalt);
format(hartz4string,sizeof(hartz4string),"Hartz IV: %i€",hartz4);
format(levelbstring,sizeof(levelbstring),"Levelbonus: %i€",levelbonus);
format(levelustring,sizeof(levelustring),"Glückwunsch! Du bist nun Level %i.",GetPlayerScore(playerid));
format(levelpstring,sizeof(levelpstring),"Dir fehlen noch %i Levelpunkte bis Level %i.",dini_Int(Spieler,"Levelpunkte"),GetPlayerScore(playerid)+1);
SendClientMessage(playerid,Hellblau,"|_______Payday_______|");
SendClientMessage(playerid,Weiss,gehaltstring);
if(hartz4>0)
{
SendClientMessage(playerid,Weiss,hartz4string);
}
SendClientMessage(playerid,Weiss,levelbstring);
SendClientMessage(playerid,Weiss,levelpstring);
if(dini_Int(Spieler,"Levelpunkte")>=levelpunkteprolevel)
{
SetPlayerScore(playerid,GetPlayerScore(playerid)+1);
SendClientMessage(playerid,Weiss,levelustring);
dini_IntSet(Spieler,"Levelpunkte",0);
}
PayDayZeit[playerid]=10;
}
}
}