nkt-referral 1.0.0, de nikartik, atribui códigos de indicação e oferece promos separados por menu ox_lib. Usa identificadores de licença sem ponte de framework. As recompensas fornecidas usam ox_inventory; o menu sozinho não comprova o recebimento.
Instale dependências e configure recompensas
Mantenha a pasta nkt-referral e inicie ox_lib e oxmysql antes de ensure nkt-referral. Inicie também ox_inventory se mantiver as funções fornecidas, ou substitua por sua integração verificada no servidor. O README lista apenas Ox Lib, mas o manifesto importa oxmysql e rewards.lua chama o inventário.
Faça backup do banco antes do primeiro início: o recurso cria referrals com identifier como chave primária, code e redeemed. O cliente obtém seu código após iniciar e abre o menu com /refercode. Configure server/rewards.lua; preserve default e chaves personalizadas em maiúsculas.
A regra pretendida é uma indicação de outro jogador por pessoa. O uso de promo é separado por licença numa lista JSON para cada código, não um resgate único global. Apagar linhas redefine essas proteções e pode permitir novas recompensas; não é manutenção de rotina.
Corrija estado de resgate e entrega
Há verificações de autoindicação e uso anterior, mas dependem de PlayerCodes armazenado na inicialização. Um resgate bem-sucedido não atualiza essa flag. O UPDATE não exige estado ainda não resgatado; faltam transação e cooldown no servidor. Reserve o uso de forma atômica e sincronize o cache antes de recompensar.
A normalização ocorre na validação, enquanto a distribuição recebe a entrada original. Use o mesmo código canônico em todo o fluxo. Um dono offline resulta em false, mas sua função de recompensa ainda é chamada. Enfileire recompensas offline ou pule-as explicitamente; não passe jogador ausente ao export de inventário.
Promos leem e substituem uma lista JSON compartilhada sem transação. Pedidos simultâneos podem sobrescrever resgates. Valide tipos e inicialização do jogador, imponha unicidade de códigos/resgates e confira sucesso do inventário. Teste duplicação, concorrência, donos offline, maiúsculas/minúsculas, reconexões e inventário cheio.
Revisado em 11 de setembro de 2026 na revisão 8c8fd7e76a851fd4a65a3e2330901fa950e76a3f. Todos os Lua, manifesto e README foram lidos. Nenhuma indicação, promo, recompensa ou redefinição do banco foi executada.