Como criar um trabalho (estrutura QBCore)

Empregos na QBCore

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.luadefinir 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 do nú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-garagensrespectivamente.

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.
  • 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.


Para obter mais tutoriais e recursos, visite qbcore.net e participe dos fóruns de nossa comunidade para obter suporte e colaboração.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Ganhe 20% de desconto em qualquer servidor QBCore completo
pt_BRPortuguês do Brasil