Problem mit /Überweisen [OCMD]

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
  • Guten Abend, liebe Breadfish Community, ich habe ein Problem mit meinem Ueberweisen Befehl, ich kann jemandem beim überweisen Geld abziehen und auf mein Konto "Cheaten"
    Jemand vielleicht ne Idee, was das sein könnte?

    ocmd:ueberweisen(playerid,params[])
    {
    if(!IsAtATM(playerid))return SendClientMessage(playerid, ROT, "Du bist nicht an einem ATM!");
    new cash2;
    new pID;
    new string[128];
    new string2[128];
    if(sscanf(params,"ui",pID,cash2))return SendClientMessage(playerid,WEISS,"/ueberweisen [Name] [Summe]");
    if(cash2 > SpielerInfo[playerid][Konto])return SendClientMessage(playerid,ROT,"Du hast nicht soviel Geld auf der Bank!");
    SpielerInfo[playerid][Konto] -= cash2;
    format(string,sizeof(string),"Du hast %s %i$ überwiesen.",SpielerName(pID), cash2);
    SendClientMessage(playerid, WEISS, string);
    SpielerInfo[pID][Konto] += cash2;
    format(string2,sizeof(string2),"%s hat dir %i$ überwiesen!", SpielerName(playerid), cash2);
    SendClientMessage(pID, WEISS, string2);
    return 1;
    }


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!

  • ocmd:ueberweisen(playerid,params[])
    {
    if(!IsAtATM(playerid))return SendClientMessage(playerid, ROT, "Du bist nicht an einem ATM!");
    new cash2;
    new pID;
    new string[128];
    new string2[128];
    if(sscanf(params,"ui",pID,cash2))return SendClientMessage(playerid,WEISS,"/ueberweisen [Name] [Summe]");
    if(cash2 > SpielerInfo[playerid][Konto])return SendClientMessage(playerid,ROT,"Du hast nicht soviel Geld auf der Bank!");


    if(cash2 < 0)return SendClientMessage(playerid,ROT,"Fehler bei Überweißung!");//Hier
    SpielerInfo[playerid][Konto] -= cash2;
    format(string,sizeof(string),"Du hast %s %i$ überwiesen.",SpielerName(pID), cash2);
    SendClientMessage(playerid, WEISS, string);
    SpielerInfo[pID][Konto] += cash2;
    format(string2,sizeof(string2),"%s hat dir %i$ überwiesen!", SpielerName(playerid), cash2);
    SendClientMessage(pID, WEISS, string2);
    return 1;
    }


    Ein integer kann nur eine bestimmte Menge von zahlen halten (2147483647) soweit ich noch weiß falls die zuviel werden geht er in den Minus bereich somit kannst du sein geld "weg" cheaten, das löst du indem du abfrägst ob der Integer unter 0 ist !


    /E: