Documentação do PhoneHub + Pulse

PhoneHub + Pulse Phone — guia de instalação

Edição integrada 1.4.6 · ZeroDev

Para o PhoneHub + Pulse Phone 1.4.710 min de leituraAtualizado a

Esta edição junta o Pulse Phone, o edifício PhoneHub, o PhoneHub OS personalizado, o quiosque 3D de telemóveis, a bancada de reparação e o sistema de stock/entregas para funcionários. É um produto separado da edição só com o telemóvel. Instale o telemóvel e o resource da loja em conjunto. Não corra duas cópias de phone nem duas versões do mapa PhoneHub.

1. Antes da instalação

  • Faça uma cópia de segurança do seu resource de telemóvel atual, do resource de mapa, da configuração e da base de dados.
  • Use OneSync e o game build 2699 do GTA ou mais recente.
  • Inicie primeiro a base de dados, o framework, o inventário, o resource de voz e o screenshot-basic.
  • Mantenha os nomes dos resources exatamente phone e zerodev_phonehub_mlo.
  • Remova os resources PhoneHub anteriores da pasta de resources ativa e remova as linhas ensure duplicadas. Guarde as cópias de segurança fora dessa pasta.
  • Mantenha desativado qualquer outro mapa que substitua o mesmo edifício de Portola Drive.
  • Feche o FiveM por completo e pare o servidor antes de substituir ficheiros do mapa. Inicie o servidor e depois volte a abrir o FiveM. Desligue os clientes antes de substituir ou reiniciar este MLO em streaming. Um cliente ligado pode manter o mapa mesmo longe do edifício; reiniciá-lo a quente pode crashar esse cliente.

Este pacote não inclui chave de licença de servidor, framework, inventário nem scripts pagos de terceiros. Depois do processamento do Keymaster, a chave do servidor tem de pertencer à conta com direito a este novo asset combinado. Ter direito à antiga edição só com o telemóvel não dá acesso a esta nova edição.

2. Copie os resources

Copie as pastas phone e zerodev_phonehub_mlo desta transferência para a pasta de resources do seu servidor. Pode colocá-las em qualquer pasta de categoria; mantenha os nomes das pastas exatamente iguais.

screenshot-basic. A câmara precisa do screenshot-basic iniciado antes do phone; o resource padrão funciona. A transferência inclui também uma cópia mais leve (só desenha a imagem do jogo enquanto uma foto está a ser tirada, com o mesmo nome, exports e eventos). Mudar para ela é opcional: guarde a sua pasta antiga como cópia de segurança fora de resources, teste os scripts que tiram capturas de ecrã e reponha a pasta antiga se algo mudar. O guia rápido do Pulse Phone, passo 6, tem os passos; os ficheiros alterados estão listados em screenshot-basic/ZERODEV-CHANGES.md.

Adicione estas linhas depois das dependências que já tem no server.cfg:

server.cfg
ensure phone
ensure zerodev_phonehub_mlo

Não copie um motor ou uma UI de telemóvel antigos para o novo pacote. Numa atualização, passe as definições de que precisa para os novos ficheiros de configuração. Mantenha a base de dados, o armazenamento KVP do resource e as pastas media e ownermedia. O novo phone/config/phonehub_business.lua inclui definições de entrega que não existem na edição só com o telemóvel.

O balcão da loja configurado está em -749.541, -216.952224, 36.256562, orientação 210. A localização da loja já vem configurada na edição integrada limpa. O PhoneHub é a única loja de telemóveis nesta edição: a loja de Legion Square do pacote só com o telemóvel não faz parte dela. Um config.lua mantido da 1.4.4 ou anterior ainda lista Legion Square; essa entrada é ignorada e a consola indica-o uma vez. Carregue na tecla do PhoneHub (E por defeito), ou use /phonehub, no quiosque da loja, numa bancada de reparação, no balcão de atendimento ou no ponto de controlo da cobertura para abrir o terminal PhoneHub. O quiosque abre Shop e uma bancada de reparação abre Repair. A tecla pode ser mudada nas atribuições de teclas do FiveM. O comando exige a mesma proximidade que a tecla; as ações de funcionários continuam a exigir permissão do servidor.

3. Framework, inventário e outros scripts

Comece com Config.Framework = 'auto' e as definições automáticas de fornecedores em phone/config/config.lua. O relatório de estado no arranque do telemóvel identifica os fornecedores que realmente selecionou. Veja esse relatório antes de fazer compras.

