View Single Post
Old 01-17-2010, 08:33 PM   #27
Ten
Главнокомандующийp2ambassador
 
Ten's Avatar
 
Faction:
Стражи Садов Кадеша

Join Date: Feb 2004
Location: Great Nebula
Posts: 2,525
Re: "Легкий" Homeworld

В исходниках ХВ1 есть описание формата карт, если кратко, карты миссий живут в папках Homeworld.big/singleplayer/<название_миссии>. Небольшой ликбез по распаковке биг-файлов можно найти тут, для правки миссий извлеки папку singleplayer и положи её в папку с игрой. Корабли прописываются в missphere-файлах (это обычный текстовик) директивой Ships. Её синтаксис:

Code:
Ships   Label,posx,posy,posz,rot,race,shiptype,numShips,formation|flag|color,properties[,numShips2]
Параметры:
  • Label – метка группы для скрипта миссии (без пробелов) или ? (знак вопроса);
  • posx, posy, posz – x/y/z-координаты;
  • rot – угол поворота корабля в горизонтальной плоскости;
  • race – раса: R1 (кушане), R2 (таидане), P1 (Туранские рейдеры), P2 (Стражи Садов), P3 (что успели сделать от Т-Мат), Traders (Бентузи, Голландцы и прочие – всё что в папке traders);
  • shiptype – собственно, тип кораблей. Названия можно посмотреть по названиям файлов в папках r1, r2, p1, p2, traders главного бига. Например, LightInterceptor это разведчик, а StandardFrigate –штурмовой фрегат;
  • numShips – кол-во кораблей (кажись, только для мультиплеера, для сингла важен другой параметр, о нём далее).
  • formation - строй:
    • NULL_FORMATION – не задан;
    • PARADE_FORMATION – парадный;
    • DELTA_FORMATION – дельта;
    • BROAD_FORMATION – шеренга;
    • DELTA3D_FORMATION – икс;
    • CLAW_FORMATION – коготь;
    • WALL_FORMATION – стена;
    • SPHERE_FORMATION – сфера;
    • PICKET_FORMATION – пока не в курсе.
  • color – номер цветовой схемы, задаётся директивой вида colorScheme(n), где n – число от 0 до 7;
  • flag – это UseAsMothership, если нужно использовать корабль в качестве флагмана, или ?
  • properties – тоже пока не в курсе;
  • numShips2 – то самое кол-во кораблей в сингле.

Ещё не забудь проверить mission-файл на предмет директив ExcludeShips. Скажем, если ты попытаешься добавить в третью миссию Шпиль Стражей, то игра из-за 22-ой строчки
Code:
ExcludeShips    P2,All
успешно выпадет в форточку.

И самое главное – запасись терпением и будь готов к тому, что по первой игра, вместо того, чтобы радовать результатами, будет стабильно вылетать. Запускать её лучше с параметром /debugToFile, тогда будет создан файл debugMessages.txt, в котором, возможно, будет указана причина вылета.
Ten is offline   Reply With Quote