Kleiner denkfehler bei Fraktionsbank ?? please help

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
  • Undzwa habe ich folgendes Problem,
    Ich habe eine Fraktionskasse für alle fraktionen geaddet und das problem ist das iwie fraktion 1 von fraktion 4 was abheben kann und halt so weiter :D... aber ich hab es eigendlich so gemacht das die fraktionsid = die kassenid ist :(..
    please helft mir


    das ist z.b. der Code fürs abheben:


    if(strcmp(cmd, "/fwithdraw", true) == 0)
    {
    if(PlayerInfo[playerid][pLeader] >= 1 || PlayerInfo[playerid][pMember] >= 1 || PlayerInfo[playerid][pRank] >= 4)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    new idderfraktion2 = PlayerInfo[playerid][pLeader] || PlayerInfo[playerid][pMember];
    new dollarstr[256];
    format(dollarstr,sizeof(dollarstr),"Es sind derzeit %d Dollar in der Kasse.",fgeld[idderfraktion2][geld]);
    SendClientMessage(playerid, COLOR_GREEN, dollarstr);
    return 1;
    }
    new bankbetrag = strval(tmp);
    new idderfraktion2 = PlayerInfo[playerid][pLeader] || PlayerInfo[playerid][pMember];
    if(PlayerInfo[playerid][pLeader] >= 1 || PlayerInfo[playerid][pMember] >= 1 || PlayerInfo[playerid][pRank] >= 4)
    {
    if(fgeld[idderfraktion1][geld]>=bankbetrag)
    {
    fgeld[idderfraktion2][geld] = fgeld[idderfraktion2][geld]-bankbetrag;
    GivePlayerPCash(playerid, bankbetrag);
    new payname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,payname,sizeof(payname));
    strmid(fgeld[idderfraktion2][user1],payname,0,16,16);
    new paystr[256];
    format(paystr,sizeof(paystr),"Du hast %d aus der Bank genommen!",bankbetrag);
    SendClientMessage(playerid,COLOR_YELLOW,paystr);
    Savefbank();
    }
    else return SendClientMessage(playerid,COLOR_YELLOW,"In der Bank ist nicht genug Geld!");
    }
    else
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist in keiner Familie oder dein Rang ist zu low!");
    }
    }
    return 1;
    }

    Mein I-Net ^^

  • Ich glaube dies ist nicht möglich mein Lieber Fidel:


    new idderfraktion2 = PlayerInfo[playerid][pLeader] || PlayerInfo[playerid][pMember];


    Da ich erstens nicht weiss ob das überhaupt machbar ist.
    Und ein normaler Member bei leader 0 hat eund ein Leader bei Member 0
    deshalb denke ich musste du das mit ner if abfrage ob leader oder member machen und dann jenach fall eintragen.


    mfg
    Ein Alter Freund

  • Das es id 0 gibt weis ich ja.. Ich habe auch eine Bank für od 0 gemacht und dort kann man nichts einzahlen da ich es definiert habe das es nur leute können die leader >= als 1 sind...ich frage mich echt warum das nicht geht... weil er holt sich doch die id und dan muss er es auch logischerweise an die richtige stelle schreiben

    Mein I-Net ^^

  • nein ich meine damit das du soweit ich weiss bei Variablen kein "ODER" machen kannst.
    Proier mal anstatt new idderfraktion2 = PlayerInfo[playerid][pLeader] || PlayerInfo[playerid][pMember];
    das hier

    new idderfraktion2;
    if(PlayerInfo[playerid][pLeader] != 0)
    {
    idderfraktion2 = PlayerInfo[playerid][pLeader];
    }
    else
    {
    idderfraktion2 = PlayerInfo[playerid][pMember];
    }

  • habe keine errors und obs geht sehe ich wen ich es auf dem offizielen server habe... weil wen ich alleine drauf bin geht es immer :D




    (wer bist du bitte ):D

    Mein I-Net ^^

    Einmal editiert, zuletzt von Fiedel ()