Hallo zusammen,
ich habe Fragen zu den con.-Industry-Dateien aus dem Block function data für TPF2.
Es sind insgesamt 2 Fragen, ich hoffe 1 relativ einfache zu den Begriffen der placementParams und wohl eine etwas komplexere zu der local stockListConfig / stocks / rule - capacity.
Ich würde mich freuen, wenn mir jemand hierzu mit Erklärungen weiterhelfen könnte.
Vielen Dank im vorab.
1. placementParams (Bedeutung der einzelnen Einträge)
Was genau bedeuten die nachfolgenden Einträge, bzw. was bewirken sie?
placementParams = {
buildOrder = 4,
initWeight = 1,
distanceWeights = {
(...)
},
-----------------------------------------------------------------------------------------------
2. local stockListConfig / stocks / rule - capacity (Formel der Berechnung)
Die Kapazität beziehungsweise die Produktion einer Industrie richtet sich ja bekanntermaßen nach dem aktuellen Level des Betriebs, der Nachfrage angeschlossener Städte, sowie den Transportraten der Linien.
Bei den Standard-Industrien im Grundspiel ist soweit alles plausibel.
Bei der Kapazität im Verhältnis zum Produktionslevel der Industrien (in Mods) ist mir jedoch mehrfach eine Unregelmäßigkeit aufgefallen. Ich habe jetzt mal aus 2 Mods beispielhaft herausgesucht, das Phänomen betrifft aber auch in diesen Mods weitere Industrien und insgesamt auch weitere Industrie-Mods.
Gibt es eine feste Formel zur Berechnung der Produktion / capacity?
Nach meinem Verständnis müsste es doch Capacity x Anzahl der Produktionslevel einer Industrie sein, oder irre ich?
Grundspiel
Beispiele:
(farm) = Bauernhof - Der Bauernhof hat nur 1 Produktionslevel mit einem Produktionswert von 200 Einheiten. Die Produktion entspricht dabei dem Eintrag = 200 in der local stockListConfig / stocks / rule - capacity.
local stockListConfig = {
stocks = { },
rule = { input = { { } }, output = { GRAIN = 1 }, capacity = 200 },
}
auch bei der
(food_processing_plant) = Lebensmittelfabrik - Die Lebensmittelfabrik hat 4 Produktionslevel mit einem Produktionswert von je 100 Einheiten. Die Produktion je Level entspricht dabei dem Eintrag = 100 in der local stockListConfig / stocks / rule - capacity. In der höchsten Stufe wird somit eine maximale Produktion von 400 (4x 100) erreicht.
local stockListConfig = {
stocks = { "GRAIN" },
rule = { input = { { 2 } }, output = { FOOD = 1 }, capacity = 100 },
}
Bei der Kapazität im Verhältnis zum Produktionslevel der Industrien (in Mods) ist mir jedoch mehrfach eine Unregelmäßigkeit aufgefallen. Ich habe jetzt 2 Mods beispielhaft rausgesucht, das Phänomen betrifft aber auch weitere Industrie-Mods.
Akalipsia-Mod 25 https://steamcommunity.com/sha…iledetails/?id=3539897274
(farm) = Agrar-Zentrum - Das Agrar-Zentrum hat 5 Produktionslevel mit einem Produktionswert von je 1350 Einheiten. In der höchsten Stufe wird somit eine maximale Produktion von 6750 (5x 1350) erreicht.
Die Produktion in der local stockListConfig / stocks / rule - capacity je Level entspricht dem Eintrag = 150 (???)
local stockListConfig = {
stocks = { },
rule = { input = { { } }, output = { GRAIN = 1, KARTOFFEL = 1, RUBE = 1, FRUCHT = 1, HEU = 1, KRAUTER = 1 }, capacity = 150 },
}
In der mod.lua habe ich noch nachfolgenden Eintrag gefunden, aber selbst mit einer Kapazität x 1,5 komme ich nicht auf auf die Werte.
local function constructionCallback(fileName, data)
local updateFn = data.updateFn
if data.type == "INDUSTRY" then
if data.updateFn ~= nil then
data.updateFn = function(params)
local result = updateFn(params)
if result ~= nil and result.rule ~= nil then
if result.rule.capacity ~= nil then
local source = isInputOutputEmpty(result.rule.input)
if source == true then
if isInputOutputEmpty(result.rule.output) == false then
-- increase production of source industries
result.rule.capacity = result.rule.capacity * 1.5
end
Complete Industry Mod Complete Industry Mod
Beispiel:
(deep_quarry) = Tiefer Steinbruch - Der tiefe Steinbruch hat 1 Produktionslevel mit einem Produktionswert von 8000 Einheiten. Die Produktion entspricht dabei dem Eintrag = 2000 (???) in der local stockListConfig / stocks / rule - capacity.
local stockListConfig = {
stocks = { "DYNAMITE" },
rule = { input = { { 1 } }, output = { STONE = 4 }, capacity = 2000 },
}
In der mod.lua habe ich noch nachfolgenden Eintrag, gefunden, den ich aber leider überhaupt nicht verstehe.
Ich denke aber es geht um die farblich markierten Bereiche.
Edit: Ich habe die komplette mod.lua zum Complete Industry mal mit angehängt.
local result = updateFn(params)
local ruleCapacity = math.ceil(params.capacity / 4)
if (ruleCapacity > 0 and params.cargoTypes and #params.cargoTypes > 0) then
if params.cargoTypes then
result.stocks = { }
local inputs = {}
for i=1, #params.cargoTypes do
local t = {}
for j=1, #params.cargoTypes do
t[j] = 0
end
t[i] = 1
inputs[#inputs + 1] = t
result.stocks[i] = {
cargoType = params.cargoTypes[i],
type = "RECEIVING",
edges = { },
moreCapacity = ruleCapacity * 100
}
end