Оглавление Сообщение об ошибках Ваше мнение о проекте E-Mail автору

v    Навигационные команды ( Fly commands ).

 

Большинство команд из семейства Fly to … выполняют в процессе исполнения комплекс одинаковых подготовительных или завершающих действий, ниже указана последовательность действий общих для этих команд:

  1. Отстыковаться (если пристыкован)
  2. Лететь в сектор, где находится объект назначения.
  3. Лететь к объекту.
  4. Пристыковаться (если требуется стыковка. Например fly to home base)

 

 

@<RetVar/IF> <ship> -> fly to home base

Дать команду объекту <ship> отстыковаться, лететь в сектор где находиться база к которой он приписан, и пристыковаться к ней.

Возвращает значения:

FLRET_LANDED

Команда выполнена корабль пристыкован.

FLRET_BREAK

Команда прервана другой командой Fly.

FLRET_INTERRUPTED

Команда прервана другим скриптом.

FLRET_ERROR

Ошибка при выполнении (например Нет базы приписки).

 

 

@<RetVar/IF> <ship> fly to station <Station>

Дать команду объекту <ship> «лететь на станцию» <Var/Station> и пристыковаться к ней.

 Возвращает значения:

FLRET_LANDED

Команда выполнена корабль пристыкован.

FLRET_BREAK

Команда прервана другой командой Fly.

FLRET_INTERRUPTED

Команда прервана другим скриптом.

FLRET_ERROR

Ошибка при выполнении (например: база уничтожена)

 

 

@<RetVar/IF> <ship> fly to sector <Sector>

Дать команду объекту <RefObj> «лететь в сектор» <Var/Sector>.

FLRET_NOCOMMANDS

Команда выполнена корабль достиг сектора.

FLRET_BREAK

Команда прервана другой командой Fly.

FLRET_INTERRUPTED

Команда прервана другим скриптом.

FLRET_INVALIDPARMS

Если <RefObj> не существует.

* Если параметр <Var/Sector> не правильного формата (например просто число) то корабль отправиться в сектор Kingdom End.

 

 

<RetVar/IF> <object> find nearest enemy ship: max.dist=<distance>

Найти ближайший враждебный корабль и вернуть значение <RetVar/IF> в радиусе <distance> для объекта <object>.

 

<RetVar/IF> <object> find nearest enemy station: max.dist=<distance>

Найти ближайшую враждебную станцию и вернуть значение <RetVar/IF> в радиусе <Var/Number> для объекта <RefObj>.

 

 

<RetVar/IF> <object> fire lasers on target <target> using turret <turretid>

Дать команду <object> «стрелять лазерами» по цели <target> используя орудийную башню <turretid> . Если номер турели установлен как 0, то выстрел будет сделан из носового орудия, независимо от того находится цель target в зоне поражения или нет орудия все равно выстрелят и команда вернет [TRUE]. Если команда дана для выстрела именно из турели (номера больше 0), то следует позаботиться чтобы цель была в зоне видимости данной турели (именно видимости, точнее турель должна быть лицом к объекту), расстояние значения не имеет, если направленность правильная то будет сделан выстрел и функция вернет [TRUE]. В случае если цель вне зоны видимости, выстрела не произойдет и возвращаемое значение будет [FALSE].

В таблице указаны соответствующие номерам турели

0

Центр (носовые)

1

Носовая

2

Кормовая

3

Левая

4

Правая

5

Верхняя

6

Нижняя

 

Возвращаемые значения: TRUE (1) или FALSE (null)

 

@<RetVar/IF> <object> turn turret <turretid> to target <target>: timeout=<timeout> ms

Дает команду объекту <object>, навести орудийную башню <turretid> на цель <target>. Исполнять команду не дольше <timeout> мс. Турель пытается найти цель в зоне своей видимости. Эта инструкция может быть использована при создании процедуры управляющей турелью.

