ЯЯ                                                N 50
ЫЯЯ ЫЯЫ ЫЯЯ ЫЯЬ ЫЯЫ Ы  Ы    ЬЯЫ Ы  Ы ЫЯЯ ЯЫЯ ЫЯЫ Ы Ы
ЫЬЬ Ы Ы ЫЬ  ЫЬЯ Ы Ы Ы ЬЫ    Ы Ы Ы ЬЫ Ы    Ы  Ы Ы ЫЬЯ       12 октября 1998г
Ы Ы Ы Ы Ы   Ы Ы Ы Ы ЫЯ Ы    Ы Ы ЫЯ Ы Ы    Ы  Ы Ы Ы Ы
ЯЯЯ ЯЯЯ ЯЯЯ ЯЯ  ЯЯЯ Я  Я    Я Я Я  Я ЯЯЯ  Я  ЯЯЯ Я Я         "Battle Paper"
===========================================================================

                                    "Вначале я думал, что путь будет долгим
                                     И я никогда не останусь один..."
                                                                 (C)Кр.

                            Репетиция pедактоpа
                            ~~~~~~~~~~~~~~~~~~~
     Меня уже поздравляют с юбилеем и я с удовольствием принимаю все
 поздравления. Хотя в нашей системе счисления ничего круглого пока нет.
 Но все равно приятно. :)
     А вот через пару недель...
     Напоминаем, что самый удобный и оперативный архив Battle Paper
 с содержанием номеров сейчас можно найти на http://www.alpine.dp.ua/
 а сами номера на http://members.xoom.com/dimity/bp/
     А ваши материалы мы с нетерпением ждем по адресу qz@garden.kiev.ua

     Содержание
     ~~~~~~~~~~
   Панк Тимур: Парабеллум жив..........................................._1_
         Urka: Наезд на авторитеты или почему Панк Тимур не прав........_2_
  GoodWorkers: History of the race GoodWorkers.........................._3_
      Mitsons: Использование GV, опыт новайса..........................._4_
 BigBaldSkull: Репортаж из game127......................................_5_
               Сводка из Lucky:game5...................................._6_

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                    _1_
from Звездный Панк Тимур
~~~~~~~~~~~~~~~~~~~~~~~~
     Парабеллум жив

     Помните, в  свое время,  почти два  года назад, имело место такое
явление действительности,  как  "Парабеллум",  журнал?  Дык  вот:  сей
журнал нынче,  в связи  с  финансовым  кризисом,  восстанавливается  в
правах, правда,  в  совсем  ином  виде,  нежели  был  раньше.  Процесс
восстановления находится  в самом  разгаре и все желающие приглашаются
принять активное участие в оном. Журнал пока полуподпольный, ибо далек
от предварительной  завершающей стадии,  но пбемный  народ оповещается
как имеющий отношение ;)

     http://parabellum.da.ru

     Сделано там  очень мало,  но есть  общие слова  и кое-что  в паре
разделов. Конкретно  от читателей  сего издания  мне  нужна  помощь  в
обзорах тех  игрушек, к которым я не имею никакого отношения; впрочем,
никто не  мешает активно  участвовать и  во всем  остальном. В ПБеМном
разделе я  эдак похвалился,  как все  будет  круто  ;),  но  пока  нет
текстов. Но  они будут.  К выходу  этого номера  БЛ  точно  будет  про
Simple, для затравки. Смотрите, пишите мысли, жду.

     p.s. к  клубу ParaBeLLum  ни я, ни "Парабеллум" не имеем никакого
отношения.

     p.p.s. И еще объява: на моей панковской страничке выложены еще две
полезные программки, конкретно конверторы репов из Galaxy 3.5/NG и
Galaxy Explorer в формат, понятный GV. Как-никак, а из GV играть все
одно куда как круче ;)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                    _2_
from Urka
~~~~~~~~~
                        НАЕЗД НА АВТОРИТЕТЫ
                                или
       Почему Звездный Панк Тимур не прав тогда, когда он прав.

    Что делают не-ветераны, когда в партии обнаруживают ветерана?
