Версия от 17 декабря показала себя наиболее стабильной. качайте, пока новую бету не выложили Скорость таблиц существенно улучшена, осталось дождаться улучшения скорости карты - и можно рулить армаги (в первую очередь, скорости позиционирования планеты по двойному шелчку кнопокй мыши на группе). Уже сейчас до 50-го хода партия рулиться влегкую. Поделюсь скриптом (назвал его col). Скрипт ставит подписи под планетами в виде число1{число2}. Число1 означает, сколько колонистов будет следующим ходом на планете. Если оно отрицательно - значит колонистов не хватает, и указанная величина требуется, чтобы залить планету полностью. Число2 показывает суммарный объем трюмов над планетой. proc Col ! Макрос проставляет подписи под планетами, где ! есть корабли с трюмом ! в скобочках {} прописывается общий объем трюма ! без скобочек число пушек колонистов на следующем ходу на планете. dim aPlanet as array dim aPlanet1 as map dim aCol as array dim aGr as map ! Параметры ! если число кораблей в группе превышает iMinDron ! то эта группа рассмативается, как прикрышка iMinDron = 0 iMinVisible = 10 select Num from planets to PlanetList i = 0 loop readnext aPlanet1 from PlanetList else break if aPlanet1["Num"] > i then i = aPlanet1["Num"] repeat i = i+1 ! инициализация for k = 1 to i k1 = k - 1 aPlanet[k] = "#":k1 aCol[k] = 0 next k ! Очистить подписи под планетами ! Пройти по списку групп select * from groups to aGroupList where {Count} > iMinDron loop readnext aGr from aGroupList else break iCol = aGr["Capacity"] k1 = aGr["#Destination"] k1 = k1 + 1 if ((k10)) then aCol[k1] = aCol[k1] + iCol end repeat ! Теперь собственно перебираем получившиеся массивы и раставляем подписи for k = 1 to i newCom = "" iCol = aCol[k] k1 = k - 1 iPl = GetCOL(k1,1) if iPl == 0 then iSz = GetPlanet(k1,"Size") iPop = GetPlanet(k1,"Population") iPl = (iPop - iSz)/8 end newCom = newCom: iPl : "{": iCol: "}" update "commentary" aPlanet[k]: " " :newCom next k
|