Add autotrain metrics settings and implement depot train counting
Updated locale Added Options for autotrain metric
This commit is contained in:
@@ -16,6 +16,18 @@ function GetTrainName(train)
|
||||
return ""
|
||||
end
|
||||
|
||||
function GetTrainsInDepot()
|
||||
local trainsInDepot = 0
|
||||
for trainsID, train in pairs(storage.trains) do
|
||||
if train.state == defines.train_state.wait_station
|
||||
and train.station and train.station.backer_name == autotrainDepotName then
|
||||
trainsInDepot = trainsInDepot + 1
|
||||
end
|
||||
end
|
||||
local trainsInGroup = #game.train_manager.get_trains({group=autotrainGroupName})
|
||||
return ("---autotrain-stats---\n%d:%d"):format(trainsInDepot,trainsInGroup)
|
||||
end
|
||||
|
||||
function GetTrainPlayerKills()
|
||||
local trainKills = {}
|
||||
trainKills[#trainKills+1] = "---train-player-kills---"
|
||||
@@ -46,20 +58,20 @@ function GetTrainStates()
|
||||
local trainsManual = 0
|
||||
for _, train in pairs(storage.trains) do
|
||||
if train.state == defines.train_state.wait_station
|
||||
or train.state == defines.train_state.destination_full
|
||||
or train.state == defines.train_state.no_schedule
|
||||
then trainsWaiting = trainsWaiting + 1 end
|
||||
or train.state == defines.train_state.destination_full
|
||||
or train.state == defines.train_state.no_schedule
|
||||
then trainsWaiting = trainsWaiting + 1
|
||||
|
||||
if train.state == defines.train_state.on_the_path
|
||||
or train.state == defines.train_state.arrive_signal
|
||||
or train.state == defines.train_state.wait_signal
|
||||
then trainsDriving = trainsDriving + 1 end
|
||||
elseif train.state == defines.train_state.on_the_path
|
||||
or train.state == defines.train_state.arrive_signal
|
||||
or train.state == defines.train_state.wait_signal
|
||||
then trainsDriving = trainsDriving + 1
|
||||
|
||||
if train.state == defines.train_state.manual_control
|
||||
or train.state == defines.train_state.manual_control_stop
|
||||
then trainsManual = trainsManual + 1 end
|
||||
elseif train.state == defines.train_state.manual_control
|
||||
or train.state == defines.train_state.manual_control_stop
|
||||
then trainsManual = trainsManual + 1
|
||||
|
||||
if train.state == defines.train_state.no_path
|
||||
elseif train.state == defines.train_state.no_path
|
||||
then trainsProblems = trainsProblems + 1 end
|
||||
end
|
||||
return ("---trains-states---\n%d:%d:%d:%d"):format(trainsDriving,trainsManual,trainsProblems,trainsWaiting)
|
||||
@@ -180,6 +192,7 @@ function SendTrainStats()
|
||||
returnParts[#returnParts+1] = GetTrainTotalKills()
|
||||
returnParts[#returnParts+1] = GetTrainStates()
|
||||
returnParts[#returnParts+1] = GetTrainStatistics()
|
||||
returnParts[#returnParts+1] = GetTrainsInDepot()
|
||||
helpers.send_udp(udpAddress,table.concat(returnParts,"\n"),serverIndex)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user