Introdução

Para maior flexibilidade, a CentralCart fornece suporte para criação de comandos personalizados em .js e em .lua.

  1. Na pasta do script da CentralCart, localize e entre na pasta extensions;
  2. Você encontrará 2 arquivos de exemplo. Você pode utilizar qualquer um deles ou criar um novo;
  3. Crie um handler para o evento centralcart.ready e use o export da CentralCart para registrar os comandos.

Para mais informações sobre como agendar comandos para serem executados quando um jogador se conecta, veja a documentação de schedule.

Boilerplate para criação de comando:

AddEventHandler("centralcart.ready", function()
  -- Importando as funções da CentralCart
  local CentralCart = exports[GetCurrentResourceName()]

  -- Cadastre um novo comando ou sobrescreva um comando já existente
  CentralCart:registerCommand("examplelua", function()
    print("Comando de exemplo em lua")

    return "OK"
  end)
end)

Usando funções vRP em comandos custom

  1. Instancie a variável vRP no arquivo da sua extensão;
  2. Carregue o server_script @vrp/lib/utils.lua no fxmanifest.lua do script da CentralCart.
local Proxy = module("vrp", "lib/Proxy")
local vRP = Proxy.getInterface("vRP")

AddEventHandler("centralcart.ready", function() 
  local CentralCart = exports[GetCurrentResourceName()]

  -- addPremium {client_identifier}
  CentralCart:registerCommand("addPremium", function(user_id)
    local source = vRP.getUserSource(user_id)

    -- Verificamos se o jogador está offline
    if not source then
      -- Aqui criamos um agendamento, isso vai fazer o comando ser 
      -- executado assim que o player se conectar ao servidor
      CentralCart:schedule(user_id, { "addPremium", user_id })
      return "OK (Scheduled)"
    end

    if not vRP.UserPremium(user_id) then
      vRP.SetPremium(user_id)
    end
  end)
end)