Bem-vindo a este tutorial detalhado sobre como criar um trabalho personalizado no QBCorea estrutura amplamente usada nos servidores de roleplay FiveM. Este guia o guiará pelo processo de adição de um novo trabalho via shared.lua
definir salários e configurar permissões e deveres específicos do cargo.
Introdução
A criação de trabalhos personalizados aprimora a experiência de interpretação de papéis ao oferecer aos jogadores funções e responsabilidades exclusivas. Se você estiver introduzindo um novo serviço, uma divisão de aplicação da lei ou qualquer outra ocupação, este guia o ajudará a integrá-lo perfeitamente ao seu servidor QBCore.
Entendendo os trabalhos no QBCore
No QBCore, os trabalhos são definidos em um arquivo de configuração compartilhado, acessível tanto pelo servidor quanto pelo cliente. Cada trabalho tem atributos como nome, rótulo, status de dever padrão, graus (classificações) e outros. A compreensão desses atributos é essencial para a criação de trabalhos funcionais e equilibrados.
Criação de um novo trabalho em shared.lua
Localizando o shared.lua
Arquivo
O shared.lua
contém as definições de todos os trabalhos. Você pode encontrá-lo no seguinte diretório:
[qb] > qb-core > shared > jobs.lua
Observação: Em algumas configurações, o arquivo pode ser nomeado
shared.lua
dentro donúcleo qb
pasta.
Estrutura de definição de cargo
Um trabalho no QBCore é definido usando uma tabela Lua com chaves específicas. Esta é a estrutura geral:
["jobname"] = {
rótulo = "Rótulo do trabalho",
defaultDuty = false,
offDutyPay = false,
notas = {
[0] = {
name = "Trainee",
pagamento = 50
},
[1] = {
name = "Employee",
pagamento = 100
},
-- Notas adicionais...
}
},
- nome do trabalho: Identificador usado em scripts (use letras minúsculas sem espaços).
- rótulo: Nome de exibição do trabalho.
- defaultDuty:
verdadeiro
se o jogador estiver em serviço por padrão. - Pagamento fora de serviço:
verdadeiro
se o jogador receber pagamento quando estiver fora de serviço. - notas: Tabela que define diferentes classificações dentro do cargo.
Adicionando seu trabalho personalizado
1. Abrir jobs.lua
ou shared.lua
Use um editor de texto como o Visual Studio Code ou o Notepad++ para abrir o arquivo.
2. Adicione sua definição de cargo
Insira sua definição de trabalho dentro dos trabalhos existentes. Por exemplo, para criar um trabalho de "Motorista de entrega":
["delivery"] = {
rótulo = "Motorista de entrega",
defaultDuty = false,
offDutyPay = false,
notas = {
[0] = {
name = "Trainee",
pagamento = 50
},
[1] = {
name = "Driver",
pagamento = 100
},
[2] = {
name = "Motorista Sênior",
pagamento = 150
},
[3] = {
name = "Manager",
pagamento = 200,
isBoss = true
}
}
},
- nome do trabalho:
"entrega"
(usado em scripts e banco de dados). - rótulo:
"Motorista de entregas"
(exibido para os jogadores). - defaultDuty: Defina como
falso
portanto, os jogadores precisam bater o ponto. - Pagamento fora de serviço: Defina como
falso
para desativar o pagamento quando estiver fora de serviço. - notas: Defina as classificações de 0 para cima.
3. Salvar o arquivo
Depois de adicionar seu trabalho, salve o arquivo jobs.lua
ou shared.lua
arquivo.
Definição do salário
Os salários são definidos de acordo com o notas
para cada classificação. As pagamento
determina quanto um jogador ganha por ciclo de pagamento quando está em serviço.
Exemplo
notas = {
[0] = {
name = "Trainee",
pagamento = 50
},
[1] = {
name = "Driver",
pagamento = 100
},
-- Notas adicionais...
}
- pagamento: O valor pago aos jogadores dessa categoria.
Ajuste de ciclos de pagamento
Os ciclos de pagamento são normalmente gerenciados pelo cheque de pagamento qb
ou recurso semelhante. Certifique-se de que o recurso esteja configurado corretamente para lidar com intervalos de pagamento.
Configuração de permissões e funções de trabalho
Classificações e permissões
Cada grau de trabalho pode ter permissões específicas. As isBoss
parâmetro concede recursos de gerenciamento, como contratação e promoção.
Exemplo
[3] = {
name = "Manager",
pagamento = 200,
isBoss = true
}
- isBoss: Defina como
verdadeiro
para que o nível mais alto gerencie os níveis mais baixos.
Adição de funções específicas do trabalho
Para adicionar funcionalidades específicas ao seu novo trabalho (por exemplo, acesso a veículos, uniformes ou ferramentas), você precisará configurar scripts adicionais.
1. Criar um script de trabalho
Em sua pasta de recursos, crie um novo script para seu trabalho:
[jobs] > qb-delivery
2. Definir ações de trabalho
Em seu script de trabalho, você pode definir ações como iniciar uma missão de entrega, acessar um veículo, etc.
-- Exemplo: delivery_job.lua
RegisterNetEvent('qb-delivery:startJob')
AddEventHandler('qb-delivery:startJob', function()
local src = fonte
Player local = QBCore.Functions.GetPlayer(src)
Se Player.PlayerData.job.name == 'delivery' e Player.PlayerData.job.onduty, então
-- Iniciar a missão de entrega
mais
TriggerClientEvent('QBCore:Notify', src, 'You are not a delivery driver or not on duty', 'error')
final
fim)
3. Adicionar pontos de interação
Use recursos como alvo-qb
para criar pontos de interação para seu trabalho, como uma estação de registro de ponto ou uma garagem de veículos.
4. Designar uniformes e veículos
Configurar uniformes e veículos de trabalho em vestuário qb
e qb-garagens
respectivamente.
Testando seu novo emprego
1. Inicie o servidor
Verifique se o servidor está funcionando sem erros.
2. Adicionar o trabalho ao banco de dados
Você precisará atribuir o trabalho a um jogador para testá-lo.
- Uso de comandos no jogo:bashCode copiar
/setjob [playerID] entrega 0
- Entrada direta no banco de dadosAtualize o cargo do jogador no banco de dados, se necessário.
3. Verificar a funcionalidade do trabalho
- Verificar atribuição de trabalho:
- Abra o menu do player para garantir que o trabalho esteja atribuído corretamente.
- Teste do status de plantão:
- Registrar o relógio se
defaultDuty
éfalso
.
- Registrar o relógio se
- Verificar pagamentos de salários:
- Aguarde um ciclo de pagamento para confirmar os pagamentos de salários.
- Testar ações específicas do trabalho:
- Tentativa de acessar veículos de trabalho ou iniciar missões.
Problemas comuns e solução de problemas
Trabalho não aparente ou atribuível
- Verificar o nome do trabalhoCertifique-se de que o nome do trabalho em
jobs.lua
corresponde exatamente ao atribuí-lo. - Sincronização de banco de dadosSe você editar manualmente o banco de dados, certifique-se de reiniciar o servidor ou o recurso.
Salários que não estão sendo pagos
- Status de plantãoConfirme que o jogador está em serviço se
Pagamento fora de serviço
éfalso
. - Recurso de contrachequeVerifique se o script de pagamento está sendo executado e configurado corretamente.
As permissões não estão funcionando
- Parâmetro isBossVerifique se
isBoss
está definido para a nota correta. - Conflitos de recursosVerifique se há conflitos com outros scripts que gerenciam permissões.
Erros no início do servidor
- Erros de sintaxeVerifique se faltam vírgulas, colchetes ou sintaxe incorreta em
jobs.lua
. - Dependências de recursosCertifique-se de que todos os recursos necessários sejam iniciados na ordem correta.
Conclusão
A criação de trabalhos personalizados no QBCore permite que você expanda significativamente as oportunidades de interpretação do seu servidor. Seguindo este guia, você poderá adicionar novos trabalhos, definir salários, configurar permissões e solucionar problemas comuns. Seus jogadores apreciarão as novas funções e a profundidade que elas acrescentam à experiência de jogo.