Upload Script!
This commit is contained in:
193
pTaxi/esx/client.lua
Normal file
193
pTaxi/esx/client.lua
Normal file
@@ -0,0 +1,193 @@
|
||||
-- Made with ❤️ by noahpombas.ch
|
||||
if Pombas.legacy == true then
|
||||
ESX = exports["es_extended"]:getSharedObject()
|
||||
else
|
||||
Citizen.CreateThread(function()
|
||||
while ESX == nil do
|
||||
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
|
||||
Citizen.Wait(0)
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
local lastTaxiCallTime = nil
|
||||
local cooldownTime = Pombas.delay * 60
|
||||
|
||||
RegisterCommand("chamarTaxi", function(source, args, rawCommand)
|
||||
SetWaypointOff()
|
||||
local currentTime = GetGameTimer() / 1000
|
||||
local ped = PlayerPedId()
|
||||
local coords = GetEntityCoords(ped)
|
||||
|
||||
if lastTaxiCallTime ~= nil and (currentTime - lastTaxiCallTime < cooldownTime) then
|
||||
local remainingTime = cooldownTime - (currentTime - lastTaxiCallTime)
|
||||
local time = math.floor(remainingTime / 60)
|
||||
TriggerEvent("chat:addMessage", { args = { "^1Táxi ", "Você precisa esperar " .. time .. " minutos para chamar outro táxi!" } })
|
||||
return
|
||||
end
|
||||
|
||||
|
||||
lastTaxiCallTime = currentTime
|
||||
|
||||
TriggerServerEvent("taxi:verificarSaldo")
|
||||
end)
|
||||
|
||||
-- Made with ❤️ by noahpombas.ch
|
||||
RegisterNetEvent("taxi:saldoVerificado")
|
||||
AddEventHandler("taxi:saldoVerificado", function(temSaldo)
|
||||
if not temSaldo then
|
||||
TriggerEvent("chat:addMessage", { args = { "^1Táxi", "Você não tem dinheiro suficiente no banco!" } })
|
||||
return
|
||||
end
|
||||
|
||||
local ped = PlayerPedId()
|
||||
local coords = GetEntityCoords(ped)
|
||||
local taxiModel = GetHashKey(Pombas.car)
|
||||
local driverModel = GetHashKey(Pombas.driverModel)
|
||||
|
||||
RequestModel(taxiModel)
|
||||
RequestModel(driverModel)
|
||||
while not HasModelLoaded(taxiModel) or not HasModelLoaded(driverModel) do
|
||||
Wait(500)
|
||||
end
|
||||
|
||||
local foundRoad, outPos1, outPos2 = GetClosestRoad(coords.x, coords.y, coords.z, 1.0, 1, false)
|
||||
local spawnCoords = vector3(0.0, 0.0, 0.0)
|
||||
|
||||
if foundRoad then
|
||||
spawnCoords = (outPos1 + outPos2) / 2
|
||||
else
|
||||
spawnCoords = vector3(coords.x + 10, coords.y + 10, coords.z)
|
||||
end
|
||||
|
||||
local taxi = CreateVehicle(taxiModel, spawnCoords.x, spawnCoords.y, spawnCoords.z, GetEntityHeading(ped), true, false)
|
||||
SetEntityAsMissionEntity(taxi, true, true)
|
||||
|
||||
|
||||
local driver = CreatePedInsideVehicle(taxi, 26, driverModel, -1, true, false)
|
||||
SetBlockingOfNonTemporaryEvents(driver, true)
|
||||
SetPedCanBeDraggedOut(driver, false)
|
||||
SetDriverAbility(driver, 1.0)
|
||||
SetDriverAggressiveness(driver, 0.0)
|
||||
TaskVehicleDriveWander(driver, taxi, 20.0, 786603)
|
||||
SetEntityInvincible(taxi, true)
|
||||
SetEntityInvincible(driver, true)
|
||||
SetEntityAsMissionEntity(driver, true, true)
|
||||
SetPedCombatAttributes(driver, 46, true)
|
||||
SetPedFleeAttributes(driver, 0, false)
|
||||
SetBlockingOfNonTemporaryEvents(driver, true)
|
||||
|
||||
TaskVehicleDriveToCoord(driver, taxi, spawnCoords.x, spawnCoords.y, spawnCoords.z, 5000.0, 0, GetEntityModel(taxi), 786603, 1.0, true)
|
||||
|
||||
|
||||
local taxiBlip = AddBlipForEntity(taxi)
|
||||
SetBlipSprite(taxiBlip, 198)
|
||||
SetBlipColour(taxiBlip, 46)
|
||||
SetBlipScale(taxiBlip, 1.0)
|
||||
|
||||
|
||||
local playerEntered = false
|
||||
while not playerEntered do
|
||||
local taxiCoords = GetEntityCoords(taxi)
|
||||
local pedCoords = GetEntityCoords(ped)
|
||||
|
||||
if #(pedCoords - taxiCoords) < 10.0 then
|
||||
SetWaypointOff()
|
||||
TaskEnterVehicle(ped, taxi, -1, 1, 1.0, 1, 0)
|
||||
playerEntered = true
|
||||
end
|
||||
Wait(500)
|
||||
end
|
||||
|
||||
-- Solicitar que o jogador marque um destino no mapa
|
||||
TriggerEvent("chat:addMessage", { args = { "^2Táxi", "Por favor, marque o destino no mapa!" } })
|
||||
local destinoMarcado = false
|
||||
local waypointCoords = nil
|
||||
|
||||
while not destinoMarcado do
|
||||
local waypointBlip = GetFirstBlipInfoId(8) -- 8 é o ID de waypoint
|
||||
if DoesBlipExist(waypointBlip) then
|
||||
waypointCoords = GetBlipInfoIdCoord(waypointBlip)
|
||||
destinoMarcado = true
|
||||
end
|
||||
Wait(500)
|
||||
end
|
||||
|
||||
local isPassenger = GetPedInVehicleSeat(taxi, 1)
|
||||
local playerInside = false
|
||||
|
||||
while not playerInside do
|
||||
local pedCoords = GetEntityCoords(ped)
|
||||
local taxiCoords = GetEntityCoords(taxi)
|
||||
if #(pedCoords - taxiCoords) < 10.0 then
|
||||
TaskEnterVehicle(ped, taxi, -1, 1, 1.0, 1, 0)
|
||||
playerInside = true
|
||||
end
|
||||
end
|
||||
|
||||
local foundRoad, outPos1, outPos2 = GetClosestRoad(waypointCoords.x, waypointCoords.y, waypointCoords.z, 1.0, 1, false)
|
||||
if foundRoad then
|
||||
spawnCoords = (outPos1 + outPos2) / 2
|
||||
else
|
||||
spawnCoords = vector3(waypointCoords.x, waypointCoords.y, waypointCoords.z)
|
||||
end
|
||||
|
||||
|
||||
local destinoBlip = AddBlipForCoord(spawnCoords.x, spawnCoords.y, spawnCoords.z)
|
||||
SetBlipSprite(destinoBlip, 1)
|
||||
SetBlipColour(destinoBlip, 5)
|
||||
SetBlipScale(destinoBlip, 1.0)
|
||||
BeginTextCommandSetBlipName("STRING")
|
||||
AddTextComponentString("Destino")
|
||||
EndTextCommandSetBlipName(destinoBlip)
|
||||
|
||||
|
||||
local playerCoords = GetEntityCoords(PlayerPedId())
|
||||
local distancia = #(playerCoords - spawnCoords)
|
||||
local preco = math.floor(distancia * Pombas.price)
|
||||
|
||||
TriggerEvent("chat:addMessage", { args = { "^2Táxi", "Destino marcado! Custo estimado: $" .. preco } })
|
||||
|
||||
|
||||
TaskVehicleDriveToCoord(driver, taxi, spawnCoords.x, spawnCoords.y, spawnCoords.z, 5000.0, 0, GetEntityModel(taxi), 2883621, 1.0, true)
|
||||
|
||||
local playerExited = 0
|
||||
local arrivedAtDestination = false
|
||||
|
||||
while true do
|
||||
local playerCoords = GetEntityCoords(PlayerPedId())
|
||||
local distancia = #(playerCoords - spawnCoords)
|
||||
local isPassenger = GetPedInVehicleSeat(taxi, 1)
|
||||
|
||||
|
||||
if isPassenger == 0 then
|
||||
if playerExited == 0 then
|
||||
playerExited = 1
|
||||
TriggerEvent("chat:addMessage", { args = { "^1Táxi", "Destino cancelado!" } })
|
||||
TriggerServerEvent('taxi:chargeFullPrice', preco)
|
||||
Wait(3000)
|
||||
DeleteVehicle(taxi)
|
||||
DeletePed(driver)
|
||||
RemoveBlip(destinoBlip)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
if distancia < 10.0 and not arrivedAtDestination then
|
||||
arrivedAtDestination = true
|
||||
playerExited = 1
|
||||
TriggerEvent("chat:addMessage", { args = { "^1Táxi", "Chegou ao seu Destino!" } })
|
||||
TriggerServerEvent('taxi:chargeFullPrice', preco)
|
||||
TaskLeaveVehicle(PlayerPedId(), taxi, 0)
|
||||
Wait(3000)
|
||||
DeleteVehicle(taxi)
|
||||
DeletePed(driver)
|
||||
RemoveBlip(destinoBlip)
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
Wait(1000)
|
||||
end
|
||||
end)
|
||||
15
pTaxi/esx/config.lua
Normal file
15
pTaxi/esx/config.lua
Normal file
@@ -0,0 +1,15 @@
|
||||
-- ███╗ ██╗ ██████╗ █████╗ ██╗ ██╗██████╗ ██████╗ ███╗ ███╗██████╗ █████╗ ███████╗ ██████╗██╗ ██╗
|
||||
-- ████╗ ██║██╔═══██╗██╔══██╗██║ ██║██╔══██╗██╔═══██╗████╗ ████║██╔══██╗██╔══██╗██╔════╝ ██╔════╝██║ ██║
|
||||
-- ██╔██╗ ██║██║ ██║███████║███████║██████╔╝██║ ██║██╔████╔██║██████╔╝███████║███████╗ ██║ ███████║
|
||||
-- ██║╚██╗██║██║ ██║██╔══██║██╔══██║██╔═══╝ ██║ ██║██║╚██╔╝██║██╔══██╗██╔══██║╚════██║ ██║ ██╔══██║
|
||||
-- ██║ ╚████║╚██████╔╝██║ ██║██║ ██║██║ ╚██████╔╝██║ ╚═╝ ██║██████╔╝██║ ██║███████║ ██╗ ╚██████╗██║ ██║
|
||||
-- ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═════╝ ╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═════╝╚═╝ ╚═╝
|
||||
Pombas = {}
|
||||
|
||||
Pombas.legacy = true -- true = legacy ||| false = esx
|
||||
Pombas.delay = 5, -- command cooldown in minutes
|
||||
Pombas.car = "taxi", -- Car Model
|
||||
Pombas.driverModel = "s_m_m_movprem_01", -- Driver Model | https://docs.fivem.net/docs/game-references/ped-models/
|
||||
Pombas.price = 0.2, -- Price per Meter
|
||||
Pombas.minBalance = 50 -- Minimum Balance to call a Taxi
|
||||
-- Made with ❤️ by noahpombas.ch
|
||||
23
pTaxi/esx/fxmanifest.lua
Normal file
23
pTaxi/esx/fxmanifest.lua
Normal file
@@ -0,0 +1,23 @@
|
||||
-- Made with ❤️ by noahpombas.ch
|
||||
fx_version 'cerulean'
|
||||
game 'gta5'
|
||||
|
||||
author 'noahpombas.ch'
|
||||
description 'pTaxi, made with ❤️ by noahpombas.ch'
|
||||
version '1.0.0'
|
||||
|
||||
client_scripts {
|
||||
'client.lua',
|
||||
}
|
||||
|
||||
server_scripts {
|
||||
'@es_extended/locale.lua',
|
||||
'server.lua'
|
||||
}
|
||||
|
||||
shared_script 'config.lua'
|
||||
|
||||
dependencies {
|
||||
'es_extended'
|
||||
}
|
||||
-- Made with ❤️ by noahpombas.ch
|
||||
BIN
pTaxi/esx/pTaxi-esx.zip
Normal file
BIN
pTaxi/esx/pTaxi-esx.zip
Normal file
Binary file not shown.
28
pTaxi/esx/server.lua
Normal file
28
pTaxi/esx/server.lua
Normal file
@@ -0,0 +1,28 @@
|
||||
-- Made with ❤️ by noahpombas.ch
|
||||
ESX = exports["es_extended"]:getSharedObject()
|
||||
|
||||
RegisterServerEvent("taxi:verificarSaldo")
|
||||
AddEventHandler("taxi:verificarSaldo", function()
|
||||
local xPlayer = ESX.GetPlayerFromId(source)
|
||||
local saldo = xPlayer.getAccount('bank').money
|
||||
|
||||
if saldo >= Pombas.minBalance then
|
||||
TriggerClientEvent("taxi:saldoVerificado", source, true)
|
||||
else
|
||||
TriggerClientEvent("taxi:saldoVerificado", source, false)
|
||||
end
|
||||
end)
|
||||
|
||||
RegisterServerEvent("taxi:chargeFullPrice")
|
||||
AddEventHandler("taxi:chargeFullPrice", function(preco)
|
||||
local _source = source
|
||||
local xPlayer = ESX.GetPlayerFromId(_source)
|
||||
|
||||
if xPlayer.getAccount('bank').money >= preco then
|
||||
xPlayer.removeAccountMoney('bank', preco)
|
||||
TriggerClientEvent('esx:showNotification', _source, "Você foi cobrado pelo valor total da viagem: $" .. preco)
|
||||
else
|
||||
TriggerClientEvent('esx:showNotification', _source, "Você não tem dinheiro suficiente para pagar a viagem!")
|
||||
end
|
||||
end)
|
||||
-- Made with ❤️ by noahpombas.ch
|
||||
208
pTaxi/qbcore/client.lua
Normal file
208
pTaxi/qbcore/client.lua
Normal file
@@ -0,0 +1,208 @@
|
||||
-- Made with ❤️ by noahpombas.ch
|
||||
local QBCore = exports['qb-core']:GetCoreObject()
|
||||
|
||||
local lastTaxiCallTime = nil
|
||||
local cooldownTime = Pombas.delay * 60
|
||||
|
||||
-- Command to call a taxi
|
||||
RegisterCommand("chamarTaxi", function()
|
||||
local currentTime = GetGameTimer() / 1000
|
||||
if lastTaxiCallTime and (currentTime - lastTaxiCallTime < cooldownTime) then
|
||||
local remainingTime = cooldownTime - (currentTime - lastTaxiCallTime)
|
||||
QBCore.Functions.Notify("Espere " .. math.floor(remainingTime / 60) .. " minutos para chamar outro táxi.", "error")
|
||||
return
|
||||
end
|
||||
|
||||
lastTaxiCallTime = currentTime
|
||||
TriggerServerEvent("taxi:verificarSaldo")
|
||||
end)
|
||||
|
||||
-- Handle balance verification
|
||||
RegisterNetEvent("taxi:saldoVerificado")
|
||||
AddEventHandler("taxi:saldoVerificado", function(hasBalance)
|
||||
if not hasBalance then
|
||||
QBCore.Functions.Notify("Você não tem dinheiro suficiente no banco.", "error")
|
||||
return
|
||||
end
|
||||
|
||||
-- Spawn taxi and driver
|
||||
local ped = PlayerPedId()
|
||||
local coords = GetEntityCoords(ped)
|
||||
local taxiModel = GetHashKey(Pombas.car)
|
||||
local driverModel = GetHashKey(Pombas.driverModel)
|
||||
|
||||
RequestModel(taxiModel)
|
||||
RequestModel(driverModel)
|
||||
while not HasModelLoaded(taxiModel) or not HasModelLoaded(driverModel) do
|
||||
Wait(500)
|
||||
end
|
||||
|
||||
|
||||
local foundRoad, outPos1, outPos2 = GetClosestRoad(coords.x, coords.y, coords.z, 1.0, 1, false)
|
||||
local spawnCoords = vector3(0.0, 0.0, 0.0)
|
||||
|
||||
if foundRoad then
|
||||
spawnCoords = (outPos1 + outPos2) / 2
|
||||
else
|
||||
|
||||
spawnCoords = vector3(coords.x + 10, coords.y + 10, coords.z)
|
||||
end
|
||||
|
||||
local taxi = CreateVehicle(taxiModel, spawnCoords.x, spawnCoords.y, spawnCoords.z, GetEntityHeading(ped), true, false)
|
||||
TriggerEvent('fuel:setFuel', taxi, 100.0)
|
||||
|
||||
SetEntityAsMissionEntity(taxi, true, true)
|
||||
SetVehicleHasBeenOwnedByPlayer(taxi, true)
|
||||
SetVehicleDoorsLocked(taxi, 1)
|
||||
SetVehicleDoorsLockedForAllPlayers(taxi, false)
|
||||
TriggerEvent('vehiclekeys:client:SetOwner', GetVehicleNumberPlateText(taxi))
|
||||
|
||||
local driver = CreatePedInsideVehicle(taxi, 26, driverModel, -1, true, false)
|
||||
SetBlockingOfNonTemporaryEvents(driver, true)
|
||||
SetPedCanBeDraggedOut(driver, false)
|
||||
SetDriverAbility(driver, 1.0)
|
||||
SetDriverAggressiveness(driver, 0.0)
|
||||
SetEntityInvincible(taxi, true)
|
||||
SetEntityInvincible(driver, true)
|
||||
SetEntityAsMissionEntity(driver, true, true)
|
||||
SetPedCombatAttributes(driver, 46, true)
|
||||
SetPedFleeAttributes(driver, 0, false)
|
||||
SetBlockingOfNonTemporaryEvents(driver, true)
|
||||
|
||||
|
||||
TaskVehicleDriveToCoord(driver, taxi, spawnCoords.x, spawnCoords.y, spawnCoords.z, 5000.0, 0, GetEntityModel(taxi), 786603, 1.0, true)
|
||||
|
||||
-- Taxi Blip
|
||||
local taxiBlip = AddBlipForEntity(taxi)
|
||||
SetBlipSprite(taxiBlip, 198)
|
||||
SetBlipColour(taxiBlip, 46)
|
||||
SetBlipScale(taxiBlip, 1.0)
|
||||
|
||||
-- wait player to enter taxi
|
||||
local playerEntered = false
|
||||
while not playerEntered do
|
||||
local taxiCoords = GetEntityCoords(taxi)
|
||||
local pedCoords = GetEntityCoords(ped)
|
||||
|
||||
if #(pedCoords - taxiCoords) < 10.0 then
|
||||
Wait(500)
|
||||
TaskEnterVehicle(ped, taxi, -1, 1, 1.0, 1, 0)
|
||||
playerEntered = true
|
||||
end
|
||||
Wait(500)
|
||||
end
|
||||
|
||||
|
||||
QBCore.Functions.Notify("Por favor, marque um destino no mapa!.", "warning")
|
||||
|
||||
local destinoMarcado = false
|
||||
local waypointCoords = nil
|
||||
|
||||
while not destinoMarcado do
|
||||
local isPassenger = GetPedInVehicleSeat(taxi, 1)
|
||||
local waypointBlip = GetFirstBlipInfoId(8) -- 8 é o ID de waypoint
|
||||
if DoesBlipExist(waypointBlip) then
|
||||
print(isPassenger)
|
||||
if isPassenger ~= 0 then
|
||||
waypointCoords = GetBlipInfoIdCoord(waypointBlip)
|
||||
destinoMarcado = true
|
||||
end
|
||||
end
|
||||
Wait(500)
|
||||
end
|
||||
|
||||
local playerInside = false
|
||||
|
||||
while not playerInside do
|
||||
local pedCoords = GetEntityCoords(ped)
|
||||
local taxiCoords = GetEntityCoords(taxi)
|
||||
|
||||
if IsPedInVehicle(ped, taxi, false) then
|
||||
playerInside = true
|
||||
else
|
||||
if #(pedCoords - taxiCoords) < 10.0 then
|
||||
TaskEnterVehicle(ped, taxi, -1, 1, 1.0, 1, 0)
|
||||
else
|
||||
|
||||
QBCore.Functions.Notify("Aproxime-se do táxi para entrar!", "info")
|
||||
Wait(1000)
|
||||
end
|
||||
end
|
||||
|
||||
Wait(500)
|
||||
end
|
||||
|
||||
local foundRoad, outPos1, outPos2 = GetClosestRoad(waypointCoords.x, waypointCoords.y, waypointCoords.z, 1.0, 1, false)
|
||||
if foundRoad then
|
||||
spawnCoords = (outPos1 + outPos2) / 2
|
||||
else
|
||||
spawnCoords = vector3(waypointCoords.x, waypointCoords.y, waypointCoords.z)
|
||||
end
|
||||
|
||||
-- create new Blip named Destination
|
||||
local destinoBlip = AddBlipForCoord(spawnCoords.x, spawnCoords.y, spawnCoords.z)
|
||||
SetBlipSprite(destinoBlip, 1) -- Ícone simples
|
||||
SetBlipColour(destinoBlip, 5) -- Cor amarela
|
||||
SetBlipScale(destinoBlip, 1.0)
|
||||
BeginTextCommandSetBlipName("STRING")
|
||||
AddTextComponentString("Destination")
|
||||
EndTextCommandSetBlipName(destinoBlip)
|
||||
|
||||
-- calculate price in base of the distance
|
||||
local playerCoords = GetEntityCoords(PlayerPedId())
|
||||
local distancia = #(playerCoords - spawnCoords)
|
||||
local preco = math.floor(distancia * Pombas.price)
|
||||
|
||||
QBCore.Functions.Notify("Destination marked! Estimated Price: $" .. preco, "error")
|
||||
|
||||
|
||||
-- taxi drives to destination
|
||||
TaskVehicleDriveToCoord(driver, taxi, spawnCoords.x, spawnCoords.y, spawnCoords.z, 5000.0, 0, GetEntityModel(taxi), 2883621, 1.0, true)
|
||||
|
||||
local playerExited = 0
|
||||
local arrivedAtDestination = false
|
||||
|
||||
|
||||
Citizen.CreateThread(function()
|
||||
while DoesEntityExist(driver) do
|
||||
if not IsPedInVehicle(driver, taxi, true) then
|
||||
ClearPedTasks(driver)
|
||||
end
|
||||
Wait(500)
|
||||
end
|
||||
end)
|
||||
|
||||
while true do
|
||||
local playerCoords = GetEntityCoords(PlayerPedId())
|
||||
local distancia = #(playerCoords - spawnCoords)
|
||||
local isPassenger = GetPedInVehicleSeat(taxi, 1)
|
||||
|
||||
|
||||
if isPassenger == 0 then
|
||||
if playerExited == 0 then
|
||||
playerExited = 1
|
||||
QBCore.Functions.Notify("Destino cancelado!.", "error")
|
||||
TriggerServerEvent("taxi:charge", preco)
|
||||
Wait(3000)
|
||||
DeleteVehicle(taxi)
|
||||
DeletePed(driver)
|
||||
RemoveBlip(destinoBlip)
|
||||
end
|
||||
end
|
||||
|
||||
if distancia < 10.0 and not arrivedAtDestination then
|
||||
arrivedAtDestination = true
|
||||
playerExited = 1
|
||||
QBCore.Functions.Notify("Chegou ao seu Destino!", "error")
|
||||
TriggerServerEvent("taxi:charge", preco)
|
||||
TaskLeaveVehicle(PlayerPedId(), taxi, 0)
|
||||
Wait(3000)
|
||||
DeleteVehicle(taxi)
|
||||
DeletePed(driver)
|
||||
RemoveBlip(destinoBlip)
|
||||
end
|
||||
|
||||
Wait(1000)
|
||||
end
|
||||
end)
|
||||
-- Made with ❤️ by noahpombas.ch
|
||||
16
pTaxi/qbcore/config.lua
Normal file
16
pTaxi/qbcore/config.lua
Normal file
@@ -0,0 +1,16 @@
|
||||
-- ███╗ ██╗ ██████╗ █████╗ ██╗ ██╗██████╗ ██████╗ ███╗ ███╗██████╗ █████╗ ███████╗ ██████╗██╗ ██╗
|
||||
-- ████╗ ██║██╔═══██╗██╔══██╗██║ ██║██╔══██╗██╔═══██╗████╗ ████║██╔══██╗██╔══██╗██╔════╝ ██╔════╝██║ ██║
|
||||
-- ██╔██╗ ██║██║ ██║███████║███████║██████╔╝██║ ██║██╔████╔██║██████╔╝███████║███████╗ ██║ ███████║
|
||||
-- ██║╚██╗██║██║ ██║██╔══██║██╔══██║██╔═══╝ ██║ ██║██║╚██╔╝██║██╔══██╗██╔══██║╚════██║ ██║ ██╔══██║
|
||||
-- ██║ ╚████║╚██████╔╝██║ ██║██║ ██║██║ ╚██████╔╝██║ ╚═╝ ██║██████╔╝██║ ██║███████║ ██╗ ╚██████╗██║ ██║
|
||||
-- ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═════╝ ╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═════╝╚═╝ ╚═╝
|
||||
|
||||
|
||||
Pombas = {
|
||||
car = "taxi", -- Car Model
|
||||
driverModel = "s_m_m_movprem_01", -- Driver Model | https://docs.fivem.net/docs/game-references/ped-models/
|
||||
price = 0.2, -- Price per Meter
|
||||
delay = 5, -- command cooldown in minutes
|
||||
minBalance = 50 -- Minimum Balance to call a Taxi
|
||||
}
|
||||
-- Made with ❤️ by noahpombas.ch
|
||||
22
pTaxi/qbcore/fxmanifest.lua
Normal file
22
pTaxi/qbcore/fxmanifest.lua
Normal file
@@ -0,0 +1,22 @@
|
||||
-- Made with ❤️ by noahpombas.ch
|
||||
fx_version 'cerulean'
|
||||
game 'gta5'
|
||||
|
||||
author 'noahpombas.ch'
|
||||
description 'pTaxi, made with ❤️ by noahpombas.ch'
|
||||
version '1.0.0'
|
||||
|
||||
client_scripts {
|
||||
'client.lua',
|
||||
}
|
||||
|
||||
server_scripts {
|
||||
'server.lua',
|
||||
}
|
||||
|
||||
shared_script 'config.lua'
|
||||
|
||||
dependencies {
|
||||
'qb-core',
|
||||
}
|
||||
-- Made with ❤️ by noahpombas.ch
|
||||
BIN
pTaxi/qbcore/pTaxi-qbcore.zip
Normal file
BIN
pTaxi/qbcore/pTaxi-qbcore.zip
Normal file
Binary file not shown.
22
pTaxi/qbcore/server.lua
Normal file
22
pTaxi/qbcore/server.lua
Normal file
@@ -0,0 +1,22 @@
|
||||
-- Made with ❤️ by noahpombas.ch
|
||||
local QBCore = exports['qb-core']:GetCoreObject()
|
||||
|
||||
RegisterNetEvent("taxi:verificarSaldo")
|
||||
AddEventHandler("taxi:verificarSaldo", function()
|
||||
local src = source
|
||||
local Player = QBCore.Functions.GetPlayer(src)
|
||||
if Player.Functions.GetMoney("bank") >= Pombas.minBalance then
|
||||
TriggerClientEvent("taxi:saldoVerificado", src, true)
|
||||
else
|
||||
TriggerClientEvent("taxi:saldoVerificado", src, false)
|
||||
end
|
||||
end)
|
||||
|
||||
RegisterNetEvent("taxi:charge")
|
||||
AddEventHandler("taxi:charge", function(amount)
|
||||
local src = source
|
||||
local Player = QBCore.Functions.GetPlayer(src)
|
||||
Player.Functions.RemoveMoney("bank", amount, "Pagamento do Taxi")
|
||||
end)
|
||||
|
||||
-- Made with ❤️ by noahpombas.ch
|
||||
Reference in New Issue
Block a user