{"id":180821,"date":"2025-03-03T15:20:02","date_gmt":"2025-03-03T14:20:02","guid":{"rendered":"https:\/\/fivemx.com\/?p=180821"},"modified":"2026-08-20T22:16:54","modified_gmt":"2026-08-20T20:16:54","slug":"script-de-referencia-simples","status":"publish","type":"post","link":"https:\/\/rpcrate.com\/pt\/simple-referral-script\/","title":{"rendered":"Script de Indica\u00e7\u00e3o Simples para FiveM"},"content":{"rendered":"<p>nkt-referral 1.0.0, de nikartik, atribui c\u00f3digos de indica\u00e7\u00e3o e oferece promos separados por menu ox_lib. Usa identificadores de licen\u00e7a sem ponte de framework. As recompensas fornecidas usam ox_inventory; o menu sozinho n\u00e3o comprova o recebimento.<\/p>\n<h2>Instale depend\u00eancias e configure recompensas<\/h2>\n<p>Mantenha a pasta nkt-referral e inicie ox_lib e oxmysql antes de ensure nkt-referral. Inicie tamb\u00e9m ox_inventory se mantiver as fun\u00e7\u00f5es fornecidas, ou substitua por sua integra\u00e7\u00e3o verificada no servidor. O README lista apenas Ox Lib, mas o manifesto importa oxmysql e rewards.lua chama o invent\u00e1rio.<\/p>\n<p>Fa\u00e7a backup do banco antes do primeiro in\u00edcio: o recurso cria referrals com identifier como chave prim\u00e1ria, code e redeemed. O cliente obt\u00e9m seu c\u00f3digo ap\u00f3s iniciar e abre o menu com \/refercode. Configure server\/rewards.lua; preserve default e chaves personalizadas em mai\u00fasculas.<\/p>\n<p>A regra pretendida \u00e9 uma indica\u00e7\u00e3o de outro jogador por pessoa. O uso de promo \u00e9 separado por licen\u00e7a numa lista JSON para cada c\u00f3digo, n\u00e3o um resgate \u00fanico global. Apagar linhas redefine essas prote\u00e7\u00f5es e pode permitir novas recompensas; n\u00e3o \u00e9 manuten\u00e7\u00e3o de rotina.<\/p>\n<h2>Corrija estado de resgate e entrega<\/h2>\n<p>H\u00e1 verifica\u00e7\u00f5es de autoindica\u00e7\u00e3o e uso anterior, mas dependem de PlayerCodes armazenado na inicializa\u00e7\u00e3o. Um resgate bem-sucedido n\u00e3o atualiza essa flag. O UPDATE n\u00e3o exige estado ainda n\u00e3o resgatado; faltam transa\u00e7\u00e3o e cooldown no servidor. Reserve o uso de forma at\u00f4mica e sincronize o cache antes de recompensar.<\/p>\n<p>A normaliza\u00e7\u00e3o ocorre na valida\u00e7\u00e3o, enquanto a distribui\u00e7\u00e3o recebe a entrada original. Use o mesmo c\u00f3digo can\u00f4nico em todo o fluxo. Um dono offline resulta em false, mas sua fun\u00e7\u00e3o de recompensa ainda \u00e9 chamada. Enfileire recompensas offline ou pule-as explicitamente; n\u00e3o passe jogador ausente ao export de invent\u00e1rio.<\/p>\n<p>Promos leem e substituem uma lista JSON compartilhada sem transa\u00e7\u00e3o. Pedidos simult\u00e2neos podem sobrescrever resgates. Valide tipos e inicializa\u00e7\u00e3o do jogador, imponha unicidade de c\u00f3digos\/resgates e confira sucesso do invent\u00e1rio. Teste duplica\u00e7\u00e3o, concorr\u00eancia, donos offline, mai\u00fasculas\/min\u00fasculas, reconex\u00f5es e invent\u00e1rio cheio.<\/p>\n<p>Revisado em 11 de setembro de 2026 na revis\u00e3o 8c8fd7e76a851fd4a65a3e2330901fa950e76a3f. Todos os Lua, manifesto e README foram lidos. Nenhuma indica\u00e7\u00e3o, promo, recompensa ou redefini\u00e7\u00e3o do banco foi executada.<\/p>\n<p><a href=\"https:\/\/github.com\/NikartikTheBear\/nkt-referral\/tree\/8c8fd7e76a851fd4a65a3e2330901fa950e76a3f\">Ler nkt-referral na revis\u00e3o verificada<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Configure nkt-referral com ox_lib, oxmysql e recompensas. Entenda promo por jogador, donos offline e falhas de prote\u00e7\u00e3o do resgate.<\/p>","protected":false},"author":27669,"featured_media":181054,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2297,2298],"tags":[3001,2928,3000],"class_list":["post-180821","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-free","category-scripts","tag-fivem-script","tag-free","tag-free-script"],"_links":{"self":[{"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/posts\/180821","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/users\/27669"}],"replies":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/comments?post=180821"}],"version-history":[{"count":9,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/posts\/180821\/revisions"}],"predecessor-version":[{"id":217352,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/posts\/180821\/revisions\/217352"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/media\/181054"}],"wp:attachment":[{"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/media?parent=180821"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/categories?post=180821"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/tags?post=180821"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}