Documentação do Pulse Phone

Frameworks

Para o Pulse Phone 1.4.28 min de leituraAtualizado em

3. Passo a passo para o seu framework

O celular encontra o seu framework sozinho: es_extended, qb-core, qbx_core, ox_core, ND_Core, vrp ou o core do TMC. Você só precisa de Config.Framework em config/config.lua se houver mais de um rodando, ou para um framework customizado.

Seu framework em resumo

Framework Detectado por Itens Banco e dinheiro vivo Bom saber
ESX Legacy es_extended O Pulse adiciona sozinho os itens dele à tabela items do ESX (inventário padrão). No ox_inventory, cole o bloco que a verificação de inicialização imprime Contas do ESX Contas de empresa pelo seu script de society
QBCore qb-core O Pulse adiciona sozinho os itens dele aos shared items do QBCore (qb-, ps-, lj-inventory) Dinheiro do QBCore Cargos isboss administram a empresa
Qbox qbx_core (o substituto qb-core dele conta como Qbox, não como um segundo framework) Cole o bloco do ox_inventory impresso Dinheiro do Qbox Usa o adapter do Qbox, nunca o do QBCore
ox_core ox_core Cole o bloco do ox_inventory impresso A conta ox_core do personagem; o dinheiro vivo é o money do ox_inventory Sem flag de serviço: todos contam como em serviço
ND Core ND_Core Cole o bloco do ox_inventory impresso bank e cash do ND Sem flag de serviço; sem contas de empresa
TMC o resource core dele, reconhecido pelo próprio objeto core do TMC Todo item precisa estar na lista de itens do TMC: a verificação de inicialização os imprime Dinheiro do TMC Roda pela bridge customizada, nada para configurar
vRP 2 vrp Veja a seção do vRP Carteira e banco do vRP vRP 1 e forks não são suportados
Standalone nenhum dos acima rodando Nenhum necessário O banco próprio do celular Para servidores de teste ou servidores sem framework
Customizado Config.Framework = 'custom' Pela sua bridge Pela sua bridge Veja "Framework customizado ou próprio"

Forçar o framework

A maioria dos servidores nunca precisa disso. Force o framework quando a linha de inicialização mostrar o errado, ou quando dois cores de framework estiverem instalados e iniciados. Adicione uma linha ao server.cfg:

server.cfg
setr phone_framework qb
Valor Framework
esx ESX Legacy (es_extended)
qb QBCore (qb-core)
qbox Qbox (qbx_core)
ox ox_core
nd ND Core (ND_Core)
vrp vRP 2 (vrp)
tmc TMC (core)
standalone Sem framework: o celular mantém identidade e banco próprios
custom Sua própria bridge (veja "Framework customizado ou próprio" abaixo)
auto O mesmo que não colocar a linha: Config.Framework decide
  • Tem prioridade sobre Config.Framework. Reinicie o celular depois de mudar.
  • Os nomes dos resources também funcionam: qbcore, qb-core, qbx_core, es_extended, ox_core. Uma palavra que ele não conhece é recusada: a verificação de inicialização avisa e os recursos de dinheiro ficam desligados.
  • qb em um servidor que roda qbx_core usa o adapter do Qbox. O Qbox também responde como QBCore.
  • Se o framework que você forçar não estiver iniciado, os celulares ficam na tela "not ready" até ele iniciar. O celular nunca muda para outro framework sozinho.

Multicharacter funciona em todos os frameworks. Config.IdentityScope = 'character' (o padrão) dá um celular para cada personagem. 'player' dá um celular por conta. Escolha uma vez: mudar isso num servidor ao vivo deixa para trás todos os celulares existentes.

A gestão de empresas (serviço, funcionários, contratações, a conta da empresa no app Services) usa as empresas de Config.Services em config/apps.lua. Se os nomes dos seus empregos forem diferentes dos padrões (police, ambulance, mechanic, taxi, fire ...), adicione os seus à lista job daquela empresa. Para escolher você mesmo os cargos de chefe, adicione bossGrade = <n> à empresa.

ESX Legacy

