/give

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
  • habe ein problem mit dem befehl /give


    wenn ein user /give macht und dann z.b /give drogen id -131313 macht kriegt die id die drogen obwohl der nix hat der im was gibt




    hier der code

    if(strcmp(cmd, "/give", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new x_nr[256];
    x_nr = strtok(cmdtext, idx);
    if(!strlen(x_nr))
    {
    SendClientMessage(playerid, COLOR_GOLD, "|____________________ Befehlshilfe ___________________|");
    SendClientMessage(playerid, COLOR_GOLD, "Benutzung: /give [Name] [Spieler ID] ([Menge])");
    SendClientMessage(playerid, COLOR_GOLD, "Namen: Drogen, Waffe, Materialien");
    return 1;
    }
    if(strcmp(x_nr,"Drogen",true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Benutzung: /give Drogen [Spieler ID] [Menge]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(giveplayerid,x,y,z);
    if(!PlayerToPoint(5, playerid, x, y, z))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Spieler nicht in deiner Nähe!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Benutzung: /give Drogen [Spieler ID] [Menge]");
    return 1;
    }
    new dammount;
    dammount = strval(tmp);
    if(dammount > PlayerInfo[playerid][pDrugs])
    {
    SendClientMessage(playerid, COLOR_GREY, "Du hast nicht soviele Drogen!"); return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    PlayerInfo[playerid][pDrugs] -= dammount;
    PlayerInfo[giveplayerid][pDrugs] += dammount;
    format(string, sizeof(string), "* %s gibt %s Drogen.", sendername, giveplayer);
    ProxDetector(6.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Spieler ist Offline!");
    return 1;
    }
    }
    else if(strcmp(x_nr,"Waffe",true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: /givewaffe [PlayerID]");
    return 1;
    }
    new playa;
    playa = ReturnUser(tmp);
    if(IsPlayerConnected(playa))
    {
    if(playa != INVALID_PLAYER_ID)
    {
    if (ProxDetectorS(8.0, playerid, playa))
    {
    if(playa == playerid)
    {
    SendClientMessage(playerid, COLOR_GREY, "Du kannst dir selber keine Waffe geben!");
    return 1;
    }
    if(IsPlayerInAnyVehicle(playa))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du kannst keinem im Auto eine Waffe übergeben!");
    return 1;
    }
    new gunID = GetPlayerWeapon(playerid);
    new needed = GetPlayerAmmo(playerid);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(playa, giveplayer, sizeof(giveplayer));
    GivePlayerWeapon(playa, gunID, needed);
    RemovePlayerWeapon(playerid, gunID);
    format(string, sizeof(string), "%s gibt %s seine Waffe.", sendername, giveplayer);
    ProxDetector(10.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist nicht nah genug!");
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist offline.");
    }
    }
    }
    else if(strcmp(x_nr,"Materialien",true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Benutzung: /give Materialien [Spieler ID] [Menge]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(giveplayerid,x,y,z);
    if(!PlayerToPoint(5, playerid, x, y, z))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Spieler nicht in deiner Nähe!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Benutzung: /give Materialien [Spieler ID] [Menge]");
    return 1;
    }
    new dammount;
    dammount = strval(tmp);
    if(dammount > PlayerInfo[playerid][pMats]) { SendClientMessage(playerid, COLOR_GREY, "Du hast nicht soviele Materialien!"); return 1; }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    PlayerInfo[playerid][pMats] -= dammount;
    PlayerInfo[giveplayerid][pMats] += dammount;
    format(string, sizeof(string), "* %s gibt %s Materialien.", sendername, giveplayer);
    ProxDetector(6.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Spieler ist Offline!");
    return 1;
    }
    }
    }
    return 1;
    }