API эффектов использования предметов
Сценарий dream_vending использует централизованную систему (DreamCore.Items), чтобы определить, как предметы влияют на игрока при использовании. Этот API позволяет легко назначать эффекты предметам, такие как исцеление, анимации или визуальные эффекты, например, опьянение.
🔧 Использование
Чтобы сделать предмет используемым с эффектами, определите его в таблице DreamCore.Items с функцией use:
DreamCore.Items = {
  ['mocha'] = { -- Это название предмета, как определено в вашей системе предметов (например, mocha, water, burger)
    use = function(playerId)
      TriggerClientEvent('dream_vending:client:ApplyItemEffects', playerId, {
        -- Эффекты передаются в виде списка (массива) таблиц.
        { type = 'addArmor', amount = 2 }, -- Игрок сначала получит 2 брони
        { type = 'drinkAnim', prop = 'ng_proc_coffee_01a' } -- После брони он пьет
      })
    end
  },
  
  -- Добавьте больше предметов ;)
}
💡 Примечание: Если другой сценарий управляет предметом, просто не включайте его в
DreamCore.Items.
⚙️ Поддерживаемые типы эффектов
Ниже приведен список поддерживаемых значений type для события dream_vending:client:ApplyItemEffects:
🩺 addHeal
Увеличивает здоровье игрока.
{ type = 'addHeal', amount = 10 }
💔 removeHeal
Уменьшает здоровье игрока.
{ type = 'removeHeal', amount = 10 }
🛡️ addArmor
Увеличивает броню игрока.
{ type = 'addArmor', amount = 10 }
💥 removeArmor
Уменьшает броню игрока.
{ type = 'removeArmor', amount = 10 }
🍔 eatAnim
Воспроизводит анимацию еды. При необходимости установите реквизит.
{ type = 'eatAnim', prop = 'prop_cs_burger_01' }
🥤 drinkAnim
Воспроизводит анимацию питья. При необходимости установите реквизит.
{ type = 'drinkAnim', prop = 'prop_ecola_can' }
🍻 drunk
Применяет визуальный и движущийся эффект опьянения.
Дополнительные параметры:
- intensity(float): Сила тряски камеры
- veryDrunk(boolean): Изменяет стиль ходьбы
{ type = 'drunk', intensity = 1.0, veryDrunk = true }
⏱️ Отложенные эффекты
Вы можете задержать эффект с параметром timeout (в миллисекундах):
{ type = 'addHeal', amount = 10, timeout = 3000 }
💡 Советы
- Вы можете объединить несколько эффектов в один предмет.
- Постарайтесь оставаться реалистичным: виски содержит больше алкоголя, чем просто пина колада.
- Используйте реквизиты, существующие в GTA V (например, prop_ecola_can,ng_proc_coffee_01aи т. д.).
- Хотите пользовательские эффекты? Добавьте новую обработку effectTypeв событиеApplyItemEffects(Вам нужно купить исходную версию).