ResetPlayerWeapons für eine waffe

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
  • hallo alle zusammen ich suche nach einer funktion mit der ich anstatt alle waffen die ein spieler trägt nur eine einziege entziehn kann ? ist das möglich wenn ja dann hilft mir bitte weil ich habe einen anti waffen cheat und der enzieht immer gleich alle waffen die der player trägt anstatt nur die waffe die auf der blackliste steht ich habe auch schon im englischen wiki bei den funktionen geguckt aber binn leider nicht erflogreich geworfen

  • Entweder du benutzt eine Schleife, speicherst alle Waffen in einem Array, benutzt "ResetPlayerWeapons" und gibst sie dem Spieler wieder AUßer natürlich die weggenommene. Oder was auch funktioniert (bin nicht sicher ob bei jeder Waffe, aber ich habe damit keinerlei Probleme) ist einfach die negative Munition zu geben...
    stock RemovePlayerWeapon(playerid, weapon)
    {
    new
    currentweapon,
    currentammo;
    for(new slot = 0; slot < 13; slot++)
    {
    GetPlayerWeaponData(playerid, slot, currentweapon, currentammo);
    if(weapon == currentweapon)
    {
    GivePlayerWeapon(playerid, currentweapon, -currentammo);
    break;
    }
    }
    }
    Irgendwie sowas also...

  • hmm komme damit gerade nicht wirklich klar


    stock RemovePlayerWeapon(playerid, weapon)
    {
    new
    currentweapon,
    currentammo;
    for(new slot = 0; slot < 13; slot++) <=======slot ? öhm aber wo is die waffen id ? es gibt einen slot 13 ?
    {
    GetPlayerWeaponData(playerid, slot, currentweapon, currentammo);
    if(weapon == currentweapon)
    {
    GivePlayerWeapon(playerid, currentweapon, -currentammo);
    break;
    }
    }
    }
    wo wir da was abgefragt ? :huh:


  • stock RemovePlayerWeapon(playerid, weapon)
    {
    new
    currentweapon, // Ein Integerwert
    currentammo; // Noch einer
    for(new slot = 0; slot < 13; slot++) // Slot am Fang 0. Dann - solange der Integer Slot kleiner ist als die Zahl 13, wird zum Slot bei jedem Durchgang 1 dazugezählt.
    {
    GetPlayerWeaponData(playerid, slot, currentweapon, currentammo); // Dann geht er alle Waffen-Slots (wie SMGs,Pistolen,Shotguns,usw.) durch Er speichert die
    // Waffe in den jeweiligen Slots unter "currentweapon" und ebenso dessen Ammo
    if(weapon == currentweapon) // Wenn die WaffenID gleich der Waffe ist, die du wegmachen willst
    {
    GivePlayerWeapon(playerid, currentweapon, -currentammo); // gibt er ihm die Waffe, aber zieht die Ammo ab (wie bei GivePlayerMoney(playerid, -10); )
    break; // und unterbricht
    }
    }
    }

    Schon eine Abfrage da :)