/storedrugs Befehl geht nicht

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
  • Hey ihr Brotfische!


    Habe nen Storedrugs Befehl erstellt,wo der User die Drogen die er sich gekauft hat,in sein Fraktions-Safe reinlegen kann.


    Aber als ich dem Spieler die Menge an Drogen abziehen wollte,die er reinlegen wollte,scheiterte ich,bzw. kamen nur Fehler.


    Das Gleiche als ich abfragen wollte,ob der Spieler mehr an Drogen einspeichern will,als er überhaupt besitzt.


    Es kommen fehler,wo ich kein Plan hab,wie diese weg gehen.


    2x Argument type mismatch (argument 3)
    Array must be indexed variable "(text")
    undefined symbol "name"


    ocmd:storedrugs(playerid,params[])
    {
    new text[128];
    if(GetPVarInt(playerid,"Fraktion")==3)
    {
    if(sscanf(params,"s",text))return SendClientMessage(playerid,blau,"Tippe: /storedrugs [Anzahl]");
    if(IsPlayerInRangeOfPoint(playerid,6.0,-2714.7249, -314.5928, 6.6404))
    {
    if(GetPVarInt(playerid,"Drogen") < text) return SendClientMessage(playerid,rot,"** Du hast nicht so viel Drogen bei dir.");
    {
    new FrakDatei[128];
    new fid[46];
    fid = GetPVarInt(playerid,"Fraktion")
    format(FrakDatei,sizeof(FrakDatei),"/Fraktionen/%s.txt",fid);
    dini_IntSet(FrakDatei,"Drogen",text);
    SetPVarInt(playerid,"Drogen",-text)
    }
    }
    }
    }



    Kann mir vielleicht ein Pro unter die Arme helfen?? :D


    Danke im Voraus.

  • Die Anzahl ist eine Zahl (Integer) und muss auch als solches deklariert und verwendet werden:
    ocmd:storedrugs(playerid,params[])
    {
    new anzahl;
    if(GetPVarInt(playerid,"Fraktion")==3)
    {
    if(sscanf(params,"i",anzahl))return SendClientMessage(playerid,blau,"Tippe: /storedrugs [Anzahl]");
    if(IsPlayerInRangeOfPoint(playerid,6.0,-2714.7249, -314.5928, 6.6404))
    {
    if(GetPVarInt(playerid,"Drogen") < anzahl) return SendClientMessage(playerid,rot,"** Du hast nicht so viel Drogen bei dir.");
    {
    new FrakDatei[128];
    new fid[46];
    fid = GetPVarInt(playerid,"Fraktion")
    format(FrakDatei,sizeof(FrakDatei),"/Fraktionen/%s.txt",fid);
    dini_IntSet(FrakDatei,"Drogen",anzahl);
    SetPVarInt(playerid,"Drogen",GetPVarInt(playerid,"Drogen")-anzahl);
    }
    }
    }
    }

  • Ach ja, das auch noch. Hatte ich gar nicht gesehen. Mensch != Kompiler ;(


    new fid[46];
    fid = GetPVarInt(playerid,"Fraktion")
    format(FrakDatei,sizeof(FrakDatei),"/Fraktionen/%s.txt",fid);


    zu:
    new fid;
    fid = GetPVarInt(playerid,"Fraktion")
    format(FrakDatei,sizeof(FrakDatei),"/Fraktionen/%i.txt",fid);


    Das Gleiche hier, fid ist ein Interger.