Skip to main content

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 em config/functions.lua. Para integrar com o framework do seu servidor, implemente as seguintes funções nesse arquivo:
O script precisa de um identificador numérico único por jogador para associar dados no banco.
Controla quem pode acessar o painel administrativo (/petsadm). Suporta permissão única (string) ou conjunto de permissões (table).
O valor de permission verificado é o definido em Pets.AdminPermission no config/config.lua. Ajuste-o para corresponder ao sistema de permissões do seu framework (ex: "admin", "superadmin", "god").
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.
Chamada server-side antes de qualquer prop ser criado no client. Use para whitelistar o modelo no seu anticheat. Retornar false aborta o spawn para aquele jogador.
Campos disponíveis em data
Se o seu anticheat não precisa de integração explícita para props, basta manter return true sem alteraçõ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.
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.
As tabelas do recurso são criadas automaticamente na primeira inicialização, então essas funções precisam estar funcionando antes da primeira chamada de ensure core-pets.

Configuração

Comandos e permissões
Funcionalidades (liga/desliga subsistemas)
Cada flag 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)
Fusão
Raridades, benefícios e XP por nívelDefinidos em 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.
Define todas as pelúcias disponíveis. As chaves de raridade aceitas são commom, uncommom, rare, epic e legendary — exatamente como em Pets.Rarities.Variante single-position — uma única posição de equip:
Variante multi-position — várias posições selecionáveis pelo jogador:
Em ambas as variantes os campos bone/flag caem para os defaults de Pets.Objects quando não preenchidos.
Deixe qualquer URL como "" para desativar aquele webhook.