Skip to main content

Item Use Effect API

The dream_vending script uses a centralized system (DreamCore.Items) to define how items affect the player when used. This API enables you to easily assign effects to items such as healing, animations, or visual effects like drunkenness.

๐Ÿ”ง Usageโ€‹

To make an item usable with effects, define it in the DreamCore.Items table with a use function:

DreamCore.Items = {
['mocha'] = { -- This is the item name as defined in your items system (e.g., mocha, water, burger)
use = function(playerId)
TriggerClientEvent('dream_vending:client:ApplyItemEffects', playerId, {
-- Effects are passed as a list (array) of tables.
{ type = 'addArmor', amount = 2 }, -- Player will first get 2 armor
{ type = 'drinkAnim', prop = 'ng_proc_coffee_01a' } -- After the armor he drink
})
end
},

-- Add more items ;)
}

๐Ÿ’ก Note: If another script manages the item, simply donโ€™t include it in DreamCore.Items.

โš™๏ธ Supported Effect Typesโ€‹

Below is a list of supported type values for the dream_vending:client:ApplyItemEffects event:


๐Ÿฉบ addHealโ€‹

Increases the player's health.

{ type = 'addHeal', amount = 10 }

๐Ÿ’” removeHealโ€‹

Reduces the player's health.

{ type = 'removeHeal', amount = 10 }

๐Ÿ›ก๏ธ addArmorโ€‹

Increases the player's armor.

{ type = 'addArmor', amount = 10 }

๐Ÿ’ฅ removeArmorโ€‹

Reduces the player's armor.

{ type = 'removeArmor', amount = 10 }

๐Ÿ” eatAnimโ€‹

Plays an eating animation. Optionally set a prop.

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

๐Ÿฅค drinkAnimโ€‹

Plays a drinking animation. Optionally set a prop.

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

๐Ÿป drunkโ€‹

Applies a drunk visual and movement effect.

Optional parameters:

  • intensity (float): Camera shake strength
  • veryDrunk (boolean): Changes walking style
{ type = 'drunk', intensity = 1.0, veryDrunk = true }

โฑ๏ธ Delayed Effectsโ€‹

You can delay an effect with the timeout parameter (in milliseconds):

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

๐Ÿ’ก Tipsโ€‹

  • You can stack multiple effects in a single item.
  • Try to stay realistic: a whiskey contains more alcohol than just a piรฑa colada.
  • Use props that exist in GTA V (e.g., prop_ecola_can, ng_proc_coffee_01a, etc.).
  • Want custom effects? Add new effectType handling to the ApplyItemEffects event (You need to buy the source version).