Framework Configuração
ESX Legacy Inicie o es_extended e o inventário antes do phone. Importe zerodev_phonehub_mlo/setup/phonehub_esx_jobs.sql; isto acrescenta os postos de emprego em falta sem atribuir nenhum jogador.
QBCore Adicione a entrada de emprego fornecida zerodev_phonehub_mlo/setup/phonehub_qb_job.lua à tabela de shared jobs do seu core. Registe os itens do telemóvel com o guia de itens do telemóvel.
Qbox Registe o mesmo emprego/postos através da configuração de empregos do Qbox que tem instalada ou de uma API de registo de empregos suportada. Use as definições de itens do ox_inventory.
ox_core / vRP Configure o adapter de framework que o telemóvel já tem e um fornecedor de empregos que devolva o emprego PhoneHub e o posto numérico. Use acesso ao edifício controlado por ACE se o seu sistema de empregos não os expuser.
Standalone / personalizado As compras públicas estão disponíveis através da bridge standalone/personalizada que o telemóvel já tem. O acesso dos funcionários requer um fornecedor de empregos configurado ou um ACE de administrador de confiança.

Os adapters de inventário cobrem o ox_inventory, as funções de inventário dos frameworks suportados e os fornecedores de terceiros indicados em phone/guides/integrations.md (ou no guia de integração incluído na build do seu telemóvel). Cada fornecedor precisa das suas definições de itens reais e de uma versão de API compatível. Os itens em falta são indicados pelas verificações de estado do telemóvel; não esconda esses erros. Os exemplos de configuração de itens vêm em phone/config/items/.

As bridges editáveis do telemóvel cobrem voz, contas de sociedade, banca, garagens, habitação, dispatch e outras integrações. Mantenha exatamente um fornecedor selecionado por função. Fixe os resources com outro nome através de Config.ResourceNames; use Config.Providers para selecionar um fornecedor explicitamente. Exports arbitrários de terceiros não são automaticamente compatíveis: implemente a bridge personalizada documentada quando o seu script não estiver na lista. Os adapters de framework e os testes de contrato automáticos não são uma afirmação de que todas as versões de terceiros foram testadas em direto.

Stack testada em direto nesta versão: ESX Legacy, ox_inventory, oxmysql e pma-voice. Noutro framework, faça as verificações da primeira execução da secção 7 antes de abrir a loja.

4. Loja pública ou negócio gerido por jogadores

Corra um dos comandos na consola do servidor:

phonehubmode public
phonehubmode business

O modo selecionado mantém-se após reinícios. O modo público mantém as compras normais. O modo de negócio aplica stock persistente e reservas às compras feitas no balcão PhoneHub. O modo de negócio desativa as retomas ao balcão. O mesmo checkout do telemóvel valida preços, pagamentos e a entrega dos itens.

Defina o nome do emprego e os postos em phone/config/phonehub_business.lua:

Posto Funções por defeito
0 — estagiário Ver o terminal de gestão, receber entregas chegadas, controlos do edifício
1 — vendas Funções de estagiário mais encomendas a fornecedores
2 — técnico Encomendas/receção e a função de reparação configurada
3 — gerente Todos os controlos de funcionários, mais cancelamento/reembolso de encomendas a fornecedores pendentes

Atribua os empregos com as ferramentas de administração normais do seu framework. Abra Services → My Work → PhoneHub → Staff and account no telemóvel para a gestão da empresa. Usa as funções de funcionários/sociedade suportadas do framework selecionado. A edição combinada também suporta propriedade duradoura por jogadores através de uma compra em jogo no separador Business ou do comando de atribuição por administrador descrito abaixo. Todos os preços de propriedade são valores em moeda do jogo.

Para ESX com esx_addonaccount, importe também zerodev_phonehub_mlo/setup/phonehub_esx_society.sql antes de iniciar o resource de contas e depois reinicie o servidor. Isto cria a conta de empresa society_phonehub com saldo zero, sem substituir um saldo existente. Se mudou o nome do emprego, atualize o sufixo da conta para corresponder. Outros fornecedores de banca precisam da sua configuração normal de conta de empresa para o emprego configurado. Confirme um pequeno depósito e levantamento em Company antes de abrir o negócio.

O orçamento operacional é um registo interno separado para a compra de stock. As vendas somam-lhe; as encomendas a fornecedores descontam dele. Não é automaticamente uma conta bancária de sociedade nem um saldo em dinheiro que um jogador possa levantar.

5. Encomendas a fornecedores e entrega de stock

No balcão de atendimento, carregue em E para abrir o terminal PhoneHub e depois em Stock. Escolha um produto, uma configuração e uma quantidade. O servidor calcula o orçamento do fornecedor e verifica o posto do funcionário, a proximidade e o orçamento operacional.

