Page cover

▫️snt-vehicles

• Exports (Server)

local succs,result = 
exports["snt-vehicles"]:generateVehicle(characterId,model,colors,plate)
-- gera um veículo para um personagem (PERMANENTE)
-- characterId = id do personagem
-- model = modelo do veículo (index)
-- colors = [OPCIONAL] tabela das cores, primária e secundária, respectivamente e no formato: {{r,g,b},{r,g,b}} (caso não queira defina como nil, obrigatóriamente).
-- placa = [OPCIONAL] placa customizada (a função já verifica se está em uso).

-- succs = boolean (true or false) se o veículo foi gerado ou não.
-- result = resultado (string) se succs = false ou a placa gerada (plate) se for true.

---------------------------------------------------

local hasRented,rentalPlate,rentalTime = 
exports["snt-vehicles"]:hasVehicleModelRented(characterId,model)
-- verifica se um personagem já tem um veículo de aluguel de determinado modelo existem no banco de dados (expirado ou não)
-- characterId = id do personagem
-- model = modelo do veículo (index)

-- hasRented = boolean (true or false) se tem ou não
-- rentalPlate = placa do veículo
-- rentalTime = tempo de expiração

---------------------------------------------------

local succs,result = 
exports["snt-vehicles"]:generateRentalVehicle(characterId,model,days,customPlate)
-- gera um veículo para um personagem (TEMPORARIO)
-- characterId = id do personagem
-- model = modelo do veículo (index)
-- days = quantidade de dias
-- placa = [OPCIONAL] placa customizada (a função já verifica se está em uso)

-- succs = boolean (true or false) se o veículo foi gerado ou não
-- result = resultado (string) se succs = false ou a placa gerada (plate) se for true

* Dica: caso queira evitar a perca de porta-malas de veículos alugados ao serem renovados, utilize os exports "hasVehicleModelRented" e caso o player já tenha o veículo, apenas atualize os dias, usando o export abaixo. (A concessionária já faz isto por padrão).

---------------------------------------------------

local succs,result = 
exports["snt-vehicles"]:updateRentalVehicleDays(plate,days)
-- adiciona X dias ao tempo de expiração de um veículo, pela sua placa. Se ele já tiver um tempo válido, os dias adicionados passarão a contar a partir do término do tempo já existente!
-- plate = placa do veículo
-- days = quantidade de dias

\/ \/ \/ ATENÇÃO \/ \/ \/ 

exports["snt-vehicles"]:forceLoadVehicleByPlate(plate)
-- força o carregamento de um veículo no cache, é OBRIGATÓRIO chamar este export ANTES (após verificação do export "hasVehicleModelRented") de renovar,  os dias de um veículo que estava expirado. (Vide exemplo de renovação de veículo, ao final desta página)
-- plate = placa do veículo

---------------------------------------------------

local data =
exports["snt-vehicles"]:getVehicleData(plate)
-- pegar os dados de um veículo pela placa (todos disponíveis no banco de dados), útil para checar se um veículo é de um player, caso o retorno seja falso é porque não é um veículo de um player
-- plate = placa do veículo

-- data = tabela com as informações do veículo, com as mesmas keys do banco de dados (tabela: snt_characters_vehicles)

---------------------------------------------------

local friend =
exports["snt-vehicles"]:getVehicleBorrowed(plate)
-- retorna se um veículo está emprestado.
-- plate = placa do veículo.

-- friend = nil (se não estiver emprestado) ou int (id de para quem está emprestado).

---------------------------------------------------

local succs,result = 
exports["snt-vehicles"]:deleteVehicle(plate)
-- deleta um veículo pela placa, tanto do cache, quanto do banco de dados.
-- esta ação é IRREVERSÍVEL
-- plate = placa do veículo

-- succs = boolean (true or false) se o veículo foi deletado ou não
-- result = resultado (string) 

---------------------------------------------------

local succs,result = 
exports["snt-vehicles"]:updateVehicleTax(plate)
-- atualiza a taxa de um veículo, pela data atual + quantidade de dias de duração da taxa definida na configuração
-- placa = placa do veículo

