fix(kæde): stald-mangel forklares rigtigt og beskeder nævner kæden
Køb af en rest efter gårdens stalde giver nu spu_chain_problem_barn (køb resten eller flere dyr) i stedet for 'byg en fabrik'. Engangsbeskeden får kædens navn foran, så to kæder der mangler samme vare kan skelnes.
This commit is contained in:
+1
-1
@@ -8,7 +8,7 @@ står i [docs/BRUGERMANUAL.md](docs/BRUGERMANUAL.md) (dansk) og [docs/USER_MANUA
|
||||
|
||||
## 1.61 — Produktionskæder
|
||||
|
||||
- **1.61.0** Produktionskæder: slå et produkt til i en fabrik, og moden holder det kørende helt tilbage til marken. Kæden regner baglæns gennem dine egne fabrikker og stalde til afgrøderne og ser 12 måneder frem. Ny fane **Kæder** med træ pr. rod-produktion, farvet status, fold ud/ind og **[Pause]**/**[Start]**. Marker markeret **Fri til kæden** skifter afgrøde automatisk (højst 2 i minuttet); andre marker får forslag med **[Godkend]**/**[Afvis]** (højst 3 pr. afgrøde) i fanen og som ét samlet punkt i **Kræver handling**. En afgrøde, du selv har valgt, ændres aldrig. Mellemled tændes og slukkes kun igen, hvis kæden tændte dem. Flows **Kæde: <vare> → <bygning>** oprettes med en ledig pool-traktor og tipvogn (ellers stoppet: *mangler traktor/vogn*; paller altid stoppet) og stoppes, ikke slettes, når kæden slås fra. Dine egne tændte produktioner bruges som kilde først; slukker du en produktion, tænder kæden den ikke igen, før du tænder en ny. Stoppede kædeflows slippes af kæden. Ingen handlinger de første 2 minutter, ingen markskift før alle marker er scannet, og intet slukkes ved delvise læsefejl. Begrænsninger: intet køb, ingen dyrekøb, flerårige afgrøder og græsmarker skiftes aldrig, grundudbytte uden gødningsbonus. **Vigtigt:** hver produktion, du tænder i en fabrik, prøver moden at forsyne — tænd kun det, du vil have produceret; sluk produktionen eller tryk [Pause] for at stoppe kæden. Manglende led forklares i klart sprog med råd (*Ingen af dine fabrikker laver Mel — byg en eller køb*, *Mølle kan kun lave 800 af 1.0k/md*, *… er slukket af dig*, *Kredsløb omkring …*): som rød tekst under varen i fanen Kæder, som én rød linje pr. kæde i **Kræver handling** (højst 2; klik åbner kæden foldet ud) og som engangsbesked, når et nyt led mangler (ikke i opstartsfristen eller mens markerne scannes). Manual og ordliste opdateret.
|
||||
- **1.61.0** Produktionskæder: slå et produkt til i en fabrik, og moden holder det kørende helt tilbage til marken. Kæden regner baglæns gennem dine egne fabrikker og stalde til afgrøderne og ser 12 måneder frem. Ny fane **Kæder** med træ pr. rod-produktion, farvet status, fold ud/ind og **[Pause]**/**[Start]**. Marker markeret **Fri til kæden** skifter afgrøde automatisk (højst 2 i minuttet); andre marker får forslag med **[Godkend]**/**[Afvis]** (højst 3 pr. afgrøde) i fanen og som ét samlet punkt i **Kræver handling**. En afgrøde, du selv har valgt, ændres aldrig. Mellemled tændes og slukkes kun igen, hvis kæden tændte dem. Flows **Kæde: <vare> → <bygning>** oprettes med en ledig pool-traktor og tipvogn (ellers stoppet: *mangler traktor/vogn*; paller altid stoppet) og stoppes, ikke slettes, når kæden slås fra. Dine egne tændte produktioner bruges som kilde først; slukker du en produktion, tænder kæden den ikke igen, før du tænder en ny. Stoppede kædeflows slippes af kæden. Ingen handlinger de første 2 minutter, ingen markskift før alle marker er scannet, og intet slukkes ved delvise læsefejl. Begrænsninger: intet køb, ingen dyrekøb, flerårige afgrøder og græsmarker skiftes aldrig, grundudbytte uden gødningsbonus. **Vigtigt:** hver produktion, du tænder i en fabrik, prøver moden at forsyne — tænd kun det, du vil have produceret; sluk produktionen eller tryk [Pause] for at stoppe kæden. Manglende led forklares i klart sprog med råd (*Ingen af dine fabrikker laver Mel — byg en eller køb*, *Mølle kan kun lave 800 af 1.0k/md*, *Dine stalde leverer ikke nok Mælk …*, *… er slukket af dig*, *Kredsløb omkring …*): som rød tekst under varen i fanen Kæder, som én rød linje pr. kæde i **Kræver handling** (højst 2; klik åbner kæden foldet ud) og som engangsbesked med kædens navn foran, når et nyt led mangler (ikke i opstartsfristen eller mens markerne scannes). Manual og ordliste opdateret.
|
||||
|
||||
## 1.60 — "Kræver handling" → flow, menuplacering, flow-vogne i guiden
|
||||
|
||||
|
||||
@@ -365,8 +365,13 @@ function ADChain.notifyProblems(last)
|
||||
if #fresh == 0 or ADFieldJobs == nil or ADFieldJobs.notify == nil then return 0 end
|
||||
local textOf = function(key) return g_i18n ~= nil and g_i18n:getText(key) or key end
|
||||
local fmt = SmartPickupFrame ~= nil and SmartPickupFrame.formatCompact or nil
|
||||
local rootNames = {}
|
||||
for _, root in ipairs(last.chain ~= nil and last.chain.roots or {}) do
|
||||
rootNames[root.key] = tostring((last.titles or {})[root.name] or root.name)
|
||||
end
|
||||
for _, problem in ipairs(fresh) do
|
||||
local text = ADChainView.problemText(problem, last, textOf, nil, fmt)
|
||||
-- kædens navn foran, så to kæder der mangler samme vare kan skelnes
|
||||
local text = tostring(rootNames[problem.rootKey] or problem.rootKey) .. ": " .. ADChainView.problemText(problem, last, textOf, nil, fmt)
|
||||
Logging.info(ADChain.LOG_PREFIX .. "manglende led: %s", text)
|
||||
ADFieldJobs.notify(text, true)
|
||||
end
|
||||
|
||||
@@ -26,7 +26,7 @@ ADChainView.TEXT_KEYS = {"spu_chain_empty", "spu_chain_approve", "spu_chain_dism
|
||||
"spu_chain_pause", "spu_chain_resume", "spu_chain_scanning", "spu_chain_rootOk", "spu_chain_rootError", "spu_chain_rootWaiting",
|
||||
"spu_chain_rootPaused", "spu_chain_rootSummary", "spu_chain_free", "spu_chain_switches", "spu_chain_gone", "spu_chain_col_item",
|
||||
"spu_chain_col_source", "spu_chain_col_perMonth", "spu_chain_col_status", "spu_chain_col_stock",
|
||||
"spu_chain_problem_buy", "spu_chain_problem_bottleneck", "spu_chain_problem_off", "spu_chain_problem_cycle"}
|
||||
"spu_chain_problem_buy", "spu_chain_problem_bottleneck", "spu_chain_problem_off", "spu_chain_problem_cycle", "spu_chain_problem_barn"}
|
||||
|
||||
local FLOW_KEYS = {ok = "spu_chain_flowOk", missing = "spu_chain_flowNone", stopped = "spu_chain_flowStopped", noVehicle = "spu_chain_flowMissing",
|
||||
pallet = "spu_chain_flowPallet"}
|
||||
@@ -148,7 +148,7 @@ local function producersOf(last, fillType)
|
||||
end
|
||||
|
||||
-- Årsag i klart sprog med råd for et problem fra kædemodellen ({kind="buy"|"bottleneck"|"cycle", fillType, rootKey,
|
||||
-- detail = manglende l/md, need = behov l/md}). En producent spilleren selv har slukket (last.userOff, stadig
|
||||
-- detail = manglende l/md, need = behov l/md}). Køb af en rest efter gårdens stalde -> stald-tekst. En producent spilleren selv har slukket (last.userOff, stadig
|
||||
-- slukket) slår igennem som "slukket af dig" — det er den reelle årsag, uanset om modellen så køb eller flaskehals.
|
||||
function ADChainView.problemText(problem, last, textOf, titleOf, fmt)
|
||||
last, textOf, fmt = last or {}, textOf or identity, fmt or ADChainView.compact
|
||||
@@ -171,6 +171,12 @@ function ADChainView.problemText(problem, last, textOf, titleOf, fmt)
|
||||
local made = math.max(0, need - (problem.detail or 0))
|
||||
return string.format(textOf("spu_chain_problem_bottleneck"), joinCapped(names), fmt(math.floor(made + 0.5)), fmt(math.floor(need + 0.5)))
|
||||
end
|
||||
-- modellen melder også "køb" for resten, når gårdens stalde leverer for lidt: så er rådet ikke "byg en fabrik"
|
||||
for _, herd in ipairs(last.data ~= nil and last.data.husbandry or {}) do
|
||||
if ((herd.outputs or {})[problem.fillType] or 0) > 0 then
|
||||
return string.format(textOf("spu_chain_problem_barn"), item)
|
||||
end
|
||||
end
|
||||
return string.format(textOf("spu_chain_problem_buy"), item)
|
||||
end
|
||||
|
||||
|
||||
@@ -611,6 +611,7 @@
|
||||
<text name="spu_attention_chainSuggests" text="Kæde: %d forslag"/>
|
||||
<text name="spu_attention_hintChain" text=" → klik: se Kæder"/>
|
||||
<text name="spu_chain_problem_buy" text="Ingen af dine fabrikker laver %s — byg en eller køb"/>
|
||||
<text name="spu_chain_problem_barn" text="Dine stalde leverer ikke nok %s — køb resten eller flere dyr"/>
|
||||
<text name="spu_chain_problem_bottleneck" text="%s kan kun lave %s af %s/md"/>
|
||||
<text name="spu_chain_problem_off" text="%s (%s) er slukket af dig — tænd den eller sæt kæden på pause"/>
|
||||
<text name="spu_chain_problem_cycle" text="Kredsløb omkring %s — kæden kan ikke beregnes"/>
|
||||
|
||||
@@ -611,6 +611,7 @@
|
||||
<text name="spu_attention_chainSuggests" text="Chain: %d suggestions"/>
|
||||
<text name="spu_attention_hintChain" text=" → click: see Chains"/>
|
||||
<text name="spu_chain_problem_buy" text="None of your factories makes %s — build one or buy it"/>
|
||||
<text name="spu_chain_problem_barn" text="Barns make too little %s — buy the rest or more animals"/>
|
||||
<text name="spu_chain_problem_bottleneck" text="%s can only make %s of %s/mo"/>
|
||||
<text name="spu_chain_problem_off" text="%s (%s) was turned off by you — turn it on or pause the chain"/>
|
||||
<text name="spu_chain_problem_cycle" text="Loop around %s — the chain cannot be calculated"/>
|
||||
|
||||
@@ -657,12 +657,13 @@ Mangler et led i en kæde, forklarer moden hvorfor og hvad du kan gøre. Teksten
|
||||
- **I fanen Kæder**: fold kæden ud; under den røde vare står årsagen i rødt.
|
||||
- **I Kræver handling**: én rød linje pr. kæde, fx *Brød mangler et led: Mel*. Der vises højst 2 kæder; resten
|
||||
står i fanen Kæder. Et klik åbner fanen Kæder med kæden foldet ud.
|
||||
- **Som besked på skærmen**: første gang et nyt led mangler. Samme besked kommer først igen, når problemet har
|
||||
- **Som besked på skærmen**: første gang et nyt led mangler, med kædens navn foran (fx *Brød: …*). Samme besked kommer først igen, når problemet har
|
||||
været væk og vender tilbage. De første 2 minutter efter indlæsning og mens markerne scannes, sendes ingen besked.
|
||||
|
||||
Beskederne:
|
||||
|
||||
- *Ingen af dine fabrikker laver Mel — byg en eller køb*: ingen fabrik, stald eller mark leverer varen.
|
||||
- *Dine stalde leverer ikke nok Mælk — køb resten eller flere dyr*: stalden laver varen, men for lidt.
|
||||
- *Mølle kan kun lave 800 af 1.0k/md*: fabrikken kan ikke følge med (flaskehals).
|
||||
- *Mølle (Mel) er slukket af dig — tænd den eller sæt kæden på pause*: du har selv slukket produktionen.
|
||||
- *Kredsløb omkring Mel — kæden kan ikke beregnes*: varen bruges til at lave sig selv.
|
||||
|
||||
+2
-1
@@ -670,13 +670,14 @@ If a link in a chain is missing, the mod explains why and what you can do. The t
|
||||
- **In the Chains tab**: fold the chain out; the reason is shown in red below the red goods row.
|
||||
- **In Needs attention**: one red line per chain, for example *Bread is missing a link: Flour*. At most 2 chains
|
||||
are shown; the rest are in the Chains tab. Clicking opens the Chains tab with that chain folded out.
|
||||
- **As an on-screen message**: the first time a new link goes missing. The same message only returns after the
|
||||
- **As an on-screen message**: the first time a new link goes missing, with the chain's name in front (for example *Bread: …*). The same message only returns after the
|
||||
problem has gone away and come back. No messages during the first 2 minutes after loading or while fields are
|
||||
being scanned.
|
||||
|
||||
The messages:
|
||||
|
||||
- *None of your factories makes Flour — build one or buy it*: no factory, barn or field supplies the goods.
|
||||
- *Barns make too little Milk — buy the rest or more animals*: the barn makes the goods, but too little.
|
||||
- *Mill can only make 800 of 1.0k/mo*: the factory cannot keep up (bottleneck).
|
||||
- *Mill (Flour) was turned off by you — turn it on or pause the chain*: you switched the production off yourself.
|
||||
- *Loop around Flour — the chain cannot be calculated*: the goods are needed to make themselves.
|
||||
|
||||
Reference in New Issue
Block a user