Структура процедуры должна быть следующей:

  1. Определить объект для обстрела.
  2. Найти и навестись на объект.
  3. Если получен код FLRET_FIREFREE стрелять fire lasers on target.
  4. Повторяем снова со строки 2 пока, цель не сдастся, или не будет уничтожена.

 

Возвращаемые значения:

FLRET_FIREFREE

Команда выполнена турель наведена.

FLRET_TIMEOUT

Истекло указанное в timeout время.

FLRET_INTERRUPTED

Команда прервана другим скриптом.

FLRET_NOCOMMANDS

Ошибка. Неправильно указана турель, или объект.

Обратите внимание, что эта команда также как и fire lasers on target, не учитывает расстояния до цели, и может вернуть FLRET_FIREFREE даже если вы находитесь в сотне километров от нее.

 

 

@<RetVar/IF> <ship> attack run on target <target>: timeout=<timeout>ms

Команда «подготовить корабль к атаке» на цель <target>. Получив эту команду корабль <ship> совершает подготовительные действия, как то: взлет со станции, сближение с целью и т.д., в течении времени <timeout>.

Структура процедуры атаки:

  1. Определение объекта.
  2. Сближение с объектом.
  3. Подготовка к атаке attack run on target.
  4. Если FLRET_FIREFREE стреляем по цели fire lasers on target.
  5. Если цель жива переход к шагу 3.

 

Возвращаемые значения:

FLRET_FIREFREE

все готово для ведения огня по цели.

FLRET_TIMEOUT

Истекло указанное в timeout время.

FLRET_INTERRUPTED

Команда прервана другим скриптом.

FLRET_BREAK

Неверная цель. Цель не существует или не может быть атакована (цель находится в другом секторе, пристыкована к станции/транспорту и т.п.)

FLRET_NOCOMMANDS

Ошибка. Неправильно указан корабль <ship>.

 

 

 

@<RetVar/IF> <ship> defensive move: type= <type>, intensity=<intensity> timeout <timeout> ms, avoid object=<object>|null

Команда кораблю совершить маневр уклонения (резкие ускорения, спирали, изменение курса). Параметр type на сегодняшний день не реализован, тип маневра прописан непосредственно в движке программы. Параметр intensity указывается в процентах от 0 до 100 (фактически, если 0 то маневр будет заключаться, в прямом отлете на максимальной скорости исполняя  «бочку». Если добавлять интенсивности, то к бочке будут добавляться периодические изменения курса.)

Возвращаемые значения:

FLRET_INTERRUPTED

Команда прервана другим скриптом.

FLRET_NOCOMMANDS

Маневр завершен, (вышло время timeout).

null

Если неправильно указан корабль <RefObj>

 

 

@<RetVar/IF> <ship> move to ware object <ware> for collecting: timeout=<timeout>ms

Команда кораблю, «лететь к плавающему в космосе контейнеру с целью подобрать». После завершения, корабль будет находиться на расстоянии позволяющем приступить к подбору летающего контейнера, или стрельбе по нему. В место контейнера можно указать и корабль, тогда наш корабль <ship> полетит к указанному кораблю и попытается занять место рядом с ним (100-300 метров).

Возвращаемые значения:

FLRET_FIREFREE

все готово занята позиция рядом с. <RefObj>

FLRET_TIMEOUT

Истекло указанное в timeout время.(не хватило времени)

FLRET_INTERRUPTED

Команда прервана другим скриптом.

FLRET_BREAK

Неверная цель. Цель не существует или находиться вне досягаемости  (цель находится в другом секторе, пристыкована к станции/транспорту и т.п.)

FLRET_NOCOMMANDS

Ошибка. Неправильно указана объект <RefObj>.

 

 

<RetVar/IF> <ship> catch ware object <ware>

Подобрать плавающий в космосе контейнер. Получив эту инструкцию корабль подберет летающий в космосе контейнер  <ware>. Инструкция не осуществляет ни каких действий над самим кораблем, все что произойдет, это указанный контейнер будет удален из сектора, а в трюм корабля <ship> добавиться количество товара находившиеся в этом контейнере. Расстояние инструкция не учитывает, подбор будет осуществлен даже если корабль находится в сотне километров от контейнера.

