diff --git a/resources/[jobs]/[civ]/nordi_magnetfishing/client/client.lua b/resources/[jobs]/[civ]/nordi_magnetfishing/client/client.lua index cb0d08765..37f70574e 100644 --- a/resources/[jobs]/[civ]/nordi_magnetfishing/client/client.lua +++ b/resources/[jobs]/[civ]/nordi_magnetfishing/client/client.lua @@ -1,6 +1,39 @@ -----------------For support, scripts, and more---------------- --------------- https://discord.gg/wasabiscripts ------------- --------------------------------------------------------------- + +-- Definiere Strings direkt in der client.lua, falls sie nicht geladen wurden +if not Strings then + Strings = { + intro_instruction = 'Drücke ~INPUT_ATTACK~ zum Auswerfen, ~INPUT_FRONTEND_RRIGHT~ zum Abbrechen.', + rope_broke = 'Kaputt.', + rope_broke_desc = 'Oha, zu fest gezogen! Das Seil ist gerissen.', + cannot_perform = 'Nope.', + cannot_perform_desc = 'Das geht gerade nicht – hier kannst du nicht magnet-fischen.', + failed = 'Oops, das war nix.', + failed_find = 'Nichts gefunden – der Magnet hat nichts angezogen.', + no_water = 'Error 404: Wasser nicht gefunden.', + no_water_desc = 'Dein Magnet braucht Wasser, um effektiv zu sein.', + no_magnet = 'Kein Magnet.', + no_magnet_desc = 'Ohne Magnet kannst du nichts anziehen.', + magnet_lost = 'Magnet verloren.', + magnet_lost_desc = 'Dein Magnet hat sich vom Seil gelöst.', + find_success = 'Fund gesichert!', + find_success_desc = 'Du hast eine/n %s gefunden!', + sell_shop_blip = 'Schrotthändler', + sell_finds = '[E] - Funde verkaufen', + kicked = "Du kannst's versuchen, aber das klappt hier nicht.", + sold_for = 'Fund verkauft.', + sold_for_desc = 'Du hast %sx %s für $%s verkauft.', + got_pull = 'Achtung, da zieht was!', + got_pull_desc = 'Der Magnet hat etwas gefunden, zieh ihn hoch!', + waiting_find = 'Geduld, der Magnet sucht noch.', + waiting_find_desc = 'Ein bisschen Geduld – gleich findest du etwas.', + cannot_carry = 'Kein Platz!', + cannot_carry_desc = 'Du schleppst schon genug – mehr passt nicht rein!' + } +end + local magnetFishing = false if Config.sellShop.enabled then @@ -57,7 +90,7 @@ local function GetBestAvailableMagnet() -- Check all magnet types for _, magnet in pairs(Config.magnets.types) do - local hasItem = lib.callback.await('wasabi_magnet:checkItem', 100, magnet.itemName) + local hasItem = lib.callback.await('nordi_magnetfishing:checkItem', 100, magnet.itemName) if hasItem then table.insert(availableMagnets, magnet) end @@ -81,20 +114,20 @@ local function StartMagnetFishingProcess(selectedMagnet, waterLoc) magnetFishing = true -- Create magnet rope prop - local model = `prop_tool_cable01` -- Besseres Prop für ein Seil mit Magnet + local model = `prop_cs_rope_tie_01` -- Besseres Prop für ein Seil mit Magnet lib.requestModel(model, 100) local magnetRope = CreateObject(model, GetEntityCoords(cache.ped), true, false, false) AttachEntityToEntity(magnetRope, cache.ped, GetPedBoneIndex(cache.ped, 28422), 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, true, true, false, true, 1, true) SetModelAsNoLongerNeeded(model) -- Load animations - lib.requestAnimDict('amb@world_human_hammering@male@base', 100) -- Für das Auswerfen - lib.requestAnimDict('amb@world_human_hang_out_street@male_c@base', 100) -- Für das Warten + lib.requestAnimDict('amb@world_human_golf_player@male@idle_a', 100) -- Für das Auswerfen + lib.requestAnimDict('amb@world_human_stand_fishing@idle_a', 100) -- Für das Warten -- Initial animation - Auswerfen des Magneten - TaskPlayAnim(cache.ped, 'amb@world_human_hammering@male@base', 'base', 8.0, -8.0, -1, 16, 0, false, false, false) + TaskPlayAnim(cache.ped, 'amb@world_human_golf_player@male@idle_a', 'idle_a' , 8.0, -8.0, -1, 16, 0, false, false, false) Wait(2000) - TaskPlayAnim(cache.ped, 'amb@world_human_hang_out_street@male_c@base', 'base', 8.0, -8.0, -1, 1, 0, false, false, false) + TaskPlayAnim(cache.ped, 'amb@world_human_stand_fishing@idle_a', 'idle_c', 8.0, -8.0, -1, 1, 0, false, false, false) -- Main magnet fishing loop while magnetFishing do @@ -186,40 +219,39 @@ local function StartMagnetFishingProcess(selectedMagnet, waterLoc) RemoveAnimDict('amb@world_human_hang_out_street@male_c@base') end - -RegisterNetEvent('wasabi_magnet:startMagnetFishing', function() +RegisterNetEvent('nordi_magnetfishing:startMagnetFishing', function() -- Check if player is in a valid state to magnet fish if IsPedInAnyVehicle(cache.ped) or IsPedSwimming(cache.ped) then - TriggerEvent('wasabi_magnet:notify', Strings.cannot_perform, Strings.cannot_perform_desc, 'error') + TriggerEvent('nordi_magnetfishing:notify', Strings.cannot_perform, Strings.cannot_perform_desc, 'error') return end -- Check if already magnet fishing if magnetFishing then - TriggerEvent('wasabi_magnet:notify', 'Already Magnet Fishing', 'You are already magnet fishing', 'error') + TriggerEvent('nordi_magnetfishing:notify', 'Already Magnet Fishing', 'You are already magnet fishing', 'error') return end -- Check for water local water, waterLoc = WaterCheck() if not water then - TriggerEvent('wasabi_magnet:notify', Strings.no_water, Strings.no_water_desc, 'error') + TriggerEvent('nordi_magnetfishing:notify', Strings.no_water, Strings.no_water_desc, 'error') return end -- Select magnet local selectedMagnet = GetBestAvailableMagnet() if not selectedMagnet then - TriggerEvent('wasabi_magnet:notify', Strings.no_magnet, Strings.no_magnet_desc, 'error') + TriggerEvent('nordi_magnetfishing:notify', Strings.no_magnet, Strings.no_magnet_desc, 'error') return end -- Start magnet fishing process - TriggerEvent('wasabi_magnet:notify', 'Magnet Selected', 'Using ' .. selectedMagnet.label, 'inform') + TriggerEvent('nordi_magnetfishing:notify', 'Magnet Selected', 'Using ' .. selectedMagnet.label, 'inform') StartMagnetFishingProcess(selectedMagnet, waterLoc) end) -RegisterNetEvent('wasabi_magnet:interupt', function() +RegisterNetEvent('nordi_magnetfishing:interupt', function() magnetFishing = false ClearPedTasks(cache.ped) end) diff --git a/resources/[jobs]/[civ]/nordi_magnetfishing/client/functions.lua b/resources/[jobs]/[civ]/nordi_magnetfishing/client/functions.lua index 3c5c0bbe6..a56129594 100644 --- a/resources/[jobs]/[civ]/nordi_magnetfishing/client/functions.lua +++ b/resources/[jobs]/[civ]/nordi_magnetfishing/client/functions.lua @@ -28,9 +28,9 @@ CreateBlip = function(coords, sprite, colour, text, scale) end TryMagnetFind = function(data) - TriggerServerEvent('wasabi_magnet:tryFind', data) + TriggerServerEvent('nordi_magnetfishing:tryFind', data) end MagnetSellItems = function() - TriggerServerEvent('wasabi_magnet:sellFinds') + TriggerServerEvent('nordi_magnetfishing:sellFinds') end diff --git a/resources/[jobs]/[civ]/nordi_magnetfishing/configuration/config.lua b/resources/[jobs]/[civ]/nordi_magnetfishing/configuration/config.lua index e7a74799e..c1e6ba495 100644 --- a/resources/[jobs]/[civ]/nordi_magnetfishing/configuration/config.lua +++ b/resources/[jobs]/[civ]/nordi_magnetfishing/configuration/config.lua @@ -65,11 +65,10 @@ Config.finds = { { item = 'old_gun', label = 'alte Pistole', price = {75, 150}, difficulty = {'easy'} }, { item = 'escooter', label = 'E-Scooter', price = {300, 600}, difficulty = {'medium', 'hard'} }, { item = 'safe', label = 'Tresor', price = {500, 1000}, difficulty = {'hard', 'hard', 'medium'} }, - } -RegisterNetEvent('wasabi_magnet:notify') -AddEventHandler('wasabi_magnet:notify', function(title, message, msgType) +RegisterNetEvent('nordi_magnetfishing:notify') +AddEventHandler('nordi_magnetfishing:notify', function(title, message, msgType) -- Place notification system info here, ex: exports['mythic_notify']:SendAlert('inform', message) if not msgType then lib.notify({ diff --git a/resources/[jobs]/[civ]/nordi_magnetfishing/server/server.lua b/resources/[jobs]/[civ]/nordi_magnetfishing/server/server.lua index 8c2836196..10b889d6b 100644 --- a/resources/[jobs]/[civ]/nordi_magnetfishing/server/server.lua +++ b/resources/[jobs]/[civ]/nordi_magnetfishing/server/server.lua @@ -6,7 +6,7 @@ local addCommas = function(n) :gsub(",(%-?)$","%1"):reverse() end -lib.callback.register('wasabi_magnet:checkItem', function(source, itemname) +lib.callback.register('nordi_magnetfishing:checkItem', function(source, itemname) local item = HasItem(source, itemname) if item >= 1 then return true @@ -15,7 +15,7 @@ lib.callback.register('wasabi_magnet:checkItem', function(source, itemname) end end) -lib.callback.register('wasabi_magnet:getFindData', function(source, magnetType) +lib.callback.register('nordi_magnetfishing:getFindData', function(source, magnetType) -- Find the magnet data local magnetData = nil for _, magnet in pairs(Config.magnets.types) do @@ -72,16 +72,16 @@ lib.callback.register('wasabi_magnet:getFindData', function(source, magnetType) return availableFinds[math.random(#availableFinds)] end) -RegisterNetEvent('wasabi_magnet:ropeBroke', function() +RegisterNetEvent('nordi_magnetfishing:ropeBroke', function() RemoveItem(source, Config.magnetRope.itemName, 1) - TriggerClientEvent('wasabi_magnet:interupt', source) + TriggerClientEvent('nordi_magnetfishing:interupt', source) end) -RegisterNetEvent('wasabi_magnet:loseMagnet', function(magnetType) +RegisterNetEvent('nordi_magnetfishing:loseMagnet', function(magnetType) RemoveItem(source, magnetType, 1) end) -RegisterNetEvent('wasabi_magnet:tryFind', function(data) +RegisterNetEvent('nordi_magnetfishing:tryFind', function(data) local xRope = HasItem(source, Config.magnetRope.itemName) local xMagnet = false @@ -98,23 +98,23 @@ RegisterNetEvent('wasabi_magnet:tryFind', function(data) local player = GetPlayer(source) if player.canCarryItem(data.item, 1) then AddItem(source, data.item, 1) - TriggerClientEvent('wasabi_magnet:notify', source, Strings.find_success, string.format(Strings.find_success_desc, data.label), 'success') + TriggerClientEvent('nordi_magnetfishing:notify', source, Strings.find_success, string.format(Strings.find_success_desc, data.label), 'success') else - TriggerClientEvent('wasabi_magnet:notify', source, Strings.cannot_carry, Strings.cannot_carry_desc, 'error') + TriggerClientEvent('nordi_magnetfishing:notify', source, Strings.cannot_carry, Strings.cannot_carry_desc, 'error') end else AddItem(source, data.item, 1) - TriggerClientEvent('wasabi_magnet:notify', source, Strings.find_success, string.format(Strings.find_success_desc, data.label), 'success') + TriggerClientEvent('nordi_magnetfishing:notify', source, Strings.find_success, string.format(Strings.find_success_desc, data.label), 'success') end elseif xRope > 0 and not xMagnet then - TriggerClientEvent('wasabi_magnet:interupt', source) - TriggerClientEvent('wasabi_magnet:notify', source, Strings.no_magnet, Strings.no_magnet_desc, 'error') + TriggerClientEvent('nordi_magnetfishing:interupt', source) + TriggerClientEvent('nordi_magnetfishing:notify', source, Strings.no_magnet, Strings.no_magnet_desc, 'error') elseif xRope < 1 then KickPlayer(source, Strings.kicked) end end) -RegisterNetEvent('wasabi_magnet:sellFinds', function() +RegisterNetEvent('nordi_magnetfishing:sellFinds', function() local playerPed = GetPlayerPed(source) local playerCoord = GetEntityCoords(playerPed) local distance = #(playerCoord - Config.sellShop.coords) @@ -142,7 +142,7 @@ function SellItem(source, itemData) end if rewardAmount > 0 then AddMoney(source, 'money', rewardAmount) - TriggerClientEvent('wasabi_magnet:notify', source, Strings.sold_for, + TriggerClientEvent('nordi_magnetfishing:notify', source, Strings.sold_for, (Strings.sold_for_desc):format(HasItem(source, itemData.item), itemData.label, addCommas(rewardAmount)), 'success') RemoveItem(source, itemData.item, HasItem(source, itemData.item)) end @@ -150,5 +150,5 @@ function SellItem(source, itemData) end RegisterUsableItem(Config.magnetRope.itemName, function(source) - TriggerClientEvent('wasabi_magnet:startMagnetFishing', source) + TriggerClientEvent('nordi_magnetfishing:startMagnetFishing', source) end)