Hallo, vor kurzem habe ich hier im Forum bereits gefragt wie ich das mache.. Hat ansich gepasst.. Nur funktioniert da überhaupt nichts
Das ist alles was mit meinem System zu tun hat:
stock FGehalt(playerid)
{
new pfad[20],rank[20];
format(rank,sizeof(rank),"%d",GetPlayerRank(playerid));
switch(PlayerInfo[playerid][pMember])
{
case 1: return format(pfad, 20, "/Gehalt/LSPD.ini");
case 2: return format(pfad, 20, "/Gehalt/ADAC.ini");
case 3: return format(pfad, 20, "/Gehalt/ARMY.ini");
case 4: return format(pfad, 20, "/Gehalt/RETTUNGSIENST.ini");
case 5: return format(pfad, 20, "/Gehalt/LCN.ini");
case 6: return format(pfad, 20, "/Gehalt/YAKUZA.ini");
case 7: return format(pfad, 20, "/Gehalt/REGIERUNG.ini");
case 8: return format(pfad, 20, "/Gehalt/HITMAN.ini");
case 9: return format(pfad, 20, "/Gehalt/CNN.ini");
case 10: return format(pfad, 20, "/Gehalt/TAXI.ini");
case 11: return format(pfad, 20, "/Gehalt/FAHRSCHULE.ini");
case 12: return format(pfad, 20, "/Gehalt/GROVESTREET.ini");
case 13: return format(pfad, 20, "/Gehalt/BALLAS.ini");
case 14: return format(pfad, 20, "/Gehalt/BIKER.ini");
case 15: return format(pfad, 20, "/Gehalt/AZTECAS.ini");
case 16: return format(pfad, 20, "/Gehalt/TERROR.ini");
}
return dini_Int(pfad,rank);
}
ocmd:setfgehalt(playerid,params[])
{
new rang[5], gehalt, pfad[20], str[128];
if(PlayerInfo[playerid][pLeader] >= 1 || PlayerInfo[playerid][pAdmin] >= 4)
{
if(sscanf(params,"ii",rang, gehalt)) return SendClientMessage(playerid, knallrot, "Benutzung: /setfgehalt [Rang] [Gehalt]");
switch(PlayerInfo[playerid][pLeader])
{
case 1: return format(pfad, 20, "/Gehalt/LSPD.ini");
case 2: return format(pfad, 20, "/Gehalt/ADAC.ini");
case 3: return format(pfad, 20, "/Gehalt/ARMY.ini");
case 4: return format(pfad, 20, "/Gehalt/RETTUNGSIENST.ini");
case 5: return format(pfad, 20, "/Gehalt/LCN.ini");
case 6: return format(pfad, 20, "/Gehalt/YAKUZA.ini");
case 7: return format(pfad, 20, "/Gehalt/REGIERUNG.ini");
case 8: return format(pfad, 20, "/Gehalt/HITMAN.ini");
case 9: return format(pfad, 20, "/Gehalt/CNN.ini");
case 10: return format(pfad, 20, "/Gehalt/TAXI.ini");
case 11: return format(pfad, 20, "/Gehalt/FAHRSCHULE.ini");
case 12: return format(pfad, 20, "/Gehalt/GROVESTREET.ini");
case 13: return format(pfad, 20, "/Gehalt/BALLAS.ini");
case 14: return format(pfad, 20, "/Gehalt/BIKER.ini");
case 15: return format(pfad, 20, "/Gehalt/AZTECAS.ini");
case 16: return format(pfad, 20, "/Gehalt/TERROR.ini");
}
if(!fexist(pfad)) return dini_Create(pfad);
format(rang,sizeof(rang),"%d",rang);
dini_IntSet(pfad, rang, gehalt);
format(str,sizeof(str),"Du hast das Gehalt deiner Fraktion für den Rang '%i' auf '%i' geändert",rang,gehalt);
SendClientMessage(playerid,COLOR_LIGHTBLUE,str);
return 1;
}
SendClientMessage(playerid, knallrot,"Du bist kein Leader oder Admin!");
return 1;
}
ocmd:setsteuern(playerid,params[])
{
if(PlayerInfo[playerid][pLeader] == 7 || PlayerInfo[playerid][pAdmin] == 4)
{
new pfad[20],str[128],steuern;
if(sscanf(params,"i",steuern)) return SendClientMessage(playerid,knallrot,"Benutzung: /setsteuern [Steuern in %]");
if(steuern < 1 || steuern > 100) return SendClientMessage(playerid,knallrot,"[FEHLER]: Der Steuersatz kann nicht unter 1%% und über 100%% liegen");
format(pfad,20,"/Steuern.ini");
if(!fexist(pfad)) return dini_Create(pfad);
format(steuer,sizeof(steuer),"1");
dini_IntSet(pfad,steuer,steuern);
format(str,sizeof(str),"Du hast die Steuern auf %d % gestellt",steuern);
SendClientMessage(playerid,COLOR_LIGHTBLUE,str);
}
else
{
SendClientMessage(playerid,knallrot,"Du bist nicht der Präsident oder ein Admin");
return 1;
}
return 1;
}
ocmd:showfgehalt(playerid,params[])
{
new str[128];
format(str,sizeof(str),"Du verdienst derzeit %d % durch die Fraktion",FGehalt(playerid));
SendClientMessage(playerid,COLOR_LIGHTBLUE,str);
return 1;
}
ocmd:showsteuern(playerid,params[])
{
new str[128];
format(str,sizeof(str),"Du hast derzeit einen Steuersatz von %d %",Steuern(playerid)*100);
SendClientMessage(playerid,COLOR_LIGHTBLUE,str);
return 1;
}
stock Steuern(playerid)
{
if(PlayerInfo[playerid][pDonateRank] == 1)
{
format(steuer,sizeof(steuer),"1");
return dini_Int("Steuern.ini",steuer)/100 * 0,75;
}
else
{
format(steuer,sizeof(steuer),"1");
return dini_Int("Steuern.ini",steuer)/100;
}
}
Und hier ist ein Screen was passiert: (/setfgehalt passiert garnichts, es kommt nichtmal die Client Message dass ich es verändert habe)
http://www.pic-upload.de/view-23300490/sa-mp-130.png.html
Dann mein zweites Problem ist mein PayDay System.. Ich bekomme immer wenn ich mich einlogge meinen Payday...
Alles was zum PayDay System gehört:
PlayerInfo[playerid][pPDTime] = 60000;
pdv[playerid] = 60; //OnPlayerRegister
SetTimerEx("PayDay",PlayerInfo[playerid][pPDTime],0,"i",playerid); //OnPlayerLogin
public PayDay(playerid)
{
if(pdv[playerid] == 0)
{
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du hast deinen PayDay bekommen! Rufe ihn mit '/payday' auf");
lpd[playerid] = 1;
PlayerInfo[playerid][pPDTime] = 60000;
return 1;
}
else
{
pdv[playerid]--;
return 1;
}
}
ocmd:payday(playerid,params[])
{
if(lpd[playerid] == 1)
{
ShowPayDay(playerid);
}
else
{
SendClientMessage(playerid,knallrot,"Du kannst dir keinen PayDay anzeigen lassen!");
}
}
ocmd:givepayday(playerid,params[])
{
if(PlayerInfo[playerid][pAdmin] >= 4)
{
new pID;
if(sscanf(params,"i",pID)) return SendClientMessage(playerid,knallrot,"Benutzung: /givepayday [PlayerID]");
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du hast dem Spieler seinen PayDay gegeben");
SendClientMessage(pID,COLOR_LIGHTBLUE,"Du hast deinen PayDay von einem Admin bekommen");
PlayerInfo[pID][pPDTime] = 0;
return 1;
}
return 1;
}
stock ShowPayDay(playerid)
{
new str[128],string[128],stri[128],psteuern[20];
if(ObdachlosenSpawn[playerid] == 1)
{
strcat(str,"Obdachlosen Spawn: 200$");
}
switch(PlayerInfo[playerid][pAdmin])
{
case 1:{ strcat(str,"Supporter Gehalt: 1.000$"); PlayerInfo[playerid][pAccount]+= 1000;}
case 2:{ strcat(str,"Moderator Gehalt: 2.000$"); PlayerInfo[playerid][pAccount]+= 2000;}
case 3:{ strcat(str,"Administrator Gehalt: 4.000$"); PlayerInfo[playerid][pAccount]+= 4000;}
case 4:{ strcat(str,"Head Administrator Gehalt: 8.000$"); PlayerInfo[playerid][pAccount]+= 8000;}
case 5:{ strcat(str,"Server Owner Gehalt: 16.000$"); PlayerInfo[playerid][pAccount]+= 16000;}
}
if(PlayerInfo[playerid][pMember] >= 1)
{
format(string,sizeof(string),"Fraktions Gehalt: %d",FGehalt(playerid));
strcat(str,string);
}
format(stri,sizeof(stri),"Steuer: %d%%",Steuern(playerid));
strcat(str,stri);
psteuern[playerid] = FGehalt(playerid) * Steuern(playerid);
earn[playerid] = FGehalt(playerid)*Steuern(playerid) + pjearn[playerid];
PlayerInfo[playerid][pAccount]+= earn[playerid];
FraktionsKasse[7] += psteuern[playerid];
steuerein += psteuern[playerid];
lpd[playerid] = 0;
ShowPlayerDialog(playerid,DIALOG_PAYDAY,DIALOG_STYLE_MSGBOX,"Payday",str,"Schließen","Schließen");
return 1;
}
Ich hab grad 2 Stunden probiert das zu fixxen aber ich find keinen Fehler