server.cfg
ensure oxmysql
ensure es_extended
# ... your ESX scripts, inventory, banking ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • Itens: com o inventário padrão do ESX não há nada a fazer. O celular adiciona os itens dele à tabela items do ESX na inicialização, e o console diz quais adicionou. O config/items/esx.sql está lá se você preferir adicioná-los você mesmo. Com outro inventário, veja a seção 4.
  • Dinheiro: o banco é a conta bank do ESX, o dinheiro vivo é a conta money.
  • Personagem: o celular segue o identifier do jogador no ESX, então o esx_multicharacter funciona.
  • Chefe: o cargo chamado boss administra a empresa, a menos que você defina bossGrade.
  • Contas de empresa: esx_addonaccount / esx_society, ou um script de banco da seção 7.

QBCore

server.cfg
ensure oxmysql
ensure qb-core
# ... qb-inventory and your other qb scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • Itens: nada para colar. O celular adiciona os itens de que precisa aos shared items do QBCore na inicialização, e o console diz quais adicionou. Copie as imagens de config/items/images/ para qb-inventory/html/images/; a verificação de inicialização aponta as que estiverem faltando.
  • Dinheiro: bank e cash.
  • Personagem: o citizenid, então o qb-multicharacter funciona.
  • Chefe: cargos com isboss = true nos seus empregos, a menos que você defina bossGrade.
  • Contas de empresa: Renewed-Banking, qb-banking ou o qb-management mais antigo.
  • Multijob: com o ps-multijob rodando, os outros empregos do jogador aparecem no Services e um toque deixa um emprego ativo.

Qbox

server.cfg
ensure oxmysql
ensure qbx_core
ensure ox_inventory
# ... your other Qbox scripts, in Qbox's own order ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • Itens: o Qbox usa o ox_inventory, que não aceita itens vindos de outro script. Inicie o servidor uma vez: a verificação de inicialização imprime as entradas que faltam, prontas para colar em ox_inventory/data/items.lua (seção 4). As imagens vão para ox_inventory/web/images/.
  • Dinheiro: bank e cash, pelo qbx_core.
  • Personagem: o citizenid.
  • Chefe: cargos com isboss = true, a menos que você defina bossGrade.
  • Multijob: integrado. Os outros empregos de um jogador aparecem no Services.
  • O qbx_core também responde como qb-core. Isso é normal: o celular trata os dois como um único framework.

ox_core

server.cfg
ensure oxmysql
ensure ox_core
ensure ox_inventory
# ... your other scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • Itens: inicie o servidor uma vez: a verificação de inicialização imprime as entradas que faltam, prontas para colar em ox_inventory/data/items.lua (seção 4). As imagens vão para ox_inventory/web/images/.
  • Dinheiro: o banco é a conta ox_core do personagem. O dinheiro vivo é o item money do ox_inventory.
  • Personagem: o charId.
  • Empregos: os grupos do ox_core não têm flag de serviço, então o próprio celular controla o serviço. Gestão de empresa (funcionários, contratações, cargos) e valet não estão disponíveis no ox_core.

ND Core

server.cfg
ensure oxmysql
ensure ox_lib
ensure ND_Core
ensure ox_inventory
# ... your other scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • Detectado sozinho quando o ND_Core está iniciado. Para forçar: setr phone_framework nd.
  • Itens: o ND usa o ox_inventory. Inicie o servidor uma vez: a verificação de inicialização imprime as entradas que faltam, prontas para colar em ox_inventory/data/items.lua (seção 4).
  • Dinheiro: o bank do personagem no ND, e o cash do ND (o ox_inventory mantém o item money sincronizado).
  • Personagem: o id de personagem do ND. O número de telefone exibido é o do próprio ND quando o personagem tem um.
  • Empregos: o emprego e o rank do personagem no ND. O ND não tem flag de serviço, então todos contam como em serviço. Gestão de empresa, contas de empresa e valet não estão disponíveis no ND Core.
  • Garagem: os carros próprios vêm da tabela nd_vehicles do ND.

vRP

Só o vRP 2 é suportado (não o vRP 1 nem forks da comunidade). O celular carrega uma pequena extensão no vRP a partir de bridge/frameworks/vrp/. Nada para copiar.

