Fraktionskassen mit Ini Datei?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Liebes Forum, Ich hab mir ein Reallife Server erstellt.
    Nun hab ich folgendes Problem.
    Es sind keine Fraktions Kassen vorhanden.
    Und ich möchte es gerne mal so Scripten das man sich aus der Fraktion immer Waffen usw. rausholen kann, aber es soll der Fraktion Geld kosten.


    Ich wollte mal fragen wie man es so einstellen kann das man z.B ein Dialog erstellt wo steht Übersicht, man drauf klickt und dann das Geld angezeigt wird.
    Das Geld soll in einer Ini vom Server gespeichert werden.


    Also ist meine Frage:
    Wie kann man es einstellen das man Geld in eine Fraktionskasse einzahlen / auszahlen kann und das in der Ini gespeichert wird.


    Mit freundlichen Grüßen,
    Slexout.

  • Bei uns ist das so, damit die Member mit /fkasse schauen können wie viel ind er fkasse ist und mit /fkasse einzahlen [betrag] kann jeder etwas einzahlen und die leader können es mit /fkasse auszahlen [betrag] auch beliebig wieder runter holen
    und mit /setfkasse kann ein admin bei uns auch einstellen wie viel geld drinne sein soll
    sowas in etwa?


    if(strcmp(cmd,"/fkasse",true) == 0)
    {
    new fraktion = 0;
    if(PlayerInfo[playerid][pMember] > 0) fraktion = PlayerInfo[playerid][pMember] - 1;
    if(PlayerInfo[playerid][pLeader] > 0) fraktion = PlayerInfo[playerid][pLeader] - 1;
    if(fraktion >= 0)
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_GRAD5," /fkasse [einzahlen/auszahlen] [Betrag]");
    format(string,sizeof(string)," Derzeit sind $%d in der Fraktionskasse!",FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_GRAD5,string);
    return 1;
    }
    if(strcmp(tmp,"einzahlen",true) == 0)
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_GRAD5," /fkasse einzahlen [Betrag]");
    format(string,sizeof(string)," Derzeit sind $%d in der Fraktionskasse!",FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_GRAD5,string);
    return 1;
    }
    new amount = strval(tmp);
    if(amount < 0 || amount > 1000000) return SendClientMessage(playerid,COLOR_WHITE," Bitte nur Summen in Höhe von 1 bis 1 Million Dollar!");
    if(GetPlayerMoney(playerid) < amount) return SendClientMessage(playerid,COLOR_WHITE," Du hast nicht soviel Geld um es einzuzahlen!");
    FraktionsKasse[fraktion] += amount;
    GivePlayerMoney(playerid,-amount);
    format(string,sizeof(string)," Du hast $%d in die Fraktionskasse eingezahlt! Total: $%d",amount,FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_WHITE,string);
    format(string,sizeof(string)," %s hat $%d in die Fraktionskasse eingezahlt! Total: $%d",sendername,amount,FraktionsKasse[fraktion]);
    SendLeaderMSG(fraktion+1,COLOR_LIGHTBLUE,string);
    SaveFraktionsKassen();
    }
    else if(strcmp(tmp,"auszahlen",true) == 0)
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_GRAD5," /fkasse auszahlen [Betrag]");
    format(string,sizeof(string)," Derzeit sind $%d in der Fraktionskasse!",FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_GRAD5,string);
    return 1;
    }
    new amount = strval(tmp);
    if(PlayerInfo[playerid][pLeader] == 0) return SendClientMessage(playerid,COLOR_WHITE," Nur Leader dürfen Geld aus der Fraktionskasse nehmen!");
    if(amount < 0 || amount > 1000000) return SendClientMessage(playerid,COLOR_WHITE," Bitte nur Summen in Höhe von 1 bis 1 Million Dollar!");
    if((FraktionsKasse[fraktion] - amount) < 0) return SendClientMessage(playerid,COLOR_WHITE," Du kannst keine Schulden machen!");
    FraktionsKasse[fraktion] -= amount;
    GivePlayerMoney(playerid,amount);
    format(string,sizeof(string)," Du hast $%d aus der Fraktionskasse genommen! Total: $%d",amount,FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_WHITE,string);
    format(string,sizeof(string)," %s hat $%d aus der Fraktionskasse genommen! Total: $%d",sendername,amount,FraktionsKasse[fraktion]);
    SendLeaderMSG(fraktion+1,COLOR_LIGHTBLUE,string);
    SaveFraktionsKassen();
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD5," /fkasse [einzahlen/auszahlen] [Betrag]");
    format(string,sizeof(string)," Derzeit sind $%d in der Fraktionskasse!",FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_GRAD5,string);
    }
    }
    else SendClientMessage(playerid,COLOR_WHITE," Du bist in gar keiner Fraktion!");
    return 1;
    }

    if(strcmp(cmd,"/setfkasse",true) == 0)
    {
    if(PlayerInfo[playerid][pAdmin] >= 1337)
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_GRAD5," /setfkasse [FraktionsID] [Betrag]");
    return 1;
    }
    new fraktion = strval(tmp);
    if(fraktion < 0 || fraktion > 24) return SendClientMessage(playerid,COLOR_WHITE," Diese Fraktion gibt es nicht!");
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    format(string,sizeof(string)," /setfkasse %d [Betrag]",fraktion);
    SendClientMessage(playerid,COLOR_GRAD5,string);
    return 1;
    }
    new amount = strval(tmp);
    if(amount < 0 || amount > 1000000) return SendClientMessage(playerid,COLOR_WHITE," Bitte nur Summen in Höhe von 1 bis 1 Million Dollar!");
    format(string,sizeof(string)," %s hat die Fraktionskasse von %s auf $%d gesetzt!",sendername,Fracs[(fraktion-1)],amount);
    ABroadCast(COLOR_LIGHTRED,string,1337);
    FraktionsKasse[(fraktion-1)] = amount;
    }
    return 1;
    }

  • C:\Users\Desktop\1.1\Reallife\gamemodes\larp.pwn(41946) : error 047: array sizes do not match, or destination array is too small
    C:\Users\Desktop\1.1\Reallife\gamemodes\larp.pwn(41956) : error 047: array sizes do not match, or destination array is too small
    C:\Users\Desktop\1.1\Reallife\gamemodes\larp.pwn(41977) : error 047: array sizes do not match, or destination array is too small
    C:\Users\Desktop\1.1\Reallife\gamemodes\larp.pwn(42012) : error 047: array sizes do not match, or destination array is too small
    C:\Users\Desktop\1.1\Reallife\gamemodes\larp.pwn(42020) : error 047: array sizes do not match, or destination array is too small


    es liegt hier dran gibt es 5 mal im Code:
    tmp = strtok(cmdtext,idx);



    //edit : Was verändert.

  • Schau mein Edit

    Einmal editiert, zuletzt von Slexout ()