RegisterNetEvent('armor:addArmor') AddEventHandler('armor:addArmor', function(amount) local playerPed = PlayerPedId() -- Überprüfung: Sitzt der Spieler in einem Fahrzeug? (Optional, aber empfohlen) if IsPedInAnyVehicle(playerPed, false) then exports.hex_4_hud:Notify("Fehler", "Du kannst keine Weste im Auto anziehen!", 5000, "error") -- Falls du dem Spieler das Item zurückgeben willst, müsste man hier ein Event an den Server senden. return end -- 1. Animation starten -- Wir laden das Animations-Wörterbuch (Dict) local animDict = "clothingtie" -- Ein passendes Dict für "Weste richten" local animName = "try_tie_negative_a" -- Die spezifische Animation RequestAnimDict(animDict) -- Warten, bis das Wörterbuch geladen ist while not HasAnimDictLoaded(animDict) do Citizen.Wait(100) end -- Die Animation abspielen -- Parameter: Ped, Dict, Name, Einblendzeit, Ausblendzeit, Dauer (-1 = unendlich), Flag, Startphase, IKKram TaskPlayAnim(playerPed, animDict, animName, 8.0, 1.0, -1, 49, 0, false, false, false) -- hex_4_hud Benachrichtigung: Startet das Anlegen exports.hex_4_hud:Notify("Info", "Du ziehst die Weste an...", 3000, "info") -- 2. Wartezeit (während die Animation läuft) -- Hier warten wir 3 Sekunden (3000 Millisekunden) Citizen.Wait(3000) -- 3. Rüstung berechnen und setzen local currentArmor = GetPedArmour(playerPed) local newArmor = currentArmor + amount -- Verhindert, dass man über 100 Rüstung kommt if newArmor > 100 then newArmor = 100 end -- Rüstung setzen SetPedArmour(playerPed, newArmor) -- 4. Animation stoppen ClearPedTasks(playerPed) -- Optional: Das geladene Dict wieder entladen, um Speicher zu sparen RemoveAnimDict(animDict) -- hex_4_hud Benachrichtigung: Erfolg exports.hex_4_hud:Notify("Ausrüstung", "Schutzweste erfolgreich angelegt", 5000, "success") end) Citizen.CreateThread(function() while true do Citizen.Wait(0) local playerPed = PlayerPedId() -- Wenn bewaffnet (Typ 4 = Fernkampfwaffen) if IsPedArmed(playerPed, 4) then -- Deaktiviert die Nahkampftasten DisableControlAction(0, 140, true) -- R / Schlag leicht DisableControlAction(0, 141, true) -- Q / Schlag schwer DisableControlAction(0, 142, true) -- Linksklick / Schlag alternativ end end end)