-- succs = boolean (true or false) se o veículo foi atualizado ou não
-- result = resultado (string) 

---------------------------------------------------

local succs,result =
exports["snt-vehiles"]:updateVehicleStatus(plate,status)
-- atualiza o status de um veículo.
-- plate = placa do veículo
-- status = string (texto) status do veículo, usado para checar se ele pode ser retirado da garagem (> config/extras.lua)

-- succs = boolean (true or false) se o veículo foi atualizado ou não
-- result = resultado (string) 

---------------------------------------------------

exports["snt-vehicles"]:unlockAIVehicle(vehicleNetworkId)
-- liberar um veículo de NPC no sistema de trancas automático (Caso esteja usando), usar na lockpick por exemplo.
-- vehicleNetworkId = network id do veículo

---------------------------------------------------

exports["snt-vehicles"]:unlockVehicle(vehicleNetworkId)
-- destrancar as PORTAS de um veículo.
-- vehicleNetworkId = network id do veículo

---------------------------------------------------

local isAIVehicle,isUnlocked =
exports["snt-vehicles"]:isAIVehicle(vehicleNetworkId)
-- verificar se um veículo é de NPC e se ele já foi destrancado (export "unlockAIVehicle"). Util para fazer a função da lockpick.
-- vehicleNetworkId = network id do veículo

-- isAIVehicle = boolean (true or false), se é um veículo de NPC ou não.
-- isUnlocked = boolean (true or false), se já está livre do sistema de tranca automática ou não.

---------------------------------------------------

exports["snt-vehicles"]:insertGarage(garageData)
-- inserir uma garagem via resources externos.
-- garageData = informações da garagem, conforme tabela exemplo abaixo:

local garageData = {
    name = "Garagem", -- Nome da garagem (opcional)
    permission = "permissao", -- Permissão (opcional, se for casa deve ser = nil)
    type = "PROPERTY", -- Tipo da garagem (NORMAL, PROPERTY, WATER, AIR, etc.)
    open = {x,y,z}, -- coordenada do blip da garagem
    spawns = {{x,y,z,h},{x,y,z,h}}, -- tabela com tabelas de coords das vagas
    propertyId = 15, -- ID da propriedade (caso seja de casa)
    propertyType = "house", -- Tipo da propriedade (caso seja de casa)
}

-- Note que os valores de 'propertyId' e 'propertyType' serão passados para a função 'hasPropertyPermission' no arquivo 'config/extras.lua' para verificar se o personagem tem permissão na casa em questão (caso seja uma garagem de casa), você pode manipular e inserir os dados que precisar para a verificação.

---------------------------------------------------

local succs,result =
exports["snt-vehicles"]:changeVehiclePlateIRT(oldPlate,newPlate)
-- alterar a placa de um veículo em tempo real (banco de dados, garagem, cache, veículo fora da garagem, etc).
-- recomendo que o player precise estar dentro do veículo e seja o dono do mesmo para fazer a alteração (Vide exemplo ao final da página).

-- oldPlate = placa atual do veículo
-- newPlate = nova placa

-- succs = boolean (true or false) se o veículo foi atualizado ou não
-- result = resultado (string) 

• Exports (Shared) (Server/Client)

• Exemplo - Exports (Server)

• Integração - Hydrus.gg

  1. Crie um arquivo chamado snt-vehicles.lua dentro da pasta plugins, no seu script da Hydrus, conforme imagem abaixo:

  2. Insira o seguinte código, no arquivo criado no passo acima:

  1. Ao cadastrar a instrução do produto, selecione o modo avançado e utilize o comando: SNT:addVehicle $user_id MODELO DIAS - No lugar de MODELO, insira o nome de spawn (index) do veículo, conforme cadastrado. - No lugar de DIAS, insira a quantidade de dias (para veículos temporários). Caso queira inserir um veículo permanente é só não colocar nada, ou deixar como 0. Vide imagens:

Last updated