Zum Hauptinhalt springen

Item Use Effect API

Die dream_vending Script verwendet ein zentralisiertes System (DreamCore.Items), um zu definieren, wie Gegenstände die Wirkung auf den Spieler haben, wenn sie benutzt werden. Diese API ermöglicht es dir, Effekte wie Heilung, Animationen oder visuelle Effekte wie Trunkenheit einfach Gegenständen zuzuweisen.

🔧 Verwendung

Um einen Gegenstand mit Effekten benutzbar zu machen, definiere ihn in der DreamCore.Items Tabelle mit einer use-Funktion:

DreamCore.Items = {
['mocha'] = { -- Dies ist der Gegenstandsname wie er in deinem Items-System definiert ist (z.B. mocha, wasser, burger)
use = function(playerId)
TriggerClientEvent('dream_vending:client:ApplyItemEffects', playerId, {
-- Effekte werden als eine Liste (Array) von Tabellen übergeben.
{ type = 'addArmor', amount = 2 }, -- Der Spieler bekommt zuerst 2 Rüstung
{ type = 'drinkAnim', prop = 'ng_proc_coffee_01a' } -- Danach trinkt er
})
end
},

-- Füge weitere Gegenstände hinzu ;)
}

💡 Hinweis: Wenn ein anderes Script das Item verwaltet, füge es nicht zu DreamCore.Items hinzu.

⚙️ Unterstützte Effektarten

Im Folgenden findest du eine Liste der unterstützten type-Werte für das Ereignis dream_vending:client:ApplyItemEffects:


🩺 addHeal

Erhöht die Gesundheit des Spielers.

{ type = 'addHeal', amount = 10 }

💔 removeHeal

Reduziert die Gesundheit des Spielers.

{ type = 'removeHeal', amount = 10 }

🛡️ addArmor

Erhöht die Rüstung des Spielers.

{ type = 'addArmor', amount = 10 }

💥 removeArmor

Reduziert die Rüstung des Spielers.

{ type = 'removeArmor', amount = 10 }

🍔 eatAnim

Spielt eine Essanimation ab. Optional ein Prop festlegen.

{ type = 'eatAnim', prop = 'prop_cs_burger_01' }

🥤 drinkAnim

Spielt eine Trinkanimation ab. Optional ein Prop festlegen.

{ type = 'drinkAnim', prop = 'prop_ecola_can' }

🍻 drunk

Verleiht einen betrunkenen visuellen und Bewegungs-Effekt.

Optionale Parameter:

  • intensity (float): Stärke des Kamerashakes
  • veryDrunk (boolean): Ändert die Gehweise
{ type = 'drunk', intensity = 1.0, veryDrunk = true }

⏱️ Verzögerte Effekte

Du kannst einen Effekt mit dem Parameter timeout (in Millisekunden) verzögern:

{ type = 'addHeal', amount = 10, timeout = 3000 }

💡 Tipps

  • Du kannst mehrere Effekte in einem einzigen Gegenstand stapeln.
  • Versuche realistisch zu sein: Ein Whiskey enthält mehr Alkohol als ein Piña Colada.
  • Verwende Props, die in GTA V existieren (z.B. prop_ecola_can, ng_proc_coffee_01a usw.).
  • Möchtest du eigene Effekte? Füge eine neue effectType-Behandlung zum Ereignis ApplyItemEffects hinzu (Du musst die Source-Version kaufen).