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âmera
- muitoEmbriagado(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 effectTypeao eventoApplyItemEffects(Você precisa comprar a versão de origem).