Возвращает [TRUE] если подбор контейнера осуществлен, [FALSE] если нет. Также возвращает [FALSE] если неправильно указать object <Value>, (корабль, станция и т.п.)

 

 

@<RetVar/IF> <ship> move around <timeout> ms

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

Возвращаемые значения:

FLRET_INVAIDPARMS

Неправильный объект <RefObj> (не корабль)

FLRET_NOCOMMANDS

Вышло время timeout, команда завершена

 

 

@<RetVar/IF> <ship> escort ship <target>

Команда кораблю <ship> сопровождать корабль (следовать за)<target>. Эта инструкция не имеет временного ограничения и будет выполняться до бесконечности. Корабль получивший эту инструкцию отстыкуется, если он пристыкован, и будет следовать за сопровождаемым кораблем в пределах сектора. Скорость корабля будет выровнена со скоростью сопровождаемого корабля. Если сопровождаемый корабль будет уничтожен, перейдет в другой сектор или пристыкуется к станции, то команда будет прервана и вернет код FLRET_BREAK. В случае прерывания команды другим скриптом, управление не будет передано этой команде даже после завершения скрипта, для возвращения управления команде escort ship используется команда set follow mode [FALSE], которая помещается перед escort ship. Режим сопровождения будет снова запущен, после возврата из прервавшего выполнение скрипта (return).

Возвращаемые значения:

FLRET_INTERRUPTED

Команда прервана другим скриптом.

FLRET_BREAK

Команда не может продолжить работу (сопровождаемый корабль покинул сектор, пристыковался к станции, уничтожен)

FLRET_INVAIDPARMS

Если неправильно указан корабль <RefObj>

 

 

@<RetVar/IF> <ship> escort ship <target>: timeout= <timeout>ms

Тоже команда эскортирования, действия единичны предыдущей разница заключается в том, что устанавливается временное ограничение на исполнение. И соответственно появляется еще один код возврата FLRET_TIMEOUT, время отведенное на выполнение вышло. 

 

<ship> set formation <formation>

Установить тип построения <formation> для всех кораблей сопровождающих корабль <ship>. Тип постарения задает специальная константа Formation.<тип построения>.

 [Formation.Delta]

0

[Formation.Line]

1

[Formation.X]

2

[Formation.XDelta]

3

[Formation.BigShipEscort]

3

[Formation.Pyramid]

4

[Formation.Random]

5

Случайное построение

 

 

<ship> add to formation with leader <leadership>

Добавить корабль <ship> в построение с ведущим кораблем <leadership>. Корабль займет место в построении сопровождающих <leadership> кораблей. Также для этого корабля станут доступны сигналы поступающие для всего построения, то есть корабль будет реагировать на изменение обстановки согласно поступившему сигналу (см. разд. SCE=> «Сигналы»).

 

<ship> remove from any formation

Исключить корабль<ship>  из всех построений.

 

<RetVar/IF> <ship> get formation leader

Запрос типа построения. Запрос может относится к любому кораблю <ship> состоящему в построении.

Возвращает тип построения или null если корабль не участвует в построении.

 

<RetVar>=<ship> get formation follower ships

Возвращает массив кораблей участвующих в построении. Если указанное судно <ship> не является участником построения или не существует самого построения то команда вернет null.

 

 START <object> command  <Object Command>: arg1=<Value1>, arg2=<Value2>, arg3=<Value3>, arg4=<Value4>

Выполняет команду, как если бы игрок выбрал ее в командном меню. Возможность указать четыре аргумента, если они требуются.

 

<object> send signal <Object Signal>: arg1=<Value1>, arg2=<Value2>, arg3=<Value3>, arg4=<Value4>

Послать объекту <object> сигнал, то есть запустить на объекте обработчик посланного сигнала <Object Signal> (см. разд. SCE=> «Сигналы»).

 

