Hey Brotfischer
ich hab ein "kleines" Problem^^
mein Payday funktioniert nicht mehr.
Eigentlich sollte es jeden freitag auszahlung geben, was es aber nicht tut.
Hier das System:
public Geld() {
new string[256];
if(GetTodayWeekdayNum()==5 && dUserINT("Member").("Freitag") == 0) {
print(" ");
print("Die Monatsausszahlung fand statt");
print(" ");
dUserSetINT("Member").("Freitag",1);
new MA = dUserINT("Member").("Memberanzahl");
new pname[256];
for(new i=0;i<MA;i++) {
format(tmpstring,sizeof(tmpstring),"Member%d",i);
pname = dUser("Member").(tmpstring);
if(udb_Exists(pname)) {
new pid = GetPlayerID(pname);
//dUserSet(pname).("konto",str (strval(dUser(pname).("konto")) + dUserINT(pname).("Auszahlung")));
dUserSetINT(pname).("Auszahlungsmenge",dUserINT(pname).("Auszahlung"));
dUserSetINT(pname).("Auszahlung",-1);
if(IsPlayerConnected(pid)) {
dUserSetINT(pname).("Auszahlung",0);
new leasingbetrag;
for(new s;s<200;s++) {
new hatleasing;
new ratenzahlung;
format(string,sizeof(string),"leasing%d",s);
ratenzahlung=strval(dUser(pname).(string));
ratenzahlung=ratenzahlung-1;
new string1[256];
if(ratenzahlung>0) {
format(string,sizeof(string),"%d",ratenzahlung);
format(string1,sizeof(string1),"leasing%d",s);
dUserSet(pname).(string1,string);
format(string,sizeof(string),"leasingbetrag%d",s);
hatleasing=strval(dUser(pname).(string));
if(hatleasing>0 && ratenzahlung>0) {
leasingbetrag=leasingbetrag+hatleasing;
}
if(ratenzahlung==1) {
format(string1,sizeof(string1),"leasingbetrag%d",s);
format(string,sizeof(string),"%d",0);
dUserSet(pname).(string1,string);
format(string,sizeof(string),"%d",0);
format(string1,sizeof(string1),"leasing%d",s);
dUserSet(pname).(string1,string);
}
}
}
GiveFirmaMoneyEx(dUserINT(pname).("Job"),-(dUserINT(pname).("grundgehalt")));
SendClientMessage(pid,COLOR_LIGHTBLUE,"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
format(tmpstring,sizeof(tmpstring),"Bankkonto: %d $",dUserINT(pname).("konto"));
SendClientMessage(pid,COLOR_YELLOW,tmpstring);
format(tmpstring,sizeof(tmpstring),"+ Grundgehalt: %d $",dUserINT(pname).("grundgehalt"));
SendClientMessage(pid,COLOR_GREEN,tmpstring);
format(tmpstring,sizeof(tmpstring),"+ Zuschuss vom Staat: %d $",dUserINT(pname).("unterstuetzung"));
SendClientMessage(pid,COLOR_GREEN,tmpstring);
format(tmpstring,sizeof(tmpstring),"+ Eigenverdienst: %d $",dUserINT(pname).("Auszahlungsmenge"));
SendClientMessage(pid,COLOR_GREEN,tmpstring);
format(tmpstring,sizeof(tmpstring),"- Ratenzahlungen: %d $",leasingbetrag);
SendClientMessage(pid,COLOR_RED,tmpstring);
new bankkonto;
bankkonto=strval(dUser(pname).("konto"));
bankkonto=bankkonto+dUserINT(pname).("grundgehalt")+dUserINT(pname).("unterstuetzung")+dUserINT(pname).("Auszahlungsmenge")-leasingbetrag;
format(string,sizeof(string),"%d",bankkonto);
dUserSet(pname).("konto",string);
format(tmpstring,sizeof(tmpstring),"= Neuer Kontostand: %d $",dUserINT(pname).("konto"));
SendClientMessage(pid,COLOR_YELLOW,tmpstring);
SendClientMessage(pid,COLOR_LIGHTBLUE,"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
}
}
}
} else {
if(GetTodayWeekdayNum() != 5 && dUserINT("Member").("Freitag") == 1) {
dUserSetINT("Member").("Freitag",0);
}
}
}
Hier die Uhr/Wochentagsbestimmtung:
stock GetTodayWeekday() {
new y,m,d;
getdate(y,m,d);
new day[16];
day = GetWeekday(d,m,y);
return day;
}
stock GetTodayWeekdayNum() {
new y,m,d;
getdate(y,m,d);
return GetWeekdayNum(d,m,y);
}
stock GetWeekday(d,m,y) {
new wd[7][16]= {
"Montag",
"Dienstag",
"Mittwoch",
"Donnerstag",
"Freitag",
"Samstag",
"Sonntag"
};
return wd[GetWeekdayNum(d,m,y)-1];
}
stock GetWeekdayNum(d,m,y) {
m-=2;
if(m<=0) {
y--;
m+=12;
}
new cen = y/100;
y=getrem(y,100);
new w = d + ((13*m-1)/5) + y + (y/4) + (cen/4) - 2*cen;
w=getrem(w,7);
if (w==0) w=7;
return w;
}
Ich hoffe ihr findet ne lösung