API d'Effet d'Utilisation d'Objet
Le script dream_vending
utilise un système centralisé (DreamCore.Items
) pour définir comment les objets affectent le joueur lorsqu'ils sont utilisés. Cet API vous permet d'assigner facilement des effets aux objets tels que la guérison, les animations, ou des effets visuels comme l'ivresse.
🔧 Utilisation
Pour rendre un objet utilisable avec des effets, définissez-le dans la table DreamCore.Items
avec une fonction use
:
DreamCore.Items = {
['mocha'] = { -- Il s'agit du nom de l'objet tel que défini dans votre système d'objets (par exemple, mocha, water, burger)
use = function(playerId)
TriggerClientEvent('dream_vending:client:ApplyItemEffects', playerId, {
-- Les effets sont transmis sous forme de liste (tableaux) de tables.
{ type = 'addArmor', amount = 2 }, -- Le joueur obtiendra d'abord 2 points d'armure
{ type = 'drinkAnim', prop = 'ng_proc_coffee_01a' } -- Après l'armure, il boit
})
end
},
-- Ajoutez plus d'objets ;)
}
💡 Remarque : Si un autre script gère l'objet, ne l'incluez tout simplement pas dans
DreamCore.Items
.
⚙️ Types d'Effets Supportés
Ci-dessous se trouve une liste des valeurs de type
supportées pour l'événement dream_vending:client:ApplyItemEffects
:
🩺 addHeal
Augmente la santé du joueur.
{ type = 'addHeal', amount = 10 }
💔 removeHeal
Réduit la santé du joueur.
{ type = 'removeHeal', amount = 10 }
🛡️ addArmor
Augmente l'armure du joueur.
{ type = 'addArmor', amount = 10 }
💥 removeArmor
Réduit l'armure du joueur.
{ type = 'removeArmor', amount = 10 }
🍔 eatAnim
Joue une animation de repas. Définissez éventuellement un accessoire.
{ type = 'eatAnim', prop = 'prop_cs_burger_01' }
🥤 drinkAnim
Joue une animation de boisson. Définissez éventuellement un accessoire.
{ type = 'drinkAnim', prop = 'prop_ecola_can' }
🍻 ivre
Applique un effet visuel et de mouvement d'ivresse.
Paramètres optionnels :
intensité
(float): Force de secousse de la camératrèsIvre
(boolean): Change le style de marche
{ type = 'drunk', intensité = 1.0, trèsIvre = true }
⏱️ Effets Différés
Vous pouvez retarder un effet avec le paramètre timeout
(en millisecondes) :
{ type = 'addHeal', amount = 10, timeout = 3000 }
💡 Conseils
- Vous pouvez empiler plusieurs effets dans un seul objet.
- Essayez de rester réaliste : un whisky contient plus d'alcool qu'une piña colada.
- Utilisez des accessoires qui existent dans GTA V (par exemple,
prop_ecola_can
,ng_proc_coffee_01a
, etc.). - Vous voulez des effets personnalisés ? Ajoutez une nouvelle gestion de
effectType
à l'événementApplyItemEffects
(Vous devez acheter la version source).