@<RetVar/IF> <ship> follow object <target> with precision <precision> m

Дать команду кораблю <ship> следовать к кораблю <target> на расстояние <precision>. В отличии от команды escort ship предназначенной для сопровождения и защиты корабля, эта команда более удобна для подготовительных действий для нападения. То есть, для сближения с кораблем <target> на расстояние <precision>. Эта команда тоже запускает корабли если они пристыкованы, после этого корабль на максимальной скорости движется к цели. После достижения необходимого расстояния, команда возвращает код FLRET_TARGETREACHED (Обратите внимание на то, что выполнив команду корабль продолжит двигаться с максимальной скоростью. Так что, если вы поставите вслед за командой follow object команду wait с задержкой секунд 5, то корабль может улететь достаточно далеко от объекта, прежде чем продолжиться выполнение скрипта). Расстояние указывается приблизительно, т.к. добиться идеальной точности очень трудно, да и не к чему. Если выполнение команды прервано другим скриптом, то для возврата управления этой команде (после выполнения скрипта) нужно использовать команду set follow mode [FALSE].

            До того как корабль достигнет нужного расстояния до цели, прервать выполнение команды может только другой скрипт или ситуация когда достижение цели становится невозможным (корабль-цель покинул сектор, пристыковался, уничтожен). Эта команда эффективна для преследования быстрых кораблей, если целью не является очень быстрым кораблем, то желательно использовать follow …timeout <…>.

Возвращаемые значения:

FLRET_TARGETREACHED

Цель достигнута, расстояние согласно precision

FLRET_INTERRUPTED

Команда прервана другим скриптом.

FLRET_BREAK

Команда не может продолжить работу (корабль-цель  покинул сектор, пристыковался к станции, уничтожен)

FLRET_INVAIDPARMS

Если неправильно указан корабль <RefObj>

 

 

@<RetVar/IF> <ship> follow <target> with precision <precision> m: timeout=<timeout>ms

Та же команда «лететь к объекту», все функциональные действия как в предыдущей команде. Добавлен параметр timeout указывающий количество времени в миллисекундах на выполнение. Все возвращаемые коды те же, и добавлен еще FLRET_TIMEOUT (время отведенное на выполнение команды вышло)

 

 <object> set follow mode [TRUE]|[FALSE]

Устанавливает включенным или выключенным (TRUE|FALSE) режим сопровождения. Фактически наличие этой команды перед follow или escort обеспечивает возврат управления этим командам после их прерывания. Управление возвращается после возвращения из прерывающего скрипта. В чем отличие между включенным и выключенным режимом непонятно. Похоже работают одинаково.

 

<RetVar/IF> <ship> get follow mode

Возвращает [TRUE] если корабль <ship> сопровождает или движется к объекту и [FALSE] если нет.

 

<ship> set destination to <destination>

Установить назначение. Фактически только информационная команда, чтобы игрок мог понять, куда корабль направляется, просмотрев информацию по кораблю. Непосредственно к полету команда не привязана, например можно командой fly to … послать корабль в одно место, а destination указать другое. Более подробное рассмотрение в разделе «Особенности использования некоторых команд.» глава «Использование информативных команд»

 

<RetVar/IF> <ship> get destination

Получить информативное назначение корабля <ship>, то есть значение установленное командой из командного меню или командой set destination.

 

<ship> set attack target to <target>

Устанавливает информативное значение <target> в пункте «Атаковать», учтите что <ship> должен выполнять команду которая активируем этот пункт в информационных экранах.

 

<RetVar/IF> <ship> get attack target

Возвращает информативное значение атакуемого объекта для корабля <ship>. Возвращаемое значение может быть установлено командой из командного меню или командой set attack target.

 

@<RetVar/IF> <ship> move to position: x=<xcoordinate> y=<ycoordinate> z=<zcoordinate> with precision <precision> m

