Warum wird dort nicht richtig gerechnet buydrugs Befehl

Aus gegebenem Anlass: Sichert eure Backupcodes wenn ihr die Zwei-Faktor-Authentifizierung aktiviert habt!

Infos dazu findet ihr nochmal hier

  • Hey und zwar habe ich ein Problem ich kaufe 1x 1 Gramm und als nächstes kaufe ich 2 Gramm wie auf dem Screenshot zu sehen ist jedoch steht bei meinen Statistiken das ich 4 Gramm habe



    Mein Code sieht folgendermaßen aus:

  • Wieso machst du es dir so kompliziert?


  • Bekomme diese Errors:


    C:\Users\Dustin\Desktop\SAMP Server\gamemodes\reallife.pwn(2035) : error 029: invalid expression, assumed zero

    C:\Users\Dustin\Desktop\SAMP Server\gamemodes\reallife.pwn(2035) : warning 215: expression has no effect

    C:\Users\Dustin\Desktop\SAMP Server\gamemodes\reallife.pwn(2035) : error 001: expected token: ";", but found ")"

    C:\Users\Dustin\Desktop\SAMP Server\gamemodes\reallife.pwn(2035) : error 029: invalid expression, assumed zero

    C:\Users\Dustin\Desktop\SAMP Server\gamemodes\reallife.pwn(2035) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


  • C
    1. format(str, sizeof(str), "[ERROR]: Die Menge an Drogen muss zwischen 0 und 20 Gramm liegen! | Derzeit trägst du %ig Drogen mit dir mit!", PlayerInfo[playerid][pDrugs]));

    zu:

    C
    1. format(str, sizeof(str), "[ERROR]: Die Menge an Drogen muss zwischen 0 und 20 Gramm liegen! | Derzeit trägst du %ig Drogen mit dir mit!", PlayerInfo[playerid][pDrugs]);
  • Kurze frage: Benutzt du ein Safebox System oder hast vor es zu verwenden?

    Weil dann wäre es richtig gewesen die Drogen erstmal in eine PVar zu packen, um sie nachher, wenn man sie in die Box hinterlegt, dann der PlayerInfo übergibt.


    Somit wäre dann SetPVarInt(playerid, "drugsbuy", GetPVarInt(playerid, "drugsbuy")+menge); richtig gewesen und PlayerInfo[playerid][pDrugs] += GetPVarInt(playerid, "drugsbuy"); hätte dann in den /put Befehl gehört.

  • if(PlayerInfo[playerid][pDrugs]>= 20)return SCM(playerid, COLOR_DARKRED, "[ERROR]: Du hast kannst nicht mehr als 20 Gramm Drogen mitnehmen!");

  • Kurze frage: Benutzt du ein Safebox System oder hast vor es zu verwenden?

    Weil dann wäre es richtig gewesen die Drogen erstmal in eine PVar zu packen, um sie nachher, wenn man sie in die Box hinterlegt, dann der PlayerInfo übergibt.


    Somit wäre dann SetPVarInt(playerid, "drugsbuy", GetPVarInt(playerid, "drugsbuy")+menge); richtig gewesen und PlayerInfo[playerid][pDrugs] += GetPVarInt(playerid, "drugsbuy"); hätte dann in den /put Befehl gehört.

    oder einfach 2 PlayerInfos erstellen:


    PlayerInfo[playerid][pDrogen]
    PlayerInfo[playerid][pSafeDrogen]

    itsma.png


    • Hilfreich

    ich kann mir leider trotzdem noch mehr als 20 Gramm holen

    Das wird daran liegen das du die aktuelle Menge nicht mitzählst.

    C
    1. if(PlayerInfo[playerid][pDrugs] + menge >= 20) return SCM(playerid, COLOR_DARKRED, "[ERROR]: Du hast kannst nicht mehr als 20 Gramm Drogen mitnehmen!");