Com o que funciona
Tudo abaixo é detectado automaticamente. Não existe uma configuração “qual framework eu sou”, nem uma lista de nomes de resources para preencher: o telefone olha o que está rodando e pergunta a isso.
Um tipo de resource que não esteja rodando não é um telefone quebrado — o aplicativo que precisava dele avisa, ou simplesmente não aparece. O marketplace funciona sem uma garagem; a Carteira funciona sem um resource de cobrança.
Frameworks
Seção intitulada “Frameworks”| ESX | Legacy e 1.x. O número é uma coluna phone_number que este telefone adiciona a users |
| QBCore | O número é o que o QBCore dá a cada personagem: charinfo.phone em players |
| QBox | O mesmo charinfo.phone. A tabela do próprio Qbox chamada users é a tabela de contas dele e nunca é tocada |
| fmLib | Para qualquer outra coisa, ou a sua própria |
Dinheiro, nomes, empregos e identificadores passam todos por uma só bridge, então uma framework que esta lista não cita precisa de um arquivo em vez de um fork.
Inventários
Seção intitulada “Inventários”11 deles, e RequireItem = false cobre o resto:
ox_inventory · qb-inventory · qs-inventory · core_inventory · ps-inventory · tgiann-inventory · jpr-inventory · codem-inventory · origen_inventory · jaksam_inventory · o que o ESX traz
Os metadados por item — o que torna um telefone aquele telefone no modo de itens — funcionam no ox, qs, qb, core, jaksam e origen. O chezza, o ps e o tgiann não têm onde guardá-los, e o inventário do ESX não tem nada parecido, então o modo de itens recorre a um telefone por personagem nesses casos.
pma-voice · mumble-voip · saltychat · tokovoip_script
Chamadas e rádio colocam as pessoas em um canal e deixam o seu resource de voz fazer o trabalho. Sem nenhum deles rodando, as chamadas conectam e ninguém ouve nada.
O resto
Seção intitulada “O resto”| O quê | Detectado |
|---|---|
| Cobrança | esx_billing, okokBilling, ou a do próprio telefone |
| Moradia | esx_property, ps-housing, qb-houses, loaf_housing |
| Garagens | esx_garage, qb-garages, cd_garage, okokGarage, jg-advancedgarages |
| Sociedades | esx_society, qb-management, qb-banking |
| Licenças | esx_license, qb-core, qbx_core |
| Clima | cd_easytime, qb-weathersync, vSync, ou o próprio jogo |
| Capturas de tela | screenshot-basic |
| Uploads | Fivemanage, ou um webhook do Discord |
Morte e estar caído
Seção intitulada “Morte e estar caído”A única coisa a que dois servidores nunca respondem do mesmo jeito, então o telefone pergunta de quatro maneiras e fica com a primeira resposta: a framework (dead no ESX, isdead / inlaststand no QB), depois as state bags, depois os exports que você indicar em Config.Restrict.Death.Exports, e por fim o próprio jogo.
Isso já cobre ESX, QBCore, QBox e qualquer coisa que escreva as bags habituais. Se o seu script de ambulância não faz nada disso:
Config.Restrict.Death.Exports = { { 'wasabi_ambulance', 'isPlayerDead' },}Ele só é chamado se esse resource estiver rodando, e um nome que não responde nada é ignorado em vez de quebrar o telefone — então um palpite errado não custa nada.
O que ele precisa do próprio servidor
Seção intitulada “O que ele precisa do próprio servidor”| oxmysql | Tudo o que o telefone guarda |
| Uma build do FiveM dos últimos dois anos | A metade do navegador usa o Node embutido no servidor |
Sem npm, sem etapa de build, sem um segundo programa e sem arquivo SQL para importar — as tabelas se criam sozinhas na primeira vez que o resource inicia.