Двигаться объекту <ship> в точку с указанными координатами до тех пор, пока удаленность <ship> от этой точки не станет менее "точности" <precision>. Эту удаленность(точность) требуется указывать именно в игровых юнитах, а не метрах, не смотря на наличие m после этого параметра. Т.е. желаемую удаленность требуется сначала умножить на 222, а потом подставлять в данную команду.

 (akm) http://www.elite-games.ru/conference/viewtopic.php?p=640741#640741

 

 

<object> set command: <Object Command>

Суть этой команды в том, чтобы установить информационные значения, отображаемые в инфо-объекта и в меню собственности, для объекта <object> (работает только если <object>=[THIS]). Эта команда относится к семейству информативных команд, то есть ее цель только информация и ни какого отношения к управлению действиями объекта. Команда отразит в инфо-корабля напротив пункта «Команда» текст связанный с этой командой, взятый из основного языкового файла со страницы 2010. Этот текст будет отображаться все время выполнения скрипта или до другой команды set command. Если в процессе работы скрипт вызывает другой скрипт в котором присутствует команда set command изменяющая текущее значение, то по возвращению управления вызывающему скрипту, начальное значение set command восстановлено не будет. Подробно о информационных командах в разделе «Особенности использования некоторых команд.» глава «Использование информативных команд»

 

<RetVar/IF> <object> get command

Возвращает команду установленную для объекта <object>. Это может быть команда данная объекту из командного меню или установленная командой set command.

 

<object> set command target: <target>

Это тоже информативная команда, дополняющая команду set command. Set command target позволяет дополнить информацию выводимую предыдущей командой в пункте «Команда», указанием цели <target> для команды. Следует обратить внимание на то, что эта команда работает только со встроенными командами в ScE Х2. Если вы попробуете использовать ее со свободными командами типа CUSTOM, SPECIAL и т.п., то цель команды не будет отражена.

            Команда имеет таки же ограничения как и set command. Значение устанавливается только на время выполнения скрипта.

 

<RetVar/IF> <object> get command target

Возвращает цель установленную для объекта. Это может быть значение задаваемое командой из командного меню объекта или командой set command target.

 

<object> set command target2: <target2>

Некоторые команды имеют второстепенную цель. Например, команда покупать товар имеет две цели. Первая, это товар который покупать, а второе это станция на которой покупать. Вот станция на которой корабль будет покупать товар и является target2. При помощи этой команды можно задать это значение.

            Команда имеет те же ограничения, что и команда set command.

 

<RetVar/IF> <object> get command target2

Возвращает второстепенную цель объекта, заданную командой выбранной из командного меню или установленного командой set command target2.

 

<retvar>= <ship> -> select new formation leader by: ship class=

[TRUE]|[FALSE]  strength=[TRUE]|[FALSE] min.speed=[TRUE]|

[FALSE]

Этой командой можно автоматически выбрать нового лидера для корабля <ship>, в случае уничтожения предыдущего – например, обработав сигнал SIGNAL_KILLED. Вы можете указать критерии по которым будет отбираться лидер. Выбор можно сделать по классу корабля, по силе корабля или по минимальной скорости. Например: имеется патрульный скрипт где патрулирование осуществляет группа кораблей разного класса. В бою лидер группировки был уничтожен, что бы выбрать для корабля нового лидера из кораблей

 

<RetVar/IF> = <ship> -> has formation ships

Возвращает [TRUE] если корабль <ship> имеет сопровождение, и [FALSE] если сопровождения нет.

 

<retvar>= <ship> -> give formation leadership to <newleader>

Эта инструкция позволяет изменить лидера группы. Возвращает [TRUE] если удалось и [FALSE] если нет.

 

<RefObj> set tactical to <Var/Number>

<RetVar>=<RefObj> get tactical

Не используются.

 

<RetVar/IF> get player tracking aim

Возвращает объект, который находится в прицеле корабля игрока. Вернет null, если в прицеле ничего нет.

 

<RetVar/IF> <ship> is <target> in firing range of turret <turretid>