Естессно, нападают на оного с радостным гиканьем и блеском в
глазах.. И что в итоге происходит? Правильно, ветеран
убивает нахала! А тот пишет статью в прессу :)
   К сожалению, мне не доводилось еще сталкиваться со Звездным Панком Тимуром.
Но наехать на него я всегда мечтал! (Ну что поделаешь, ну не
играю я ради плюсика! Мне подраться охота). А, так как он "и так
только на определенном  этапе  игры  дам  свой  прямой  адрес,
ибо постоянно играю инкогнито, как и большинство "ветеранов"
третьего поколения" не признается в начале игры, приходится зацепить
его через БЛ :)
   Я давно хотел ввернуть и свое мнение в дискуссию на тему наличия
женщин в Галакси, но все было лень, да недосуг. А тут такой повод,
статья Панка "Женщины в Галакси и как с ними бороться".
Подобные добрые дела не должны оставаться безнаказанными :)
   Ежели разбирать статью Звездного Панка, так он не прав везде.
Дело в том, что у меня в Галактике существует определенное хобби-
я затаскиваю различными правдами и неправдами в партии ЖЕНЩИН.
Тех самых, которых любит убивать Панк и которые так волнуют Ская:)
За два года - три экземпляра! И каких!! LadySex,
Белоснежка и Inga (последнюю, к сожалению, никто не знает).
   Кто поставит больший рекорд - ставлю кучу пива! :))))))))
А каких трудов стоит уговорить даму хотя бы попробовать поиграть.
Сколько надо уговоров, восторженных рассказов, беглого перевода
жаргона типа "перф" на литературный язык. Какие байки приходится
пересказывать и придумывать новые...
    И представьте себе - после 2-3 месяцев такого "ухаживания",
когда наконец-то затащишь девушку в эээ..., партию :), появляется
такой воинствующий, типа Панка, и нафиг выносит прелестницу. В общем,
ты старался, старался, а воспользовался кто-то другой :((
   Наверное, мне повезло. Моя первая кандидатка - Lady Lienna, все таки
не бросила играть до сих пор, несмотря на великое множество факторов,
мешающих игре: работа, аспирантура, и прочие сердитые дяди-галаксиане.
Наверное, она обладает повышенной сопротивляемостью ко внешним
раздражителям. Или талантом. Согласитесь, умудриться в одно и то
же время родить девочку и победить в 94-й партии -
такое даже маститому Панку не под силу :))))
     Но когда что-то не складывается в Книге Судеб, облом выходит
просто жесточайший. Именно так и случилось с Ingoй. Пока я ей
втолковывал (по почте) правила, и первый ход <Е2-Е4>, соседи
просто разорвали ее на части. Мне показалось, что ее основной ошибкой было то,
что она слишком РАНО позволила узнать, кто она.
    Со своей третьей кандидаткой я не спешил. Взвешенные решения,
неторопливые разъяснения, ПОДВОД к Игре...  Зато и результат
превзошел все ожидания - Белоснежка не только прекрасно
вписалась в Образ игры, но и смогла активно влиять на события. А уж ее
страсть к переписке меня просто поражает. Ее архив за одну партию
весит три моих! (Пора ей собственный ящик завести,
благо, у нее теперь есть возможность :)
    Так что совет Панка: "Вы в Галакси с девушками заигрывать
записывались или  перфораторы строить? Посему ничто не мешает
сперва убить, а потом уже заигрывать, вне игры" все таки весьма
плох! Ну, убили Ингу, и все... А дали бы ей познакомиться, пообтесаться,
смотришь - и еще на одну галаксианку наша Галактика стала бы красивее!

    И все-таки, Панк везде прав :)))
  Я наблюдал, как играют мои "подопечные" в партиях. И что я вам
скажу - не хотел бы я оказаться рядом! Иметь в соседях
галаксианку - все равно что сидеть на пороховой бочке :))
Причиной войны (именно ПРИЧИНОЙ!, а не поводом) может послужит
даже тон письма или то, что корреспондент в конце делового
письма забыл дописать комплименты. Можете мне не
верить, но так и было! Я ей говорю - "нападай на этого,
у него 3 гига и флота пока нет". Сидит, кивает головой.
А на следующий день бомбит совсем другого: "Он мне не нравится!" Ну что
тут поделать с "женской логикой"...

    Все-таки, тема эта бесконечна. И хотелось бы услышать мнение
