Перейти к основному содержимому

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 (Вам нужно купить исходную версию).