Эта инструкция проверяет находится ли <target> в зоне поражения турели <turretid>. Проверяется расстояние до цели и дальность стрельбы из оружия установленного на указанной турели. Также можно использовать для определения находится ли цель в зоне поражения из основных орудий, достаточно указать turreted=0.

            Возвращаемые значения [TRUE] если цель доступна и [FALSE] если нет.

 

<RetVar>=<ship> find enemy in firing range of turret <turretid>

Найти врага в зоне поражения указанной турели <turretid> корабля <ship>. Если цель находиться в зоне поражения турели (расстояние зависит от установленного оружия, если на турели не установлены пушки, то вернет null) то инструкция вернет значение [TRUE], если не одна цель не найдена вернет значение [FALSE]. Цель выбирается из установок корабля (свой-чужой), так что учтите что врагами могут оказаться и не враги. Например, в начале игры из-за недостатка рейтинга все их объекты сплитов отражаются как чужой (красный цвет) хотя сами по себе они нейтральны к игроку. Если использовать эту инструкцию, то все объекты сплитов будут оцениваться как враги.

 

<object> set command: <Object Command> target=<target1> target2=<target2> par1=<Value> par2=<Value>

Эта команда объединяет в себе целый набор информативных команд таких как set command и set targettarget2 и позволяет задать еще два дополнительных параметра par1 и par2. Например команда GET_WARE помещает в дополнительные параметры количество покупаемого товара, и максимальную цену.

 

<RetVar/IF> <ship> fire missile <missile> on <target>

Команда для <ship> запустить 1 ракету типа <missile> в цель <target>. Ракеты должны быть в трюме, но устанавливать их не обязательно, выстрелит и так.

 

<RetVar/IF> <ship> get current missile

Возвращает тип активных в данный момент ракет для корабля <ship>. Если нет установленных ракет возвращает null.

 

<RetVar/IF> <ship> find best missile for target <value>

Возвращает тип ракеты из тех ракет, что есть в трюме <ship>, лучшую с точки зрения компьютера, для поражения цели <target>.

 

<RetVar> = best missile type for target <target>

Возвращает тип ракеты, которая по мнению компьютера, лучше всего подходит для поражения цели <Value>.

 

<RetVar/IF> <ship> launch <dronecount> fight drones: protect me or attack target=<target>

Команда запускает <dronecount> Дронов (если они есть в трюме <ship>) для защиты или атаки. Если установить <target> равным 0, дроны осуществляют защиту <ship>. Если <target> корабль, то дроны будут атаковать.

 

<RetVar/IF> <ship> is missile <missile> ready to fire

Возвращает [TRUE] если корабль <ship> готов к выстрелу ракетой <missile> (то есть ракеты имеются), и [FALSE] если нет.

 

<RetVar/IF> <ship> should a missile be fired

Возвращает  [TRUE] если вероятность попадания ракеты по текущей цели высока и [FALSE] если вероятность низка. Команда просто делает анализ, наличие ракет значения не имеет. В основном альтернативой этой инструкции является инструкция check, select fire missile.

 

<RetVar>=<ship> get fire missile probability

Возвращает заданную в процентах вероятность пуска ракет для объекта <ship>.

 

<RetVar>=<RefObj> get fire missile time difference in seconds

<RefObj> set fire missile time difference to <time> s

???

 

<ship> set fire missile probability to <probability>

Устанавливает вероятность пуска ракет <probability> процентах, для объекта <ship>.

 

<RetVar/IF> <ship> fits laser <laser> into turret <turret>

Проверяет возможно ли установить пушку <laser> в турель с номером <turret> корабля <ship>. Если возможно - выдает [TRUE], если нет – [FALSE]. Проверяется только возможность установки, соответственно наличие самих пушек не нужно. Если установить turret 0, то проверится возможность установки пушек как носовых орудий.

 

<RetVar>=<ship> get max. number of lasers in turret <turret>

