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 KamerashakesveryDrunk
(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 EreignisApplyItemEffects
hinzu (Du musst die Source-Version kaufen).