save eco/stats and add save trigger
This commit is contained in:
49
ttd.go
49
ttd.go
@@ -382,13 +382,60 @@ func (s *ServerTTD) Poll(stop chan struct{}) {
|
||||
Packet: p,
|
||||
}
|
||||
sp.Read(buffer[:p.PLength])
|
||||
logInfoDebug("Server.Poll() : PacketServerCompanyEconomy :\n- CompanyID: %d\n- M: %d\tL: %d\tI: %d\n- Delivered now: %d\tLast: %d\tPrevious: %d\n,- Performance last: %d\t Previous: %d\n- Value last: %d\t Previous: %d", sp.CompanyID, sp.Money, sp.Loan, sp.Income, sp.DeliveredCargoThisQuarter, sp.DeliveredCargoLastQuarter, sp.DeliveredCargoPreviousQuarter, sp.PerformanceLastQuarter, sp.PerformancePreviousQuarter, sp.CompanyValueLastQuarter, sp.CompanyValuePreviousQuarter)
|
||||
logInfoDebug("Server.Poll() : PacketServerCompanyEconomy :\n- CompanyID: %d\n- M: %d\tL: %d\tI: %d\n- Delivered now: %d\tLast: %d\tPrevious: %d\n- Performance last: %d\t Previous: %d\n- Value last: %d\t Previous: %d", sp.CompanyID, sp.Money, sp.Loan, sp.Income, sp.DeliveredCargoThisQuarter, sp.DeliveredCargoLastQuarter, sp.DeliveredCargoPreviousQuarter, sp.PerformanceLastQuarter, sp.PerformancePreviousQuarter, sp.CompanyValueLastQuarter, sp.CompanyValuePreviousQuarter)
|
||||
cStats, ok := cfg.Stats[sp.CompanyID]
|
||||
if !ok {
|
||||
cStats = make(map[string]*Stat)
|
||||
cfg.Stats[sp.CompanyID] = cStats
|
||||
}
|
||||
dStats, ok := cStats[s.Status.GameDate.Format("20060102")]
|
||||
if !ok {
|
||||
dStats = &Stat{
|
||||
CompanyID: sp.CompanyID,
|
||||
Date: s.Status.GameDate,
|
||||
}
|
||||
cStats[s.Status.GameDate.Format("20060102")] = dStats
|
||||
}
|
||||
dStats.Money = int64(sp.Money)
|
||||
dStats.Loan = int64(sp.Loan)
|
||||
dStats.Income = sp.Income
|
||||
dStats.DeliveredCargoThisQuarter = int(sp.DeliveredCargoThisQuarter)
|
||||
dStats.DeliveredCargoLastQuarter = int(sp.DeliveredCargoLastQuarter)
|
||||
dStats.DeliveredCargoPreviousQuarter = int(sp.DeliveredCargoPreviousQuarter)
|
||||
dStats.PerformanceLastQuarter = int(sp.PerformanceLastQuarter)
|
||||
dStats.PerformancePreviousQuarter = int(sp.PerformancePreviousQuarter)
|
||||
dStats.CompanyValueLastQuarter = int64(sp.CompanyValueLastQuarter)
|
||||
dStats.CompanyValuePreviousQuarter = int64(sp.CompanyValuePreviousQuarter)
|
||||
case AdminPacketServerCompanyStats:
|
||||
sp := PacketServerCompanyStats{
|
||||
Packet: p,
|
||||
}
|
||||
sp.Read(buffer[:p.PLength])
|
||||
logInfoDebug("Server.Poll() : PacketServerCompanyStats :\n- CompanyID: %d\n- Vehicles T: %d\tL: %d\tB: %d\tP: %d\tS: %d\n- Stations T: %d\tL: %d\tB: %d\tP: %d\tS: %d", sp.CompanyID, sp.Trains, sp.Lorries, sp.Busses, sp.Planes, sp.Ships, sp.TrainStations, sp.LorryStations, sp.BusStops, sp.Airports, sp.Harbours)
|
||||
cStats, ok := cfg.Stats[sp.CompanyID]
|
||||
if !ok {
|
||||
cStats = make(map[string]*Stat)
|
||||
cfg.Stats[sp.CompanyID] = cStats
|
||||
}
|
||||
dStats, ok := cStats[s.Status.GameDate.Format("20060102")]
|
||||
if !ok {
|
||||
dStats = &Stat{
|
||||
CompanyID: sp.CompanyID,
|
||||
Date: s.Status.GameDate,
|
||||
}
|
||||
cStats[s.Status.GameDate.Format("20060102")] = dStats
|
||||
}
|
||||
dStats.Trains = int(sp.Trains)
|
||||
dStats.TrainStations = int(sp.TrainStations)
|
||||
dStats.Busses = int(sp.Busses)
|
||||
dStats.BusStops = int(sp.BusStops)
|
||||
dStats.Lorries = int(sp.Lorries)
|
||||
dStats.LorryStations = int(sp.LorryStations)
|
||||
dStats.Planes = int(sp.Planes)
|
||||
dStats.Airports = int(sp.Airports)
|
||||
dStats.Ships = int(sp.Ships)
|
||||
dStats.Harbours = int(sp.Harbours)
|
||||
|
||||
case AdminPacketServerChat:
|
||||
sp := PacketServerChat{
|
||||
Packet: p,
|
||||
|
||||
Reference in New Issue
Block a user