Получить число лазеров в турели <turret> корабля <ship>. Также, если установить turret=0, то вернет количество носовых орудий.

 

<RetVar>=<ship> get laser type in turret <turret> at slot <slot>

Возвращает тип пушки установленной на корабле <ship>, на турели <turret>, в слоте <slot>. Нумерация слотов начинается с 0 и идет слева на право. Например, если turret=0 slot=0, то инструкция вернет тип пушки левого носового орудия.

 

<RetVar>=<ship> get number of turrets

Возвращает количество турелей имеющихся на корабле <ship>. Носовые орудия тоже учитываются.

 

<RetVar>=get range of missile type <missile>

Возвращает  радиус поражения (в метрах) ракеты типа <missile>.

 

<RetVar>=<ship> find nearest missile aiming to me

Инструкция осуществляет поиск ближайшей запущенной ракеты, наведённой на объект <object>. Данную инструкцию можно использовать только для поиска ракет. Возвращает указатель на ракету или null, если такой ракеты не найдено.

 

<RetVar/IF> <khaakship> decouple ships

Хаакский кластер <khaakship> после этой команды разваливается на отдельные корабли. Возвращает [TRUE] если кластер распался, [FALSE] если нет.

 

<RetVar/IF> <khaakship>is decoupled ships leader

Возвращает [TRUE] если хаакский корабль <khaakship> является лидером группы хаакских кораблей после распадения кластера и соответственно [FALSE] если нет.

 

<RetVar/IF> <ship>get current galaxy flight timestep in ms

Эта инструкция возвращает значение полетного таймстепа для сектора в котором находиться корабль <ship>. Таймстеп - это задержка между обновлениями ситуации в секторах. В секторе за которым идет наблюдение (просмотр карты сектора) таймстеп составляет 5000 миллисекунд, в других секторах (сектора за которыми в данное время нет наблюдения) таймстеп будет составлять 30000 миллисекунд.

 

<RetVar/IF> <ship>is landing

Эта инструкция проверяет, выполняет ли корабль в данный момент процедуру стыковку. Возвращаемые значения [TRUE] если корабль в данный момент стыкуется и [FALSE] если нет. Процедурой стыковки корабля считается завершающий момент (маневрирование перед входом в док и зам процесс входа), так называемая «завершающая стадия». Еще одна особенность это то, что если данная инструкция застанет  корабль в момент входа во врата, то возвращаемое значение тоже будет [TRUE].

 

<RetVar/IF> <ship> is starting

Возвращает [TRUE] если корабль в данный момент взлетает со станции или носителя и [FALSE] если нет.

 

<RetVar/IF> <ship> use jump drive: target=<target>

Перемещение корабля с помощью прыжкового двигателя. <target> - это либо указатель на врата, либо на сектор. Если <target> – врата, то <ship> после прыжка появится из этих врат, если сектор, то появится в центре сектора. При  выполнении этой команды на кораблях принадлежащих игроку, должен быть установлен прыжковый двигатель и в трюме должно быть необходимое для прыжка кол-во батареек. Для кораблей AL наличие прыжкового двигателя и батареек не обязательно.

Если требуется позиционировать прыжок в заданные координаты, то сразу после использования команды use jump drive следующей строкой должна идти команда set position с указанием необходимых координат. И обратите внимание,  что для позиционированного прыжка, сам прыжок должен выполняться не во врата, а в центр сектора. Т.е. <target> для команды use jump drive должен быть сектор.

Команда возвращает один из двух FLRET кодов:

FLRET_WARPED

Прыжок совершен удачно

FLRET_ERROR

прыжок не удался (нет джампдрайва или батареек)

 

<RetVar/IF> <ship> needs jamp drive enerjy for jamp to:sector=<sector>

Возвращает количество батареек необходимых кораблю <ship>, для прыжка в сектор <sector>.

 

<RetVar/IF> <ship>check, select and fire missele on <target>

