Beiträge von Simon2202

    Was funktioniert dort ? Wäre gut wenn du erläuterst wo das Problem genau liegt ?


    Erstmal, kannst du das alles in einen format zusammen fassen..
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,sizeof(pname));
    format(str,sizeof(str),"%s{FAF30A}Finanzen{FFFFFF}:\nBargeld: %d$\nBankguthaben:%d\nBankPIN: %d\nKreditkarte: %d\n",pname,GetPoint(cash),GetPoint,(account),bankpin,kreditcard);


    Jetzt Frage ich mich jedoch, wie du den Namen ausgibst ? ich schätze mal du willst den Namen dessen vor "Finanzen" schreiben der das ganze Aufruft, wenn ja hab ichs oben gleich rein geschrieben.
    Dann würde ich bitte noch gerne sehen wie du bankip und kreditcard definiert hast..
    Außerdem soweit ich weiß muss es "sizeof(str)" sein und nicht "sizeof str" also mit klammer.
    Und du hast Bargeld und Bankguthaben als string ausgeben lassen und hattest davor 2 %%, das würde dann eigentlich nur % ausgeben... Es sollte so passen, sry falls ich falsch verstanden habe wozu du das brauchst.

    Ok, danke an euch alle :) Habt ihr vielleicht auch eine Lösung für das am Screen?
    Dass bei /setsteuern zwar die Meldung kommt aber mit der komischen Zeichenkette hinten dran?
    Und mir bei /showsteuern die Steuern nicht angezeigt werden ? :/
    Ich hab eure Version nicht nicht ausprobiert ^^ Falls ihr das gleich gefixxt hattet, tuts mir leid für die Frage


    */edit


    Habe mal die Version ins Script eingefügt:
    1. Ansich sehr gute Arbeit von euch, danke!
    2. Aber bei dem Stock:


    stock Steuern(playerid){
    new Float:erg = 100*0.75;
    if(PlayerInfo[playerid][pDonateRank]==1)return dini_Int("/Steuern.ini",1/erg);
    return dini_Int("/Steuern.ini",steuer/100);
    }


    Gibt es paar Fehler ^^ Ich weiß nicht ob ich es vlt schlecht erklärt habe, dann tut es mir leid..
    Der Premium User soll 75% der eigentlichen Steuern bezahlen.
    Außerdem spuckt er mir errors aus bei "1/erg" und "steuer/100"
    Richtig, zumindest ohne Errors gehört es so:


    stock Steuern(playerid){
    if(PlayerInfo[playerid][pDonateRank]==1)return dini_Int("/Steuern.ini",steuer)/100 * 0,75;
    return dini_Int("/Steuern.ini",steuer)/100;
    }


    Das problem ist, dass er bei deiner Version 75% Steuern bezahlen würde..
    Als Beispiel:
    Der Präsident setzt die Steuern auf 10, dann ist in der Datei 10 als Steuer gespeichert. Wenn er die Steuer jetzt ausliest wird diese durch "erg" dividiert. erg = 100*0,75. 100*0,75 = 75.
    Wenn die Steuern 10% betragen soll der Premium User nur 7,5% bezahlen. Wenn wir die 10% jetzt dividieren muss logischerweise beim Normalen User 0,1 heraus kommen und beim Premium User 0,075. Jedoch wenn man 10*erg rechnet, also 10 * 100 *0,75, dann bekommt man 750.. Was somit um das 10000 Fache zu viel ist ^^, falls ich einen Fehler habt sagt es mir ruhig :) Das war nur das was ich gerade nachgerechnet hab



    */edit 2
    Und StarDrink, ich hab das Payday System jetzt so umgeschrieben dass es zu mir passt, danke, aber wozu braucht man bei deinem Timer das "pimerday" ? Ich hab es auf "ppdtime" geändert aber sonst verwendest du es nirgends..



    */edit 3
    ocmd:setfgehalt(playerid,params[])
    {
    new rang,gehalt,pfad[20],str[128];
    if(PlayerInfo[playerid][pLeader]<1||PlayerInfo[playerid][pAdmin]<4)return SendClientMessage(playerid,knallrot,"Du bist kein Leader oder Admin!");
    if(sscanf(params,"ii",rang,gehalt))return SendClientMessage(playerid,knallrot,"Benutzung: /setfgehalt [Rang] [Gehalt]");
    switch(PlayerInfo[playerid][pLeader])
    {
    case 1:format(pfad,20,"/scriptfiles/Gehalt/LSPD.ini");
    case 2:format(pfad, 20, "/scriptfiles/Gehalt/ADAC.ini");
    case 3:format(pfad, 20, "/scriptfiles/Gehalt/ARMY.ini");
    case 4:format(pfad, 20, "/scriptfiles/Gehalt/RETTUNGSIENST.ini");
    case 5:format(pfad, 20, "/scriptfiles/Gehalt/LCN.ini");
    case 6:format(pfad, 20, "/scriptfiles/Gehalt/YAKUZA.ini");
    case 7:format(pfad, 20, "/scriptfiles/Gehalt/REGIERUNG.ini");
    case 8:format(pfad, 20, "/scriptfiles/Gehalt/HITMAN.ini");
    case 9:format(pfad, 20, "/scriptfiles/Gehalt/CNN.ini");
    case 10:format(pfad, 20, "/scriptfiles/Gehalt/TAXI.ini");
    case 11:format(pfad, 20, "/scriptfiles/Gehalt/FAHRSCHULE.ini");
    case 12:format(pfad, 20, "/scriptfiles/Gehalt/GROVESTREET.ini");
    case 13:format(pfad, 20, "/scriptfiles/Gehalt/BALLAS.ini");
    case 14:format(pfad, 20, "/scriptfiles/Gehalt/BIKER.ini");
    case 15:format(pfad, 20, "/scriptfiles/Gehalt/AZTECAS.ini");
    case 16:format(pfad, 20, "/scriptfiles/Gehalt/TERROR.ini");
    }
    if(!fexist(pfad))return dini_Create(pfad);
    format(str,128,"%d",rang);
    dini_IntSet(pfad,str,gehalt);
    format(str,128,"Du hast das Gehalt deiner Fraktion für den Rang '%i' auf '%i' geändert!",rang,gehalt);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,str);
    return 1;
    }


    So hab ichs jetzt.. Es passiert trotzdem garnichts

    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 :/

    Könnte ich das so machen? oder habe ich den einsatz von strcat falsch verstanden?


    public PayDay(playerid)
    {
    new str[128],string[128],stri[128];
    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);
    }
    if(PlayerInfo[playerid][pDonateRank] == 1)
    {
    format(stri,sizeof(stri),"Steuer: %d%%",Steuern(playerid));
    strcat(str,stri);
    }
    earn[playerid] = FGehalt(playerid)*Steuern(playerid);
    PlayerInfo[playerid][pAccount]+= earn[playerid];
    ShowPlayerDialog(playerid,DIALOG_PAYDAY,DIALOG_STYLE_MSGBOX,"Payday",str,"Schließen","Schließen");
    return 1;
    }

    Hallo, ich hab eine generelle Frage eigentlich, das Problem habe ich derzeit aber bei meinem PayDay System.
    Ich hab eben verschiedene Variablen, zum Beispiel habe ich drinnen:


    Einen Obdachlosen Spawn: Kosten 200 Doller pro PayDay
    Admin Gehalt: Mit jedem Admin Level unterschiedlich
    Fraktion Gehälter: individuell einstellbar


    Das ist mein Public:
    public PayDay(playerid)
    {
    new str[128];
    if(ObdachlosenSpawn[playerid] == 1)
    {
    format(str,sizeof(str),"Gehalt(Brutto): %d Gehalt(Netto): \n%d Steuern: %d%% Obdachlosen Heim: 200$",FGehalt(playerid),earn[playerid],Steuern(playerid));
    PlayerInfo[playerid][pAccount]=- 200;
    }
    switch(PlayerInfo[playerid][pAdmin])
    {
    case 1:{ format(str,sizeof(str),"Gehalt(Brutto): %d Gehalt(Netto): \n%d Steuern: %d%% Supporter Gehalt: 1.000$",FGehalt(playerid),earn[playerid],Steuern(playerid)); PlayerInfo[playerid][pAccount]+= 1000;}
    case 2:{ format(str,sizeof(str),"Gehalt(Brutto): %d Gehalt(Netto): \n%d Steuern: %d%% Moderator Gehalt: 2.000 ",FGehalt(playerid),earn[playerid],Steuern(playerid)); PlayerInfo[playerid][pAccount]+= 2000;}
    case 3:{ format(str,sizeof(str),"Gehalt(Brutto): %d Gehalt(Netto): \n%d Steuern: %d%% Administrator Gehalt: 4.000$",FGehalt(playerid),earn[playerid],Steuern(playerid)); PlayerInfo[playerid][pAccount]+= 4000;}
    case 4:{ format(str,sizeof(str),"Gehalt(Brutto): %d Gehalt(Netto): \n%d Steuern: %d%% Head Administrator Gehalt: 8.000$",FGehalt(playerid),earn[playerid],Steuern(playerid)); PlayerInfo[playerid][pAccount]+= 8000;}
    case 5:{ format(str,sizeof(str),"Gehalt(Brutto): %d Gehalt(Netto): \n%d Steuern: %d%% Server Owner Gehalt: 16.000$",FGehalt(playerid),earn[playerid],Steuern(playerid)); PlayerInfo[playerid][pAccount]+= 16000;}
    }
    earn[playerid] = FGehalt(playerid)*Steuern(playerid);
    PlayerInfo[playerid][pAccount]+= earn[playerid];
    ShowPlayerDialog(playerid,DIALOG_PAYDAY,DIALOG_STYLE_MSGBOX,"Payday",str,"Schließen","Schließen");
    return 1;
    }


    Ich will jetzt meinen str formatieren, dass nur das Angezeigt was man auch wirklich hat.
    Zum Beispiel, wenn er einen Obdachlosen Spawn hat, dass das im String angezeigt wird und wenn nicht eben nicht :/
    Ansich natürlich mit If abfragen, aber das werden dann ja sehr viele Abfragen.. Er kann ja gleichzeitig admin sein und in einer Frak, oder nur admin, Frak und den Obdachlosen Spawn, ich glaube ihr versteht was ich meine..


    Danke für die Antworten, wenn welche kommen.

    Sry, hatte vergessen die deklinationen zu posten ^^
    ich hab ganz oben im script:
    new steuer[MAX_PLAYERS];
    new earn[MAX_PLAYERS];


    Das sind die Errors, wenn ich deine Version nehme die du gerade geschrieben hast aber ich hab dein "new steuer[20]" raus genommen:
    Zeile (46976) : Unbekannte Variable : "dini_GetInt"
    Zeile (47032) : Unbekannte Variable : "dini_GetInt"
    Zeile (47037) : Unbekannte Variable : "dini_GetInt"


    Hier sind die markierten Zeilen:


    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_GetInt(pfad,rank); // Erster Error
    }stock Steuern(playerid)
    {
    if(PlayerInfo[playerid][pDonateRank] == 1)
    {
    format(steuer,sizeof(steuer),"1");
    dini_GetInt("/Steuern.ini",steuer); //zweiter Error
    }
    else
    {
    format(steuer,sizeof(steuer),"2"); // 2?
    dini_GetInt("/Steuern.ini",steuer); //dritter Error
    }
    return 1;
    }

    Ok, danke jetzt hab ich plötzlich eine komische Error Meldung.. Bzw 3..
    Er zeigt mir jetzt bei allen dini_GetInt, dass es eine Unbekannte Variable ist..


    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_GetInt(pfad,rank);
    }


    ocmd:setfgehalt(playerid,params[])
    {
    new rang[5], gehalt, pfad[20], str[128];
    if(PlayerInfo[playerid][pLeader] < 1 || PlayerInfo[playerid][pAdmin] < 4) return SendClientMessage(playerid, knallrot,"Du bist kein Leader oder Admin!");
    if(sscanf(params,"ii",rang, gehalt)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, "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;
    }


    ocmd:setsteuern(playerid,params[])
    {
    if(PlayerInfo[playerid][pLeader] == 7 || PlayerInfo[playerid][pLeader] == 4)
    {
    new pfad[20],str[128],steuern;
    if(sscanf(params,"i",steuern)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"Benutzung: /setsteuern [Steuern in %]");
    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");
    SendClientMessage(playerid,COLOR_LIGHTBLUE,str);
    }
    return 1;
    }


    stock Steuern(playerid)
    {
    if(PlayerInfo[playerid][pDonateRank] == 1)
    {
    dini_GetInt("/Steuern.ini",steuer);
    }
    else
    {
    dini_GetInt("/Steuern.ini",steuer);
    }
    return 1;
    }
    public PayDay(playerid)
    {
    if(ObdachlosenSpawn[playerid] == 1)
    {
    PlayerInfo[playerid][pAccount]=- 200;
    }
    earn[playerid] = FGehalt(playerid)*Steuern(playerid);
    PlayerInfo[playerid][pAccount]+= earn[playerid];
    return 1;
    }



    Das ist alles für mein Payday und Gehalt, Steuer System...

    Alles in allem hat Jeffry komplett recht mit seiner Aussage, außerdem habe ich selbst Erfahrung mit seinen Fähigkeiten im Bereich des Scriptens machen dürfen und kann somit sagen, dass es eindeutig fähig ist. Also bitte hör auf hier Dinge beweisen zu wollen die einfach nicht da sind.. Jeffry hat einfach komplett Recht.

    Ah, ok danke :)
    Falsch ist es dann aber trotzdem, dass das 1ms sein soll...


    Danke an alle! hat mir sehr geholfen!


    meine letzte frage, für die ich keinen Thread aufmachen will, ist, dass ich das jetzt gelernte auf ein Steuer System umlegen wollte, dass der Präsident die Steuern ändern kann.
    Ich habe das so gemacht: (Befehl und Steuer abfrage)
    Jedoch bekomme ich einen Error (Zeile ist markiert)
    ocmd:setsteuern(playerid,params[])
    {
    if(PlayerInfo[playerid][pLeader] == 7 || PlayerInfo[playerid][pLeader] == 4)
    {
    new pfad[20],str[128],steuern[20],was[20];
    if(sscanf(params,"i",steuern)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"Benutzung: /setsteuern [Steuern in %]");
    format(pfad,20,"/Steuern.ini");
    if(!fexist(pfad)) return dini_Create(pfad);
    format(steuern,sizeof(steuern),"%d",steuern);
    format(was,sizeof(was),"1");
    dini_IntSet(pfad,was,steuern);//Falscher Variablentyp als Parameter (Parameter #3)
    format(str,sizeof(str),"Du hast die Steuern auf %d% gestellt");
    SendClientMessage(playerid,COLOR_LIGHTBLUE,str);
    }
    return 1;
    }


    stock Steuern(playerid)
    {
    return dini_GetInt("/Steuern.ini",was);
    }

    Erstmal danke, ihr habt mir alle sehr geholfen!
    Eine letzte Frage habe ich, die gehört nicht ganz dazu aber dazu will ich keinen neuen Thread aufmachen.
    Ich speichere die Anzahl der gespielten Minuten, damit man beim neuen loggin nicht von 60 starten muss.
    Unter OnPlayerLogin habe ich das:


    new str[10];
    format(str,sizeof(str),"%i",PlayerInfo[playerid][pPDTime]);
    SetTimerEx("PayDay",str,1,"i",playerid);


    Beim Loggout wird "PlayerInfo[playerid][pPDTime]" gespeichert.. angenommen die ist in dem falle 32 000
    Dann will ich eben, dass dann steht: "SetTimerEx("PayDay",32000,1,"i",playerid);
    Jetzt wollte ich den string so formatieren, dass mir nur diese 32000 ausgegeben werden..


    Ich bekomme jedoch den Error, dass der zweite Parameter falsch ist, eben "str".


    Habe ich etwas falsch gemacht oder wie könnte ich das lösen?


    danke an alle!

    Ich habe probiert das so ab zu rufen.. würde das nicht eigentlich auch gehen ?
    Bei mir kommen 2 Errors bei den return 1;
    Und zwar, dass es eine unbekannte Funktion ist..



    stock GetPlayerRank(playerid)
    {
    switch(PlayerInfo[playerid][pRank])
    {
    case 1: return 1
    case 2: return 2
    case 3: return 3
    case 4: return 4
    case 5: return 5
    case 6: return 6
    case 7: return 7
    case 8: return 8
    return 1;
    }
    return 1; //Hier
    }
    stock FGehalt(playerid)
    {
    new pfad[20],rank[20];
    format(rank,sizeof(rank),"%d",GetPlayerRank(playerid);
    switch(PlayerInfo[playerid][pMember])
    {
    case 1: return format(pfad,sizeof(pfad),"/gehalt/LSPD.ini");
    case 2: return format(pfad,sizeof(pfad),"/gehalt/ADAC.ini");
    return 1;
    }
    dini_GetInt(pfad,rank);
    return 1; //Hier
    }


    Das wäre jetzt ein Beispiel für die erste Fraktion, LSPD

    Erstmal danke für die Antwort, aber ich hab bei dem format son problem..
    PlayerInfo[playerid][pRank] gibt doch den Rang desjenigen wieder der den Command ausführt oder ?
    Die Variable Rang sein soll ja angeben welchen Rang der Leader beim Befehl /setfgehalt [Rank] [Gehalt] angegeben hat...
    Oder verstehe ich das falsch ?


    Außerdem ist %d nicht ein Integer ?




    /* Edit


    Es funktioniert jetzt.
    Das ganze sieht so aus:
    new rang[5];


    und das format:


    format(rang,sizeof(rang),"%d",rang);


    Also danke @heyhoo
    Nun zu meiner letzten Frage, wie ich das ganze verwenden kann. Also sein Gehalt ausgeben kann?
    Die entsprechende Variable, das ist mir klar, jedoch bin ich mir nicht sicher wie ich diese aus Dini auslese.. Hab es in Google grade nicht gefunden.. Ich schreibe das gehalt ja hinein aber ich lese es nicht aus.. Oder liege ich falsch ?


    Und Jeffry trotzdem danke für deine Antwort.

    Erstmal danke, eine Frage habe ich jedoch:
    Wie kann ich dann Abfragen wie viel das gehalt ist ?


    Ich hab den befehl jetzt so :
    ocmd:setfgehalt(playerid,params[])
    {
    new rang, gehalt, pfad[20], str[128];
    if(PlayerInfo[playerid][pLeader] >= 1 || PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, knallrot,"Du bist kein Leader oder Admin!!");
    if(sscanf(params,"ii",rang, gehalt)) return SendClientMessage(playerid, gelb, "Benutzung: /setfgehalt [Rang] [Gehalt]");
    switch(PlayerInfo[playerid][pLeader])
    {
    case 1:format(pfad, 20, "/gehalt/LSPD.ini");
    case 2:format(pfad, 20, "/gehalt/ADAC.ini");
    case 3:format(pfad, 20, "/gehalt/ARMY.ini");
    case 4:format(pfad, 20, "/gehalt/RETTUNGSIENST.ini");
    case 5:format(pfad, 20, "/gehalt/LCN.ini");
    case 6:format(pfad, 20, "/gehalt/YAKUZA.ini");
    case 7:format(pfad, 20, "/gehalt/REGIERUNG.ini");
    case 8:format(pfad, 20, "/gehalt/HITMAN.ini");
    case 9:format(pfad, 20, "/gehalt/CNN.ini");
    case 10:format(pfad, 20, "/gehalt/TAXI.ini");
    case 11:format(pfad, 20, "/gehalt/FAHRSCHULE.ini");
    case 12:format(pfad, 20, "/gehalt/GROVESTREET.ini");
    case 13:format(pfad, 20, "/gehalt/BALLAS.ini");
    case 14:format(pfad, 20, "/gehalt/BIKER.ini");
    case 15:format(pfad, 20, "/gehalt/AZTECAS.ini");
    case 16:format(pfad, 20, "/gehalt/TERROR.ini");
    }
    if(!fexist(pfad)) dini_Create(pfad);
    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;
    }


    Jedoch bekomme ich den Fehler:
    Zeile (47251) : Falscher Variablentyp als Parameter (Parameter #2)


    Ich hab das mit der Case abfrage da PlayerInfo[playerid][pLeader] eine Zahl ist und ich die Dateien gerne mit dem Namen hätte, aber das hat nichts damit zu tun..
    Ich hoffe es kann mir jemand helfen :(

    Hallo, Community.


    Ich verbessere derzeit mein Payday System und bin dabei auf die Idee gekommen, dass jeder Leader die Gehälter seiner Ränge speziell ändern kann, und selbst aufpassen muss, dass die Fraktion nicht Bankrott geht, etc.


    Jetzt hänge ich aber derzeit ein Bisschen..
    Ich weiß nicht genau wie ich da anfangen soll..
    Ich muss das ja auch speichern etc.. (Wie speichern unter Dini geht weiß ich nur nicht wie ich das in diesem falle machen soll)
    Ich hänge bei der Tatsache, dass der Befehl so aussehen soll:
    /setfgehalt [Rang] [Gehalt]
    Und ich nicht genau weiß wie ich das speichern soll für jeden Rang und auch für die die offline sind..
    Alle Speicherungen:
    Member:
    PlayerInfo[playerid][pMember]
    Leader:
    PlayerInfo[playerid][pLeader]
    Ränge:
    PlayerInfo[playerid][pRank]


    Könnt ihr mir bitte einen denkanstoss geben ?