Fixed #3, fixed exploit storing boat when not in driver seat, fixed storing boat not owned

- Async task for buying boats aswell
This commit is contained in:
ElPumpo
2018-08-05 13:17:12 +02:00
parent 2568a3755f
commit fa81033557
4 changed files with 15 additions and 12 deletions
+9 -6
View File
@@ -154,11 +154,10 @@ function OpenBoatGarage(garage)
}, function (data, menu)
-- make sure the spawn point isn't blocked
local closestVehicle = GetClosestVehicle(garage.SpawnPoint.x, garage.SpawnPoint.y, garage.SpawnPoint.z, 3.0, 0, 71)
local playerPed = PlayerPedId()
local vehicleProps = data.current.vehicleProps
local playerPed = PlayerPedId()
local vehicleProps = data.current.vehicleProps
if not DoesEntityExist(closestVehicle) then
if ESX.Game.IsSpawnPointClear(garage.SpawnPoint, 4.0) then
TriggerServerEvent('esx_boat:takeOutVehicle', vehicleProps.plate)
ESX.ShowNotification(_U('garage_taken'))
@@ -222,8 +221,12 @@ function StoreBoatInGarage(vehicle)
local vehicleProps = ESX.Game.GetVehicleProperties(vehicle)
ESX.TriggerServerCallback('esx_boat:storeVehicle', function (rowsChanged)
ESX.Game.DeleteVehicle(vehicle)
ESX.ShowNotification(_U('garage_stored'))
if rowsChanged > 0 then
ESX.Game.DeleteVehicle(vehicle)
ESX.ShowNotification(_U('garage_stored'))
else
ESX.ShowNotification(_U('garage_notowner'))
end
end, vehicleProps.plate)
end
+2 -2
View File
@@ -63,10 +63,10 @@ AddEventHandler('esx_boat:hasEnteredMarker', function(zone, zoneNum)
if IsPedInAnyVehicle(playerPed, false) then
local vehicle = GetVehiclePedIsIn(playerPed, false)
if DoesEntityExist(vehicle) then
if DoesEntityExist(vehicle) and GetPedInVehicleSeat(vehicle, -1) == playerPed then
CurrentAction = 'garage_in'
CurrentActionMsg = _U('garage_store')
CurrentActionData = {vehicle = vehicle}
CurrentActionData = { vehicle = vehicle }
end
end
+1
View File
@@ -16,6 +16,7 @@ Locales['en'] = {
['garage_stored'] = 'the boat has been safely stored in your garage!',
['garage_noboats'] = 'you don\'t have any stored boats! Visit the ~y~boat shop~s~ to buy one.',
['garage_blocked'] = 'the boat cannot be taken out because another vehicle is blocking the spawn point!',
['garage_notowner'] = 'you don\'t own this boat!',
-- license
['license_menu'] = 'buy Boat License?',
+3 -4
View File
@@ -39,9 +39,9 @@ ESX.RegisterServerCallback('esx_boat:buyBoat', function (source, cb, vehicleProp
['@plate'] = vehicleProps.plate,
['@vehicle'] = json.encode(vehicleProps),
['@vehicleType'] = 'boat'
})
cb(true)
}, function (rowsChanged)
cb(true)
end)
else
cb(false)
end
@@ -73,7 +73,6 @@ ESX.RegisterServerCallback('esx_boat:storeVehicle', function (source, cb, plate)
end)
ESX.RegisterServerCallback('esx_boat:getGarage', function (source, cb)
MySQL.Async.fetchAll('SELECT * FROM owned_vehicles WHERE owner = @owner AND vehicleType = @vehicleType AND stored = @stored',
{
['@owner'] = GetPlayerIdentifiers(source)[1],