A entrega por defeito demora 120 segundos. Continua em trânsito após reinícios. Depois de chegar, um funcionário seleciona Receive delivery no terminal. O valor padrão destination='stock' acrescenta a mercadoria ao registo de stock da loja usado pelo checkout, independentemente do fornecedor de inventário do comprador. Pedidos de receção repetidos não podem acrescentar a mesma remessa duas vezes. Os gerentes podem cancelar uma remessa não recebida para um único reembolso ao orçamento.

Configuração:

Lua
delivery = {
    seconds = 120,
    autoReceive = false,
    destination = 'stock',
    resource = '',
    export = '',
}

Para um armazém/stash personalizado, defina destination='custom' e indique um export de servidor. Ele recebe (shipment, source) e tem de usar shipment.id como chave duradoura de desduplicação. Devolva true só quando todas as linhas forem guardadas com sucesso. Configure o mapeamento de itens/SKU do seu inventário nesse adapter. A entrega personalizada não acrescenta também os itens ao registo interno de vendas; ligue explicitamente o fluxo de vendas do seu armazém para evitar stock duplicado. Não se assume nenhum adapter universal de stash.

Uma entrega externa incerta fica retida para revisão, nunca é repetida às cegas. Depois de verificar o inventário de destino, use:

phonehubdelivery <shipment-id> delivered
phonehubdelivery <shipment-id> retry

Para uma reserva de checkout de cliente incerta, verifique os registos de pagamento e de inventário antes de usar phonehubresolve <reservation-id> returned|delivered.

6. Controlos da loja

Carregue em E junto ao ponto de controlo de serviço ou ao pedestal de controlo da cobertura.

  • Space: trancas da porta da frente e da porta da cobertura, luzes da loja, o ecrã do lounge, a cobertura deslizante do terraço (automática com chuva ou neve, ou aberta/fechada), aquecedores ou ventilação do terraço, energia do terraço e um teste de sprinklers de 15 segundos.
  • Cameras: Entrance overview, Showroom overview e Service counter. Voltar ao terminal fecha a câmara; Escape sai.
  • Stock e Business: encomendas a fornecedores, entregas, receitas, o registo de vendas e reparações, e o acesso da equipa.

Os controlos do edifício requerem o emprego PhoneHub ou o ACE de funcionário/administrador configurado. O acesso público aos controlos do terraço configura-se à parte em systems_config.lua. Atribua phonehub.admin só ao seu principal de administrador de confiança; nunca a toda a gente. Defina phoneResource='phone' na configuração de sistemas do MLO.

As portas automáticas usam sensores de proximidade quando destrancadas. As suas folhas móveis têm de continuar sólidas, incluindo quando abertas. O mobiliário, o vidro e a iluminação são assets do mapa; nem todos os objetos decorativos têm interação de jogo.

7. Validação da primeira execução

  1. Inicie o servidor e corra phone:health. Confirme os fornecedores esperados de framework, inventário, base de dados e voz, e que não faltam itens obrigatórios.
  2. Entre normalmente e visite a loja. Caminhe do passeio pelos dois pares de entradas, suba/desça as escadas e passe pela porta da cobertura com o noclip desativado.
  3. Abra e feche a cobertura deslizante. Os seus oito painéis têm de se manter alinhados nas calhas em todas as posições. Teste à parte o fecho automático com chuva/neve.
  4. Abra cada vista de CCTV, alterne entre elas e saia. A cena tem de estar visível e a vista/foco normal do jogador tem de voltar.
  5. Tranque os dois grupos de portas com uma conta de funcionário. Verifique a colisão dos dois lados. Destranque e confirme de novo a animação de abertura por proximidade.
  6. Verifique a iluminação de dia/noite, o ecrã ligado/desligado, o vidro, a sinalética, os bancos e todas as arestas. Caminhe e conduza em direção ao edifício e para longe dele para inspecionar as transições de streaming.
  7. Compre um telemóvel/acessório no modo público. No modo de negócio, verifique a redução de stock, as encomendas de funcionários, a chegada/receção, fundos insuficientes e acesso não autorizado.
  8. Reinicie o servidor e confirme que o modo da loja, o stock e as entregas pendentes se mantêm. Repita uma tentativa de receção/cancelamento em duplicado; não deve aparecer mercadoria nem reembolso em duplicado. Confirme que vários jogadores veem o mesmo estado da loja.

O phonehubcheck na consola F8 do cliente indica o alinhamento real da cobertura; cada painel deve indicar um alinhamento próximo de 1. É um diagnóstico, não uma prova de que a qualidade visual ou as colisões estão corretas. As verificações automáticas não conseguem certificar todos os ângulos de câmara nem todas as combinações de servidor.

