die Waffe geben

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
  • Dazu müsstest du es ein wenig komplizierter anstellen. Zuerst brauchst du einen Befehl, der alle Waffenslots (13) überprüft und anzeigt, welche Waffen der Spieler trägt:
    for(new slot = 0; slot < 15; slot++)
    {
    GetPlayerWeaponData(playerid, slot, weapon, ammo);
    if(weapon > 0 && weapon < 47 && ammo > 0) // Hat er überhaupt eine Waffe in dem Slot?
    {
    GetWeaponName(weapon,weaponname,sizeof(weaponname));
    format(string,sizeof(string),"Slot: %d , Waffe: %s, Munition: %d",slot,weaponname,ammo);
    SendClientMessage(playerid,COLOR_GRAD1,string);
    }
    }
    So sollte funktionieren, habs nicht gestetet. Auf jeden Fall zeigt das dann dem Spieler seine Waffen und den Slot an. Und dann kannst du deinen /givegun Befehl schon machen, aber halt Slotabhängig, d.h.
    /givegun [Spieler] [Waffenslot]
    Der 2. Befehle zum Waffengeben sieht dann ungefähr so aus
    new
    weapon,
    ammo,
    slot;
    if(sscanf(params,"dd",giveplayerid,slot)
    {
    // Fehler: Keine Eingabe
    return 1;
    }
    if(IsPlayerConnected(giveplayerid))
    {
    GetPlayerWeaponData(playerid, slot, weapon, ammo);
    if(weapon > 0 && weapon < 47 && ammo > 0)
    {
    GivePlayerWeapon(giveplayerid, weapon, ammo); // Dem Anderen Spieler die Waffe geben
    GivePlayerWeapon(playerid, weapon, -ammo); // Dem Spieler die Waffe wegnehmen
    // Der Rest deines Codes - Nachrihten usw.
    }
    else
    {
    // Fehler: keine Waffe in dem Slot
    }
    }
    Das sollte eigentlich reichen als Starthilfe...