Problem mit Frak und ORG

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
  • Hey
    Habe folgende Probleme:
    ocmd:frakkasse(playerid,params[])
    {
    new string[128];
    if(Spieler[playerid][Team]>=1)
    {
    SCM(playerid,BLAU,"============= Frakkasse =============");
    for(new i=0;i<20;i++)
    {
    if(FrakKasse[i][Frakid]==Spieler[playerid][Team])
    {
    format(string,sizeof(string),"Geldstand: %d$",FrakKasse[i][Kasse]);
    return 1;
    }
    }
    SCM(playerid,HELLBLAU,string);
    SCM(playerid,BLAU,"=====================================");
    }
    else return SCM(playerid,ROT,"Du bist in keiner Fraktion!");
    return 1;
    }
    ocmd:auszahlen(playerid,params[])
    {
    new pID,geld,Kassenpfad[200];
    if(Spieler[playerid][Team]>=1)
    {
    if(Spieler[playerid][Leader]>=1)
    {
    if(sscanf(params,"ud",pID,geld))return SendClientMessage(playerid,0xFFFFFFFF,"BENUTZE: /auszahlen [Name|ID][Geld]");
    if(FrakKasse[Spieler[playerid][Team]][Kasse]>=geld)
    {
    FrakKasse[Spieler[playerid][Team]][Kasse]-=geld;
    GivePlayerMoney(pID,geld);
    format(Kassenpfad,sizeof(Kassenpfad),"/Frakkasse/%d.ini",Spieler[playerid][Team]);
    if(dini_Exists(Kassenpfad))return dini_IntSet(Kassenpfad,"Kasse",FrakKasse[Spieler[playerid][Team]][Kasse]);
    format(Kassenpfad,sizeof(Kassenpfad),"Du hast %d$ an %s ausgezahlt",geld,SpielerName(pID));
    SCM(playerid,COLOR_GREEN,Kassenpfad);
    }
    else return SCM(playerid,ROT,"Es gibt nicht genug Geld in der Fraktionskasse!");
    }
    else return SCM(playerid,ROT,"Du bist kein Leader!");
    }
    else return SCM(playerid,ROT,"Du bist in keiner Fraktion!");
    return 1;
    }
    ocmd:einzahlen(playerid,params[])
    {
    new geld,Kassenpfad[200];
    if(Spieler[playerid][Team]>=1)
    {
    if(sscanf(params,"d",geld))return SendClientMessage(playerid,0xFFFFFFFF,"BENUTZE: /einzahlen [Geld]");
    if(GetPlayerMoney(playerid)>=geld)
    {
    FrakKasse[Spieler[playerid][Team]][Kasse]+=geld;
    GivePlayerMoney(playerid,-geld);
    format(Kassenpfad,sizeof(Kassenpfad),"/Frakkasse/%d.ini",Spieler[playerid][Team]);
    if(dini_Exists(Kassenpfad))return dini_IntSet(Kassenpfad,"Kasse",FrakKasse[Spieler[playerid][Team]][Kasse]);
    format(Kassenpfad,sizeof(Kassenpfad),"Du hast %d$ eingezahlt",geld);
    SCM(playerid,COLOR_GREEN,Kassenpfad);
    }
    else return SCM(playerid,ROT,"Du hast nicht genug Geld!");
    }
    else return SCM(playerid,ROT,"Du bist in keiner Fraktion!");
    return 1;
    }

    1. Es wird bei /frakkasse nicht angezeigt wie viel in der Fkasse ist.
    2. bei /einzahlen wird das Geld abgezogen und gleich wieder gegeben.
    3. bei /auszahlen wird das geld ebenfalls wie bei 2 nur gegeben und dann wieder weg gemacht.


    ocmd:corg(playerid,params[])
    {
    new orgname[128];
    if(GetPlayerMoney(playerid)>=1000000)
    {
    if(sscanf(params,"s",orgname))return SendClientMessage(playerid,0xFFFFFFFF,"BENUTZE: /corg [Name]");
    for(new i=1;i<MAX_ORG;i++)
    {
    if(OrgInfo[i][erstellt]==true)continue;
    format(OrgInfo[i][Name],128,"%s",orgname);
    format(OrgInfo[i][Leader],128,"%s",SpielerName(playerid));
    OrgInfo[i][Orgid]=i;
    GivePlayerMoney(playerid, -1000000);
    new Orgpfad[200];
    format(Orgpfad,sizeof(Orgpfad),"/Organisation/%d.ini",i);
    dini_Create(Orgpfad);
    dini_IntSet(Orgpfad,"Orgid",i);
    dini_Set(Orgpfad,"Name",orgname);
    dini_Set(Orgpfad,"Leader",SpielerName(playerid));

    Spieler[playerid][Orgid]=i;
    Spieler[playerid][Orgleader]=i;
    OrgInfo[i][erstellt]=true;
    return 1;
    }
    }
    else return SCM(playerid,ROT,"Du brauchst 1.000.000$");
    return 1;
    }
    Das Geld wird weg genommen und wieder drauf gelegt.
    Danke im vorraus.

  • So wenn du das so beschreibst, glaub ich jetzt auch wo der fehler lag, da ich es geschrieben hab.


    Wenn es beim abziehen gleich wieder gegeben wird, kann es an nem anticheat liegen.
    Wird beim einzahlen das geld in die datei geschrieben?


    Am Anticheat liegt es nicht da ich es ohne getestet habe.
    Das geld wird in der Datei gespeichert.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Teil eins
    ocmd:frakkasse(playerid,params[])
    {
    new string[128];
    if(Spieler[playerid][Team]>=1)
    {
    SCM(playerid,BLAU,"============= Frakkasse =============");
    for(new i=0;i<20;i++)
    {
    if(FrakKasse[i][Frakid]==Spieler[playerid][Team])
    {
    format(string,sizeof(string),"Geldstand: %d$",FrakKasse[i][Kasse]);
    SCM(playerid,HELLBLAU,string); //Ohne das Return
    }
    }
    SCM(playerid,BLAU,"=====================================");
    }
    else return SCM(playerid,ROT,"Du bist in keiner Fraktion!");
    return 1;
    }