Savebox Hilfestellung benötigt

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

Infos dazu findet ihr nochmal hier

  • Hey ich habe ein /buydrugs befehl kreiert dieser funktioniert ordnungsgemäß, jedoch möchte ich nun das man die Drogen in einer Savebox versteckt. Jegliche versuche von mir sind bisher gescheitert mein /put befehl sieht derzeit so aus:


    Es kommt ständig egal wie ich es eingebe bspw. /put drugs 10 obwohl ich 100 in meiner PlayerInfo[playerid][pDrugs] habe.

    Code
    1. Soviel Gramm hast du nicht derzeit trägst du %ig Drogen bei dir
  • Der Fehler sollte hier sein:

    Code
    1. menge = PlayerInfo[playerid][pDrugs];
    2. if(menge >=0 || menge<=PlayerInfo[playerid][pDrugs])return SCM(playerid,COLOR_DARKRED, string);

    Denn du fragst das so ab:

    Code
    1. if(PlayerInfo[playerid][pDrugs] >=0 || PlayerInfo[playerid][pDrugs]<=PlayerInfo[playerid][pDrugs])return SCM(playerid,COLOR_DARKRED, string);

    Du musst aber das was du eingibst dort eingeben.

  • also wäre das an sich mit dem u doch gar nicht verkehrt oder?

    Das "u" kannst du benutzen um Spieler herauszufinden. So kann man beispielsweise die playerid, den Namen oder nur Teile vom Namen (sofern eindeutig) eingeben und "u" würde dir die playerid liefern.

    Was du bräuchtest, wäre eine Zeichenkette, also einen String. Dafür kannst du den Parameter "s" verwenden, dies speicherst du mittels der sccanf Funktion in eine Variable und kannst diese Variable dann mittels String-Compare auf "drugs", "mats", etc. testen.

  • Whice ah endlich danke :D es hat funktioniert mein Befehl sieht derzeit so aus,


    Jedoch habe ich nun immer noch das Problem das ich bspw. wenn ich 100g dabei habe, ich 50g reintuhe danach nochmal 50 reintun möchte kommt Soviel Gramm hast du nicht also muss ich 49 eingeben wie kann ich das nun beheben?


    /edit

    ich gehe davon aus einfach das "=" bei der 2 mengenabfrage rauszunehmen


    /edit 2

    Bekomme in meiner Konsole:

    sscabf warning; String without a lenght are deprecated, please add a destination size.


    woran kann das liegen?

    Einmal editiert, zuletzt von RaPTiiC ()

  • Du befüllst die Variable item mit keinem Wert. Die musst du erst per sscanf befüllen lassen dann kannst du prüfen ob da "drugs" oder "mats" eingegeben wurde. Aktuelle Zeile 7 bringt nichts. Die Warnung besagt das du dem s im sscanf eine länge mitgeben musst z.B. if(sscanf(params, "s[64]i", item, menge))