Эта комплексная команда для стрельбы ракетами, объединяющая в себе несколько функций. Выполняет следующие действия: проверяет доступна ли цель <target> для поражения ракетой, выбирает ракету, запускает ракету.

Возвращает [TRUE] если выстрел произведен, [FALSE] если нет.

 

<RetVar/IF> <object>add big ship <bigship>

Проверяет имеется ли техническая возможность у объекта <object> принять большой корабль (M6, M2, M1, TL). Имеется в виду рассчитан ли док корабля, на стыковку с большими кораблями.

 

<RetVar/IF> <object>has a free big ship dock slot

Возвращает [TRUE] если стыковочный док для больших кораблей объекта <object> свободен и может принять корабль, [FALSE] если нет.

 

<RetVar/IF> <object>can be controlled by race logic

Каждый созданный в игре объект не принадлежащий игроку, подключается ко встроенной логике расы владельца, которая и берет дальнейшее управление объектом в свои руки. Эта инструкция проверяет подключен ко встроенной расовой логике объект или нет.

Возвращаемые значения  [TRUE] подключен, [FALSE] если нет.

 

<object>set race logic control enabled to [TRUE]|[FALSE]

При помощи этой инструкции можно подключить или отключить объект принадлежащий другой расе от встроенной расовой логики. Это удобно использовать для получения контроля над объектом в AL.plugin.

 

<RetVar/IF> <object>can execute StartAction

В ScE для каждого вновь созданного объекта предусмотрена команда которая дается объекту по умолчанию при его старте после создания, в отличии от расовой логики, стартовые действия объекта зависят только от его класса и расы владельца. В таблице указанны команды, которые получают вновь созданные корабли по умолчанию.

 

Класс

Игрок

Ксеноны, пираты, хааки

Остальные

M0

COMMAND_KILL_ENEMIES

M1

COMMAND_KILL_ENEMIES

M2

COMMAND_KILL_ENEMIES

M6

COMMAND_KILL_ENEMIES

M3

COMMAND_NONE, если имеется лидер, то COMMAND_PROTECT (защищать лидера), если атакован то COMMAND_ATTACK (атаковать агрессора)

COMMAND_KILL_ENEMIES

COMMAND_RETURN_HOME

M4

COMMAND_NONE, если имеется лидер, то COMMAND_PROTECT (защищать лидера), если атакован то COMMAND_ATTACK (атаковать агрессора)

COMMAND_KILL_ENEMIES

COMMAND_RETURN_HOME

M5

COMMAND_NONE, если имеется лидер, то COMMAND_PROTECT (защищать лидера), если атакован то COMMAND_ATTACK (атаковать агрессора)

COMMAND_KILL_ENEMIES

COMMAND_RETURN_HOME

TS

COMMAND_NONE

 

COMMAND_DOCKAT приземлиться на ближайшей верфи

GO

COMMAND_NONE

 

COMMAND_PREACH

UFO

COMMAND_PREACH

SPACEFLY

COMMAND_FOLLOW

Все остальные

COMMAND_NONE

       

Эта команда возвращает получил ли новый объект стартовую команду. [TRUE] получил, [FALSE] нет.

 

<object> set StartAction enabled to [TRUE]|[FALSE]

Инструкция позволяет указать ScE следует или нет давать стартовую команду вновь созданному кораблю. [TRUE] вновь созданный объект получит стартовую команду, [FALSE] объект не получит никакой команды.

 

<ship>set as player wingman: [TRUE]|[FALSE]

Сделать корабль игрока ведущим для корабля <ship>. Рядом с именем корабля появиться значок «W». Корабль <ship> получит приказ защищать корабль игрока, и будет сопровождать вас везде, атаковать любых агрессоров, а также тех на кого нападете вы.

 

<RetVar/IF> <ship>is player wingman

Возвращает [TRUE] если корабль <ship> является ведомым для корабля игрока и соответственно [FALSE] если нет.


Оглавление Сообщение об ошибках Ваше мнение о проекте E-Mail автору
Сайт создан в системе uCoz