diff --git a/[esx_addons]/esx_mechanicjob/client/main.lua b/[esx_addons]/esx_mechanicjob/client/main.lua index aa757e66..afca76e3 100644 --- a/[esx_addons]/esx_mechanicjob/client/main.lua +++ b/[esx_addons]/esx_mechanicjob/client/main.lua @@ -48,8 +48,6 @@ function StopNPCJob(cancel) if cancel then ESX.ShowNotification(TranslateCap('mission_canceled'), "error") - else - --TriggerServerEvent('esx_mechanicjob:onNPCJobCompleted') end end @@ -175,22 +173,16 @@ function OpenMechanicActionsMenu() end function OpenMechanicHarvestMenu() - if Config.EnablePlayerManagement and ESX.PlayerData.job and ESX.PlayerData.job.grade_name ~= 'recrue' then + if Config.EnablePlayerManagement and ESX.PlayerData.job and ESX.PlayerData.job.grade ~= 0 then local elements = { { unselectable = true, icon = "fas fa-gear", title = "Mechanic Harvest Menu" }, - { icon = "fas fa-gear", title = TranslateCap('gas_can'), value = 'gaz_bottle' }, - { icon = "fas fa-gear", title = TranslateCap('repair_tools'), value = 'fix_tool' }, - { icon = "fas fa-gear", title = TranslateCap('body_work_tools'), value = 'caro_tool' } + { icon = "fas fa-gear", title = TranslateCap('gas_can'), value = 'gazbottle' }, + { icon = "fas fa-gear", title = TranslateCap('repair_tools'), value = 'fixtool' }, + { icon = "fas fa-gear", title = TranslateCap('body_work_tools'), value = 'carotool' } } ESX.OpenContext("right", elements, function(menu, element) - if element.value == 'gaz_bottle' then - TriggerServerEvent('esx_mechanicjob:startHarvest') - elseif element.value == 'fix_tool' then - TriggerServerEvent('esx_mechanicjob:startHarvest2') - elseif element.value == 'caro_tool' then - TriggerServerEvent('esx_mechanicjob:startHarvest3') - end + TriggerServerEvent('esx_mechanicjob:startHarvest', element.value) end, function(menu) CurrentAction = 'mechanic_harvest_menu' CurrentActionMsg = TranslateCap('harvest_menu') @@ -202,22 +194,16 @@ function OpenMechanicHarvestMenu() end function OpenMechanicCraftMenu() - if Config.EnablePlayerManagement and ESX.PlayerData.job and ESX.PlayerData.job.grade_name ~= 'recrue' then + if Config.EnablePlayerManagement and ESX.PlayerData.job and ESX.PlayerData.job.grade ~= 0 then local elements = { { unselectable = true, icon = "fas fa-gear", title = "Mechanic Craft Menu" }, - { icon = "fas fa-gear", title = TranslateCap('blowtorch'), value = 'blow_pipe' }, - { icon = "fas fa-gear", title = TranslateCap('repair_kit'), value = 'fix_kit' }, - { icon = "fas fa-gear", title = TranslateCap('body_kit'), value = 'caro_kit' } + { icon = "fas fa-gear", title = TranslateCap('blowtorch'), value = 'blowpipe' }, + { icon = "fas fa-gear", title = TranslateCap('repair_kit'), value = 'fixkit' }, + { icon = "fas fa-gear", title = TranslateCap('body_kit'), value = 'carokit' } } ESX.OpenContext("right", elements, function(menu, element) - if element.value == 'blow_pipe' then - TriggerServerEvent('esx_mechanicjob:startCraft') - elseif element.value == 'fix_kit' then - TriggerServerEvent('esx_mechanicjob:startCraft2') - elseif element.value == 'caro_kit' then - TriggerServerEvent('esx_mechanicjob:startCraft3') - end + TriggerServerEvent('esx_mechanicjob:startCraft', element.value) end, function(menu) CurrentAction = 'mechanic_craft_menu' CurrentActionMsg = TranslateCap('craft_menu') @@ -261,15 +247,14 @@ function OpenMobileMechanicActionsMenu() ESX.ShowNotification(TranslateCap('no_players_nearby'), "error") else ESX.CloseContext() - TriggerServerEvent('esx_billing:sendBill', GetPlayerServerId(closestPlayer), 'society_mechanic', - TranslateCap('mechanic'), amount) + TriggerServerEvent('esx_billing:sendBill', GetPlayerServerId(closestPlayer), 'society_mechanic', TranslateCap('mechanic'), amount) end end end) elseif element.value == "hijack_vehicle" then local playerPed = PlayerPedId() - local vehicle = ESX.Game.GetVehicleInDirection() - local coords = GetEntityCoords(playerPed) + local coords = GetEntityCoords(playerPed) + local vehicle, distance = ESX.Game.GetClosestVehicle(coords) if IsPedSittingInAnyVehicle(playerPed) then ESX.ShowNotification(TranslateCap('inside_vehicle')) @@ -294,8 +279,8 @@ function OpenMobileMechanicActionsMenu() end elseif element.value == "fix_vehicle" then local playerPed = PlayerPedId() - local vehicle = ESX.Game.GetVehicleInDirection() local coords = GetEntityCoords(playerPed) + local vehicle, distance = ESX.Game.GetClosestVehicle(coords) if IsPedSittingInAnyVehicle(playerPed) then ESX.ShowNotification(TranslateCap('inside_vehicle')) @@ -322,8 +307,8 @@ function OpenMobileMechanicActionsMenu() end elseif element.value == "clean_vehicle" then local playerPed = PlayerPedId() - local vehicle = ESX.Game.GetVehicleInDirection() local coords = GetEntityCoords(playerPed) + local vehicle, distance = ESX.Game.GetClosestVehicle(coords) if IsPedSittingInAnyVehicle(playerPed) then ESX.ShowNotification(TranslateCap('inside_vehicle')) @@ -347,6 +332,7 @@ function OpenMobileMechanicActionsMenu() end elseif element.value == "del_vehicle" then local playerPed = PlayerPedId() + local coords = GetEntityCoords(playerPed) if IsPedSittingInAnyVehicle(playerPed) then local vehicle = GetVehiclePedIsIn(playerPed, false) @@ -358,7 +344,7 @@ function OpenMobileMechanicActionsMenu() ESX.ShowNotification(TranslateCap('must_seat_driver')) end else - local vehicle = ESX.Game.GetVehicleInDirection() + local vehicle, distance = ESX.Game.GetClosestVehicle(coords) if DoesEntityExist(vehicle) then ESX.ShowNotification(TranslateCap('vehicle_impounded')) @@ -369,13 +355,15 @@ function OpenMobileMechanicActionsMenu() end elseif element.value == "dep_vehicle" then local playerPed = PlayerPedId() + local coords = GetEntityCoords(playerPed) + local vehicle = GetVehiclePedIsIn(playerPed, true) local towmodel = `flatbed` local isVehicleTow = IsVehicleModel(vehicle, towmodel) if isVehicleTow then - local targetVehicle = ESX.Game.GetVehicleInDirection() + local vehicle, distance = ESX.Game.GetClosestVehicle(coords) if CurrentlyTowedVehicle == nil then if targetVehicle ~= 0 then @@ -452,15 +440,9 @@ function OpenMobileMechanicActionsMenu() local model = elementObj.value local coords = GetEntityCoords(playerPed) local forward = GetEntityForwardVector(playerPed) - local x, y, z = table.unpack(coords + forward * 1.0) - - if model == 'prop_roadcone02a' then - z = z - 2.0 - elseif model == 'prop_toolchest_01' then - z = z - 2.0 - end + local spawn = coords + forward * 1.0 - ESX.Game.SpawnObject(model, { x = x, y = y, z = z }, function(obj) + ESX.Game.SpawnObject(model, spawn, function(obj) SetEntityHeading(obj, GetEntityHeading(playerPed)) PlaceObjectOnGroundProperly(obj) end) @@ -690,7 +672,7 @@ AddEventHandler('esx_mechanicjob:hasEnteredMarker', function(zone) end end - if zone ~= 'VehicleSpawnPoint' then + if zone ~= 'VehicleSpawnPoint' and CurrentActionMsg ~= '' then ESX.TextUI(CurrentActionMsg) end end) @@ -700,14 +682,9 @@ AddEventHandler('esx_mechanicjob:hasExitedMarker', function(zone) NPCTargetDeleterZone = false elseif zone == 'Craft' then TriggerServerEvent('esx_mechanicjob:stopCraft') - TriggerServerEvent('esx_mechanicjob:stopCraft2') - TriggerServerEvent('esx_mechanicjob:stopCraft3') elseif zone == 'Garage' then TriggerServerEvent('esx_mechanicjob:stopHarvest') - TriggerServerEvent('esx_mechanicjob:stopHarvest2') - TriggerServerEvent('esx_mechanicjob:stopHarvest3') end - CurrentAction = nil ESX.CloseContext() ESX.HideUI() @@ -731,19 +708,6 @@ AddEventHandler('esx_mechanicjob:hasExitedEntityZone', function(entity) ESX.HideUI() end) -RegisterNetEvent('esx_phone:loaded') -AddEventHandler('esx_phone:loaded', function(phoneNumber, contacts) - local specialContact = { - name = TranslateCap('mechanic'), - number = 'mechanic', - base64Icon = - 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAA4BJREFUWIXtll9oU3cUx7/nJA02aSSlFouWMnXVB0ejU3wcRteHjv1puoc9rA978cUi2IqgRYWIZkMwrahUGfgkFMEZUdg6C+u21z1o3fbgqigVi7NzUtNcmsac40Npltz7S3rvUHzxQODec87vfD+/e0/O/QFv7Q0beV3QeXqmgV74/7H7fZJvuLwv8q/Xeux1gUrNBpN/nmtavdaqDqBK8VT2RDyV2VHmF1lvLERSBtCVynzYmcp+A9WqT9kcVKX4gHUehF0CEVY+1jYTTIwvt7YSIQnCTvsSUYz6gX5uDt7MP7KOKuQAgxmqQ+neUA+I1B1AiXi5X6ZAvKrabirmVYFwAMRT2RMg7F9SyKspvk73hfrtbkMPyIhA5FVqi0iBiEZMMQdAui/8E4GPv0oAJkpc6Q3+6goAAGpWBxNQmTLFmgL3jSJNgQdGv4pMts2EKm7ICJB/aG0xNdz74VEk13UYCx1/twPR8JjDT8wttyLZtkoAxSb8ZDCz0gdfKxWkFURf2v9qTYH7SK7rQIDn0P3nA0ehixvfwZwE0X9vBE/mW8piohhl1WH18UQBhYnre8N/L8b8xQvlx4ACbB4NnzaeRYDnKm0EALCMLXy84hwuTCXL/ExoB1E7qcK/8NCLIq5HcTT0i6u8TYbXUM1cAyyveVq8Xls7XhYrvY/4n3gC8C+dsmAzL1YUiyfWxvHzsy/w/dNd+KjhW2yvv/RfXr7x9QDcmo1he2RBiCCI1Q8jVj9szPNixVfgz+UiIGyDSrcoRu2J16d3I6e1VYvNSQjXpnucAcEPUOkGYZs/l4uUhowt/3kqu1UIv9n90fAY9jT3YBlbRvFTD4fw++wHjhiTRL/bG75t0jI2ITcHb5om4Xgmhv57xpGOg3d/NIqryOR7z+r+MC6qBJB/ZB2t9Om1D5lFm843G/3E3HI7Yh1xDRAfzLQr5EClBf/HBHK462TG2J0OABXeyWDPZ8VqxmBWYscpyghwtTd4EKpDTjCZdCNmzFM9k+4LHXIFACJN94Z6FiFEpKDQw9HndWsEuhnADVMhAUaYJBp9XrcGQKJ4qFE9k+6r2+MG3k5N8VQ22TVglbX2ZwOzX2VvNKr91zmY6S7N6zqZicVT2WNLyVSehESaBhxnOALfMeYX+K/S2yv7wmMAlvwyuR7FxQUyf0fgc/jztfkJr7XeGgC8BJJgWNV8ImT+AAAAAElFTkSuQmCC' - } - - TriggerEvent('esx_phone:addSpecialContact', specialContact.name, specialContact.number, specialContact.base64Icon) -end) - --- Pop NPC mission vehicle when inside area CreateThread(function() while true do local Sleep = 1500 @@ -779,7 +743,6 @@ CreateThread(function() end end) --- Create Blips CreateThread(function() local blip = AddBlipForCoord(Config.Zones.MechanicActions.Pos.x, Config.Zones.MechanicActions.Pos.y, Config.Zones.MechanicActions.Pos.z) @@ -795,7 +758,21 @@ CreateThread(function() EndTextCommandSetBlipName(blip) end) --- Display markers +CreateThread(function() + local blip = AddBlipForCoord(Config.Zones.VehicleDeleter.Pos.x, Config.Zones.VehicleDeleter.Pos.y, + Config.Zones.VehicleDeleter.Pos.z) + + SetBlipSprite(blip, 446) + SetBlipDisplay(blip, 4) + SetBlipScale(blip, 1.0) + SetBlipColour(blip, 3) + SetBlipAsShortRange(blip, true) + + BeginTextCommandSetBlipName('STRING') + AddTextComponentSubstringPlayerName('Vehicle Storage') + EndTextCommandSetBlipName(blip) +end) + CreateThread(function() while true do local Sleep = 2000 @@ -806,10 +783,20 @@ CreateThread(function() for k, v in pairs(Config.Zones) do if v.Type ~= -1 and #(coords - v.Pos) < Config.DrawDistance then - Sleep = 0 - DrawMarker(v.Type, v.Pos.x, v.Pos.y, v.Pos.z, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, v.Size.x, v.Size.y, - v.Size.z, v.Color.r, v.Color.g, v.Color.b, 100, true, true, 2, true, nil, nil, false) - letSleep = false + if k == 'VehicleDeleter' then + local playerPed = PlayerPedId() + if IsPedInAnyVehicle(playerPed, false) then + Sleep = 0 + DrawMarker(v.Type, v.Pos.x, v.Pos.y, v.Pos.z, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, v.Size.x, v.Size.y, + v.Size.z, v.Color.r, v.Color.g, v.Color.b, 100, true, true, 2, true, nil, nil, false) + letSleep = false + end + else + Sleep = 0 + DrawMarker(v.Type, v.Pos.x, v.Pos.y, v.Pos.z, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, v.Size.x, v.Size.y, + v.Size.z, v.Color.r, v.Color.g, v.Color.b, 100, true, true, 2, true, nil, nil, false) + letSleep = false + end end end end @@ -817,7 +804,6 @@ CreateThread(function() end end) --- Enter / Exit marker events CreateThread(function() while true do local Sleep = 500 @@ -893,7 +879,6 @@ CreateThread(function() end end) --- Key Controls CreateThread(function() while true do local sleep = 500 @@ -912,12 +897,15 @@ CreateThread(function() TriggerServerEvent('esx_society:putVehicleInGarage', 'mechanic', vehicleProps) else local entityModel = GetEntityModel(CurrentActionData.vehicle) - if entityModel == `flatbed` or entityModel == `towtruck2` or entityModel == `slamvan3` then TriggerServerEvent('esx_service:disableService', 'mechanic') end end ESX.Game.DeleteVehicle(CurrentActionData.vehicle) + CurrentAction = nil + CurrentActionMsg = '' + CurrentActionData = {} + ESX.HideUI() elseif CurrentAction == 'remove_entity' then DeleteEntity(CurrentActionData.entity) end @@ -928,14 +916,13 @@ CreateThread(function() Wait(sleep) end end) + RegisterCommand('mechanicMenu', function() if ESX.PlayerData.job and ESX.PlayerData.job.name == 'mechanic' then OpenMobileMechanicActionsMenu() end end, false) - - RegisterCommand('mechanicjob', function() local playerPed = PlayerPedId() if ESX.PlayerData.job and ESX.PlayerData.job.name == 'mechanic' then diff --git a/[esx_addons]/esx_mechanicjob/esx_mechanicjob.sql b/[esx_addons]/esx_mechanicjob/esx_mechanicjob.sql index e8deb269..7765c522 100644 --- a/[esx_addons]/esx_mechanicjob/esx_mechanicjob.sql +++ b/[esx_addons]/esx_mechanicjob/esx_mechanicjob.sql @@ -15,18 +15,18 @@ INSERT INTO `jobs` (name, label) VALUES ; INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES - ('mechanic',0,'recrue','Recrue',12,'{}','{}'), + ('mechanic',0,'recrue','Recruit',12,'{}','{}'), ('mechanic',1,'novice','Novice',24,'{}','{}'), - ('mechanic',2,'experimente','Experimente',36,'{}','{}'), - ('mechanic',3,'chief',"Chef d\'équipe",48,'{}','{}'), - ('mechanic',4,'boss','Patron',0,'{}','{}') + ('mechanic',2,'experimente','Experienced',36,'{}','{}'), + ('mechanic',3,'chief','Leader',48,'{}','{}'), + ('mechanic',4,'boss','Boss',0,'{}','{}') ; INSERT INTO `items` (name, label, weight) VALUES - ('gazbottle', 'bouteille de gaz', 2), - ('fixtool', 'outils réparation', 2), - ('carotool', 'outils carosserie', 2), - ('blowpipe', 'Chalumeaux', 2), - ('fixkit', 'Kit réparation', 3), - ('carokit', 'Kit carosserie', 3) + ('gazbottle', 'Gas Bottle', 2), + ('fixtool', 'Repair Tools', 2), + ('carotool', 'Body Tools', 2), + ('blowpipe', 'Blowtorch', 2), + ('fixkit', 'Repair Kit', 3), + ('carokit', 'Body Kit', 3) ; diff --git a/[esx_addons]/esx_mechanicjob/fxmanifest.lua b/[esx_addons]/esx_mechanicjob/fxmanifest.lua index 348e1ca3..fdb5d506 100644 --- a/[esx_addons]/esx_mechanicjob/fxmanifest.lua +++ b/[esx_addons]/esx_mechanicjob/fxmanifest.lua @@ -20,6 +20,8 @@ server_scripts { '@es_extended/locale.lua', 'locales/*.lua', 'config.lua', + 'server/callbacks.lua', + 'server/usables.lua', 'server/main.lua' } diff --git a/[esx_addons]/esx_mechanicjob/locales/de.lua b/[esx_addons]/esx_mechanicjob/locales/de.lua index b21d4800..3b75b891 100644 --- a/[esx_addons]/esx_mechanicjob/locales/de.lua +++ b/[esx_addons]/esx_mechanicjob/locales/de.lua @@ -67,15 +67,15 @@ Locales['de'] = { ['must_in_flatbed'] = 'Du musst dafür in einem Abschleppwagen sitzen', ['mechanic_customer'] = 'Mechaniker Kunde', ['you_do_not_room'] = 'Du hast nicht genügend Platz', - ['recovery_gas_can'] = 'Benzin Kanister wird abgerufen...', - ['recovery_repair_tools'] = 'Reparierungstools werden abgerufen...', - ['recovery_body_tools'] = 'Body Tools Abruf...', - ['not_enough_gas_can'] = 'Du hast nicht genügend Benzinkanister.', - ['assembling_blowtorch'] = 'Schweißbrenner wird angebracht...', - ['not_enough_repair_tools'] = 'Du hast nicht genug Reparierungstools.', - ['assembling_repair_kit'] = 'Zusammenbau des Reparatursatzes...', - ['not_enough_body_tools'] = 'Du haben nicht genügend Bodytools.', - ['assembling_body_kit'] = 'Zusammenbau des Bodykits...', + ['recovery_gazbottle'] = 'Benzin Kanister wird abgerufen...', + ['recovery_fixtool'] = 'Reparierungstools werden abgerufen...', + ['recovery_carotool'] = 'Body Tools Abruf...', + ['not_enough_gazbottle'] = 'Du hast nicht genügend Benzinkanister.', + ['assembling_blowpipe'] = 'Schweißbrenner wird angebracht...', + ['not_enough_fixtool'] = 'Du hast nicht genug Reparierungstools.', + ['assembling_fixkit'] = 'Zusammenbau des Reparatursatzes...', + ['not_enough_carotool'] = 'Du haben nicht genügend Bodytools.', + ['assembling_carokit'] = 'Zusammenbau des Bodykits...', ['your_comp_earned'] = 'Deine Firma verdient €', ['you_used_blowtorch'] = 'Du nutzt einen Schweißbrenner', ['you_used_repair_kit'] = 'Du nutzt ein Reparierungskit', diff --git a/[esx_addons]/esx_mechanicjob/locales/en.lua b/[esx_addons]/esx_mechanicjob/locales/en.lua index 14921c47..3deacd3e 100644 --- a/[esx_addons]/esx_mechanicjob/locales/en.lua +++ b/[esx_addons]/esx_mechanicjob/locales/en.lua @@ -67,15 +67,15 @@ Locales['en'] = { ['must_in_flatbed'] = 'you must be in a flatbed to being the mission', ['mechanic_customer'] = 'mechanic Customer', ['you_do_not_room'] = 'You do not have more room', - ['recovery_gas_can'] = 'Gas Can Retrieval...', - ['recovery_repair_tools'] = 'Repair Tools Retrieval...', - ['recovery_body_tools'] = 'Body Tools Retrieval...', - ['not_enough_gas_can'] = 'You do not have enough gas cans.', - ['assembling_blowtorch'] = 'Assembling Blowtorch...', - ['not_enough_repair_tools'] = 'You do not have enough repair tools.', - ['assembling_repair_kit'] = 'Assembling Repair Kit...', - ['not_enough_body_tools'] = 'You do not have enough body tools.', - ['assembling_body_kit'] = 'Assembling Body Kit...', + ['recovery_gazbottle'] = 'Gas Can Retrieval...', + ['recovery_fixtool'] = 'Repair Tools Retrieval...', + ['recovery_carotool'] = 'Body Tools Retrieval...', + ['not_enough_gazbottle'] = 'You do not have enough gas cans.', + ['assembling_blowpipe'] = 'Assembling Blowtorch...', + ['not_enough_fixtool'] = 'You do not have enough repair tools.', + ['assembling_fixkit'] = 'Assembling Repair Kit...', + ['not_enough_carotool'] = 'You do not have enough body tools.', + ['assembling_carokit'] = 'Assembling Body Kit...', ['your_comp_earned'] = 'your company has earned $', ['you_used_blowtorch'] = 'you used a blowtorch', ['you_used_repair_kit'] = 'you used a Repair Kit', diff --git a/[esx_addons]/esx_mechanicjob/locales/es.lua b/[esx_addons]/esx_mechanicjob/locales/es.lua index dbe22348..de47bedd 100644 --- a/[esx_addons]/esx_mechanicjob/locales/es.lua +++ b/[esx_addons]/esx_mechanicjob/locales/es.lua @@ -67,15 +67,15 @@ Locales['es'] = { ['must_in_flatbed'] = 'Debes estar en una plataforma para ser la misión', ['mechanic_customer'] = 'Cliente mecánico', ['you_do_not_room'] = 'No tienes mas espacio', - ['recovery_gas_can'] = 'Lata de gas Recuperando...', - ['recovery_repair_tools'] = 'Herramientas para reparar Recuperando...', - ['recovery_body_tools'] = 'Herramientas de carrocería Recuperando...', - ['not_enough_gas_can'] = 'No tienes suficiente latas de gas.', - ['assembling_blowtorch'] = 'Montando Soplete...', - ['not_enough_repair_tools'] = 'No tienes suficiente herramientas para reparar.', - ['assembling_repair_kit'] = 'Montando Kit de reparación...', - ['not_enough_body_tools'] = 'No tienes suficiente herramientas de carrocería.', - ['assembling_body_kit'] = 'Montando Kit de carrocería...', + ['recovery_gazbottle'] = 'Lata de gas Recuperando...', + ['recovery_fixtool'] = 'Herramientas para reparar Recuperando...', + ['recovery_carotool'] = 'Herramientas de carrocería Recuperando...', + ['not_enough_gazbottle'] = 'No tienes suficiente latas de gas.', + ['assembling_blowpipe'] = 'Montando Soplete...', + ['not_enough_fixtool'] = 'No tienes suficiente herramientas para reparar.', + ['assembling_fixkit'] = 'Montando Kit de reparación...', + ['not_enough_carotool'] = 'No tienes suficiente herramientas de carrocería.', + ['assembling_carokit'] = 'Montando Kit de carrocería...', ['your_comp_earned'] = 'Tu empresa ha ganado $', ['you_used_blowtorch'] = 'Usaste un soplete', ['you_used_repair_kit'] = 'Usaste un Kit de reparación', diff --git a/[esx_addons]/esx_mechanicjob/locales/fi.lua b/[esx_addons]/esx_mechanicjob/locales/fi.lua index a6738bc6..d8da057d 100644 --- a/[esx_addons]/esx_mechanicjob/locales/fi.lua +++ b/[esx_addons]/esx_mechanicjob/locales/fi.lua @@ -67,14 +67,15 @@ Locales['fi'] = { ['mechanic_customer'] = 'mekaanikon Asiakas', ['you_do_not_room'] = '~r~Sinulla ei ole enempää tilaa', ['recovery_gas_can'] = 'Kaasupullon täyttö menossa...', - ['recovery_repair_tools'] = 'Korjaustyökalujen kerääminen menossa...', - ['recovery_body_tools'] = 'Korin työkalujen kerääminen menossa...', - ['not_enough_gas_can'] = 'sinulla ~r~ei ole tarpeeksi kaasupulloja.', - ['assembling_blowtorch'] = 'kasataan Polttoleikkuria...', - ['not_enough_repair_tools'] = 'sinulla ~r~ei ole tarpeeksi korjaus työkaluja.', - ['assembling_repair_kit'] = 'kasataan Korjauskittiä...', - ['not_enough_body_tools'] = 'sinulla ~r~ei ole tarpeeksi kori työkaluja.', - ['assembling_body_kit'] = 'kasataan Korikittiä...', + ['recovery_gazbottle'] = 'Kaasupullon kerääminen menossa...', + ['recovery_fixtool'] = 'Korjaustyökalujen kerääminen menossa...', + ['recovery_carotool'] = 'Korin työkalujen kerääminen menossa...', + ['not_enough_gazbottle'] = 'sinulla ~r~ei ole tarpeeksi kaasupulloja.', + ['assembling_blowpipe'] = 'kasataan Polttoleikkuria...', + ['not_enough_fixtool'] = 'sinulla ~r~ei ole tarpeeksi korjaus työkaluja.', + ['assembling_fixkit'] = 'kasataan Korjauskittiä...', + ['not_enough_carotool'] = 'sinulla ~r~ei ole tarpeeksi kori työkaluja.', + ['assembling_carokit'] = 'kasataan Korikittiä...', ['your_comp_earned'] = 'yrityksesi tienasi $', ['you_used_blowtorch'] = 'sinä käytit yhden Polttoleikkurin', ['you_used_repair_kit'] = 'sinä käytit yhden Korjauskitin', diff --git a/[esx_addons]/esx_mechanicjob/locales/fr.lua b/[esx_addons]/esx_mechanicjob/locales/fr.lua index eb9283bd..984a04ae 100644 --- a/[esx_addons]/esx_mechanicjob/locales/fr.lua +++ b/[esx_addons]/esx_mechanicjob/locales/fr.lua @@ -46,6 +46,7 @@ Locales['fr'] = { ['cant_attach_own_tt'] = '~r~Impossible d\'attacher votre propre dépanneuse', ['no_veh_att'] = 'il n\'y a ~r~pas de véhicule à attacher', ['not_right_veh'] = 'ce n\'est pas le bon véhicule', + ['not_right_place'] = 'Vous devez être au bon endroit pour faire cela', ['veh_det_succ'] = 'vehicule détaché avec succès!', ['imp_flatbed'] = '~r~Impossible! Vous devez avoir un Flatbed pour ça', ['objects'] = 'objets', @@ -64,18 +65,17 @@ Locales['fr'] = { ['please_tow'] = 'veuillez remorquer le véhicule', ['wait_five'] = 'Vous devez ~r~attendre 5 minutes', ['must_in_flatbed'] = 'Vous devez être en flatbed pour commencer la mission', - ['not_right_place'] = 'Vous devez être au bon endroit pour faire cela', ['mechanic_customer'] = 'client mecano', ['you_do_not_room'] = '~r~Vous n\'avez plus de place', - ['recovery_gas_can'] = 'Récupération de bouteille de gaz...', - ['recovery_repair_tools'] = 'Récupération d\'outils réparation...', - ['recovery_body_tools'] = 'Récupération d\'outils carosserie...', - ['not_enough_gas_can'] = 'Vous n\'avez ~r~pas assez de bouteille de gaz', - ['assembling_blowtorch'] = 'Assemblage de chalumeaux...', - ['not_enough_repair_tools'] = 'Vous n\'avez ~r~pas assez d\'outils réparation', - ['assembling_repair_kit'] = 'Assemblage de kit réparation...', - ['not_enough_body_tools'] = 'Vous n\'avez ~r~pas assez d\'outils carosserie', - ['assembling_body_kit'] = 'Assemblage de kit carosserie...', + ['recovery_gazbottle'] = 'Récupération de bouteille de gaz...', + ['recovery_fixtool'] = 'Récupération d\'outils réparation...', + ['recovery_carotool'] = 'Récupération d\'outils carosserie...', + ['not_enough_gazbottle'] = 'Vous n\'avez ~r~pas assez de bouteille de gaz', + ['assembling_blowpipe'] = 'Assemblage de chalumeaux...', + ['not_enough_fixtool'] = 'Vous n\'avez ~r~pas assez d\'outils réparation', + ['assembling_fixkit'] = 'Assemblage de kit réparation...', + ['not_enough_carotool'] = 'Vous n\'avez ~r~pas assez d\'outils carosserie', + ['assembling_carokit'] = 'Assemblage de kit carosserie...', ['your_comp_earned'] = 'Votre société a gagné $', ['you_used_blowtorch'] = 'Vous avez utilisé un chalumeau', ['you_used_repair_kit'] = 'Vous avez utilisé un kit de réparation', diff --git a/[esx_addons]/esx_mechanicjob/locales/hu.lua b/[esx_addons]/esx_mechanicjob/locales/hu.lua index 2255cc25..43ab99bb 100644 --- a/[esx_addons]/esx_mechanicjob/locales/hu.lua +++ b/[esx_addons]/esx_mechanicjob/locales/hu.lua @@ -67,15 +67,15 @@ Locales['hu'] = { ['must_in_flatbed'] = '[Információ]: Csak platós kocsival tudsz küldetést csinálni!', ['mechanic_customer'] = 'Szerelő ügyfél', ['you_do_not_room'] = '~r~Nincs több helyed', - ['recovery_gas_can'] = 'Gázpalack Visszakeresés...', - ['recovery_repair_tools'] = 'Javító szerszámok Visszakeresés...', - ['recovery_body_tools'] = 'Body szerszámok Visszakeresés...', - ['not_enough_gas_can'] = 'Nincs elég gázpalackod', - ['assembling_blowtorch'] = 'Összeszerelés Fújólámpa...', - ['not_enough_repair_tools'] = 'Nincs elég javítószerszámod', - ['assembling_repair_kit'] = 'Összeszerelés Javító készlet...', - ['not_enough_body_tools'] = 'Nincs elég body szerszámod', - ['assembling_body_kit'] = 'Összeszerelés Body készlet...', + ['recovery_gazbottle'] = 'Gázpalack Visszakeresés...', + ['recovery_fixtool'] = 'Javító szerszámok Visszakeresés...', + ['recovery_carotool'] = 'Body szerszámok Visszakeresés...', + ['not_enough_gazbottle'] = 'Nincs elég gázpalackod', + ['assembling_blowpipe'] = 'Összeszerelés Fújólámpa...', + ['not_enough_fixtool'] = 'Nincs elég javítószerszámod', + ['assembling_fixkit'] = 'Összeszerelés Javító készlet...', + ['not_enough_carotool'] = 'Nincs elég body szerszámod', + ['assembling_carokit'] = 'Összeszerelés Body készlet...', ['your_comp_earned'] = '[Információ]: Gratulálok, kapott egy kis pénzt a frakció és te is! ~r~', ['you_used_blowtorch'] = 'használtál egy fújólámpát', ['you_used_repair_kit'] = 'használtál egy Javító készletet', diff --git a/[esx_addons]/esx_mechanicjob/locales/nl.lua b/[esx_addons]/esx_mechanicjob/locales/nl.lua index 8c52001d..81d01957 100644 --- a/[esx_addons]/esx_mechanicjob/locales/nl.lua +++ b/[esx_addons]/esx_mechanicjob/locales/nl.lua @@ -67,14 +67,15 @@ Locales['nl'] = { ['mechanic_customer'] = 'klant van garage', ['you_do_not_room'] = '~r~Je hebt geen ruimte', ['recovery_gas_can'] = 'Jerrycan Ophalen...', - ['recovery_repair_tools'] = 'Reparatie gereedschap Ophalen...', - ['recovery_body_tools'] = 'Plaatwerk gereedschap Ophalen...', - ['not_enough_gas_can'] = 'je hebt ~r~niet genoeg jerrycans.', - ['assembling_blowtorch'] = 'In elkaar aan het zetten gasbrander...', - ['not_enough_repair_tools'] = 'je hebt ~r~niet genoeg reparatie gereedschap.', - ['assembling_repair_kit'] = 'In elkaar aan het zetten reparatie set...', - ['not_enough_body_tools'] = 'je hebt ~r~niet genoeg plaatwerk gereedschap.', - ['assembling_body_kit'] = 'In elkaar aan het zetten plaatwerk set...', + ['recovery_gazbottle'] = 'Jerrycan Ophalen...', + ['recovery_fixtool'] = 'Reparatie gereedschap Ophalen...', + ['recovery_carotool'] = 'Plaatwerk gereedschap Ophalen...', + ['not_enough_gazbottle'] = 'je hebt ~r~niet genoeg jerrycans.', + ['assembling_blowpipe'] = 'In elkaar aan het zetten gasbrander...', + ['not_enough_fixtool'] = 'je hebt ~r~niet genoeg reparatie gereedschap.', + ['assembling_fixkit'] = 'In elkaar aan het zetten reparatie set...', + ['not_enough_carotool'] = 'je hebt ~r~niet genoeg plaatwerk gereedschap.', + ['assembling_carokit'] = 'In elkaar aan het zetten plaatwerk set...', ['your_comp_earned'] = 'de garage heeft verdient €', ['you_used_blowtorch'] = 'je gebruikte een gasbrannder', ['you_used_repair_kit'] = 'je gebruikte een reparatie set', diff --git a/[esx_addons]/esx_mechanicjob/locales/pl.lua b/[esx_addons]/esx_mechanicjob/locales/pl.lua index 6e9b67cb..3df58a7c 100644 --- a/[esx_addons]/esx_mechanicjob/locales/pl.lua +++ b/[esx_addons]/esx_mechanicjob/locales/pl.lua @@ -67,14 +67,15 @@ Locales['pl'] = { ['mechanic_customer'] = 'klient mechanika', ['you_do_not_room'] = '~r~Nie masz wiecej miejsca', ['recovery_gas_can'] = 'odzyskiwanie Kanistra z paliwem...', - ['recovery_repair_tools'] = 'odzyskiwanie Części naprawczych...', - ['recovery_body_tools'] = 'odzyskiwanie Części blacharskich...', - ['not_enough_gas_can'] = 'nie posiadasz ~r~wystarczająco paliwa w kanistrze.', - ['assembling_blowtorch'] = 'składanie Palnika...', - ['not_enough_repair_tools'] = 'nie posiadasz ~r~wystarczająco częsci naprawczych.', - ['assembling_repair_kit'] = 'składanie częsci naprawczych...', - ['not_enough_body_tools'] = 'nie posiadasz ~r~wystarczająco częsci blacharskich.', - ['assembling_body_kit'] = 'składanie częsci blacharskich...', + ['recovery_gazbottle'] = 'odzyskiwanie Kanistra z paliwem...', + ['recovery_fixtool'] = 'odzyskiwanie Części naprawczych...', + ['recovery_carotool'] = 'odzyskiwanie Części blacharskich...', + ['not_enough_gazbottle'] = 'nie posiadasz ~r~wystarczająco paliwa w kanistrze.', + ['assembling_blowpipe'] = 'składanie Palnika...', + ['not_enough_fixtool'] = 'nie posiadasz ~r~wystarczająco częsci naprawczych.', + ['assembling_fixkit'] = 'składanie częsci naprawczych...', + ['not_enough_carotool'] = 'nie posiadasz ~r~wystarczająco częsci blacharskich.', + ['assembling_carokit'] = 'składanie częsci blacharskich...', ['your_comp_earned'] = 'twoja firma zarobiła $', ['you_used_blowtorch'] = 'użyłeś palnik', ['you_used_repair_kit'] = 'użyłeś częsci naprawczych', diff --git a/[esx_addons]/esx_mechanicjob/locales/sr.lua b/[esx_addons]/esx_mechanicjob/locales/sr.lua index e34062c2..e4c3b739 100644 --- a/[esx_addons]/esx_mechanicjob/locales/sr.lua +++ b/[esx_addons]/esx_mechanicjob/locales/sr.lua @@ -67,15 +67,15 @@ Locales['sr'] = { ['must_in_flatbed'] = 'Morate biti u flatbedu da započnete misiju', ['mechanic_customer'] = 'Mehaničar kupac', ['you_do_not_room'] = 'Nemate više mesta', - ['recovery_gas_can'] = 'Povraćaj gasa...', - ['recovery_repair_tools'] = 'Repair Tools povraćaj...', - ['recovery_body_tools'] = 'Body Tools povraćaj...', - ['not_enough_gas_can'] = 'Nemate dovoljno gas cans.', - ['assembling_blowtorch'] = 'Sastavljanje Blowtorch...', - ['not_enough_repair_tools'] = 'Nemate dovoljno repair tools.', - ['assembling_repair_kit'] = 'Sastavljanje Repair Kit...', - ['not_enough_body_tools'] = 'Nemate dovoljno body tools.', - ['assembling_body_kit'] = 'Sastavljanje Body Kit...', + ['recovery_gazbottle'] = 'Povraćaj gasa...', + ['recovery_fixtool'] = 'Repair Tools povraćaj...', + ['recovery_carotool'] = 'Body Tools povraćaj...', + ['not_enough_gazbottle'] = 'Nemate dovoljno gas cans.', + ['assembling_blowpipe'] = 'Sastavljanje Blowtorch...', + ['not_enough_fixtool'] = 'Nemate dovoljno repair tools.', + ['assembling_fixkit'] = 'Sastavljanje Repair Kit...', + ['not_enough_carotool'] = 'Nemate dovoljno body tools.', + ['assembling_carokit'] = 'Sastavljanje Body Kit...', ['your_comp_earned'] = 'Vaša firma je zaradila $', ['you_used_blowtorch'] = 'iskoristili ste blowtorch', ['you_used_repair_kit'] = 'iskoristili ste Repair Kit', diff --git a/[esx_addons]/esx_mechanicjob/localization/fi_esx_mecanojob.sql b/[esx_addons]/esx_mechanicjob/localization/fi_esx_mechanicjob.sql similarity index 95% rename from [esx_addons]/esx_mechanicjob/localization/fi_esx_mecanojob.sql rename to [esx_addons]/esx_mechanicjob/localization/fi_esx_mechanicjob.sql index e6d0ce1c..44292c23 100644 --- a/[esx_addons]/esx_mechanicjob/localization/fi_esx_mecanojob.sql +++ b/[esx_addons]/esx_mechanicjob/localization/fi_esx_mechanicjob.sql @@ -25,8 +25,15 @@ INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_ INSERT INTO `items` (name, label, weight) VALUES ('gazbottle', 'Kaasupullo', 2), ('fixtool', 'Korjaustyökalut', 2), - ('carotool', 'Työkalut', 2), + ('carotool', 'Korityökalut', 2), ('blowpipe', 'Polttoleikkuri', 2), ('fixkit', 'Korjauskitti', 3), ('carokit', 'Korikitti', 3) ; + + + + + + + diff --git a/[esx_addons]/esx_mechanicjob/localization/fr_esx_mecanojob.sql b/[esx_addons]/esx_mechanicjob/localization/fr_esx_mechanicjob.sql similarity index 84% rename from [esx_addons]/esx_mechanicjob/localization/fr_esx_mecanojob.sql rename to [esx_addons]/esx_mechanicjob/localization/fr_esx_mechanicjob.sql index 269172be..ae31d875 100644 --- a/[esx_addons]/esx_mechanicjob/localization/fr_esx_mecanojob.sql +++ b/[esx_addons]/esx_mechanicjob/localization/fr_esx_mechanicjob.sql @@ -17,16 +17,23 @@ INSERT INTO `jobs` (name, label) VALUES INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES ('mechanic',0,'recrue','Recrue',12,'{}','{}'), ('mechanic',1,'novice','Novice',24,'{}','{}'), - ('mechanic',2,'expérimenté','Expérimenté',36,'{}','{}'), - ('mechanic',3,'chef','Chef',48,'{}','{}'), + ('mechanic',2,'experimente','Expérimenté',36,'{}','{}'), + ('mechanic',3,'chief','Chef',48,'{}','{}'), ('mechanic',4,'boss','Boss',0,'{}','{}') ; INSERT INTO `items` (name, label, weight) VALUES ('gazbottle', 'Bouteille de gaz', 2), ('fixtool', 'Outils de réparation', 2), - ('carotool', 'Outils', 2), + ('carotool', 'Outils de carrosserie', 2), ('blowpipe', 'Chalumeau', 2), ('fixkit', 'Kit de réparation', 3), ('carokit', 'Kit de carrosserie', 3) ; + + + + + + + diff --git a/[esx_addons]/esx_mechanicjob/localization/hu_esx_mecanojob.sql b/[esx_addons]/esx_mechanicjob/localization/hu_esx_mecanojob.sql deleted file mode 100644 index 6de651b3..00000000 --- a/[esx_addons]/esx_mechanicjob/localization/hu_esx_mecanojob.sql +++ /dev/null @@ -1,32 +0,0 @@ -INSERT INTO `addon_account` (name, label, shared) VALUES - ('society_mechanic', 'Szerelő', 1) -; - -INSERT INTO `addon_inventory` (name, label, shared) VALUES - ('society_mechanic', 'Szerelő', 1) -; - -INSERT INTO `datastore` (name, label, shared) VALUES - ('society_mechanic', 'Szerelő', 1) -; - -INSERT INTO `jobs` (name, label) VALUES - ('mechanic', 'Szerelő') -; - -INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES - ('mechanic', 0, 'recrue', 'Újonc', 12, '{}', '{}'), - ('mechanic', 1, 'novice', 'Kezdő', 24, '{}', '{}'), - ('mechanic', 2, 'experimente', 'Tapasztalt', 36, '{}', '{}'), - ('mechanic', 3, 'chief', 'Vezető', 48, '{}', '{}'), - ('mechanic', 4, 'boss', 'Főnök', 0, '{}' ,'{}') -; - -INSERT INTO `items` (name, label, weight) VALUES - ('gazbottle', 'Gázpalack', 2), - ('fixtool', 'Javítószerszámok', 2), - ('carotool', 'Szerszámok', 2), - ('blowpipe', 'Fújólámpa', 2), - ('fixkit', 'Javító készlet', 3), - ('carokit', 'Body Kit', 3) -; diff --git a/[esx_addons]/esx_mechanicjob/localization/it_esx_mecanojob.sql b/[esx_addons]/esx_mechanicjob/localization/it_esx_mechanicjob.sql similarity index 94% rename from [esx_addons]/esx_mechanicjob/localization/it_esx_mecanojob.sql rename to [esx_addons]/esx_mechanicjob/localization/it_esx_mechanicjob.sql index 4eb733e9..f56a50ef 100644 --- a/[esx_addons]/esx_mechanicjob/localization/it_esx_mecanojob.sql +++ b/[esx_addons]/esx_mechanicjob/localization/it_esx_mechanicjob.sql @@ -25,9 +25,15 @@ INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_ INSERT INTO `items` (name, label, weight) VALUES ('gazbottle', 'Bottiglia di gas', 2), ('fixtool', 'Strumenti di riparazione', 2), - ('carotool', 'Strumenti', 2), + ('carotool', 'Strumenti per carrozzeria', 2), ('blowpipe', 'Fiamma ossidrica', 2), ('fixkit', 'Kit di riparazione', 3), ('carokit', 'Kit per carrozzeria', 3) ; + + + + + + diff --git a/[esx_addons]/esx_mechanicjob/localization/pl_esx_mecanojob.sql b/[esx_addons]/esx_mechanicjob/localization/pl_esx_mechanicjob.sql similarity index 90% rename from [esx_addons]/esx_mechanicjob/localization/pl_esx_mecanojob.sql rename to [esx_addons]/esx_mechanicjob/localization/pl_esx_mechanicjob.sql index 21b61358..eff23a30 100644 --- a/[esx_addons]/esx_mechanicjob/localization/pl_esx_mecanojob.sql +++ b/[esx_addons]/esx_mechanicjob/localization/pl_esx_mechanicjob.sql @@ -25,8 +25,15 @@ INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_ INSERT INTO `items` (name, label, weight) VALUES ('gazbottle', 'Butelka z gazem', 2), ('fixtool', 'Zestaw do naprawy', 2), - ('carotool', 'Częsci naprawcze', 2), + ('carotool', 'Narzędzia blacharskie', 2), ('blowpipe', 'Palnik', 2), - ('fixkit', 'Narzedzia naprawcze', 3), + ('fixkit', 'Narzędzia naprawcze', 3), ('carokit', 'Części blacharskie', 3) ; + + + + + + + diff --git a/[esx_addons]/esx_mechanicjob/localization/sl_esx_mecanojob.sql b/[esx_addons]/esx_mechanicjob/localization/sl_esx_mechanicjob.sql similarity index 81% rename from [esx_addons]/esx_mechanicjob/localization/sl_esx_mecanojob.sql rename to [esx_addons]/esx_mechanicjob/localization/sl_esx_mechanicjob.sql index 5840b0d7..9f0f0a67 100644 --- a/[esx_addons]/esx_mechanicjob/localization/sl_esx_mecanojob.sql +++ b/[esx_addons]/esx_mechanicjob/localization/sl_esx_mechanicjob.sql @@ -1,17 +1,17 @@ INSERT INTO `addon_account` (name, label, shared) VALUES - ('society_mechanic', 'AMZS', 1) + ('society_mechanic', 'Mehanik', 1) ; INSERT INTO `addon_inventory` (name, label, shared) VALUES - ('society_mechanic', 'AMZS', 1) + ('society_mechanic', 'Mehanik', 1) ; INSERT INTO `datastore` (name, label, shared) VALUES - ('society_mechanic', 'AMZS', 1) + ('society_mechanic', 'Mehanik', 1) ; INSERT INTO `jobs` (name, label) VALUES - ('mechanic', 'AMZS') + ('mechanic', 'Mehanik') ; INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES @@ -25,8 +25,15 @@ INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_ INSERT INTO `items` (name, label, weight) VALUES ('gazbottle', 'Kangla nafte', 2), ('fixtool', 'Orodja za popravilo', 2), - ('carotool', 'Orodja', 2), + ('carotool', 'Orodja za karoserijo', 2), ('blowpipe', 'Blowtorch', 2), ('fixkit', 'Popravilo', 3), ('carokit', 'Body Kit', 3) ; + + + + + + + diff --git a/[esx_addons]/esx_mechanicjob/server/callbacks.lua b/[esx_addons]/esx_mechanicjob/server/callbacks.lua new file mode 100644 index 00000000..d1a1eddd --- /dev/null +++ b/[esx_addons]/esx_mechanicjob/server/callbacks.lua @@ -0,0 +1,11 @@ +ESX.RegisterServerCallback('esx_mechanicjob:getStockItems', function(source, cb) + TriggerEvent('esx_addoninventory:getSharedInventory', 'society_mechanic', function(inventory) + cb(inventory.items) + end) +end) + +ESX.RegisterServerCallback('esx_mechanicjob:getPlayerInventory', function(source, cb) + local xPlayer = ESX.Player(source) + local items = xPlayer.getInventory(false) + cb({items = items}) +end) \ No newline at end of file diff --git a/[esx_addons]/esx_mechanicjob/server/main.lua b/[esx_addons]/esx_mechanicjob/server/main.lua index c6b1f00b..29e53577 100644 --- a/[esx_addons]/esx_mechanicjob/server/main.lua +++ b/[esx_addons]/esx_mechanicjob/server/main.lua @@ -1,209 +1,85 @@ -local PlayersHarvesting, PlayersHarvesting2, PlayersHarvesting3, PlayersCrafting, PlayersCrafting2, PlayersCrafting3 = {}, {}, {}, {}, {}, {} +local PlayersHarvesting, PlayersCrafting = {}, {} if Config.MaxInService ~= -1 then TriggerEvent('esx_service:activateService', 'mechanic', Config.MaxInService) end -TriggerEvent('esx_phone:registerNumber', 'mechanic', TranslateCap('mechanic_customer'), true, true) TriggerEvent('esx_society:registerSociety', 'mechanic', 'mechanic', 'society_mechanic', 'society_mechanic', 'society_mechanic', {type = 'private'}) -local function Harvest(source) +local function Harvest(source, itemType) SetTimeout(4000, function() - - if PlayersHarvesting[source] == true then + if PlayersHarvesting[source] and PlayersHarvesting[source].itemType == itemType then local xPlayer = ESX.Player(source) - local GazBottleQuantity = xPlayer.getInventoryItem('gazbottle').count + local itemQuantity = xPlayer.getInventoryItem(itemType).count - if GazBottleQuantity >= 5 then + if itemQuantity >= 5 then TriggerClientEvent('esx:showNotification', source, TranslateCap('you_do_not_room')) + PlayersHarvesting[source] = nil else - xPlayer.addInventoryItem('gazbottle', 1) - Harvest(source) + TriggerClientEvent('esx:showNotification', source, TranslateCap('recovery_' .. itemType)) + xPlayer.addInventoryItem(itemType, 1) + Harvest(source, itemType) end end - end) end -RegisterServerEvent('esx_mechanicjob:startHarvest') -AddEventHandler('esx_mechanicjob:startHarvest', function() +RegisterServerEvent('esx_mechanicjob:startHarvest', function(itemType) local source = source - PlayersHarvesting[source] = true - TriggerClientEvent('esx:showNotification', source, TranslateCap('recovery_gas_can')) - Harvest(source) -end) - -RegisterServerEvent('esx_mechanicjob:stopHarvest') -AddEventHandler('esx_mechanicjob:stopHarvest', function() - local source = source - PlayersHarvesting[source] = false -end) - -local function Harvest2(source) - SetTimeout(4000, function() - - if PlayersHarvesting2[source] == true then - local xPlayer = ESX.Player(source) - local FixToolQuantity = xPlayer.getInventoryItem('fixtool').count - - if FixToolQuantity >= 5 then - TriggerClientEvent('esx:showNotification', source, TranslateCap('you_do_not_room')) - else - xPlayer.addInventoryItem('fixtool', 1) - Harvest2(source) - end - end - - end) -end - -RegisterServerEvent('esx_mechanicjob:startHarvest2') -AddEventHandler('esx_mechanicjob:startHarvest2', function() - local source = source - PlayersHarvesting2[source] = true - TriggerClientEvent('esx:showNotification', source, TranslateCap('recovery_repair_tools')) - Harvest2(source) -end) - -RegisterServerEvent('esx_mechanicjob:stopHarvest2') -AddEventHandler('esx_mechanicjob:stopHarvest2', function() - local source = source - PlayersHarvesting2[source] = false -end) - -local function Harvest3(source) - SetTimeout(4000, function() - - if PlayersHarvesting3[source] == true then - local xPlayer = ESX.Player(source) - local CaroToolQuantity = xPlayer.getInventoryItem('carotool').count - if CaroToolQuantity >= 5 then - TriggerClientEvent('esx:showNotification', source, TranslateCap('you_do_not_room')) - else - xPlayer.addInventoryItem('carotool', 1) - Harvest3(source) - end - end - - end) -end - -RegisterServerEvent('esx_mechanicjob:startHarvest3') -AddEventHandler('esx_mechanicjob:startHarvest3', function() - local source = source - PlayersHarvesting3[source] = true - TriggerClientEvent('esx:showNotification', source, TranslateCap('recovery_body_tools')) - Harvest3(source) -end) - -RegisterServerEvent('esx_mechanicjob:stopHarvest3') -AddEventHandler('esx_mechanicjob:stopHarvest3', function() - local source = source - PlayersHarvesting3[source] = false -end) - -local function Craft(source) - SetTimeout(4000, function() - - if PlayersCrafting[source] == true then - local xPlayer = ESX.Player(source) - local GazBottleQuantity = xPlayer.getInventoryItem('gazbottle').count - - if GazBottleQuantity <= 0 then - TriggerClientEvent('esx:showNotification', source, TranslateCap('not_enough_gas_can')) - else - xPlayer.removeInventoryItem('gazbottle', 1) - xPlayer.addInventoryItem('blowpipe', 1) - Craft(source) - end - end - - end) -end - -RegisterServerEvent('esx_mechanicjob:startCraft') -AddEventHandler('esx_mechanicjob:startCraft', function() - local source = source - PlayersCrafting[source] = true - TriggerClientEvent('esx:showNotification', source, TranslateCap('assembling_blowtorch')) - Craft(source) -end) - -RegisterServerEvent('esx_mechanicjob:stopCraft') -AddEventHandler('esx_mechanicjob:stopCraft', function() - local source = source - PlayersCrafting[source] = false -end) - -local function Craft2(source) - SetTimeout(4000, function() - - if PlayersCrafting2[source] == true then - local xPlayer = ESX.Player(source) - local FixToolQuantity = xPlayer.getInventoryItem('fixtool').count - - if FixToolQuantity <= 0 then - TriggerClientEvent('esx:showNotification', source, TranslateCap('not_enough_repair_tools')) - else - xPlayer.removeInventoryItem('fixtool', 1) - xPlayer.addInventoryItem('fixkit', 1) - Craft2(source) - end - end - - end) -end - -RegisterServerEvent('esx_mechanicjob:startCraft2') -AddEventHandler('esx_mechanicjob:startCraft2', function() - local source = source - PlayersCrafting2[source] = true - TriggerClientEvent('esx:showNotification', source, TranslateCap('assembling_repair_kit')) - Craft2(source) + local xPlayer = ESX.Player(source) + if xPlayer.getJob().name == 'mechanic' and not PlayersHarvesting[source] then + PlayersHarvesting[source] = { itemType = itemType } + Harvest(source, itemType) + end end) -RegisterServerEvent('esx_mechanicjob:stopCraft2') -AddEventHandler('esx_mechanicjob:stopCraft2', function() +RegisterServerEvent('esx_mechanicjob:stopHarvest', function() local source = source - PlayersCrafting2[source] = false + PlayersHarvesting[source] = nil end) -local function Craft3(source) +local function Craft(source, itemType) SetTimeout(4000, function() - - if PlayersCrafting3[source] == true then + if PlayersCrafting[source] and PlayersCrafting[source].itemType == itemType then local xPlayer = ESX.Player(source) - local CaroToolQuantity = xPlayer.getInventoryItem('carotool').count - - if CaroToolQuantity <= 0 then - TriggerClientEvent('esx:showNotification', source, TranslateCap('not_enough_body_tools')) + + local ingredients = { + ['blowpipe'] = 'gazbottle', + ['fixkit'] = 'fixtool', + ['carokit'] = 'carotool' + } + local ingredient = ingredients[itemType] + local ingredientQuantity = xPlayer.getInventoryItem(ingredient).count + + if ingredientQuantity <= 0 then + TriggerClientEvent('esx:showNotification', source, TranslateCap('not_enough_' .. ingredient)) + PlayersCrafting[source] = nil else - xPlayer.removeInventoryItem('carotool', 1) - xPlayer.addInventoryItem('carokit', 1) - Craft3(source) + TriggerClientEvent('esx:showNotification', source, TranslateCap('assembling_' .. itemType)) + xPlayer.removeInventoryItem(ingredient, 1) + xPlayer.addInventoryItem(itemType, 1) + Craft(source, itemType) end end - end) end -RegisterServerEvent('esx_mechanicjob:startCraft3') -AddEventHandler('esx_mechanicjob:startCraft3', function() +RegisterServerEvent('esx_mechanicjob:startCraft', function(itemType) local source = source - PlayersCrafting3[source] = true - TriggerClientEvent('esx:showNotification', source, TranslateCap('assembling_body_kit')) - Craft3(source) + local xPlayer = ESX.Player(source) + if xPlayer.getJob().name == 'mechanic' and not PlayersCrafting[source] then + PlayersCrafting[source] = { itemType = itemType } + Craft(source, itemType) + end end) -RegisterServerEvent('esx_mechanicjob:stopCraft3') -AddEventHandler('esx_mechanicjob:stopCraft3', function() +RegisterServerEvent('esx_mechanicjob:stopCraft', function() local source = source - PlayersCrafting3[source] = false + PlayersCrafting[source] = nil end) -RegisterServerEvent('esx_mechanicjob:onNPCJobMissionCompleted') -AddEventHandler('esx_mechanicjob:onNPCJobMissionCompleted', function() +RegisterServerEvent('esx_mechanicjob:onNPCJobMissionCompleted', function() local source = source local xPlayer = ESX.Player(source) local total = math.random(Config.NPCJobEarnings.min, Config.NPCJobEarnings.max); @@ -219,47 +95,14 @@ AddEventHandler('esx_mechanicjob:onNPCJobMissionCompleted', function() TriggerClientEvent("esx:showNotification", source, TranslateCap('your_comp_earned').. total) end) -ESX.RegisterUsableItem('blowpipe', function(source) - local source = source - local xPlayer = ESX.Player(source) - - xPlayer.removeInventoryItem('blowpipe', 1) - - TriggerClientEvent('esx_mechanicjob:onHijack', source) - TriggerClientEvent('esx:showNotification', source, TranslateCap('you_used_blowtorch')) -end) - -ESX.RegisterUsableItem('fixkit', function(source) - local source = source - local xPlayer = ESX.Player(source) - - xPlayer.removeInventoryItem('fixkit', 1) - - TriggerClientEvent('esx_mechanicjob:onFixkit', source) - TriggerClientEvent('esx:showNotification', source, TranslateCap('you_used_repair_kit')) -end) - -ESX.RegisterUsableItem('carokit', function(source) - local source = source - local xPlayer = ESX.Player(source) - - xPlayer.removeInventoryItem('carokit', 1) - - TriggerClientEvent('esx_mechanicjob:onCarokit', source) - TriggerClientEvent('esx:showNotification', source, TranslateCap('you_used_body_kit')) -end) - -RegisterServerEvent('esx_mechanicjob:getStockItem') -AddEventHandler('esx_mechanicjob:getStockItem', function(itemName, count) +RegisterServerEvent('esx_mechanicjob:getStockItem', function(itemName, count) local xPlayer = ESX.Player(source) TriggerEvent('esx_addoninventory:getSharedInventory', 'society_mechanic', function(inventory) local item = inventory.getItem(itemName) - -- is there enough in the society? if count > 0 and item.count >= count then - -- can the player carry the said amount of x item? if xPlayer.canCarryItem(itemName, count) then inventory.removeItem(itemName, count) xPlayer.addInventoryItem(itemName, count) @@ -273,34 +116,13 @@ AddEventHandler('esx_mechanicjob:getStockItem', function(itemName, count) end) end) -ESX.RegisterServerCallback('esx_mechanicjob:getStockItems', function(source, cb) - TriggerEvent('esx_addoninventory:getSharedInventory', 'society_mechanic', function(inventory) - cb(inventory.items) - end) -end) - -RegisterServerEvent('esx_mechanicjob:putStockItems') -AddEventHandler('esx_mechanicjob:putStockItems', function(itemName, count) +RegisterServerEvent('esx_mechanicjob:putStockItems', function(itemName, count) local xPlayer = ESX.Player(source) TriggerEvent('esx_addoninventory:getSharedInventory', 'society_mechanic', function(inventory) local item = inventory.getItem(itemName) - local playerItemCount = xPlayer.getInventoryItem(itemName).count - - if item.count >= 0 and count <= playerItemCount then - xPlayer.removeInventoryItem(itemName, count) - inventory.addItem(itemName, count) - else - xPlayer.showNotification(TranslateCap('invalid_quantity')) - end - + xPlayer.removeInventoryItem(itemName, count) + inventory.addItem(itemName, count) xPlayer.showNotification(TranslateCap('have_deposited', count, item.label)) end) -end) - -ESX.RegisterServerCallback('esx_mechanicjob:getPlayerInventory', function(source, cb) - local xPlayer = ESX.Player(source) - local items = xPlayer.getInventory(false) - - cb({items = items}) end) \ No newline at end of file diff --git a/[esx_addons]/esx_mechanicjob/server/usables.lua b/[esx_addons]/esx_mechanicjob/server/usables.lua new file mode 100644 index 00000000..7039a5bb --- /dev/null +++ b/[esx_addons]/esx_mechanicjob/server/usables.lua @@ -0,0 +1,31 @@ +ESX.RegisterUsableItem('blowpipe', function(source) + local source = source + local xPlayer = ESX.Player(source) + + xPlayer.removeInventoryItem('blowpipe', 1) + + TriggerClientEvent('esx_mechanicjob:onHijack', source) + TriggerClientEvent('esx:showNotification', source, TranslateCap('you_used_blowtorch')) +end) + +ESX.RegisterUsableItem('fixkit', function(source) + local source = source + local xPlayer = ESX.Player(source) + + xPlayer.removeInventoryItem('fixkit', 1) + + TriggerClientEvent('esx_mechanicjob:onFixkit', source) + TriggerClientEvent('esx:showNotification', source, TranslateCap('you_used_repair_kit')) +end) + +ESX.RegisterUsableItem('carokit', function(source) + local source = source + local xPlayer = ESX.Player(source) + + xPlayer.removeInventoryItem('carokit', 1) + + TriggerClientEvent('esx_mechanicjob:onCarokit', source) + TriggerClientEvent('esx:showNotification', source, TranslateCap('you_used_body_kit')) +end) + +