From cc5fac1ef7e4687db6492bb9856a71cbddede7a6 Mon Sep 17 00:00:00 2001 From: Andyyy7666 <86536434+Andyyy7666@users.noreply.github.com> Date: Sat, 24 Sep 2022 21:39:29 +0200 Subject: [PATCH] Delete ND_Fuel directory --- ND_Fuel/config.lua | 97 ---- ND_Fuel/fxmanifest.lua | 23 - ND_Fuel/source/client.lua | 639 --------------------------- ND_Fuel/source/digital-counter-7.ttf | Bin 22544 -> 0 bytes ND_Fuel/source/index.html | 115 ----- ND_Fuel/source/server.lua | 20 - 6 files changed, 894 deletions(-) delete mode 100644 ND_Fuel/config.lua delete mode 100644 ND_Fuel/fxmanifest.lua delete mode 100644 ND_Fuel/source/client.lua delete mode 100644 ND_Fuel/source/digital-counter-7.ttf delete mode 100644 ND_Fuel/source/index.html delete mode 100644 ND_Fuel/source/server.lua diff --git a/ND_Fuel/config.lua b/ND_Fuel/config.lua deleted file mode 100644 index 544ee1a..0000000 --- a/ND_Fuel/config.lua +++ /dev/null @@ -1,97 +0,0 @@ -config = { - standalone = false, -- if you're using ND Framework keep this false. It will use your money and pay for gas. - jerryCanPrice = 100, -- jery cans can be purchased from the gas statoin. - jerryCanrefillCost = 50, -- The price of the jerrycans refill, this will be calculated and adjusted to how much is left in it. - fuelCostMultiplier = 1.0, -- 2.0 will double the price of fuel and 1.5 will increase it by half. - - -- Class multipliers. If you want SUVs to use less fuel, you can change it to anything under 1.0, and vise versa. - vehicleClasses = { - [0] = 0.7, -- Compacts - [1] = 1.1, -- Sedans - [2] = 1.7, -- SUVs - [3] = 1.1, -- Coupes - [4] = 1.5, -- Muscle - [5] = 1.3, -- Sports Classics - [6] = 1.5, -- Sports - [7] = 1.5, -- Super - [8] = 0.6, -- Motorcycles - [9] = 1.2, -- Off-road - [10] = 1.0, -- Industrial - [11] = 1.0, -- Utility - [12] = 1.2, -- Vans - [13] = 0.0, -- Cycles - [14] = 1.0, -- Boats - [15] = 1.0, -- Helicopters - [16] = 1.0, -- Planes - [17] = 1.0, -- Service - [18] = 1.0, -- Emergency - [19] = 1.9, -- Military - [20] = 1.8, -- Commercial - [21] = 1.0, -- Trains - }, - - electricVehicles = { - `Imorgon`, - `Neon`, - `Raiden`, - `Cyclone`, - `Voltic`, - `Voltic2`, - `Tezeract`, - `Dilettante`, - `Dilettante2`, - `Airtug`, - `Caddy`, - `Caddy2`, - `Caddy3`, - `Surge`, - `Khamelion`, - `RCBandito` - }, - - blipLocations = { - vector3(49.4187, 2778.793, 58.043), - vector3(263.894, 2606.463, 44.983), - vector3(1039.958, 2671.134, 39.550), - vector3(1207.260, 2660.175, 37.899), - vector3(2539.685, 2594.192, 37.944), - vector3(2679.858, 3263.946, 55.240), - vector3(2005.055, 3773.887, 32.403), - vector3(1687.156, 4929.392, 42.078), - vector3(1701.314, 6416.028, 32.763), - vector3(179.857, 6602.839, 31.868), - vector3(-94.4619, 6419.594, 31.489), - vector3(-2554.996, 2334.40, 33.078), - vector3(-1800.375, 803.661, 138.651), - vector3(-1437.622, -276.747, 46.207), - vector3(-2096.243, -320.286, 13.168), - vector3(-724.619, -935.1631, 19.213), - vector3(-526.019, -1211.003, 18.184), - vector3(-70.2148, -1761.792, 29.534), - vector3(265.648, -1261.309, 29.292), - vector3(819.653, -1028.846, 26.403), - vector3(1208.951, -1402.567,35.224), - vector3(1181.381, -330.847, 69.316), - vector3(620.843, 269.100, 103.089), - vector3(2581.321, 362.039, 108.468), - vector3(176.631, -1562.025, 29.263), - vector3(176.631, -1562.025, 29.263), - vector3(-319.292, -1471.715, 30.549), - vector3(1784.324, 3330.55, 41.253) - }, - - pumpModels = { - [-2007231801] = true, - [1339433404] = true, - [1694452750] = true, - [1933174915] = true, - [-462817101] = true, - [-469694731] = true, - [-164877493] = true - }, - - -- you can spawn pump here. Search up gta objects and then search pump. - addPumps = { - -- {hash = "prop_gas_pump_old2", x = 721.93, y = 1480.80, z = 5.06}, - } -} \ No newline at end of file diff --git a/ND_Fuel/fxmanifest.lua b/ND_Fuel/fxmanifest.lua deleted file mode 100644 index 77b9487..0000000 --- a/ND_Fuel/fxmanifest.lua +++ /dev/null @@ -1,23 +0,0 @@ --- For support join my discord: https://discord.gg/Z9Mxu72zZ6 - -author "Andyyy#7666, N1K0#0001" -description "ND Framework fuel with hose & nozle" -version "1.0.1" - -fx_version "cerulean" -game "gta5" -lua54 "yes" - -files { - "source/digital-counter-7.ttf", - "source/index.html" -} -ui_page "source/index.html" - -shared_script "config.lua" -server_scripts { - "source/server.lua" -} -client_scripts { - "source/client.lua" -} diff --git a/ND_Fuel/source/client.lua b/ND_Fuel/source/client.lua deleted file mode 100644 index bd5f845..0000000 --- a/ND_Fuel/source/client.lua +++ /dev/null @@ -1,639 +0,0 @@ -local FUEL_DECOR = "_ANDY_FUEL_DECORE_" -local nozzleDropped = false -local holdingNozzle = false -local nozzleInVehicle = false -local nozzle -local rope -local vehicleFueling -local usedPump -local pumpCoords -local wastingFuel = false -local usingCan = false -local nearTank = false - --- Nozzle Z position based on vehicle class. -local nozzleBasedOnClass = { - 0.65, -- Compacts - 0.65, -- Sedans - 0.85, -- SUVs - 0.6, -- Coupes - 0.55, -- Muscle - 0.6, -- Sports Classics - 0.6, -- Sports - 0.55, -- Super - 0.12, -- Motorcycles - 0.8, -- Off-road - 0.7, -- Industrial - 0.6, -- Utility - 0.7, -- Vans - 0.0, -- Cycles - 0.0, -- Boats - 0.0, -- Helicopters - 0.0, -- Planes - 0.6, -- Service - 0.65, -- Emergency - 0.65, -- Military - 0.75, -- Commercial - 0.0 -- Trains -} - --- ND Core object. -if not config.standalone then - NDCore = exports["ND_Core"]:GetCoreObject() -end - --- Setting the electric vehicle config keys to hashes. -for _, vehHash in pairs(config.electricVehicles) do - config.electricVehicles[vehHash] = vehHash -end - --- Get the fuel of a vehicle, which is set to an entity. -function GetFuel(vehicle) - if not DecorExistOn(vehicle, FUEL_DECOR) then - return GetVehicleFuelLevel(vehicle) - end - return DecorGetFloat(vehicle, FUEL_DECOR) -end - --- Setting the fuel to the vehicle entity using decor. -function SetFuel(vehicle, fuel) - if type(fuel) == "number" and fuel >= 0 and fuel <= 100 then - SetVehicleFuelLevel(vehicle, fuel) - DecorSetFloat(vehicle, FUEL_DECOR, GetVehicleFuelLevel(vehicle)) - end -end - --- returns pump position if a player is near it. -function nearPump(coords) - local entity = nil - for hash in pairs(config.pumpModels) do - entity = GetClosestObjectOfType(coords.x, coords.y, coords.z, 0.8, hash, true, true, true) - if entity ~= 0 then break end - end - if config.pumpModels[GetEntityModel(entity)] then - return GetEntityCoords(entity), entity - end -end - --- Draws 3D text on coords. -function DrawText3D(x, y, z, text) - local onScreen, _x, _y = World3dToScreen2d(x, y, z) - local pX, pY, pZ = table.unpack(GetGameplayCamCoords()) - SetTextScale(0.4, 0.4) - SetTextFont(4) - SetTextProportional(1) - SetTextEntry("STRING") - SetTextCentre(true) - SetTextColour(255, 255, 255, 255) - SetTextOutline() - AddTextComponentString(text) - DrawText(_x, _y) -end - --- used to load the filling manually animation. -function LoadAnimDict(dict) - if not HasAnimDictLoaded(dict) then - RequestAnimDict(dict) - while not HasAnimDictLoaded(dict) do - Wait(1) - end - end -end - --- Used to play the effect of pouring fuel from the nozzle. -function PlayEffect(pdict, pname) - CreateThread(function() - local position = GetOffsetFromEntityInWorldCoords(nozzle, 0.0, 0.28, 0.17) - UseParticleFxAssetNextCall(pdict) - local pfx = StartParticleFxLoopedAtCoord(pname, position.x, position.y, position.z, 0.0, 0.0, GetEntityHeading(nozzle), 1.0, false, false, false, false) - Wait(100) - StopParticleFxLooped(pfx, 0) - end) -end - --- Getting the vehicle infront if the player. -function vehicleInFront() - local entity = nil - local offset = GetOffsetFromEntityInWorldCoords(ped, 0.0, 2.0, 0.0) - local rayHandle = CastRayPointToPoint(pedCoords.x, pedCoords.y, pedCoords.z - 1.3, offset.x, offset.y, offset.z, 10, ped, 0) - local A, B, C, D, entity = GetRaycastResult(rayHandle) - if IsEntityAVehicle(entity) then - return entity - end -end - --- Create nozzle, rope and attach them to the player. -function grabNozzleFromPump() - LoadAnimDict("anim@am_hold_up@male") - TaskPlayAnim(ped, "anim@am_hold_up@male", "shoplift_high", 2.0, 8.0, -1, 50, 0, 0, 0, 0) - Wait(300) - nozzle = CreateObject(`prop_cs_fuel_nozle`, 0, 0, 0, true, true, true) - AttachEntityToEntity(nozzle, ped, GetPedBoneIndex(ped, 0x49D9), 0.11, 0.02, 0.02, -80.0, -90.0, 15.0, true, true, false, true, 1, true) - RopeLoadTextures() - while not RopeAreTexturesLoaded() do - Wait(0) - end - RopeLoadTextures() - while not pump do - Wait(0) - end - rope = AddRope(pump.x, pump.y, pump.z, 0.0, 0.0, 0.0, 3.0, 1, 1000.0, 0.0, 1.0, false, false, false, 1.0, true) - while not rope do - Wait(0) - end - ActivatePhysics(rope) - Wait(50) - local nozzlePos = GetEntityCoords(nozzle) - nozzlePos = GetOffsetFromEntityInWorldCoords(nozzle, 0.0, -0.033, -0.195) - AttachEntitiesToRope(rope, pumpHandle, nozzle, pump.x, pump.y, pump.z + 1.45, nozzlePos.x, nozzlePos.y, nozzlePos.z, 5.0, false, false, nil, nil) - nozzleDropped = false - holdingNozzle = true - nozzleInVehicle = false - vehicleFueling = false - usedPump = pumpHandle - SendNUIMessage({ - type = "status", - status = true - }) - SendNUIMessage({ - type = "update", - fuelCost = "0.00", - fuelTank = "0.00" - }) -end - --- attach the nozzle to the player. -function grabExistingNozzle() - AttachEntityToEntity(nozzle, ped, GetPedBoneIndex(ped, 0x49D9), 0.11, 0.02, 0.02, -80.0, -90.0, 15.0, true, true, false, true, 1, true) - nozzleDropped = false - holdingNozzle = true - nozzleInVehicle = false - vehicleFueling = false -end - --- attach nozzle to vehicle. -function putNozzleInVehicle(vehicle, ptankBone, isBike, dontClear, newTankPosition) - if isBike then - AttachEntityToEntity(nozzle, vehicle, ptankBone, 0.0 + newTankPosition.x, -0.2 + newTankPosition.y, 0.2 + newTankPosition.z, -80.0, 0.0, 0.0, true, true, false, false, 1, true) - else - AttachEntityToEntity(nozzle, vehicle, ptankBone, -0.18 + newTankPosition.x, 0.0 + newTankPosition.y, 0.75 + newTankPosition.z, -125.0, -90.0, -90.0, true, true, false, false, 1, true) - end - if not dontClear and IsEntityPlayingAnim(ped, "timetable@gardener@filling_can", "gar_ig_5_filling_can", 3) then - ClearPedTasks(ped) - end - nozzleDropped = false - holdingNozzle = false - nozzleInVehicle = true - wastingFuel = false - vehicleFueling = vehicle -end - --- detach nozzle from everything and hide ui. -function dropNozzle() - DetachEntity(nozzle, true, true) - nozzleDropped = true - holdingNozzle = false - nozzleInVehicle = false - vehicleFueling = false - SendNUIMessage({ - type = "status", - status = false - }) -end - --- delete nozzle and rope, and hide ui. -function returnNozzleToPump() - DeleteEntity(nozzle) - RopeUnloadTextures() - DeleteRope(rope) - nozzleDropped = false - holdingNozzle = false - nozzleInVehicle = false - vehicleFueling = false - SendNUIMessage({ - type = "status", - status = false - }) -end - --- Get important information. -CreateThread(function() - while true do - ped = PlayerPedId() - pedCoords = GetEntityCoords(ped) - pump, pumpHandle = nearPump(pedCoords) - veh = GetVehiclePedIsIn(ped, true) - Wait(500) - end -end) - --- Refuel the vehicle. -CreateThread(function() - while true do - Wait(2000) - if vehicleFueling then - local classMultiplier = config.vehicleClasses[GetVehicleClass(vehicleFueling)] - if usingCan then - while usingCan do - local fuel = GetFuel(vehicleFueling) - if fuel < 97 then - SetFuel(vehicleFueling, fuel + (2.5 / classMultiplier)) - else - fuel = 100.0 - SetFuel(vehicleFueling, fuel) - vehicleFueling = false - end - Wait(500) - end - else - local cost = 0 - while vehicleFueling do - local fuel = GetFuel(vehicleFueling) - if not DoesEntityExist(vehicleFueling) then - dropNozzle() - break - end - fuel = GetFuel(vehicleFueling) - cost = cost + ((2.0 / classMultiplier) * config.fuelCostMultiplier) - math.random(0, 100) / 100 - if not config.standalone then - if NDCore.Functions.GetSelectedCharacter().bank < cost then - SendNUIMessage({ - type = "warn" - }) - vehicleFueling = false - break - end - end - if fuel < 97 then - SetFuel(vehicleFueling, fuel + ((2.0 / classMultiplier) - math.random(0, 100) / 100)) - else - fuel = 100.0 - SetFuel(vehicleFueling, fuel) - vehicleFueling = false - end - SendNUIMessage({ - type = "update", - fuelCost = string.format("%.2f", cost), - fuelTank = string.format("%.2f", fuel) - }) - Wait(600) - end - if not config.standalone and cost ~= 0 then - TriggerServerEvent("ND_Fuel:pay", cost) - cost = 0 - end - end - end - end -end) - --- pumping fuel on the groud. -CreateThread(function() - while true do - Wait(500) - if wastingFuel then - local cost = 0 - while wastingFuel do - cost = cost + (2.0 * config.fuelCostMultiplier) - math.random(0, 100) / 100 - SendNUIMessage({ - type = "update", - fuelCost = string.format("%.2f", cost), - fuelTank = "0.0" - }) - if not config.standalone then - if NDCore.Functions.GetSelectedCharacter().bank < cost then - SendNUIMessage({ - type = "warn" - }) - end - end - Wait(800) - end - if not config.standalone and cost ~= 0 then - TriggerServerEvent("ND_Fuel:pay", cost) - end - end - end -end) - --- Grabbing and returning the nozzle from the pump. -CreateThread(function() - local wait = 500 - while true do - Wait(wait) - if pump then - wait = 0 - if not holdingNozzle and not nozzleInVehicle and not nozzleDropped then - local jerryCanText = "" - local ammo = GetAmmoInPedWeapon(ped, 883325847) - local weapon = HasPedGotWeapon(ped, 883325847) - local price = config.jerryCanPrice - if not weapon then - jerryCanText = " \n$" .. price .. " buy Jerry Can [G]" - elseif weapon and GetSelectedPedWeapon(ped) == 883325847 and ammo < 4500 then - price = math.floor(config.jerryCanrefillCost - (config.jerryCanrefillCost / (4500 / ammo))) - jerryCanText = " \n$" .. price .. " refill Jerry Can [G]" - end - DrawText3D(pump.x, pump.y, pump.z + 1.2, "Grab Nozzle [E]" .. jerryCanText) - if IsControlJustPressed(0, 51) then - grabNozzleFromPump() - Wait(1000) - ClearPedTasks(ped) - end - if IsControlJustPressed(0, 47) then - if not config.standalone then - if NDCore.Functions.GetSelectedCharacter().bank > price then - TriggerServerEvent("ND_Fuel:jerryCan", price) - if HasPedGotWeapon(ped, 883325847) then - SetPedAmmo(ped, 883325847, 4500) - else - GiveWeaponToPed(ped, 883325847, 4500, false, true) - end - end - else - if HasPedGotWeapon(ped, 883325847) then - SetPedAmmo(ped, 883325847, 4500) - else - GiveWeaponToPed(ped, 883325847, 4500, false, true) - end - end - end - elseif holdingNozzle and not nearTank and pumpHandle == usedPump then - DrawText3D(pump.x, pump.y, pump.z + 1.2, "Return Nozzle [E]") - if IsControlJustPressed(0, 51) then - LoadAnimDict("anim@am_hold_up@male") - TaskPlayAnim(ped, "anim@am_hold_up@male", "shoplift_high", 2.0, 8.0, -1, 50, 0, 0, 0, 0) - Wait(300) - returnNozzleToPump() - Wait(1000) - ClearPedTasks(ped) - end - end - else - wait = 500 - end - end -end) - --- Attaching and taking the nozzle form the vehicle, and dropping the nozzle form the player or vehicle. -CreateThread(function() - local wait = 500 - while true do - Wait(wait) - if holdingNozzle or nozzleInVehicle or nozzleDropped then - wait = 0 - - -- drop the nozzle and remove it if it's far away from the pump. - if pump then - pumpCoords = GetEntityCoords(usedPump) - end - if nozzle and pumpCoords then - nozzleLocation = GetEntityCoords(nozzle) - if #(pumpCoords - pedCoords) < 3.0 then - SendNUIMessage({ - type = "status", - status = true - }) - else - SendNUIMessage({ - type = "status", - status = false - }) - end - if #(nozzleLocation - pumpCoords) > 6.0 then - dropNozzle() - elseif #(pumpCoords - pedCoords) > 100.0 then - returnNozzleToPump() - end - if nozzleDropped and #(nozzleLocation - pedCoords) < 1.5 then - DrawText3D(nozzleLocation.x, nozzleLocation.y, nozzleLocation.z, "Grab Nozzle [E]") - if IsControlJustPressed(0, 51) then - LoadAnimDict("anim@mp_snowball") - TaskPlayAnim(ped, "anim@mp_snowball", "pickup_snowball", 2.0, 8.0, -1, 50, 0, 0, 0, 0) - Wait(700) - grabExistingNozzle() - ClearPedTasks(ped) - end - end - end - - local veh = vehicleInFront() - - -- Animations for manually fueling and effect for sparying fuel. - if holdingNozzle and nozzle then - DisableControlAction(0, 25, true) - DisableControlAction(0, 24, true) - if IsDisabledControlPressed(0, 24) then - if veh and tankPosition and #(pedCoords - tankPosition) < 1.2 then - if not IsEntityPlayingAnim(ped, "timetable@gardener@filling_can", "gar_ig_5_filling_can", 3) then - LoadAnimDict("timetable@gardener@filling_can") - TaskPlayAnim(ped, "timetable@gardener@filling_can", "gar_ig_5_filling_can", 2.0, 8.0, -1, 50, 0, 0, 0, 0) - end - wastingFuel = false - vehicleFueling = veh - else - if IsEntityPlayingAnim(ped, "timetable@gardener@filling_can", "gar_ig_5_filling_can", 3) then - vehicleFueling = false - ClearPedTasks(ped) - end - if nozzleLocation then - wastingFuel = true - PlayEffect("core", "veh_trailer_petrol_spray") - end - end - else - if IsEntityPlayingAnim(ped, "timetable@gardener@filling_can", "gar_ig_5_filling_can", 3) then - vehicleFueling = false - ClearPedTasks(ped) - end - wastingFuel = false - end - end - - -- attaching and taking the nozzle from the vehicle. - if veh then - local vehClass = GetVehicleClass(veh) - local zPos = nozzleBasedOnClass[vehClass + 1] - local isBike = false - local nozzleModifiedPosition = { - x = 0.0, - y = 0.0, - z = 0.0 - } - local textModifiedPosition = { - x = 0.0, - y = 0.0, - z = 0.0 - } - - if vehClass == 8 and vehClass ~= 13 and not config.electricVehicles[GetHashKey(veh)] then - tankBone = GetEntityBoneIndexByName(veh, "petrolcap") - if tankBone == -1 then - tankBone = GetEntityBoneIndexByName(veh, "petroltank") - end - if tankBone == -1 then - tankBone = GetEntityBoneIndexByName(veh, "engine") - end - isBike = true - elseif vehClass ~= 13 and not config.electricVehicles[GetHashKey(veh)] then - tankBone = GetEntityBoneIndexByName(veh, "petrolcap") - if tankBone == -1 then - tankBone = GetEntityBoneIndexByName(veh, "petroltank_l") - end - if tankBone == -1 then - tankBone = GetEntityBoneIndexByName(veh, "hub_lr") - end - if tankBone == -1 then - tankBone = GetEntityBoneIndexByName(veh, "handle_dside_r") - nozzleModifiedPosition.x = 0.1 - nozzleModifiedPosition.y = -0.5 - nozzleModifiedPosition.z = -0.6 - textModifiedPosition.x = 0.55 - textModifiedPosition.y = 0.1 - textModifiedPosition.z = -0.2 - end - end - tankPosition = GetWorldPositionOfEntityBone(veh, tankBone) - if tankPosition and #(pedCoords - tankPosition) < 1.2 then - if not nozzleInVehicle and holdingNozzle then - nearTank = true - DrawText3D(tankPosition.x + textModifiedPosition.x, tankPosition.y + textModifiedPosition.y, tankPosition.z + zPos + textModifiedPosition.z, "Attach Nozzle [E]") - if IsControlJustPressed(0, 51) then - LoadAnimDict("timetable@gardener@filling_can") - TaskPlayAnim(ped, "timetable@gardener@filling_can", "gar_ig_5_filling_can", 2.0, 8.0, -1, 50, 0, 0, 0, 0) - Wait(300) - putNozzleInVehicle(veh, tankBone, isBike, true, nozzleModifiedPosition) - Wait(300) - ClearPedTasks(ped) - end - elseif nozzleInVehicle then - DrawText3D(tankPosition.x + textModifiedPosition.x, tankPosition.y + textModifiedPosition.y, tankPosition.z + zPos + textModifiedPosition.z, "Grab Nozzle [E]") - if IsControlJustPressed(0, 51) then - LoadAnimDict("timetable@gardener@filling_can") - TaskPlayAnim(ped, "timetable@gardener@filling_can", "gar_ig_5_filling_can", 2.0, 8.0, -1, 50, 0, 0, 0, 0) - Wait(300) - grabExistingNozzle() - Wait(300) - ClearPedTasks(ped) - end - end - end - else - nearTank = false - end - else - wait = 500 - end - end -end) - --- refueling using jerry can. -CreateThread(function() - local wait = 500 - while true do - Wait(wait) - if GetSelectedPedWeapon(ped) == 883325847 and not holdingNozzle and not nozzleInVehicle then - wait = 0 - local veh = vehicleInFront() - if veh then - local vehClass = GetVehicleClass(veh) - local zPos = nozzleBasedOnClass[vehClass + 1] - local can = GetAmmoInPedWeapon(ped, 883325847) - local distance = 1.2 - - if vehClass == 8 and vehClass ~= 13 and not config.electricVehicles[GetHashKey(veh)] then - tankBone = GetEntityBoneIndexByName(veh, "petroltank") - if tankBone == -1 then - tankBone = GetEntityBoneIndexByName(veh, "engine") - end - elseif vehClass == 14 and not config.electricVehicles[GetHashKey(veh)] then - tankBone = GetEntityBoneIndexByName(veh, "engine") - if tankBone == -1 then - tankBone = GetEntityBoneIndexByName(veh, "bodyshell") - else - distance = 2.0 - end - elseif vehClass ~= 13 and not config.electricVehicles[GetHashKey(veh)] then - tankBone = GetEntityBoneIndexByName(veh, "petroltank_l") - if tankBone == -1 then - tankBone = GetEntityBoneIndexByName(veh, "hub_lr") - end - end - tankPosition = GetWorldPositionOfEntityBone(veh, tankBone) - if tankPosition and #(pedCoords - tankPosition) < distance then - local fuel = GetFuel(veh) - DrawText3D(tankPosition.x, tankPosition.y, tankPosition.z + zPos, math.floor(fuel) .. "% refuel [E]") - local ammo = GetAmmoInPedWeapon(ped, 883325847) - if IsControlPressed(0, 51) and ammo > 0 then - if not IsEntityPlayingAnim(ped, "timetable@gardener@filling_can", "gar_ig_5_filling_can", 3) then - LoadAnimDict("timetable@gardener@filling_can") - TaskPlayAnim(ped, "timetable@gardener@filling_can", "gar_ig_5_filling_can", 2.0, 8.0, -1, 50, 0, 0, 0, 0) - elseif can and DoesEntityExist(veh) then - SetPedAmmo(ped, 883325847, ammo - 3) - vehicleFueling = veh - usingCan = true - end - else - vehicleFueling = false - usingCan = false - if IsEntityPlayingAnim(ped, "timetable@gardener@filling_can", "gar_ig_5_filling_can", 3) then - ClearPedTasks(ped) - end - end - end - end - else - wait = 500 - end - end -end) - --- Create blips for each gas station location. -CreateThread(function() - for _, coords in pairs(config.blipLocations) do - local blip = AddBlipForCoord(coords) - SetBlipSprite(blip, 361) - SetBlipScale(blip, 0.9) - SetBlipColour(blip, 4) - SetBlipDisplay(blip, 4) - SetBlipAsShortRange(blip, true) - BeginTextCommandSetBlipName("STRING") - AddTextComponentString("Gas Station") - EndTextCommandSetBlipName(blip) - end -end) - --- vehicle fuel consumption. -CreateThread(function() - while true do - Wait(3500) - local pedVeh = GetVehiclePedIsIn(ped) - local seat = GetPedInVehicleSeat(pedVeh, -1) - if pedVeh ~= 0 and seat ~= 0 then - local vehClass = GetVehicleClass(pedVeh) - if not DecorExistOn(pedVeh, FUEL_DECOR) then - SetFuel(pedVeh, math.random(200, 800) / 10) - end - local fuel = GetFuel(pedVeh) - if GetIsVehicleEngineRunning(pedVeh) then - if fuel < 5.0 then - DisableControlAction(0, 71) - SetVehicleEngineOn(pedVeh, false, true, true) - end - SetFuel(pedVeh, fuel - ((GetVehicleCurrentRpm(pedVeh) * config.vehicleClasses[vehClass]) / 1.7)) - end - end - end -end) - --- spawn pumps on the map. -CreateThread(function() - for _, pumps in pairs(config.addPumps) do - CreateObject(GetHashKey(pumps.hash), pumps.x, pumps.y, pumps.z - 1.0, true, true, true) - end -end) - --- Register the fuel decor -CreateThread(function() - DecorRegister(FUEL_DECOR, 1) -end) diff --git a/ND_Fuel/source/digital-counter-7.ttf b/ND_Fuel/source/digital-counter-7.ttf deleted file mode 100644 index 4d5f970458bd5061a837dce4cd492e6daa1fd049..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22544 zcmeHP3t$x0)jqS2ya)-&ZZ?5U!sLO85E39t6j$XD;sYN+C?<%IkSq`lNt%S0BBd0m zO%>+5v`Qnjiq_gzt+g*}TS}?5t+iHLtJYG;_B;2nJF}UDAhhcLyRhHf zotezsIrrS}oO{oiO9m08(MEDp!-exIrZg=)oJM4XBstYi7gg!-GSaKUSEjjrXb>y|w*b;tEM?jf4K zXhpcO`Ed7=4xIZ6zEf9Vhj)kT3Y=Sv-^D9dcCQ`Tllc&Se;?nsTicr&PrA0anW(k_ z$NN_{uI+H$XgrN$XXCfo*0?g9v47@rqPaNk-Q3aM)&1sk2VWvu@FLDRv7 zdTFw2QsgZPy0XNT)IqV?AogsaI>?egd?%t52nBKwWw)!y*hXF)dd`4EBfWBq@)SDA z=jqQzqB~HYsejkjUo;QbGYd0i9Z@RFT!&-&w?1xQ zUopP?d%oqX>#fcg&&*{$mydCsw$o0?TFOxG=Pe%_i(~27>T`Lk&*8HE@;>WV*FhZ@ z_vL+jj@l>csekiUf5ma32?l>CmEKN@P!c6ZBGBEWNIݢJcfT=VBIFeF2DqbY#$7|MooG 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 UcG~JKZ(G&c>Y2T&lb0X+58rA{{{R30 diff --git a/ND_Fuel/source/index.html b/ND_Fuel/source/index.html deleted file mode 100644 index e6405e1..0000000 --- a/ND_Fuel/source/index.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - -
- -

$

0.00

-

%

0.00

-
- - - \ No newline at end of file diff --git a/ND_Fuel/source/server.lua b/ND_Fuel/source/server.lua deleted file mode 100644 index df838e5..0000000 --- a/ND_Fuel/source/server.lua +++ /dev/null @@ -1,20 +0,0 @@ -NDCore = exports["ND_Core"]:GetCoreObject() --- NDCore.Functions.VersionChecker("ND_Fuel", GetCurrentResourceName(), "https://github.com/ND-Framework/ND_Framework", "https://raw.githubusercontent.com/ND-Framework/ND_Framework/main/ND_Fuel/fxmanifest.lua") - -RegisterNetEvent("ND_Fuel:pay", function(amount) - local player = source - NDCore.Functions.DeductMoney(math.floor(amount), player, "bank") - TriggerClientEvent("chat:addMessage", player, { - color = {0, 255, 0}, - args = {"Success", "Paid: $" .. string.format("%.2f", amount) .. " for gas."} - }) -end) - -RegisterNetEvent("ND_Fuel:jerryCan", function(amount) - local player = source - NDCore.Functions.DeductMoney(amount, player, "cash") - TriggerClientEvent("chat:addMessage", player, { - color = {0, 255, 0}, - args = {"Success", "Paid: $" .. amount .. " for gas."} - }) -end)