Dependências
O Five Pets possui apenas uma dependência obrigatória. A integração com o seu framework é feita através de um arquivo de adaptação separado — não existe acoplamento direto com nenhum framework específico.oxmysql
Única dependência obrigatória. Responsável por toda a comunicação com o banco de dados MySQL/MariaDB.
Qualquer framework
ESX, QBCore, vRP, ox_core ou customizado. A integração é feita adaptando
config/functions.lua.O sistema de notificações detecta automaticamente o ox_lib e o utiliza se disponível. Caso contrário, usa o evento de notificação padrão do servidor.
Banco de Dados
As tabelas são criadas automaticamente na primeira inicialização do recurso. As estruturas abaixo servem apenas como referência.1
Tabela de instâncias
Armazena cada pelúcia individualmente com seu nível, XP, benefícios e status de equip.
2
Tabela de pelúcia em destaque
Armazena a pelúcia marcada como destaque por cada jogador.
3
Tabela de propostas de troca
Armazena propostas de troca de forma assíncrona — o destinatário não precisa estar online no momento da proposta. O campo
status percorre os valores pending, accepted, declined, cancelled e failed.4
Tabela legada (compatibilidade)
Mantida apenas para que a migração das coleções antigas para o novo formato de instâncias funcione. Não é mais escrita pelo recurso.
Instalação do Recurso
1
Copie a pasta do recurso
Coloque a pasta
core-pets dentro do diretório de recursos do seu servidor (ex: resources/[core]/).2
Informe o token de licença
Abra o arquivo
token.lua na raiz do recurso e substitua SEU-TOKEN-AQUI pelo token recebido.token.lua
3
Adapte o config/functions.lua
Arquivo único de integração com o seu framework. Veja a seção Adaptação de Framework abaixo.
4
Configure o recurso
Edite os arquivos em
config/ conforme descrito na seção Configuração.5
Adicione à server.cfg
Certifique-se de iniciar o recurso após o oxmysql e o seu framework.
Adaptação de Framework
Toda a comunicação com o framework está isolada emconfig/functions.lua. Para integrar com o framework do seu servidor, implemente as seguintes funções nesse arquivo:
Identificação do jogador
Identificação do jogador
O script precisa de um identificador numérico único por jogador para associar dados no banco.
Permissões de admin
Permissões de admin
Controla quem pode acessar o painel administrativo (
/petsadm). Suporta permissão única (string) ou conjunto de permissões (table).Inventário
Inventário
Funções de leitura e escrita no inventário do jogador. São usadas pela aba de Depósito/Saque do painel e pelo handler de “usar item” para dar a pelúcia diretamente do inventário.
Anticheat (spawn de prop)
Anticheat (spawn de prop)
Chamada server-side antes de qualquer prop ser criado no client. Use para whitelistar o modelo no seu anticheat. Retornar Campos disponíveis em
false aborta o spawn para aquele jogador.dataNotificações
Notificações
Disparada server-side via
Functions.notify(source, type, message, duration). O tipo informado (success, denied, warning, info, error) é traduzido para a cor esperada pelo seu sistema antes de chamar o evento de notificação.No client-side, se o ox_lib estiver carregado, o Five Pets utiliza
lib.notify automaticamente para suas notificações internas — sem necessidade de alteração.Banco de dados
Banco de dados
Wrappers que isolam o acesso ao MySQL. A implementação padrão usa o oxmysql, mas você pode trocar por outro driver mantendo a assinatura.
Configuração
config/config.lua — Configurações principais
config/config.lua — Configurações principais
Comandos e permissõesFuncionalidades (liga/desliga subsistemas)Cada flag em FusãoRaridades, benefícios e XP por nívelDefinidos em
false transforma o subsistema em no-op, sem mexer na coleção do jogador. Os pets continuam podendo ser equipados normalmente.Objetos 3D (defaults usados quando o catálogo não especifica)Pets.Rarities, Pets.Benefits e Pets.XpPerLevel. Para cada raridade você ajusta multiplier, dropWeight, maxLevel e benefitCount. Para cada benefício, define type (flat ou percent), os 10 valores de levels, o label exibido na UI, o poolWeight no sorteio e o xpPerAction concedido por chamada do export GrantXP.config/catalog.lua — Catálogo de pelúcias
config/catalog.lua — Catálogo de pelúcias
Define todas as pelúcias disponíveis. As chaves de raridade aceitas são Variante multi-position — várias posições selecionáveis pelo jogador:Em ambas as variantes os campos
commom, uncommom, rare, epic e legendary — exatamente como em Pets.Rarities.Variante single-position — uma única posição de equip:bone/flag caem para os defaults de Pets.Objects quando não preenchidos.config/webhooks.lua — Webhooks do Discord
config/webhooks.lua — Webhooks do Discord
"" para desativar aquele webhook.
