Safebox /put , /gtake befehl

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 Breadfishler,


    Ich will gerne ein /put und /gtake befehl erstellen (z.B /put Drugs/Mats /gtake drugs/Mats)habe aber leider keinen Plan wie was ich aber weiß das man glaub ich mit SetPVarInt und GetPVarInt usw arbeiten muss
    bräuchte nur ein paar Hilfestellungen :)


    Vielen Dank im Vorraus :):)

  • Habe dir mal auf die schnelle das komplette System zusammengemeistert. Versuchs mal so:

    enum SpielerDaten
    {
    Adminlevel,
    Suplvl,
    level,
    Fraktion,
    Alter,
    Geschlecht,
    Skin,
    slogin,
    Rang,
    PaydayZeit,
    Bargeld,
    DDrogen,
    Materials,//Änderung
    SBDrogen,//Änderung
    SBMats,//Änderung
    Bankguthaben,
    Festgeld,
    FestgeldTime,
    Gangjailticket,
    Bauerticket,
    Pilotticket
    };


    ocmd:put(playerid,params[])
    {
    //Safebox Koordinaten hier einfügen!!
    new savethings, putid, putstring[128];
    if(sscanf(params, "dd", putid, savethings))return SendClientMessage(playerid,GELB,"Verwendung: /put [1 Drogen | 2 Materials] [Anzahl an Drogen/Mats]");
    switch(putid)
    {
    case 1:
    {
    if(sSpieler[playerid][DDrogen] < savethings)
    {
    sSpieler[playerid][DDrogen] -= savethings;
    sSpieler[playerid][SBDrogen] += savethings;
    format(putstring, sizeof(putstring),"Du hast %d Drogen in der Safebox eingelagert. Benutze /gtake um sie wieder rauszuholen.", savethings);
    SendClientMessage(playerid, -1, string);
    }
    else
    {
    SendClientMessage(playerid, -1, "So eine Drogenmenge besitzt du nicht auf bei dir.");
    }


    }
    case 2:
    {
    if(sSpieler[playerid][Materials] < savethings)
    {
    sSpieler[playerid][Materials] -= savethings;
    sSpieler[playerid][SBMats] += savethings;
    format(putstring, sizeof(putstring),"Du hast %d Materials in der Safebox eingelagert. Benutze /gtake um sie wieder rauszuholen.", savethings);
    SendClientMessage(playerid, -1, string);
    }
    else
    {
    SendClientMessage(playerid, -1, "So eine Material-Menge besitzt du nicht auf bei dir.");
    }
    }
    }
    return 1;
    }


    ocmd:gtake(playerid,params[])
    {
    //Safebox Koordinaten hier einfügen!!
    new takethings, putid, putstring[128];
    if(sscanf(params, "dd", putid, takethings))return SendClientMessage(playerid,GELB,"Verwendung: /gtake [1 Drogen | 2 Materials] [Anzahl an Drogen/Mats]");
    switch(putid)
    {
    case 1:
    {
    if(savethings <= sSpieler[playerid][SBDrogen])
    {
    sSpieler[playerid][DDrogen] += savethings;
    sSpieler[playerid][SBDrogen] -= savethings;
    format(putstring, sizeof(putstring),"Du hast %d Drogen aus der Safebox entnommen. Benutze /put um sie wieder einzulagern.",takethings);
    SendClientMessage(playerid, -1, string);
    }
    else
    {
    SendClientMessage(playerid, -1, "So eine Drogenmenge besitzt du nicht in deiner Safebox.");
    }


    }
    case 2:
    {
    if(savethings <= sSpieler[playerid][SBMats)
    {
    sSpieler[playerid][Materials] += savethings;
    sSpieler[playerid][SBMats] -= savethings;
    format(putstring, sizeof(putstring),"Du hast %d Materials in der Safebox eingelagert. Benutze /gtake um sie wieder rauszuholen.",takethings);
    SendClientMessage(playerid, -1, string);
    }
    else
    {
    SendClientMessage(playerid, -1, "So eine Material-Menge besitzt du nicht auf deienr Safebox.");
    }
    }
    }
    return 1;
    }


    stock SpielerSpeichern(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
    if(dini_Exists(Spieler))
    {
    dini_IntSet(Spieler,"Adminlevel",sSpieler[playerid][Adminlevel]);
    dini_IntSet(Spieler,"Suplvl",sSpieler[playerid][Suplvl]);
    dini_IntSet(Spieler,"level",sSpieler[playerid][level]);
    dini_IntSet(Spieler,"Rang",sSpieler[playerid][Rang]);
    dini_IntSet(Spieler,"Fraktion",sSpieler[playerid][Fraktion]);
    dini_IntSet(Spieler,"Alter",sSpieler[playerid][Alter]);
    dini_IntSet(Spieler,"Geschlecht",sSpieler[playerid][Geschlecht]);
    dini_IntSet(Spieler,"Skin",sSpieler[playerid][Skin]);
    dini_IntSet(Spieler,"PaydayZeit",sSpieler[playerid][PaydayZeit]);
    dini_IntSet(Spieler,"Gangjailticket",sSpieler[playerid][Gangjailticket]);
    dini_IntSet(Spieler,"Bauerticket",sSpieler[playerid][Bauerticket]);
    dini_IntSet(Spieler,"Bankguthaben",sSpieler[playerid][Bankguthaben]);
    dini_IntSet(Spieler,"Bargeld",GetPlayerMoney(playerid));
    dini_IntSet(Spieler,"Materials",GetPlayerMoney(playerid)); //Änderung
    dini_IntSet(Spieler,"DDrogen",sSpieler[playerid][DDrogen]);
    dini_IntSet(Spieler,"SBDrogen",sSpieler[playerid][SBDrogen]); //Änderung
    dini_IntSet(Spieler,"SBMats",sSpieler[playerid][SBMats]); //Änderung
    dini_IntSet(Spieler,"FestgeldTime",sSpieler[playerid][FestgeldTime]);
    }
    return 1;
    }



    PAWN-Quellcode
    stock SpielerLaden(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
    if(dini_Exists(Spieler))
    {
    SetPlayerScore(playerid,dini_Int(Spieler,"level"));
    sSpieler[playerid][Adminlevel] = dini_Int(Spieler,"Adminlevel");
    sSpieler[playerid][level] = dini_Int(Spieler,"level");
    sSpieler[playerid][Rang] = dini_Int(Spieler,"Rang");
    sSpieler[playerid][Suplvl] = dini_Int(Spieler,"Suplvl");
    sSpieler[playerid][Alter] = dini_Int(Spieler,"Alter");
    sSpieler[playerid][Geschlecht] = dini_Int(Spieler,"Geschlecht");
    sSpieler[playerid][Skin] = dini_Int(Spieler,"Skin");
    sSpieler[playerid][Fraktion] = dini_Int(Spieler,"Fraktion");
    sSpieler[playerid][PaydayZeit] = dini_Int(Spieler,"PaydayZeit");
    sSpieler[playerid][Gangjailticket] = dini_Int(Spieler,"Gangjailticket");
    sSpieler[playerid][Bauerticket] = dini_Int(Spieler,"Bauerticket");
    sSpieler[playerid][Bankguthaben] = dini_Int(Spieler,"Bankguthaben");
    sSpieler[playerid][FestgeldTime] = dini_Int(Spieler,"FestgeldTime");
    sSpieler[playerid][Bargeld] = dini_Int(Spieler,"Bargeld");
    sSpieler[playerid][DDrogen] = dini_Int(Spieler,"DDrogen"); //Änderung
    sSpieler[playerid][DDrogen] = dini_Int(Spieler,"DDrogen");
    sSpieler[playerid][SBDrogen] = dini_Int(Spieler,"SBDrogen"); //Änderung
    sSpieler[playerid][SBMats] = dini_Int(Spieler,"SBMats"); //Änderung
    sSpieler[playerid][slogin] = 1;
    GivePlayerMoney(playerid,sSpieler[playerid][Bargeld]);
    }
    return 1;
    }

  • Beitrag von Das System ()

    Dieser Beitrag wurde von maddin gelöscht ().
  • @Kristik47 erstmal vielen dank für das System als ich es einfügen wollte kam jedoch dies:


    C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3266) : error 017: undefined symbol "string"
    C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3280) : error 017: undefined symbol "string"
    C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3300) : error 017: undefined symbol "savethings"
    C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3302) : error 017: undefined symbol "savethings"
    C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3303) : error 017: undefined symbol "savethings"
    C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3305) : error 017: undefined symbol "string"
    C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3314) : error 017: undefined symbol "savethings"
    C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3316) : error 017: undefined symbol "savethings"
    C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3317) : error 017: undefined symbol "savethings"
    C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3319) : error 017: undefined symbol "string"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    10 Errors.


    /edit Erros fixxed aber ich kann keine Drugs reinpacken aber permanent etwas hinaus nehmen ;(

    Einmal editiert, zuletzt von KinGRaPTiiC ()

  • Tut mir Leid, mach es bitte so beim "Put-Befehl" Case 1


    if(sSpieler[playerid][DDrogen] < savethings)


    zu


    if(sSpieler[playerid][DDrogen] >= savethings)


    Gleiches bei "Put-Befehl" Case 2:


    if(sSpieler[playerid][Materials] < savethings)


    zu


    if(sSpieler[playerid][Materials] >= savethings)


    Weiterhin bitte beim gtake Befehl bei Case 1 und 2 folgendes ersetzen:


    savethings zu takethings bei diesen Abfragen hier:



    if(savethings <= sSpieler[playerid][SBDrogen]) //Case 1
    if(savethings <= sSpieler[playerid][SBMats]) //Case 2


    zu



    if(takethings<= sSpieler[playerid][SBDrogen]) //Case 1
    if(takethings<= sSpieler[playerid][SBMats]) //Case 2


    Entschuldige bitte für die Fehler.


    @KinGRaPTiiC

    3 Mal editiert, zuletzt von Kristik47 ()

  • @Kristik47


    Okay werde es nun ingame testen,
    Wäre es auch irgendwie möglich statt 1 und 2 einzugeben drugs und mats zu verwenden?


    /edit Funktioniert leider immernoch nicht und wenn ich z.B /gtake 1 300 mache stehen die drogen bei /stats immer noch auf 0 hier mal die Befehle:


    ocmd:put(playerid,params[])
    {
    //Safebox Koordinaten hier einfügen!!
    new savethings, putid, putstring[128];
    if(sscanf(params, "dd", putid, savethings))return SendClientMessage(playerid,GELB,"Verwendung: /put [1 Drogen | 2 Materials] [Anzahl an Drogen/Mats]");
    switch(putid)
    {
    case 1:
    {
    if(sSpieler[playerid][DDrogen] >= savethings)
    {
    sSpieler[playerid][DDrogen] -= savethings;
    sSpieler[playerid][SBDrogen] += savethings;
    format(putstring, sizeof(putstring),"Du hast %d Drogen in der Safebox eingelagert. Benutze /gtake um sie wieder rauszuholen.", savethings);
    SendClientMessage(playerid, ROT, putstring);
    }
    else
    {
    SendClientMessage(playerid, ROT, "So eine Drogenmenge besitzt du nicht auf bei dir.");
    }
    }
    case 2:
    {
    if(sSpieler[playerid][Materials] >= savethings)
    {
    sSpieler[playerid][Materials] -= savethings;
    sSpieler[playerid][SBMats] += savethings;
    format(putstring, sizeof(putstring),"Du hast %d Materials in der Safebox eingelagert. Benutze /gtake um sie wieder rauszuholen.", savethings);
    SendClientMessage(playerid, ROT, putstring);
    }
    else
    {
    SendClientMessage(playerid, ROT, "So eine Material-Menge besitzt du nicht auf bei dir.");
    }
    }
    }
    return 1;
    }


    ocmd:gtake(playerid,params[])
    {
    //Safebox Koordinaten hier einfügen!!
    new takethings, savethings, putid, putstring[128];
    if(sscanf(params, "dd", putid, takethings))return SendClientMessage(playerid,GELB,"Verwendung: /gtake [1 Drogen | 2 Materials] [Anzahl an Drogen/Mats]");
    switch(putid)
    {
    case 1:
    {
    if(takethings<= sSpieler[playerid][SBDrogen])
    {
    sSpieler[playerid][DDrogen] += savethings;
    sSpieler[playerid][SBDrogen] -= savethings;
    format(putstring, sizeof(putstring),"Du hast %d Drogen aus der Safebox entnommen. Benutze /put um sie wieder einzulagern.",takethings);
    SendClientMessage(playerid, ROT, putstring);
    }
    else
    {
    SendClientMessage(playerid, ROT, "So eine Drogenmenge besitzt du nicht in deiner Safebox.");
    }
    }
    case 2:
    {
    if(takethings<= sSpieler[playerid][SBMats])
    {
    sSpieler[playerid][Materials] += savethings;
    sSpieler[playerid][SBMats] -= savethings;
    format(putstring, sizeof(putstring),"Du hast %d Materials in der Safebox eingelagert. Benutze /gtake um sie wieder rauszuholen.",takethings);
    SendClientMessage(playerid, ROT, putstring);
    }
    else
    {
    SendClientMessage(playerid, ROT, "So eine Material-Menge besitzt du nicht auf deienr Safebox.");
    }
    }
    }
    return 1;
    }

    Einmal editiert, zuletzt von KinGRaPTiiC ()

  • @Kristik47


    Okay werde es nun ingame testen,
    Wäre es auch irgendwie möglich statt 1 und 2 einzugeben drugs und mats zu verwenden


    Okay, habe nochmal dran gearbeitet und jetzt versuche es bitte hiermit - ist nach deinem Wunsch angepasst.


    Schick mal bitte dein "stats" Befehl, versuch aber auch nochmal so, wie ich es dir jetzt schicke.

  • Das kam bei raus:


    C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3261) : error 035: argument type mismatch (argument 1)C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3263) : warning 211: possibly unintended assignmentC:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3263) : error 029: invalid expression, assumed zeroC:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3263) : warning 215: expression has no effectC:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3263) : error 001: expected token: ";", but found ")"C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3263) : error 029: invalid expression, assumed zeroC:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3263) : fatal error 107: too many error messages on one lineCompilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase5 Errors.
    ocmd:stats(playerid)
    {
    new String[300];
    if(IsPlayerConnected(playerid))
    {
    new geschlechtstext[24];
    if(sSpieler[playerid][Geschlecht] == 1) { geschlechtstext="Männlich"; }
    else if(sSpieler[playerid][Geschlecht] == 2) { geschlechtstext="Weiblich"; }
    format(String, sizeof(String), "|========ACCOUNTINFORMATIONEN========|\n\n|========Reallife Daten========|\nName: %s\nAlter: %d\nGeschlecht: %s\n\n|========Besitz========|\nBargeld: %d$\nKonto: %d$\nDrogen: %d", SpielerName(playerid),sSpieler[playerid][Alter], geschlechtstext, GetPlayerMoney(playerid), sSpieler[playerid][Bankguthaben], sSpieler[playerid][DDrogen]);
    ShowPlayerDialog(playerid, STATS, DIALOG_STYLE_MSGBOX, "Stats", String, "Okay", "");
    }
    return 1;
    }

  • C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3263) : warning 211: possibly unintended assignment
    C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3263) : error 029: invalid expression, assumed zero
    C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3263) : warning 215: expression has no effect
    C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3263) : error 001: expected token: ";", but found ")"
    C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3263) : error 029: invalid expression, assumed zero
    C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3263) : 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.



    ocmd:put(playerid,params[])
    {
    //Safebox Koordinaten hier einfügen!!
    new savethings, putid[24], putstring[128];
    if(sscanf(params, "dd", putid, savethings))return SendClientMessage(playerid,GELB,"Verwendung: /put [drugs | drugs] [Anzahl an Drogen/Mats]");
    if(strcmp(putid,"drugs",true) == 0)
    {
    if(sSpieler[playerid][DDrogen] => savethings)// Betroffene Zeile
    {
    sSpieler[playerid][DDrogen] -= savethings;
    sSpieler[playerid][SBDrogen] += savethings;
    format(putstring, sizeof(putstring),"Du hast %d Drogen in der Safebox eingelagert. Benutze /gtake um sie wieder rauszuholen.", savethings);
    SendClientMessage(playerid, -1, string);
    }
    else
    {
    SendClientMessage(playerid, -1, "So eine Drogenmenge besitzt du nicht auf bei dir.");
    }
    }
    else if(strcmp(putid,"mats",true) == 0)
    {
    if(sSpieler[playerid][Materials] >= savethings)
    {
    sSpieler[playerid][Materials] -= savethings;
    sSpieler[playerid][SBMats] += savethings;
    format(putstring, sizeof(putstring),"Du hast %d Materials in der Safebox eingelagert. Benutze /gtake um sie wieder rauszuholen.", savethings);
    SendClientMessage(playerid, -1, string);
    }
    else
    {
    SendClientMessage(playerid, -1, "So eine Material-Menge besitzt du nicht auf bei dir.");
    }
    }
    else
    {
    SendClientMessage(playerid,GELB,"Verwendung: /put [drugs | drugs] [Anzahl an Drogen/Mats]");
    }
    return 1;
    }

  • Wenn ich zu schnell skripte, kommt viel Scheiße bei raus. Habe mich gerade mal hingesetzt und
    alles nochmal in Ruhe durchgearbeitet:



    enum SpielerDaten
    {
    Adminlevel,
    Suplvl,
    level,
    Fraktion,
    Alter,
    Geschlecht,
    Skin,
    slogin,
    Rang,
    PaydayZeit,
    Bargeld,
    DDrogen,
    Materials,//Änderung
    SBDrogen,//Änderung
    SBMats,//Änderung
    Bankguthaben,
    Festgeld,
    FestgeldTime,
    Gangjailticket,
    Bauerticket,
    Pilotticket
    }
    new sSpieler[][SpielerDaten];



    ocmd:put(playerid,params[])
    {
    //Safebox Koordinaten hier einfügen!!
    new savethings, putid[24], putstring[128];
    if(sscanf(params, "dd", putid, savethings))return SendClientMessage(playerid,-1,"Verwendung: /put [drugs | drugs] [Anzahl an Drogen/Mats]");
    if(strcmp(putid,"drugs",true) == 0)
    {
    if(sSpieler[playerid][DDrogen] > savethings)
    {
    sSpieler[playerid][DDrogen] -= savethings;
    sSpieler[playerid][SBDrogen] += savethings;
    format(putstring, sizeof(putstring),"Du hast %d Drogen in der Safebox eingelagert. Benutze /gtake um sie wieder rauszuholen.", savethings);
    SendClientMessage(playerid, -1, putstring);
    }
    else
    {
    SendClientMessage(playerid, -1, "So eine Drogenmenge besitzt du nicht auf bei dir.");
    }
    }
    else if(strcmp(putid,"mats",true) == 0)
    {
    if(sSpieler[playerid][Materials] >= savethings)
    {
    sSpieler[playerid][Materials] -= savethings;
    sSpieler[playerid][SBMats] += savethings;
    format(putstring, sizeof(putstring),"Du hast %d Materials in der Safebox eingelagert. Benutze /gtake um sie wieder rauszuholen.", savethings);
    SendClientMessage(playerid, -1, putstring);
    }
    else
    {
    SendClientMessage(playerid, -1, "So eine Material-Menge besitzt du nicht auf bei dir.");
    }
    }
    else
    {
    SendClientMessage(playerid,-1,"Verwendung: /put [drugs | drugs] [Anzahl an Drogen/Mats]");
    }
    return 1;
    }
    ocmd:gtake(playerid,params[])
    {
    //Safebox Koordinaten hier einfügen!!
    new takethings, putid[24], takestring[128];
    if(sscanf(params, "dd", putid, takethings)) return SendClientMessage(playerid,-1,"Verwendung: /gtake [drugs | mats] [Anzahl an Drogen/Mats]");
    if(strcmp(putid,"drugs",true) == 0)
    {
    if(takethings <= sSpieler[playerid][SBDrogen])
    {
    sSpieler[playerid][DDrogen] += takethings;
    sSpieler[playerid][SBDrogen] -= takethings;
    format(takestring, sizeof(takestring),"Du hast %d Drogen aus der Safebox entnommen. Benutze /put um sie wieder einzulagern.",takethings);
    SendClientMessage(playerid, -1, takestring);
    }
    else
    {
    SendClientMessage(playerid, -1, "So eine Drogenmenge besitzt du nicht in deiner Safebox.");
    }
    }
    else if(strcmp(putid,"mats",true) == 0)
    {
    if(takethings <= sSpieler[playerid][SBMats])
    {
    sSpieler[playerid][Materials] += takethings;
    sSpieler[playerid][SBMats] -= takethings;
    format(takestring, sizeof(takestring),"Du hast %d Materials in der Safebox eingelagert. Benutze /gtake um sie wieder rauszuholen.",takethings);
    SendClientMessage(playerid, -1, takestring);
    }
    else
    {
    SendClientMessage(playerid, -1, "So eine Material-Menge besitzt du nicht auf deienr Safebox.");
    }
    }
    else
    {
    SendClientMessage(playerid,-1,"Verwendung: /gtake [drugs | mats] [Anzahl an Drogen/Mats]");
    }
    return 1;
    }


    Sorry für die ganzen Umstände. So sollte es ohne Errors funktionieren.

  • @Kristik47


    jetzt kommt immer "Verwendung: /put [drugs | drugs] [Anzahl an Drogen/Mats]");
    "Verwendung: /gtake [drugs | mats] [Anzahl an Drogen/Mats]");
    wenn ich put und gtake mache


    So, dann mal zur nächsten Runde. Versuch es mal so: :):)



    ocmd:put(playerid,params[])
    {
    //Safebox Koordinaten hier einfügen!!
    new savethings, putid[24], putstring[128];
    if(sscanf(params, "s[24]d", putid, savethings)) return SendClientMessage(playerid,-1,"Verwendung: /put [drugs | mats] [Anzahl an Drogen/Mats]");
    if(strcmp(putid,"drugs",false) == 0)
    {
    if(sSpieler[playerid][DDrogen] >= savethings)
    {
    sSpieler[playerid][DDrogen] -= savethings;
    sSpieler[playerid][SBDrogen] += savethings;
    format(putstring, sizeof(putstring),"Du hast %d Drogen in der Safebox eingelagert. Benutze /gtake um sie wieder rauszuholen.", savethings);
    SendClientMessage(playerid, -1, putstring);
    }
    else
    {
    SendClientMessage(playerid, -1, "So eine Drogenmenge besitzt du nicht auf bei dir.");
    }
    }
    else if(strcmp(putid,"mats",false) == 0)
    {
    if(sSpieler[playerid][Materials] >= savethings)
    {
    sSpieler[playerid][Materials] -= savethings;
    sSpieler[playerid][SBMats] += savethings;
    format(putstring, sizeof(putstring),"Du hast %d Materials in der Safebox eingelagert. Benutze /gtake um sie wieder rauszuholen.", savethings);
    SendClientMessage(playerid, -1, putstring);
    }
    else
    {
    SendClientMessage(playerid, -1, "So eine Material-Menge besitzt du nicht auf bei dir.");
    }
    }
    else
    {
    SendClientMessage(playerid, -1, "Du hast zwei Optionen. Entweder drugs oder mats.");
    }
    return 1;
    }


    ocmd:gtake(playerid,params[])
    {
    //Safebox Koordinaten hier einfügen!!
    new takethings, putid[24], takestring[128];
    if(sscanf(params, "s[24]d", putid, takethings)) return SendClientMessage(playerid,-1,"Verwendung: /gtake [drugs | mats] [Anzahl an Drogen/Mats]");
    if(strcmp(putid,"drugs",false) == 0)
    {
    if(sSpieler[playerid][SBDrogen] >= takethings)
    {
    sSpieler[playerid][DDrogen] += takethings;
    sSpieler[playerid][SBDrogen] -= takethings;
    format(takestring, sizeof(takestring),"Du hast %d Drogen aus der Safebox entnommen. Benutze /put um sie wieder einzulagern.",takethings);
    SendClientMessage(playerid, -1, takestring);
    }
    else
    {
    SendClientMessage(playerid, -1, "So eine Drogenmenge besitzt du nicht in deiner Safebox.");
    }
    }
    else if(strcmp(putid,"mats",false) == 0)
    {
    if(sSpieler[playerid][SBMats] >= takethings)
    {
    sSpieler[playerid][Materials] += takethings;
    sSpieler[playerid][SBMats] -= takethings;
    format(takestring, sizeof(takestring),"Du hast %d Materials in der Safebox entnommen. Benutze /put um sie wieder einzulagern.",takethings);
    SendClientMessage(playerid, -1, takestring);
    }
    else
    {
    SendClientMessage(playerid, -1, "So eine Material-Menge besitzt du nicht auf deienr Safebox.");
    }
    }
    else
    {
    SendClientMessage(playerid, -1, "Du hast zwei Optionen. Entweder drugs oder mats.");
    }
    return 1;
    }


    So funktioniert es bei mir.


    @KinGRaPTiiC