API de Efeito de Uso de Item
O script dream_vending
utiliza um sistema centralizado (DreamCore.Items
) para definir como os itens afetam o jogador quando são usados. Esta API permite que você atribua facilmente efeitos aos itens, como cura, animações ou efeitos visuais como embriaguez.
🔧 Uso
Para tornar um item utilizável com efeitos, defina-o na tabela DreamCore.Items
com uma função use
:
DreamCore.Items = {
['mocha'] = { -- Este é o nome do item conforme definido em seu sistema de itens (por exemplo, mocha, água, hambúrguer)
use = function(playerId)
TriggerClientEvent('dream_vending:client:ApplyItemEffects', playerId, {
-- Os efeitos são passados como uma lista (array) de tabelas.
{ type = 'addArmor', amount = 2 }, -- O jogador receberá primeiro 2 de armadura
{ type = 'drinkAnim', prop = 'ng_proc_coffee_01a' } -- Após a armadura, ele bebe
})
end
},
-- Adicione mais itens ;)
}
💡 Nota: Se outro script gerencia o item, simplesmente não o inclua em
DreamCore.Items
.
⚙️ Tipos de Efeitos Suportados
Abaixo está uma lista de valores de type
suportados para o evento dream_vending:client:ApplyItemEffects
:
🩺 addHeal
Aumenta a saúde do jogador.
{ type = 'addHeal', amount = 10 }
💔 removeHeal
Reduz a saúde do jogador.
{ type = 'removeHeal', amount = 10 }
🛡️ addArmor
Aumenta a armadura do jogador.
{ type = 'addArmor', amount = 10 }
💥 removeArmor
Reduz a armadura do jogador.
{ type = 'removeArmor', amount = 10 }
🍔 eatAnim
Executa uma animação de comer. Opcionalmente, defina um acessório.
{ type = 'eatAnim', prop = 'prop_cs_burger_01' }
🥤 drinkAnim
Executa uma animação de beber. Opcionalmente, defina um acessório.
{ type = 'drinkAnim', prop = 'prop_ecola_can' }
🍻 embriagado
Aplica um efeito visual e de movimento de embriaguez.
Parâmetros opcionais:
intensidade
(float): Força do tremor da câmeramuitoEmbriagado
(boolean): Altera o estilo de caminhar
{ type = 'embriagado', intensidade = 1.0, muitoEmbriagado = true }
⏱️ Efeitos Adiados
Você pode atrasar um efeito com o parâmetro timeout
(em milissegundos):
{ type = 'addHeal', amount = 10, timeout = 3000 }
💡 Dicas
- Você pode empilhar vários efeitos em um único item.
- Tente ser realista: um uísque contém mais álcool do que apenas uma piña colada.
- Use acessórios que existam no GTA V (por exemplo,
prop_ecola_can
,ng_proc_coffee_01a
, etc.). - Quer efeitos personalizados? Adicione um novo tratamento de
effectType
ao eventoApplyItemEffects
(Você precisa comprar a versão de origem).