feat(genstart): husk ved hvert gem hvilke maskiner Courseplay kører (uden AD) og start netop dem igen efter indlæsning fra nærmeste waypoint via CP's HUD-start — også CP-jobs uden markrolle (v1.45.0.0)
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
-- Kør: luajit tests/test_adCpResume.lua (fra repo-roden)
|
||||
dofile("FS25_ADSmartPickup/adCpResume.lua")
|
||||
local R = ADCpResume
|
||||
local failures = 0
|
||||
local function check(name, actual, expected)
|
||||
if actual == expected then print("OK " .. name) else
|
||||
failures = failures + 1
|
||||
print(string.format("FAIL %s: forventede %s, fik %s", name, tostring(expected), tostring(actual)))
|
||||
end
|
||||
end
|
||||
-- hvem skrives ved gem: CP kører, AD styrer ikke (AD genstarter selv sine)
|
||||
local ids = R.activeIds({{id = "a", cpActive = true}, {id = "b", cpActive = true, adActive = true}, {id = "c"}, {id = "d", cpActive = true}})
|
||||
check("gem: CP-aktive uden AD", table.concat(ids, " "), "a d")
|
||||
check("gem: tom liste", #R.activeIds({}), 0)
|
||||
-- records frem og tilbage
|
||||
local set = R.fromRecords({"a", "", "d", "a"})
|
||||
check("indlæs: a", set.a, true)
|
||||
check("indlæs: tomt id springes over", set[""], nil)
|
||||
-- hvem startes ved indlæsning
|
||||
local pending = {a = true, b = true, c = true, d = true}
|
||||
local vehicles = {{id = "a"}, {id = "b", aiActive = true}, {id = "c", controlled = true}, {id = "d"}, {id = "e"}}
|
||||
local start = R.toStart(pending, vehicles)
|
||||
check("start: kun gemte, ikke allerede kørende/spiller i", table.concat(start, " "), "a d")
|
||||
check("start: ingen gemt liste -> nil (gammel regel bruges)", R.toStart(nil, vehicles), nil)
|
||||
print(failures == 0 and "\nALLE TESTS OK" or ("\n" .. failures .. " FEJL"))
|
||||
os.exit(failures == 0 and 0 or 1)
|
||||
Reference in New Issue
Block a user