{"id":178511,"date":"2025-02-05T16:06:05","date_gmt":"2025-02-05T15:06:05","guid":{"rendered":"https:\/\/fivemx.com\/?p=178511"},"modified":"2026-08-16T13:43:48","modified_gmt":"2026-08-16T11:43:48","slug":"garagem-da-empresa-de-aeronaves","status":"publish","type":"post","link":"https:\/\/rpcrate.com\/pt\/aircraft-company-garage\/","title":{"rendered":"Aircraft Company Garage: configura\u00e7\u00e3o ESX antiga e revis\u00e3o de acesso"},"content":{"rendered":"<p>Aircraft Company Garage \u00e9 o recurso de HJDCZY para hangares de companhia e frota limitada, originalmente publicado para o servidor de voo CNAT. O reposit\u00f3rio original \u00e9 HJDCZY\/fivem-airport_company_garage. O c\u00f3digo revisado no commit 5cb950464ce8e0ebba8258ac43c73513caed8d54 declara a vers\u00e3o 1.0.0. A RPCrate n\u00e3o criou esse script; a antiga alega\u00e7\u00e3o de autoria em primeira pessoa estava incorreta.<\/p>\n<p><a href=\"https:\/\/forum.cfx.re\/t\/free-open-source-aircraft-company-garage\/5071066\">Publica\u00e7\u00e3o original<\/a><\/p>\n<p><a href=\"https:\/\/github.com\/HJDCZY\/fivem-airport_company_garage\">Fonte do criador<\/a><\/p>\n<h2>Prepare as depend\u00eancias antigas e os registros do banco<\/h2>\n<p>O manifesto importa es_extended, mysql-async, menuv e PolyZone. Os dois arquivos Lua principais usam o evento antigo esx:getSharedObject; adapte a integra\u00e7\u00e3o \u00e0 sua vers\u00e3o ESX. Mantenha o recurso diretamente em resources, pois o registro em arquivo monta esse caminho. garage.sql seleciona um banco chamado es_extended antes de criar aircraft_company_garage e aircraft_company; confira o destino e fa\u00e7a backup do banco de teste antes da importa\u00e7\u00e3o. Adicione explicitamente aeronaves da companhia e coordenadas dos quatro cantos do hangar. school.sql insere aeronaves de exemplo, n\u00e3o uma configura\u00e7\u00e3o completa para produ\u00e7\u00e3o.<\/p>\n<h2>Corrija o acesso da companhia e as reservas da frota<\/h2>\n<p>V\u00e1rios manipuladores do servidor aceitam companhia, ID do jogador de destino, placa ou modelo enviados pelo cliente sem vincular a solicita\u00e7\u00e3o ao emprego e ao hangar atuais do solicitante. As mudan\u00e7as de estado n\u00e3o reservam atomicamente uma aeronave dispon\u00edvel dessa companhia. Valide solicitante, companhia configurada, posi\u00e7\u00e3o no servidor, ve\u00edculo e disponibilidade antes da altera\u00e7\u00e3o ou resposta de cria\u00e7\u00e3o. A trava compartilhada do menu e seu tempo limite tamb\u00e9m precisam de revis\u00e3o: as fun\u00e7\u00f5es de tempo usam outra vari\u00e1vel menuinuse, diferente da trava local declarada depois. Teste solicita\u00e7\u00f5es simult\u00e2neas e desconex\u00f5es para que um menu travado n\u00e3o bloqueie todas as companhias.<\/p>\n<h2>Confira os controles e o estado salvo<\/h2>\n<p>Os atalhos revisados usam F6 para abrir e F3 para o comando de guardar cs; jogadores podem alter\u00e1-los. config.lua est\u00e1 vazio e n\u00e3o \u00e9 carregado pelo manifesto. A configura\u00e7\u00e3o acontece principalmente em SQL e Lua. A coluna damage n\u00e3o constitui uma implementa\u00e7\u00e3o completa de persist\u00eancia de danos. Teste disponibilidade da frota, devolu\u00e7\u00e3o, troca de emprego, reconex\u00f5es, modelos e representa\u00e7\u00e3o do estado no banco. Esta \u00e9 uma revis\u00e3o espec\u00edfica do c\u00f3digo, n\u00e3o um pacote corrigido nem uma certifica\u00e7\u00e3o em jogo.<\/p>","protected":false},"excerpt":{"rendered":"<p>Identifique a garagem a\u00e9rea de HJDCZY, suas depend\u00eancias antigas e o SQL; revise permiss\u00f5es de companhia e estados da frota limitada.<\/p>","protected":false},"author":1,"featured_media":178512,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2297,2298],"tags":[3001,2928,3000],"class_list":["post-178511","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\/178511","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\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/comments?post=178511"}],"version-history":[{"count":5,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/posts\/178511\/revisions"}],"predecessor-version":[{"id":217318,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/posts\/178511\/revisions\/217318"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/media\/178512"}],"wp:attachment":[{"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/media?parent=178511"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/categories?post=178511"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/tags?post=178511"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}