"с другой стороны баррикад". А мне хочется попросить:
Братва! Не убивайте женщин... сразу :)) Дайте им войти в игру,
познакомится, завести знакомства, обменяться адресами.
Мне так кажется, что после 40-х ходов они настолько заняты
перепиской, что на руководство флотом уже времени не остается.
Так вы и их не обидете, и игра на начальных стадиях станет
красивей, элегантней.

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                    _3_
from GoodWorkers
~~~~~~~~~~~~~~~~

Ahoo!

Итак. Характеристика и особенности поведения (Выдержки из заключения
медэксперта для Всегалактического зоопарка)

Расса: GoodWorkers
Название не случайно, представители данной рассы действительно работают, и
работают по их мнению хорошо. Мнение других расс при этом не учитывалось,
так как до появления странных сообщений из других миров, эта расса не знала,
что не одни они так любят добывать капу.
Но и при сравнении, можно с уверенностью сказать, что работать они умеют
лучше, чем воевать.
Тусуются обычно в середине первой половины таблицы по капе.

Характер: Добродушный, работящий, наивный.
Сначала, когда работяги не знали, что можно воевать, они свободно общались с
представителями других расс, смутно понимая угрозы за сбитых дронов,
которые случаются из-за проволочек в госаппарате. (Пока заключен договор,
пока все приказы уйдут на переферию, пара дронов зацепится обязательно на
еще не получивший новых указаний погранпост). Чтобы дронов было не так
жалко - работяги советуют использовать непилотируемые дроны - затраты на них
минимальны, компенсацию за пилотов выдавать не надо, и поп целее будет.
(чертежи можно взять у предводителя Воркерсов безвозмездно, что значит
даром)
Но потом, посмотрев, как бывает с некоторыми соседями стали вести себя
осторожнее.
Хотя до сих пор остаются по-детски доверчивыми, и не могут отказать всем кто
хочет с ними дружить.
Из-за чего часто страдают отсутствием планет и врагов. Очень редко добивают
уходящие рассы, с которыми они дружили, часто за них мстят, если дружба была
крепкой. Кстати почти все войны вызваны жаждой мести ради восстановления
справедливости, этим можно объяснить самоотверженность рассы.
Воркерсы часто могут менять свое мнение, этим объясняются их проблеммы с
дипломатией, наобещаешь чего-нить, а потом не сделаешь - ну что поделать
память у нас слабая, а мысли быстро бегают - мыслителей много, а памятников
на WorkersArea(главная планета работяг) нет :(
К тому же очень любят плести интриги, знакомить соседей с "лучшими"
сторонами друг друга. Очень искренны и могут разболтать кучу сведений,
некоторыми, не правильно именующимися военной тайной. Но ведь Работяги -
народ невоенный и не знает как отличить военную тайну от нетайны вовсе.
Хотя договор о непередаче инфы стараются соблюдать. Зато мирный договор
нарушить могут легко, особенно в случае несправедливой по их мнению
агрессии. Сами приемлют разрыв договора, если им объяснят причину (а иначе
могут обидеться). Зла после партии ни на кого не держат. Да и вообще на
своих обидчиков зла тоже не держат, такие вот они альтруисты и в этом видят
свое место в галактике.

Blums!
Luck SkyWorker, предводитель
GoodWorkers
#end

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                    _4_
from novice17:Mitsons
~~~~~~~~~~~~~~~~~~~~~

   Использование GV, опыт новайса

   Привет!
   Поздравляю всех с выходом юбилейного номера "Battle Paper"!

   Ради такого случая будет не скучная сводка из novice17,  а мой скром-
ный  опыт  применения макросов и функций в Galaxy Viewer Дмитрия Гуртяка
(v11.2 beta, регистрационный номер 000057).  Я просто опишу те макросы и
функции, которыми я сам пользуюсь, и немного поделюсь некоторыми приема-
ми работы, освоенными мной.

   Описание  макросов и функций в этой статье у меня начинаются с начала
строки, а примеры вызовов приведены с отступом.

   Начнем с того, что содержится в GV.CTL.

   Один из моих принципов - коловозки не должны простаивать! Дабы не за-
быть,  загрузить/разгрузить все,  что может быть загружено/разгружено, я
использую очень простой макрос:

Macro wc = waitl & cargo>0

   Это  наверно  один из наиболее часто используемых мной макросов.  Ис-
пользуется  в любом списке своих кораблей в качестве фильтра (Alt/L).  В
выборку  попадают и боевые корабли,  имеющие единичку кола.  В общем это
тоже удобно.  Их тоже ведь надо загружать,  а иногда и не забыть разгру-
зить :) Если же надо выделить действительно только транспорты, то я ста-
влю фильтр:

              wc & weight<100

   Правда,  это работает, если у Вас нет многоходовых каповозок.  Но я у
