вот это, на первый взгляд, что то очень странное
local iProduction = tProductionInfo.Cost * (tProductionInfo.PercentCompleteNextTurn - tProductionInfo.PercentComplete);
вычислять текущую производительность города по цене постройки и кол-вам ходов до ее окончания это, извините... так нельзя, при окончании постройки у вас перелив будет, лишние молотки, которые в вашем случае не учитываются в расчете
Зачем вы ее вычислять стали, она же уже есть вы водится вверху панели (правда значение не пересчитывается при изменении цели строительства юнит/здание/etc и пересадке жителей) - data.ProductionPerTurn
Вычисляется это значение в CitySupport.lua и код там мудреный...
P.S. При форматировании вывода вы можете использовать синтаксис sprintf, например для вывода целого числа без знака достаточно %u, вместо %.0f. Предлагаю в панели пока выкинуть выработку в ход, она один фиг не пересчитывается и почти всегда показывает бред, оставить "%u / %u - %u turns". С едой все хорошо.
PP.S. Заметил значения культуры для захвата нового тайла городом в тултипе! Круто, спасибо!




Ответить с цитированием