Problem mit Geldabzug beim Shop

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
  • Hab ein kleinen Waffenshop erstellt, doch leider wird das Geld nicht abgezogen, und ich finde den Fehler nicht.



    if (strcmp("/Schwarzmarkt", cmdtext, true) == 0)


    if(IsPlayerInRangeOfPoint(playerid, 6.0,-89.0787,-1564.6902,3.0043) || IsPlayerInRangeOfPoint(playerid, 6.0,289.7758,-106.4345,1001.5156))


    {
    ShowPlayerDialog(playerid,Waffenshop,DIALOG_STYLE_LIST,"Weapons","AK47 - 5000€\nDesert Eagle - 3000€\nM4 - 6000€\nMP5 - 4000€\nArmour - 3000€\nShotgun - 5000€\nBaseball - 1000€","Wählen","Zurück");
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Du bist nicht beim Schwarzmarkt!");
    return 1;
    }



    if(dialogid == Waffenshop)
    {
    if(response)
    {
    if(listitem == 0) // AK47
    {
    if(preise[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"Du brauchst mehr Geld für diese Waffe!"); // Abfrage ob der Spieler Geld hat
    GivePlayerWeapon(playerid,30,200);
    GivePlayerMoney(playerid, -5000);
    }
    if(listitem == 1) // Desert Eagle
    {
    if(preise[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"Du brauchst mehr Geld für diese Waffe!");// Abfrage ob der Spieler Geld hat
    GivePlayerWeapon(playerid,24,60);// Gibt dem Spieler die Waffe
    GivePlayerMoney(playerid, -3000);//Zieht dem Spieler Geld ab
    }
    if(listitem == 2) // M4
    {
    if(preise[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"Du brauchst mehr Geld für diese Waffe!");// Abfrage ob der Spieler Geld hat
    GivePlayerWeapon(playerid,31,200);// Gibt dem Spieler die Waffe
    GivePlayerMoney(playerid, -6000);//Zieht dem Spieler Geld ab
    }
    if(listitem == 3)// MP5
    {
    if(preise[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"Du brauchst mehr Geld für diese Waffe!");// Abfrage ob der Spieler Geld hat
    GivePlayerWeapon(playerid,29,200);// Gibt dem Spieler die Waffe
    GivePlayerMoney(playerid, -4000);//Zieht dem Spieler Geld ab
    }
    if(listitem == 4) //Armour
    {
    if(preise[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"Du brauchst mehr Geld für Armour!");// Abfrage ob der Spieler Geld hat
    SetPlayerArmour(playerid,100.0);// Gibt dem Spieler Armour
    GivePlayerMoney(playerid, -3000);//Zieht dem Spieler Geld ab
    }
    if(listitem == 5)// Shotgun
    {
    if(preise[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"Du brauchst mehr Geld für diese Waffe!");// Abfrage ob der Spieler Geld hat
    GivePlayerWeapon(playerid,25,50);// Gibt dem Spieler die Waffe
    GivePlayerMoney(playerid, -5000);//Zieht dem Spieler Geld ab
    }
    if(listitem == 6)// Baseball
    {
    if(preise[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"Du brauchst mehr Geld für diese Waffe!");// Abfrage ob der Spieler Geld hat
    GivePlayerWeapon(playerid,5,1);// Gibt dem Spieler die Waffe
    GivePlayerMoney(playerid, -1000);//Zieht dem Spieler Geld ab
    }
    }
    }
    ///////////

  • Ja die Waffe bekommt man, nur bei dem Geld rührt sich nichts :D

  • Habs nochmal geguckt, also so, Geld geht zwar runter geht aber wieder zurück.


    Liegt glaube am Anticheat


    muss ich nun selbst schauen.

  • Ja schon, wie ich grade schaute, hat das Anticheat damit nichts zu tun, bei dem Befehl zB Funktioniert alles


    if(!strcmp("/wurst",cmdtext))
    {
    if(IsPlayerInRangeOfPoint(playerid,4.0,1519.8695,-1659.1881,13.5392) || IsPlayerInRangeOfPoint(playerid, 4.0,375.3486,-2016.5060,7.8301))
    {
    new Float:Leben;
    GetPlayerHealth(playerid, Leben);
    if(Leben < 100)
    {
    SendClientMessage(playerid,COLOR_LIGHTGREEN,"Du hast ein Würstchen für 5€ gegessen(+30Hp)");
    SetPlayerHealth(playerid,(Leben + 30));
    GivePlayerMoney(playerid,-5);
    }
    else
    {
    SendClientMessage(playerid,0x828282FF,"Dein Leben ist bereits voll.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,0x828282FF,"Du bist nicht am Würstchen Stand.");
    return 1;
    }
    }
    Obwohl ich den Abzug auch mit GivePlayerMoney(playerid,-5); gemacht habe