себя их не использовал.  Стоят они дорого,  с полной загрузкой им летать
приходится редко и очень жалко, если такой монстр нарвется на какого-ни-
будь  террориста.  Для реализации принципа - "развозить кол без остатка"
(принцип придуман давно и не мной) гораздо лучше подходят транспорты ма-
ссой от 12 до 99 максимум.  И еще - я строю коловозки, летающие по схеме
"1-1", то есть ход туда - ход обратно.  Опять же для того, чтобы кол зря
не пролеживал, пусть даже в трюмах кораблей.  Конечно, управлять армадой
колонайзеров-коловозок  довольно  утомительно,  но если хватает времени,
чтобы продумать,  что-куда слать,  результат непременно будет.  Я считаю
это одним из моментов,  который помог мне в n17 выйти из отстоев в лиде-
ры. Гм... Что-то я отвлекся :)

   В  стандартном GV.CTL есть два простых макроса,  которые мне приходи-
лось использовать довольно часто:

Macro SumBomb           = sum(#*bomb)
Macro SumWeight         = sum(#*weight)

   А поскольку такие длинные названия макросов набирать лень,  я их сок-
ратил, и добавил еще один аналогичный:

Macro Sw = Sum (#*Weight)
Macro Sb = Sum (#*bomb)
Macro Sc = Sum (#*cargo)

   Эти  макросы используются в запросах (Alt/Q) на любых таблицах кораб-
лей.  Макросы  с длинными именами нужно оставить,  чтобы работали другие
стандартные макросы.

   Когда  количество раскачанных планет у Вас становится больше трех,  а
на  нераскачанных строится капа,  а Вам надо поменять производство...  В
общем,  чтобы  перед глазами не мелькало то,  до чего Вам пока нет дела,
удобно на список планет наложить фильтр:

Macro rp = ind+outcap>=size&size>0

   В  этот же список попадают планеты,  на которых следующим ходом может
быть закончена раскачка (а может лучше завезти туда немного капы, а пла-
нета  пусть  уже делом займется) и не попадают астероиды.  Если же очень
интересно посмотреть,  что творится на нераскачанных планетах, то доста-
точно использовать фильтр:

              !rp

   Чтобы  узнать,  сколько  техов может качнуть в данный момент планета,
можно использовать макрос:

Macro ot = L/5000

   А  сколько  техов  может качнуть полностью раскачанная планета?  Тоже
просто узнать:

Macro ots = Size/5000

   Два последних макроса можно использовать в качестве выражения для за-
мены столбца "Production" в списке планет.

   Близятся тотальные войны. У Вас большой флот и много террористов. Все
они  попадают в список,  выделяемый по стандартному фильтру warship.  Но
Вам-то надо разослать действительно боевые группы, а тут их из-за терро-
ристов не соберешь :( Не унывайте! Используйте макрос:

Macro ws = warship & (#>1 | weight>20)

   Вес  Вы можете указать и другой (от 2 до 98),  это смотря какие у Вас
террористы  :) А если они собрались в кучу - это либо уже боевая группа,
либо несанкционированный митинг.

   Тут я сделаю рекламную паузу ;)

************************************************************************
   В Интернете я нашел два места, где есть замечательные сборники макро-
сов. Оба они входят в Galaxy Ring:

Skull Home Page http://www.caravan.ru/galaxy/index.html
HW of Alchemist http://www.geocities.com/TimesSquare/Lair/7347/index.htm

   Пройдитесь по Galaxy Ring!
************************************************************************

   Так вот,  на HW of Alchemist я нашел несколько макросов, которыми пе-
риодически пользуюсь:

MACRO N = name str 9 + \n + \f + round(ships(me)) str 0 + \8 + '-' + \c + round(totalships-ships(me)) str 0

   Этот  макрос позволяет подписать планеты и для каждой планеты выводит
массы  своего и чужих флотов прямо под названием планеты.  Следует отме-
тить, что массы флотов он показывает даже в том случае, если на этом хо-
ду Ваш дрон был сбит. Автор - Alchi.

   А для себя я сделал небольшую модификацию данного макроса - NN. В ус-
ловиях  ведения боевых действий одновременно с несколькими расами удобно
видеть на каждой планете массу своих кораблей,  кораблей нейтральных рас
и кораблей вражеских рас. Для работы используется вспомогательный макрос
enemyships.

Macro enemyships=ships('EnemyRace1')+ships('EnemyRace2')+ships('EnemyRace3')
MACRO NN = \f + round(ships(me)) str 0 + \e + round(totalships-enemyships-ships(me)) str 0 + \c + round(enemyships) str 0 + \n + \0 + name

   Честно  говоря данный макрос заметно тормозит формирование команд для
ордера,  но все-же иногда это удобнее, чем просматривать списки кораблей
всех рас на каждой планете.  Обратите внимание,  макросы N и NN работают
только в зарегистрированной версии GV.

   Для имитации битв многие пользуются имитатором BATTLE.EXE. Но не смо-
тря на то,  что в комплекте с имитатором поставляется программа SBAT.EXE
для  формирования списка кораблей,  мне чаще всего было в лом ходить ту-
да-сюда,  собирая  в кучу  все,  что я хотел увидеть в списках кораблей,
участвующих в битве. И вот, на HW of Alchemist я обнаружил:

MACRO WriteTechShip = writeln(p.a str 4+' '+p.w str 0.2+':'+w str 0.2+' '+p.s str 0.2+':'+s str 0.2 +' '+weight str 0.2+' '+number str 5)
MACRO WriteParamShip = writeln('* '+race+', Ship type: '+type+' ('+p.d str 0.2+','+p.a str 0+','+p.w str 0.2+','+p.s str 0.2+','+p.c str 0.2+'), Speed: '+speed str 0.2)
MACRO GetBF = writeln(''),sum(WriteTechShip,WriteParamShip,show('Wait! Data saving...')),sort(1)
MACRO S4B = func(if openfile(op(1)) (show("Can't open file! Check file name!")) (show('Data succsessfully saved!'),closefile,GetBF,show('Succsessful open file!')))

   Создает файл для программы BATTLE.EXE. Результат записывается в файл.
Работает - из окна кораблей на планете или из общего окна кораблей.  За-
пускать - s4b^("file_name"). Автор - Threefeets.

   Теперь  я использую BATTLE.EXE всегда,  когда надо сымитировать более
или менее серьезное сражение!  Например,  произошла битва моего флота на
планете #123 с флотами рас "Race1" и "Race2".  Открываю окно битвы (F8).
Открываю список кораблей своей расы и делаю запрос (Alt/Q):

              s4b^'123.btl'

   Имя файла для BATTLE.EXE - "123.btl" выбрано произвольно.  Потом отк-
рываю  тут  же  список  кораблей  расы "Race1",  нажимаю Alt/Q и нажимаю
Alt/стрелка_вниз  (вызываю историю запросов).  Выбираю предыдущий запрос
(s4b^'123.btl'), так как набирать заново опять же в лом.  Ту же операцию
проделываю и с "Race2".  Затем выхожу в DOS Shell (Alt/F - Alt/D). Это я
рулю из под DOS.  Если Вы рулите из под Windows, то наверно можно просто
перейти  в другое  окно,  из  которого Вам удобнее запустить BATTLE.EXE.
Кстати, в данном случае надо зайти текстовым редактором в файл 123.btl и
удалить  пустую  строку  между  списками кораблей рас "Race1" и "Race2",
чтобы они объединились в один флот.

   Другой пример.  Планируется битва на гиганте #234. Серьезная битва. Я
хочу кинуть туда все,  что долетает.  И противник мой,  если видит что к
чему, тоже наверняка соберет туда все, что сможет. Надо сымитировать би-
тву. Открываю список всех своих кораблей. Ставлю фильтр:

              ws & waitl & '#234' to dest < speed

   а затем делаю запрос:

              s4b^'234.btl'

   Затем открываю список всех кораблей противника и ставлю фильтр:

              warship & '#234' to dest < speed

   Если у него вокруг тоже полно террористов,  то можно их отсечь, заме-
нив  в фильтре warship на ws.  Опять же открываю окно запросов и вызываю
предыдущий запрос. Все! В файле 234.btl исходные данные для BATTLE.EXE.

   И еще одна полезная конструкция на HW of Alchemist:

MACRO newt = NNewt:="D="+newd^(race) str 4.2 +" W="+neww^(race) str 4.2 +" S="+news^(race) str 4.2 +" C="+newc^(race) str 4.2
MACRO neww = func(plusw+SELECTRACES(race=op(1))+wpn+SELECTPLANETS(race=op(1)) )
MACRO news = func(pluss+SELECTRACES(race=op(1))+shld+SELECTPLANETS(race=op(1)) )
MACRO newd = func(plusd+SELECTRACES(race=op(1))+drv+SELECTPLANETS(race=op(1)) )
MACRO newc = func(plusc+SELECTRACES(race=op(1))+crg+SELECTPLANETS(race=op(1)) )
MACRO plusw = sum(l*(production='weapons'))/5000
MACRO pluss = sum(l*(production='shields'))/5000
MACRO plusd = sum(l*(production='drive'))/5000
MACRO plusc = sum(l*(production='cargo'))/5000

   Макрос  NEWT  служит для пересчета технологий,  с учетом их прироста.
Применяется  из  списка  планет.  Не  учитывает  изучение наук.  Автор -
SLIPPERY.

   Теперь кое что из того, что у меня стоит в AUTOEXEC.SC.

RF:=Func( (if ships(Op(1))>0 \f+ships(Op(1)) str 0+ \n\0 '')+Name);

   Функция  работает  в зарегистрированной  версии  и служит для подписи
планет. Вызывается на карте нажатием кнопки "N" и вводом выражения:

              rf^'RaceName'

   Указывает массу флота конкретной расы на планетах.  Менее информатив-
на, чем NN, но тормозит меньше и часто достаточно полезна бывает.  Чтобы
понятно было, почему rf, поясняю, что это аббревиатура от RaceFleets.

   В  моей  конкретной  партии задолго до конца игры оформились 2 союза,
которые претендовали на победу.  Чтобы следить за распределением голосов
двух противоборствующих союзов, сочинил я такую макруху:

RR macro (
SelectRaces(1);
VoteAll:=sum votes;
SelectRaces(race='MyRace'|race='FriendRace1'|race='FriendRace2');
Sv:=sum votes;
SelectRaces(race='Enemy1'|race='Enemy2'|race='Enemy3');
Av:=sum votes; 'Мы-'+Sv str 6.2+'-'+(Sv*100/VoteAll) str 5.2+'%, Они-'+Av str 6.2+'-'+(Av*100/VoteAll) str 5.2+'%' );

   RR - это сокращение от RaceReport :)

   Ну и еще одна, самая моя любимая.  Это CapitalReport, которая в стан-
дартной поставке идет отдельным файл-скриптом. Я исправил в ней одну не-
точность (а может просто опечатку:  прирост населения на планете состав-
лял не 8, а 10 процентов) и немного доработал. А чтобы легче ее было вы-
зывать,  разместил всю в AUTOEXEC.SC.  Ниже я привожу только две функции
из этого скрипта, которые я правил.

{----------------------------------------------------------------------}
{ _cr - внутренняя функция. Расчитывает производство на текущей        }
{ планете с учетом прилетающих транспортов и печатает отчет об этом    }
{ Mitson добавил расчет и печать количества кола и капы, которое       }
{ необходимо до полной раскачки планеты                                }
{----------------------------------------------------------------------}
_cr:=func(
  0,0,1,2,3,4,5;          { Размещение в стеке 6 локальных переменных  }
                          { Их индексы будут от 0 до -5                }
  Show('Check planet '+name);
  0:=Name str 17;
  if race<>me (0:=op(0)+'*') (0:=op(0)+' ');
                          { После имени ставим *, если новая планета   }
  Write(op(0) str 18 + ' ');
  -3:=col; -4:=pop; -5:=ind; { Op(-3), Op(-4), Op(-5) - соответственно
                               колонисты, население и производство }
  if race<>me (-3:=0; -4:=0; -5:=0) 0;
                             { Если транспорт летит на чужую планету,
                               предполагается, что она будет разбомблена }
  0 :=op(-4)*1.08+(QueryCargo^('COL',name)+op(-3))*8;
                             {0 - общее увеличение населения}
  -1:=(op(0)-Size)/8;
                             {если > 0, то кол-во кола на планете}
  if op(-1)>0 (0:=Size) (-1:=0);
                              { dp и dc - глобальные переменные, в которых
                            после выполнения CapitalReport будут прирост
                            расы за ход в населении и производстве }
  dp:=dp+op(0)-op(-4);
  Write( size str 7.2+' '+op(0) str 7.2+
          (if op(-1) {then}(' Max   '){else}(((size-op(0))/8) str 6.2)+' ' )
          +' '+op(-1) str 7.2+' ');
  -1:=op(-5)+QueryCargo^('CAP',name)+(Production='Capital')*OutCap*(race=me)+$;
  -2:=op(-1)-op(0);
  if op(-2)>0 (-1:=op(0)) (-2:=0);
  dc:=dc+op(-1)-op(-5);
  0:=if op(-1)0 & race=me & owner(dest)<>me & eta<=1 ); -1:='';

  if cnt
  Sum(
     if dest=op(-1) 0
       ( -1:=dest; op(0)^(dest) );
     0)
  0;

  Show('Select planets...');
  SelectPlanets( race=Me );

  Sum( _cr^(0); 0);

  0:='Change POP: '+dp str 7.2+', Change IND: '+dc str 7.2;
  Writeln(op(0)); op(0)
)

   Я думаю,  что те,  кто периодически высчитывал, сколько же кола оста-
лось  завезти на планету,  оценят мои скромные поправки.  Желающие могут
заменить две вышеприведенные функции в своем стандартном скрипте.  Вызов
отчета, если Вы разместите скрипт в AUTOEXEC.SC - просто запрос:

              cr

   Результат работы размещается в клипбоарде. Я обычно поступаю так: от-
крываю редактор текста (Alt/F - E - T). Затем вставляю в файл содержимое
буфера (Shift/Ins) и тут же распечатываю содержимое на принтере (Alt/F -
A - в файл prn), предварительно установив его в режим condensed.  Если у
Вас лазер или струйник - выкручивайтесь сами,  у меня старый добрый мат-
ричный  Epson под DOS-ом.  Но работать с КапиталРепортом все же удобнее,
когда он распечатан.

   Это пожалуй все, что у меня записано. Но есть еще много чего, что ис-
пользуется  достаточно  редко и мне не в лом руками набрать такой запрос
или фильтр. А может просто руки не дошли, чтобы записать соответствующие
макрухи в GV.CTL.

   Если  Вы  в таблице своих кораблей видите,  что корабль Ваш уже летит
или только запущен,  но Вы не помните,  откуда он летит,  просто введите
запрос:

              from

   Ваш флот одержал победу. Исходный вес флота (как своего, так и проти-
вника) вы узнаете из запроса SW. А вот как подсчитать свои потери:

              sum ((#-L)*weight)

   Для оценки потерь надо стоять в списке своих кораблей в окне битв.

   Когда  Вам надо отправить много (или даже пусть всего 2-3) кораблей с
разных мест на одну планету,  вспомните, что в меню формирования команды
"Send" есть опция "All selected groups". Единственное, что Вам надо, это
наложить соответствующий фильтр на список своих групп.  Например, хочу я
отправить  все  коловозки,  загруженные колом,  на планету #111,  причем
только  те,  которые туда за ход долетают.  Предварительно,  пройдясь по
списку кораблей с фильтром WC (см. выше) я загружаю все коловозки колом.
А потом на список своих групп накладываю фильтр:

              wc & typ='col' & dest to '#111'