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).