Edit:
Ich lösche mal alle Edits, um die Verwirrung zu vermeiden und setze es neu auf.
Ich habe in melectro_track_industry_1\res\scripts\track_industry\track_types.lua in den Zeilen 20 - 42
function t.init()
local tracks = api.res.trackTypeRep.getAll()
for id,trackType in pairs(tracks) do
local track = api.res.trackTypeRep.get(id) --api.res.trackTypeRep.find(trackType)
if track.speedLimit > 9/3.6 -- include only "real" tracks
and not trackType:starts("track_industries/")
then
if track.speedLimit < 161/3.6 then
print("Track Industry Mod", "Categorize track '"..trackType .."' as ".."Standard Track")
-- table.insert(t.standard, trackType)
t.id2cargotracktype[id] = "TRACK_STD"
t.fname2cargotracktype[trackType] = "TRACK_STD"
else
print("Track Industry Mod", "Categorize track '"..trackType .."' as ".."High Speed Track")
-- table.insert(t.highspeed, trackType)
t.id2cargotracktype[id] = "TRACK_HSP"
t.fname2cargotracktype[trackType] = "TRACK_HSP"
end
else
print("Track Industry Mod", "Ignore track '"..trackType)
end
end
end
Alles anzeigen
durch das folgende ersetzt:
local function has_value (tab, val)
for index, value in ipairs(tab) do
if value == val then
return true
end
end
return false
end
function t.init()
local tracks = api.res.trackTypeRep.getAll()
for id,trackType in pairs(tracks) do
local track = api.res.trackTypeRep.get(id) --api.res.trackTypeRep.find(trackType)
if track.speedLimit > 9/3.6 -- include only "real" tracks
and not trackType:starts("track_industries/")
then
if ((string.find(tracks[id], "holz") or string.find(track.name, "holz"))
or (string.find(tracks[id], "wood") or string.find(track.name, "wood"))
or (string.find(tracks[id], "standard") or string.find(track.name, "standard"))
or (string.find(track.sleeperModel, "eis_os_1000mm_single_sleeper_base") or string.find(track.sleeperModel, "eis_os_750mm_single_sleeper_base"))
or has_value(track.categories, "disused")
or (string.find(tracks[id], "Stadtbahn") or string.find(track.name, "Stadtbahn"))
or (string.find(tracks[id], "Schnellbahn Berlin Alt") or string.find(track.name, "Schnellbahn Berlin Alt"))
or (string.find(tracks[id], "U-Bahn Berlin KP") or string.find(track.name, "U-Bahn Berlin KP"))
or (string.find(tracks[id], "Britannia Bridge") or string.find(track.name, "Britannia Bridge"))
or (string.find(tracks[id], "Kanshi Nopole") or string.find(track.name, "Kanshi Nopole")))
and not string.find(track.sleeperMaterial, "concrete") and not string.find(track.sleeperMaterial, "steel")
and not has_value(track.categories, "wo_tunnel") then
print("Track Industry Mod", "Categorize track '"..trackType .."' as ".."Standard Track")
-- table.insert(t.standard, trackType)
t.id2cargotracktype[id] = "TRACK_STD"
t.fname2cargotracktype[trackType] = "TRACK_STD"
elseif has_value(track.categories, "ETH_Tracks")
or (string.find(tracks[id], "abgetragenes") or string.find(track.name, "abgetragenes")) then
print("Track Industry Mod", "Ignore track '"..trackType)
elseif has_value(track.categories, "wo_tunnel") then
if track.speedLimit < 159/3.6 then
print("Track Industry Mod", "Categorize track '"..trackType .."' as ".."Standard Track")
t.id2cargotracktype[id] = "TRACK_STD"
t.fname2cargotracktype[trackType] = "TRACK_STD"
else
print("Track Industry Mod", "Categorize track '"..trackType .."' as ".."High Speed Track")
t.id2cargotracktype[id] = "TRACK_HSP"
t.fname2cargotracktype[trackType] = "TRACK_HSP"
end
else
print("Track Industry Mod", "Categorize track '"..trackType .."' as ".."High Speed Track")
-- table.insert(t.highspeed, trackType)
t.id2cargotracktype[id] = "TRACK_HSP"
t.fname2cargotracktype[trackType] = "TRACK_HSP"
end
else
print("Track Industry Mod", "Ignore track '"..trackType)
end
end
end
Alles anzeigen
Der Sinn und Zweck?
Es hat mich gestört, dass pauschal alle Gleise bis 160 km/h als Standardgleise und alle Gleise über 160 km/h als Hochgeschwindigkeitsgleise deklariert wurden, egal, woraus die Schwellen gemacht sind.
Ich dachte mir, wenn ein Gleis Betonschwellen hat, sollte es auch aus Schienen und Beton hergestellt werden. Vanilla wäre es ja Baumaterial statt Beton, das habe ich bei mir aber geändert, da ich mit Yeol's Senseless Industries spiele. Da dort Beton produziert wird, nutze ich den als Bestandteil für die Herstellung von Hochgeschwindigkeitsgleisen.
-> das könnte im Rail & Track Industry Mod eingebaut sein, dass andere Industriemods erkannt werden und optional dann eben z.B. Beton statt Baumaterial verwendet wird.
Also ist ein Betonschwellengleis 20 km/h jetzt ein Hochgeschwindigkeitsgleis und muss aus Schienen und Beton (bzw. Baumaterial) gefertigt werden.
Auch Gleise mit Stahl- oder Y-Schwellen gelten als Hochgeschwindigkeitsgleise.
Edit:
Ich habe Probleme damit, siehe Probleme mit string.find und string.match
Jetzt bin ich zufrieden.