From 02a65b510eb0f7973ea2216a6c27a306535894b3 Mon Sep 17 00:00:00 2001 From: masterdraco Date: Wed, 23 Sep 2026 15:43:46 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20Wait-mark=C3=B8rer=20er=20aldrig=20kilde?= =?UTF-8?q?r=20eller=20lagerm=C3=A5l=20(cow=20wait=201=20blev=20valgt=20so?= =?UTF-8?q?m=20palleskur)=20(v1.12.15.0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FS25_ADSmartPickup/adSources.lua | 4 ++++ FS25_ADSmartPickup/modDesc.xml | 2 +- tests/test_adSources.lua | 10 ++++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/FS25_ADSmartPickup/adSources.lua b/FS25_ADSmartPickup/adSources.lua index dfd77f0..9be02a0 100644 --- a/FS25_ADSmartPickup/adSources.lua +++ b/FS25_ADSmartPickup/adSources.lua @@ -124,6 +124,10 @@ function ADSources.identify(adEnv, wayPointId, farmId) return nil end local marker = adEnv.ADGraphManager.getMapMarkerByWayPointId ~= nil and adEnv.ADGraphManager:getMapMarkerByWayPointId(wayPointId) or nil + -- Wait-punkter er ventepladser, aldrig kilder eller lagermål — også når de står tæt på et lager + if marker ~= nil and ADSupplyPlanner ~= nil and ADSupplyPlanner.isWaitMarker ~= nil and ADSupplyPlanner.isWaitMarker(marker) then + return nil + end local markerName = marker ~= nil and tostring(marker.name) or tostring(wayPointId) local station = ADSmartPickup.getLoadStationAtWayPointId(adEnv, wayPointId, farmId) local placeable = station ~= nil and station.owningPlaceable or nil diff --git a/FS25_ADSmartPickup/modDesc.xml b/FS25_ADSmartPickup/modDesc.xml index c3d1996..57132cb 100644 --- a/FS25_ADSmartPickup/modDesc.xml +++ b/FS25_ADSmartPickup/modDesc.xml @@ -1,7 +1,7 @@ masterdraco - 1.12.14.0 + 1.12.15.0 <en>AD Smart Pickup</en> diff --git a/tests/test_adSources.lua b/tests/test_adSources.lua index 18a5c4d..a41cfab 100644 --- a/tests/test_adSources.lua +++ b/tests/test_adSources.lua @@ -18,6 +18,7 @@ Logging = {info = function() end, warning = function() end} getWorldTranslation = function(node) return node.x, 0, node.z end SellingStation = {} +dofile("FS25_ADSmartPickup/adSupplyPlanner.lua") dofile("FS25_ADSmartPickup/adPrices.lua") dofile("FS25_ADSmartPickup/adSources.lua") @@ -300,5 +301,14 @@ check("S12 stald kapacitet = niveau + fri", byName["Kostald"].entries[1].capacit check("S12 tomt skur udeladt", byName["Fuldt skur"], nil) check("S12 anden farm udeladt", #inventory, 5) +-- S13: Wait-markører er hverken kilder eller lagermål, selv om et objektlager står inden for 40 m +-- (in-game 23/9: 'cow wait 1' blev valgt som palle-lager -> Dragon holdt ved Wait med stropperne af) +wayPoints[20] = {id = 20, x = 300, z = 275} +table.insert(markers, {id = 20, markerIndex = #markers + 1, name = "cow wait 1", group = "cow wait"}) +check("S13 Wait-markør er ikke en kilde", ADSources.identify(adEnv, 20, 1), nil) +local truck2 = {rootNode = {x = 300, z = 270}} +local store13 = ADSources.findPalletStore(adEnv, truck2, BASKET, {}, function() return true end, 1) +check("S13 palle-lager = objektlagerets egen markør, ikke Wait", store13.wayPointId, 3) + print(failures == 0 and "\nALLE TESTS OK" or ("\n" .. failures .. " FEJL")) os.exit(failures == 0 and 0 or 1)