Item Waschlappen Coden

4 Beiträge · 3.318 Aufrufe
19.09.2022, 20:00 #1

Hallo ich bin sehr frisch in dem allem und habe versucht ein Waschlappen Item zu bauen.


so weit bin ich gekommen. Vll kann mir jemand helfen.


ESX = nil

ESX.RegisterUsableItem('waschlappen', function(source)

    local _source = source
    local xPlayer = ESX.GetPlayerFromId(source)
       
    xPlayer.removeInventoryItem('waschlappem', 1)
    -- hier was beim benutzen passieren soll
    TriggerClientEvent('test', source)

    end)
    


diesen code schnipsel hab ich schon auch gefunden


    SetVehicleDirtLevel(
    vehicle --[[ Vehicle ]], 
    dirtLevel --[[ number ]]



^^ ^^ :D ;( ;( ;( ;(

20.09.2022, 19:58 #2
ESX = nil

ESX.RegisterUsableItem('waschlappen', function(source)

    local _source = source
    local xPlayer = ESX.GetPlayerFromId(source)
       
    xPlayer.removeInventoryItem('waschlappem', 1)
    -- hier was beim benutzen passieren soll
    TriggerClientEvent('test', source)

    end)
    


Du solltest das Item "Waschlappen" überall gleich nennen.


Dann brauchst du die Animation z.B.:

TaskStartScenarioInPlace(xPlayer, 'WORLD_HUMAN_MAID_CLEAN', 0, true)


Ein Timer wäre nicht verkehrt:

Citizen.SetTimeout(10000, function() SetVehicleDirtLevel(vehicle, 0) ClearPedTasksImmediately(xPlayer)


Und eine Abfrage welches Fahrzeug überhaupt vor dem Spieler ist bräuchtest du auch z.B. mit:
GetVehicleInRage(xPlayer)

    SetVehicleDirtLevel(
    vehicle --[[ Vehicle ]], 
    dirtLevel --[[ number ]]



Ich hoffe ich konnte helfen ^^

21.09.2022, 18:02 #3

Wo genau liegt denn das Problem?


Du kannst schlecht ein paar Zeilen von deiner "Vision" reinposten und dann einfach nach Hilfe ohne Schwerpunkt fragen.


Da kaum Informationen gegeben sind und du anscheinend schon nach ein paar Zeilen Schwierigkeiten hast, gehe ich erst mal davon aus, dass du kaum bis keine Kenntnisse bzgl. LUA Programmieren hast.


Grundsätzlich gilt für dich in dem Moment, wenn du ein Script von Grund auf erstellen willst:

1. 3 LUA Dateien erstellen

• "client.lua"

• "server.lua"

• "fxmanifest.lua"

2. Im Internet nach Referenzen suchen, die das schon gut vormachen

• "fivem carwash" - Zeigt dir ganz gut, wie Fahrzeuge überhaupt gereinigt werden

• "fivem esx repairkit" - Zeigt dir wie man Animationen einfügt, gibt Vorlage wie ein Auto in der Nähe erkannt, Eigenschaften davon bearbeitet und ein Item verwendet werden kann

• ... Sonst alles Googeln, wo sonst noch Fragen aufkommen (weiß nicht wie viel Vorwissen du schon hast)

3. Gefundene Referenzen verwerten
• Relevante Teile aus den Scripts aus dem Internet in dein Script einfügen

• Namen und Definitionen ändern

• Animationen etc. finetunen
• Viel bugfixen und optimieren

29.08.2026, 23:33 #4

Hey @yuri06,

für den Einstieg ist es schon mal gut, dass du überhaupt mit ESX.RegisterUsableItem angefangen hast — das ist der richtige Baustein. @Famouzzx' Hinweis auf Referenz-Scripts und @RavenLoads konzeptionelle Schritte (Animation, Timer, Fahrzeug-Erkennung) gehen ebenfalls in die richtige Richtung, aber in deinem gezeigten Code stecken noch ein paar konkrete Stolpersteine:

  • ESX = nil gefolgt direkt von ESX.RegisterUsableItem(...) funktioniert nicht — an der Stelle ist ESX ja tatsächlich nil, du hast das Objekt nie über esx:getSharedObject geladen. Das braucht vorher den üblichen Lade-Block, den du in fast jedem ESX-Script findest.
  • Tippfehler: xPlayer.removeInventoryItem('waschlappem', 1) — das ist ein „m" statt „n" am Ende, muss exakt 'waschlappen' heissen wie der Item-Name in der Datenbank, sonst entfernt das Script ein Item, das gar nicht existiert.
  • Der wichtigste Punkt strukturell: ESX.RegisterUsableItem läuft serverseitig. Native Funktionen wie TaskStartScenarioInPlace, SetVehicleDirtLevel oder ClearPedTasksImmediately gibt es aber nur clientseitig — die kannst du nicht direkt in der Server-Callback aufrufen. Dein eigener Platzhalter TriggerClientEvent('test', source) zeigt, dass du das schon richtig geahnt hast: Die komplette Animation/Fahrzeug-Logik gehört in einen RegisterNetEvent-Handler auf Client-Seite, der über genau dieses Event ausgelöst wird.

Kleine Ergänzung zu den Vorschlägen von @RavenLoad: GetVehicleInRage ist kein existierendes Native (vermutlich ein Tippfehler), und die Player-Tabelle xPlayer ist kein Ped — für TaskStartScenarioInPlace & Co. brauchst du stattdessen den Ped, z. B. über GetPlayerPed(-1) auf Client-Seite.

~ Dieser Post wurde mithilfe von KI-Inhalten generiert.

In Vice City gewinnt am Ende nicht, wer am lautesten pokert – sondern wer am längsten ruhig bleibt.
Diese Woche hat sich das hier mal wieder bestätigt.

Melde dich an, um zu antworten.
© 2026 GTA-FIVEM.ORGImpressumDatenschutzNutzungsbedingungenCookiesShimo Forum