Hay hey,
seit dem heutigen Update scheint das Spiel alle Gleisvarianten zum Bau als bahnhofsmodul
anzubieten kann man das in der jeweiligen .lua ausstellen mit einen Befehl?
Wir begrüßen euch in der Fan-Community zu den Spielen Transport Fever und Train Fever, den Wirtschaftssimulatoren von Urban Games. Die Community steht euch kostenlos zur Verfügung damit ihr euch über das Spiel austauschen und informieren könnt. Wir pflegen hier einen freundlichen und sachlichen Umgang untereinander und unser Team steht euch in allen Fragen gerne beiseite.
Die Registrierung und Nutzung ist selbstverständlich kostenlos.
Wir wünschen euch viel Spaß und hoffen auf rege Beteiligung.
Das Team der Transport-Fever Community
Hay hey,
seit dem heutigen Update scheint das Spiel alle Gleisvarianten zum Bau als bahnhofsmodul
anzubieten kann man das in der jeweiligen .lua ausstellen mit einen Befehl?
Du kannst eine postRunFn ergänzen die die autogenerierten Module rausfiltert.
Bitte was oO
Sorry wie meinst du das genau jetzt.
Es gibt neben der runFn Funktion in der mod.lua deiner Mod auch die Möglichkeit, eine postRunFn-Funktion anzugeben. Diese kann dann die automatisiert (von der postRunFn in der base_mod.lua) generierten Module ausblenden. Da ich es noch nicht selbst ausprobiert habe, kann ich nicht sagen, wie genau es geht.
ah okay weil von deinen austria fever sind auch ganz viele drinnen^^
Das erklärt dann wohl, warum bei mir unter der Bahnhofsmodul-Kategorie "Gleise" so viele violette Kästchen sind. Ich verwende z.B. die Gleise von Marcolino26. Es müsste doch reichen in den *.module Dateien im Pfad marc345_vtrack_1\res\construction\station\rail\modular_station die Kategorie entsprechend anzupassen? Er hat nämlich dort "speed limit" eingetragen und bei UG steht "tracks". Evtl. wäre das ja auch der kompatiblere Weg?
1. UG hat 0 Infos zur Verfügung gestellt, wie man damit umgehen soll
2. Ich versuche es grad zu beheben, geht aber nicht weil durch ein Hotfix Bahnhöfe jetzt immer abstürzen wenn man Gleise entfernen will
3. Der Plan ist die lila (automatisch generierten) Module zu verwenden, Bildchen hinzufügen und die alten Module rausschmeißen, weil die auch nicht mehr funktionieren.
4. Savegamekompatibel etc fragwürdig. Muss ich alles erstmal testen und geht jetzt alles nicht... Es ist einfach ätzend.
Das mit der Kategorie-Änderung ist bei mir in die Hose gegangen. Das Spiel verschiebt zwar Deine Module unter die Kategorie "Gleise", aber die violetten Kästchen bleiben.
Abstürze habe ich keine feststellen können. Ich konnte die UG Gleise im Personen- und Güterbahnhof durch Deine Module ersetzen und auch löschen. Interessant ist, dass bei einem 120 m Bahnhof nur 3 Strommasten im Abstand von 60 m drin sind. Setzt man aber neue Module ein, sind 4 Strommasten drin. Weiß der Teufel, was das wieder zu bedeuten hat.
Nene, da wird garnix verschoben.
Meine alten sind noch da und zusätzlich auto generierte lilane.
Wie gesagt, das wird bald gefixed.
Mir fehlt einfach nur ein Filter dafür das man sagen kann mach module aber zeige nur X Y Z an
Die Module werden in der base_mod erzeugt (und ist nebenbei ein anschauliches Beispiel für postRunFn):
postRunFn = function(settings, params)
local tracks = api.res.trackTypeRep.getAll()
for __, trackName in pairs(tracks) do
local mod = api.type.ModuleDesc.new()
local track = api.res.trackTypeRep.get(api.res.trackTypeRep.find(trackName))
if trackName ~= "standard.lua" and trackName ~= "high_speed.lua" then
for __, catenary in pairs({false, true}) do
mod.fileName = "trainstation_" .. tostring(trackName) .. (catenary and "catenary" or "")
mod.availability.yearFrom = track.yearFrom
mod.availability.yearTo = track.yearTo
mod.cost.price = math.round(track.cost / 75 * 18000)
mod.description.name = track.name .. (catenary and _(" with catenary") or "")
mod.description.description = track.desc .. (catenary and _(" (with catenary)") or "")
mod.description.icon = track.icon
if mod.description.icon ~= "" then
mod.description.icon = string.gsub(mod.description.icon, ".tga", "")
mod.description.icon = mod.description.icon .. "_module" .. (catenary and "_catenary" or "") .. ".tga"
end
mod.type = "track"
mod.order.value = 0 + 10 * (catenary and 1 or 0)
mod.metadata = {
track = true,
}
mod.category.categories = { "tracks", }
mod.updateScript.fileName = "construction/station/rail/modular_station/trackmodule.updateFn"
mod.updateScript.params = {
trackType = trackName,
catenary = catenary
}
mod.getModelsScript.fileName = "construction/station/rail/modular_station/trackmodule.getModelsFn"
mod.getModelsScript.params = {
trackType = trackName,
catenary = catenary
}
api.res.moduleRep.add(mod.fileName, mod, true)
end
end
end
end
Alles anzeigen
Sehr hässlich, wenn ihr mich fragt.
Sieht halt irgendwie nach Flickenteppich aus. Soll zwar die Kompatibilität für Modgleise einfach hinzufügen, ist so aber sehr unflexibel.
Wie von eis_os schon angemerkt, wäre es besser, die Icon names in der track datei anzugeben. Bzw auch, ob diese überhaupt angezeigt werden.
Daher 1. Möglichkeit:
UG fragen wie mans am besten machen soll. Oder anmerken, ob man das ganze nicht nochmal sauber überarbeiten möchte.
2. Möglichkeit, man arbeitet mit dem was jetzt da ist, und schreibt noch einen Workaround um den Workaround (was die Sache nicht schöner macht)
Das hier könnte hilfreich sein: https://transportfever2.com/wiki/api/modules/api.res.html
In der postRunFn sind die Ressourcen writeable.
Man könnte also alle Module durchgehen, sich die eigenen über den filename raussuchen, und dann versuchen visibility zu ändern.
Hallo erst einmal vielen Dank,
aber ich versteh nicht wie es funktioniert.
Ich sehe da zwar was mit order und würde das mal so auffassen,
das man es mit der Ordernummer machen könnte aber wie kp.
Sorry das übersteigt dann meinen Wissenstand.
Wenn das natürlich gehen würde das man sowas sagt wie order_visi = 1,34,200
wäre schon cool
postRunFn = function(settings, params)
local tracks = api.res.trackTypeRep.getAll()
for __, trackName in pairs(tracks) do
local mod = api.type.ModuleDesc.new()
local track = api.res.trackTypeRep.get(api.res.trackTypeRep.find(trackName))
if trackName ~= "standard.lua" and trackName ~= "high_speed.lua" then
for __, catenary in pairs({false, true}) do
mod.fileName = "trainstation_" .. tostring(trackName) .. (catenary and "catenary" or "")
mod.availability.yearFrom = track.yearFrom
mod.availability.yearTo = track.yearTo
mod.cost.price = math.round(track.cost / 75 * 18000)
mod.description.name = track.name .. (catenary and _(" with catenary") or "")
mod.description.description = track.desc .. (catenary and _(" (with catenary)") or "")
mod.description.icon = track.icon
if mod.description.icon ~= "" then
mod.description.icon = string.gsub(mod.description.icon, ".tga", "")
mod.description.icon = mod.description.icon .. "_module" .. (catenary and "_catenary" or "") .. ".tga"
end
mod.type = "track"
mod.order.value = 102 * (catenary and 1 or 0) -- kann ich hier jetzt 102,205 etc angeben?
mod.metadata = {
track = true,
}
mod.category.categories = { "tracks", }
mod.updateScript.fileName = "construction/station/rail/modular_station/trackmodule.updateFn"
mod.updateScript.params = {
trackType = trackName,
catenary = catenary
}
mod.getModelsScript.fileName = "construction/station/rail/modular_station/trackmodule.getModelsFn"
mod.getModelsScript.params = {
trackType = trackName,
catenary = catenary
}
api.res.moduleRep.add(mod.fileName, mod, true)
end
end
end
end
}
end
Alles anzeigen
Man könnte also alle Module durchgehen, sich die eigenen über den filename raussuchen, und dann versuchen visibility zu ändern.
Am einfachsten man erweitert das UG Scipt und filtert an der folgende Stelle bestimmte Namenkonventionen aus, dann werden auch keine Stationsmodule erstellt,
bzw. man sagt hier: konvertiere nur Gleismods die mit "station_" beginnen.
if trackName ~= "standard.lua" and trackName ~= "high_speed.lua" then for __, catenary in pairs({false, true}) do
An anderer Stelle wird der Gültigkeitszeitraum vom Gleis übernommen und in das neue Stationsmodul gepackt, hier könnte man auch filtern in dem man ungewünschte
Module in einen Verfügbarkeitszeitraum "schiebt" in dem man selber nicht spielt?!
Man hätte es besser machen können aber wirklich schlimm ist es nun auch nicht finde ich und es wird nicht das letzte Update sein, ggf. wird da später ja noch angepasst
von UG in dem sie Variablen im Gleismod einführen mit denen man das steuern oder filtern kann.
Ihr könnt ja nicht einfach die base_mod überschreiben. Ich weiß nicht mal ob es gehen würde, aber wenn, wäre es keine gute Idee (sonst sind wir ja wieder genau bei dem Problem, dass jede Mod ihr eigenes Ding macht).
Man muss eine eigene postRunFn erstellen
Naja ich bekomm das mit der postRunFn nicht hin
wie gesagt übersteigt mein wissen.
postRunFn = function (settings, params)
local hiddenTrackTypeModules= {
"standard_5.lua",
"standard_10.lua",
...
"standard_125.lua",
}
for i = 1, #hiddenTrackTypeModules do
local index = api.res.moduleRep.find("trainstation_" .. hiddenTrackTypeModules[i])
local indexCat = api.res.moduleRep.find("trainstation_" .. hiddenTrackTypeModules[i] .. "catenary")
if(index ~= -1) then
api.res.moduleRep.setVisible(index,false)
end
if(indexCat ~= -1) then
api.res.moduleRep.setVisible(indexCat,false)
end
end
end
Alles anzeigen
Ich würde das gerne ausprobieren und nutzen wenn du es erlaubst yoshi
Kannst du tun
Deine Tracktypes musst du dann eben oben in die hiddenTrackTypeModules Liste eintragen.
Das ist jetzt aber nur eine AdHoc-Lösung. Kann gut sein, dass es da noch eine bessere geben wird.
Doofe Frage wo genau kommt das hin? In die mod.lua?