Documentação do Pulse Phone
Frameworks
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:
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. qbem um servidor que rodaqbx_coreusa 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
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
itemsdo ESX na inicialização, e o console diz quais adicionou. Oconfig/items/esx.sqlestá lá se você preferir adicioná-los você mesmo. Com outro inventário, veja a seção 4. - Dinheiro: o banco é a conta
bankdo ESX, o dinheiro vivo é a contamoney. - Personagem: o celular segue o
identifierdo jogador no ESX, então o esx_multicharacter funciona. - Chefe: o cargo chamado
bossadministra a empresa, a menos que você definabossGrade. - Contas de empresa: esx_addonaccount / esx_society, ou um script de banco da seção 7.
QBCore
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/paraqb-inventory/html/images/; a verificação de inicialização aponta as que estiverem faltando. - Dinheiro:
bankecash. - Personagem: o
citizenid, então o qb-multicharacter funciona. - Chefe: cargos com
isboss = truenos seus empregos, a menos que você definabossGrade. - 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
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 paraox_inventory/web/images/. - Dinheiro:
bankecash, pelo qbx_core. - Personagem: o
citizenid. - Chefe: cargos com
isboss = true, a menos que você definabossGrade. - 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
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 paraox_inventory/web/images/. - Dinheiro: o banco é a conta ox_core do personagem. O dinheiro vivo é o item
moneydo 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
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_Coreestá 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
bankdo personagem no ND, e ocashdo ND (o ox_inventory mantém o itemmoneysincronizado). - 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_vehiclesdo 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.
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 definaConfig.Store.box = falsepara a loja entregar os celulares direto. Os jogadores usam os itens de carregamento com/phonepacke/phonecable; com um inventário do vRP, eles exigem que o jogador carreguepulse_magpackepulse_cable, então adicione os dois itens à sua lista de itens do vRP, ou definaConfig.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).
ensure oxmysql
ensure core
# ... your other scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phoneA 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(oconfig/items/tmc.luatem as entradas), e para as caixas da lojapulse_phone_boxmais uma por acabamento (pulse_phone_box_black...). Os rótulos, pesos e descrições estão emconfig/items/qb-core.lua, e as imagens emconfig/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, definaConfig.Store.box = false. - Dinheiro: o dinheiro vivo do personagem e o banco dele: o resource
bankingdo 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 formatoBNK123456, indique o campo que guarda o número da conta emconfig/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? Removaensure pulse_tmce apague aquela pasta. O console lembra você enquanto ele ainda estiver rodando.
Standalone (sem framework)
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 (
startingBalanceemconfig/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
- Defina
Config.Framework = 'custom'emconfig/config.lua. - Dê ao celular uma tabela de bridge no formato de
optional-developer-kit/custom_framework_bridge.lua: comoConfig.Providers.customemconfig/config.lua, ou a partir do seu próprio resource comexports.phone:RegisterFrameworkBridge(MyBridge). - 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 temGetBankBalance. - 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.