8. Resolução de problemas e atualizações

Porta 30120 ocupada: já está a correr outra instância do servidor. Pare-a através do seu txAdmin (ou do painel do alojamento) em vez de iniciar um segundo FXServer.

Faltam controlos: confirme que os dois resources arrancaram, que os nomes não mudaram e que o jogador está no ponto de controlo. Veja os erros no F8 do cliente e no servidor.

Sem acesso de funcionário: verifique o emprego configurado, o posto numérico, a proximidade do balcão de atendimento e o fornecedor de empregos selecionado. O modo de loja pública não dá direitos de funcionário.

O mapa antigo/a interface antiga persiste: remova resources/entradas ensure duplicados. Feche o FiveM por completo, pare o servidor, substitua os ficheiros, depois inicie o servidor e volte a abrir o FiveM. Só voltar a ligar-se pode manter assets em streaming desatualizados. Não recarregue o MLO a quente enquanto houver um cliente ligado, mesmo longe do edifício.

Voltar atrás: pare estes resources, reponha as pastas de resources e a configuração das cópias de segurança e reinicie com o seu txAdmin atual. Mantenha o armazenamento da base de dados/KVP, a menos que esteja deliberadamente a repor uma cópia de segurança de dados consistente.

Guarde os hashes da versão fornecidos (SHA256.json) para pedidos de suporte.

PhoneHub OS e propriedade

O Config.PhoneHubOS em phone/config/phonehub_business.lua controla esta edição. ownership='both' permite a compra em jogo e a atribuição por administrador. Defina 'admin' ou 'purchase' para permitir só uma das vias. purchasePrice é um valor em moeda do jogo. Os administradores usam phonehubowner <online player id> a partir da consola do servidor ou com o ACE phonehub.admin. A atribuição fica bloqueada enquanto houver um pagamento de compra pendente. Um dono é guardado associado ao identificador da personagem no framework, nunca a um número de source temporário do jogador. A propriedade ativa o sistema existente de stock duradouro e de orçamento operacional.

Os donos acrescentam funcionários ou gerentes próximos no separador Business. Estas funções independentes funcionam através da bridge de identidade do framework; não alteram o emprego principal de um jogador. As funções de emprego PhoneHub existentes e o acesso administrativo configurado continuam a funcionar. Por defeito, os gerentes podem encomendar mercadoria e os funcionários podem receber remessas chegadas. O stock fica reservado até uma compra ou uma entrega do fornecedor ser confirmada.

service='hybrid' permite checkout e reparações assistidos e em self-service. 'self' permite serviço direto; 'staff' exige uma oferta de um funcionário aprovada pelo cliente nesta loja. O produto isolado mantém o seu sistema de compras atual.

No quiosque da loja, aproxime-se e carregue em E. O separador Shop carrega o modelo Pulse protegido real, com rotação por arrasto, inspeção da frente/traseira, zoom e o acabamento selecionado. O preço vem do servidor do telemóvel. O pagamento exige confirmação e usa o inventário, o dinheiro e a entrega de telemóvel em caixa configurados. Um timeout não é prova de que a cobrança falhou; verifique o inventário e o registo de pagamentos antes de tentar outra vez.

Os clientes pedem ajuda de vendas ou de reparação no separador Help e recebem uma senha. Os funcionários escolhem um cliente próximo no separador Counter e preparam uma oferta; só esse cliente a pode aprovar e pagar. Os dois têm de ficar na mesma loja e no mesmo routing bucket. A aprovação de uma reparação fica associada ao dispositivo único selecionado e ao preço orçamentado. Mudar de dispositivo invalida-a.

Nas reparações assistidas, o técnico abre o terminal numa bancada de reparação livre, prepara a oferta de reparação do cliente e fica lá até ser aceite. A bancada é reservada antes do pagamento. Uma reparação paga com sucesso corre a sequência de montagem com esse jogador como técnico; em self-service é usado o técnico da loja. O motor do telemóvel trata da reparação do dispositivo e recupera o trabalho pago após uma sessão de servidor interrompida. Os props do cliente nunca criam nem substituem um telemóvel do inventário.

O separador Space, nos pontos de controlo da cobertura e do balcão, controla a cobertura deslizante, a climatização, as trancas, a iluminação e o ecrã. A geometria, a proteção contra o tempo, o pavimento e os assentos do MLO concluído são mantidos.

Traduzido do inglês. Se alguma coisa aqui não coincidir com a página em inglês, vale a página em inglês. English