server.cfg
ensure oxmysql
ensure vrp
# ... your other scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone
  • Itens: não há arquivo de itens para o vRP, e o vRP 2 não consegue tornar itens usáveis para o celular. Mantenha Config.Item.required = false (o padrão) e defina Config.Store.box = false para a loja entregar os celulares direto. Os jogadores usam os itens de carregamento com /phonepack e /phonecable; com um inventário do vRP, eles exigem que o jogador carregue pulse_magpack e pulse_cable, então adicione os dois itens à sua lista de itens do vRP, ou defina Config.Charging.enabled = false.
  • Dinheiro: o banco e a carteira do vRP.
  • Personagem: o id de personagem do vRP.
  • Empregos: gestão de empresa e valet não estão disponíveis no vRP. O app Garage fica vazio a menos que você conecte um script de garagem.

TMC

O TMC é integrado. O celular reconhece o core do TMC sozinho: sem resource extra e sem mudar o config/config.lua (auto, tmc e custom funcionam).

server.cfg
ensure oxmysql
ensure core
# ... your other scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone

A verificação de inicialização mostra Framework: TMC.

  • Itens: adicione os itens do Pulse à lista de itens do TMC do mesmo jeito que você adiciona qualquer item. Os nomes são phone, pulse_magpack, pulse_magpack_max, pulse_cable, pulse_router, pulse_burner, pulse_buds, pulse_ringlight, pulse_wallet (o config/items/tmc.lua tem as entradas), e para as caixas da loja pulse_phone_box mais uma por acabamento (pulse_phone_box_black ...). Os rótulos, pesos e descrições estão em config/items/qb-core.lua, e as imagens em config/items/images/. Um item que não está na lista é recusado, e o jogador vê "inventory full": o console então indica o item. Um item de caixa ausente da lista não impede a venda: a loja entrega aquele celular sem a caixa e avisa no console. Se não quiser caixas de jeito nenhum, defina Config.Store.box = false.
  • Dinheiro: o dinheiro vivo do personagem e o banco dele: o resource banking do TMC quando estiver rodando (a conta pessoal dele), senão o dinheiro de banco do core. Se os seus números de conta não tiverem o formato BNK123456, indique o campo que guarda o número da conta em config/config.lua: Config.Providers.tmcBankAccount = 'charinfo.account' (use o seu próprio campo). O Wallet mostra um traço, nunca um valor inventado, quando o banco não pode ser lido.
  • Personagem: o citizen id do TMC.
  • Empregos: o emprego em serviço (ou o primeiro), com o cargo e o estado de serviço.
  • Usava o conector temporário pulse_tmc? Remova ensure pulse_tmc e apague aquela pasta. O console lembra você enquanto ele ainda estiver rodando.

Standalone (sem framework)

server.cfg
ensure oxmysql
ensure pma-voice
ensure screenshot-basic
ensure phone
  • Itens: nenhum necessário. Todo jogador tem um celular, um Reserve e um cabo.
  • Dinheiro: o celular mantém um banco próprio. Um jogador novo começa com 5000 (startingBalance em config/apps.lua).
  • Personagem: a licença Rockstar do jogador.
  • Empregos, carros e casas: o celular mantém os próprios. Preencha com os comandos de teste da seção 9.

Framework customizado ou próprio

  1. Defina Config.Framework = 'custom' em config/config.lua.
  2. Dê ao celular uma tabela de bridge no formato de optional-developer-kit/custom_framework_bridge.lua: como Config.Providers.custom em config/config.lua, ou a partir do seu próprio resource com exports.phone:RegisterFrameworkBridge(MyBridge).
  3. Só GetCharacterId é obrigatória. Se você deixar de fora uma função de nome, emprego, licença ou lista de veículos/casas, o celular age como se o seu servidor não tivesse esses dados. Se deixar de fora uma função de dinheiro ou de item, essa ação é recusada: o celular nunca paga de um banco próprio. O app Bank só aparece quando a sua bridge tem GetBankBalance.
  4. Se o seu core reiniciar enquanto o celular continua rodando, chame exports.phone:FrameworkRestarted() assim que o core estiver pronto.

O bridge/frameworks/custom.lua mostra como o celular usa a sua tabela. Para conectar outros scripts próprios (um script de banco ou de garagem), veja optional-developer-kit/custom_provider_template.lua e Exports. Os dois modelos vêm no kit de desenvolvedor opcional, zerodevscripts.com/downloads/PulsePhone-developer-kit.zip, não na pasta do celular.

Traduzido do inglês. Se algo aqui divergir da página em inglês, vale a página em inglês. English