@ <RetVar/IF><RefObj> fly to home base
|
engine v. 32
|
• | Данной командой осуществляется передача объекту-кораблю <RefObj> команды лететь в сектор где находиться база к которой он приписан, и пристыковаться к ней. Если объект-корабль <RefObj> в момент выполнения данной команды пристыкован к какой-либо базе - то он предварительно отстыкуется. |
@ <RetVar/IF><RefObj> fly to station <Var/Station>
|
engine v. 32
|
• | Данной командой осуществляется передача объекту-кораблю <RefObj> команды "лететь на станцию" <Var/Station> и пристыковаться к ней. |
@ <RetVar/IF><RefObj> fly to sector <Var/Sector>
|
engine v. 32
|
• | Данной командой осуществляется передача объекту-кораблю <RefObj> команды "лететь в сектор" <Var/Sector>. |
• | Если параметр <Var/Sector> не правильного формата (например просто число) то корабль отправиться в сектор Kingdom End. |
<RetVar/IF><RefObj> find nearest enemy ship: max.dist=<Var/Number>
|
engine v. 32
|
• | Команда осуществляет поиск ближайший враждебный корабль в сфере радиусом <Var/Number>, для объекта <RefObj>. |
• | В случае успешного поиска - возвращает найденный объект. |
<RetVar/IF><RefObj> find nearest enemy station: max.dist=<Var/Number>
|
engine v. 32
|
• | Команда осуществляет поиск ближайшей враждебной станции в сфере радиусом <Var/Number>, для объекта <RefObj>. |
• | В случае успешного поиска - возвращает найденный объект. |
<RetVar/IF><RefObj> fire lasers on target <Value> using turret <Var/Number>
|
engine v. 32
|
• | Данной командой осуществляется передача объекту <RefObj> команды "стрелять лазерами" по цели target <Value>, используя орудийную башню turret <Var/Number> . Если номер турели установлен как 0, то выстрел будет сделан из носовой(главной) турели, независимо от того находится цель target в зоне поражения или нет, орудия все равно выстрелят и команда вернет [TRUE]. Если команда дана для выстрела именно из турели (номера больше 0), то следует позаботиться чтобы цель была в зоне видимости данной турели (именно видимости, точнее турель должна быть лицом к объекту), расстояние значения не имеет, если направление правильное, то будет сделан выстрел и функция вернет [TRUE]. В случае если цель вне зоны видимости, выстрела не произойдет и возвращаемое значение будет [FALSE]. |
• | В таблице указаны соответствующие номерам турели |
0
|
Главная (носовая)
|
1
|
Носовая
|
2
|
Кормовая
|
3
|
Левая
|
4
|
Правая
|
5
|
Верхняя
|
6
|
Нижняя
|
• | Вопрос - не уверен с номерами турелей. Вот например - есть на кораблике одна турель, например кормовая - она будет иметь номер 1!. Скорее можно говорить о правиле нумерации турелей - т.е. в каком порядке выдаются номера, например с носа до кормы и слева направо. |
@ <RetVar/IF><RefObj> turn turret <Var/Number> to target <Var/Ship/Station> : timeout=<Var/Number> ms
|
engine v. 32
|
• | Данной командой осуществляется передача объекту <RefObj> команды "навести орудийную башню" turret <Var/Number> на цель target <Var/Ship/Station>. Исполнять команду не дольше timeout=<Var/Number> ms. Турель пытается найти цель в зоне своей видимости. Эта инструкция может быть использована при создании процедуры управляющей турелью. |
@ <RetVar/IF><RefObj> attack run on target <Value> : timeout=<Var/Number> ms
|
engine v. 32
|
• | Данной командой осуществляется передача объекту-кораблю <RefObj> команды, "подготовить корабль к атаке" на цель target <Value>. Получив эту команду корабль <RefObj> совершает подготовительные действия, как то: взлет со станции, сближение с целью и т.д., в течении времени timeout=<Var/Number> ms. |
@ <RetVar/IF><RefObj> defensive move: type=<Var/Number>, intensity=<Var/Number>, timeout=<Var/Number>ms, avoid object=<Value>
|
engine v. 32
|
• | Данной командой осуществляется передача объекту <RefObj> команды "совершить маневр уклонения" (резкие ускорения, спирали, изменение курса) от атаки объекта avoid object=<Value> с задержкой, не более чем timeout=<Var/Number>ms. |
• | Параметр type=<Var/Number> на сегодняшний день не реализован, тип маневра прописан непосредственно в движке программы. Параметр intensity=<Var/Number> указывается в процентах от 0 до 100 (фактически, если 0 то маневр будет заключаться, в прямом отлете на максимальной скорости исполняя «бочку». Если добавлять интенсивности, то к бочке будут добавляться периодические изменения курса.) |
@ <RetVar/IF><RefObj> move to ware object <Value> for collecting: timeout=<Var/Number> ms
|
engine v. 32
|
• | Данной командой осуществляется передача объекту-кораблю <RefObj> команды, "лететь к плавающему в космосе контейнеру с целью подобрать". После завершения, корабль будет находиться на расстоянии позволяющем приступить к подбору летающего контейнера, или стрельбе по нему. В место контейнера можно указать и корабль, тогда наш корабль <RefObj> полетит к указанному кораблю и попытается занять место рядом с ним (100-300 метров). |
<RetVar/IF><RefObj> catch ware object <Value>
|
engine v. 32
|
• | Данной командой осуществляется передача объекту-кораблю <RefObj> команды "подобрать плавающий в космосе контейнер". Получив эту инструкцию корабль подберет летающий в космосе контейнер object <Value>. Инструкция не осуществляет ни каких действий над самим кораблем, все что произойдет, это указанный контейнер будет удален из сектора, а в трюм корабля <RefObj> добавится количество товара находившиеся в этом контейнере. Расстояние инструкция не учитывает, подбор будет осуществлен, даже если корабль находится в сотне километров от контейнера. |
• | Возвращает [TRUE] если подбор контейнера осуществлен, [FALSE] если нет. Также возвращает [FALSE] если неправильно указать object <Value>, (корабль, станция и т.п.) |
@ <RetVar/IF><RefObj> move around <Var/Number> ms
|
engine v. 32
|
• | Данной командой осуществляется передача объекту-кораблю <RefObj> команды "летать покругу". Фактическое назначение этой команды - это бесцельный полет по кругу в течении указанного времени <Var/Number> ms. |
• | Может быть использована например для корабля не имеющего заданий. |
• | Корабль полетит со скоростью половина от максимальной. Если это корабль, на котором игрок, то корабль укорачиваться от препятствий не будет (может запросто с чем-нибудь столкнуться) и по истечении указанного времени будет продолжать полет. Если это другой корабль, то от препятствия отвернет в сторону и полетит уже в другом направлении. По истечении указанного времени остановится. |
@ <RetVar/IF><RefObj> escort ship <Var/Ship>
|
engine v. 32
|
• | Данной командой осуществляется передача объекту-кораблю <RefObj> команды "сопровождать корабль" (следовать за) ship <Var/Ship>. Эта инструкция не имеет временного ограничения и будет выполняться до бесконечности. |
• | Корабль получивший эту инструкцию отстыкуется, если он пристыкован, и будет следовать за сопровождаемым кораблем в пределах сектора. Скорость корабля будет выровнена со скоростью сопровождаемого корабля. Если сопровождаемый корабль будет уничтожен, перейдет в другой сектор или пристыкуется к станции, то команда будет прервана и вернет код FLRET_BREAK. |
• | В случае прерывания команды другим скриптом, управление не будет передано этой команде даже после завершения скрипта, для возвращения управления команде escort ship используется команда set follow mode [FALSE], которая помещается перед escort ship. Режим сопровождения будет снова запущен, после возврата из прервавшего выполнение скрипта (return). |
@ <RetVar/IF><RefObj> escort ship <Var/Ship>: timeout=<Var/Number> ms
|
engine v. 32
|
• | Тоже команда эскортирования, действия идентичны предыдущей, разница заключается в том, что устанавливается временное ограничение на исполнение. И соответственно появляется еще один код возврата FLRET_TIMEOUT, время отведенное на выполнение вышло. |
<RefObj> set formation <Var/Number>
|
engine v. 32
|
• | Команда устанавливает тип построения formation <Var/Number> для всех кораблей сопровождающих корабль <RefObj>. Тип построения задает специальная константа . |
<RefObj> add to formation with leader <Var/Ship>
|
engine v. 32
|
• | Команда добавляет корабль <RefObj> в построение с ведущим кораблем leader <Var/Ship>. Корабль займет место в построении сопровождающих leader <Var/Ship> кораблей. |
• | Также для этого корабля <RefObj> станут доступны сигналы поступающие для всего построения, то есть корабль будет реагировать на изменение обстановки согласно поступившему сигналу (см. разд. SCE=> «Сигналы»). |
<RefObj> remove from any formation
|
engine v. 32
|
• | Команда исключает корабль<RefObj> из всех построений. |
<RetVar/IF><RefObj> get formation leader
|
engine v. 32
|
• | Команда осуществляет запрос текущего лидера того построения, к которому принадлежит корабль <RefObj> построения. Запрос может относится к любому кораблю <RefObj> входящему или нет в построении. В случае, если корабль входит в построение и не является его лидером - команда вернет текущего лидера построения, иначе - null. |
<RetVar> = <RefObj> get formation follower ships
|
engine v. 32
|
• | Команда возвращает массив кораблей участвующих в построении. Если указанное судно <RefObj> не является участником построения или не существует самого построения - то команда вернет null. |
START <RefObj> command <Object Command> : arg1=<Value>, arg2=<Value>, arg3=<Value>, arg4=<Value>
|
engine v. 32
|
• | Команда осуществляет запуск игровой команды <Object Command> объекта <RefObj>, как если бы игрок сам выбрал ее в командном меню. Возможность указать четыре аргумента, если они требуются. |
<RefObj> send signal <Object Signal> : arg1=<Value>, arg2=<Value>, arg3=<Value>, arg4=<Value>
|
engine v. 32
|
• | Команда посылает объекту <RefObj> сигнал <Object Signal>, то есть запустить на объекте обработчик посланного сигнала <Object Signal> (см. разд. SCE=> «Сигналы»). |
@ <RetVar/IF><RefObj> follow object <Var/Ship> with precision <Var/Number> m
|
engine v. 32
|
• | Данной командой осуществляется передача объекту-кораблю <RefObj> команды "сблизится с объектом object <Var/Ship> на расстояние precision <Var/Number> m". |
• | В отличии от команды escort ship, предназначенной для сопровождения и защиты корабля, эта команда более удобна для подготовительных действий для нападения. Эта команда тоже запускает корабль <RefObj>, даже если он пристыкован, после чего корабль на максимальной скорости движется к цели. |
• | После достижения необходимого расстояния, команда возвращает код FLRET_TARGETREACHED. Расстояние указывается приблизительно, т.к. добиться идеальной точности очень трудно, да и не к чему. |
• | Если выполнение команды прервано другим скриптом, то для возврата управления этой команде (после выполнения скрипта) нужно использовать команду set follow mode [FALSE]. |
• | До того как корабль достигнет нужного расстояния до цели, прервать выполнение команды может только другой скрипт или ситуация когда достижение цели становится невозможным (корабль-цель покинул сектор, пристыковался, уничтожен). Эта команда эффективна для преследования быстрыми кораблями. Если <RefObj> не является очень быстрым кораблем, то желательно использовать follow …timeout . |
@ <RetVar/IF><RefObj> follow <Var/Ship> with precision <Var/Number> m : timeout=<Var/Number> ms
|
engine v. 32
|
• | Та же команда "сблизится с объектом", все функциональные действия - как в предыдущей команде. |
• | Добавлен параметр timeout=<Var/Number> ms - указывающий количество времени в миллисекундах на выполнение. Все возвращаемые коды те же, и добавлен еще FLRET_TIMEOUT (время отведенное на выполнение команды вышло). |
<RefObj> set follow mode <Var/Number>
|
engine v. 32
|
• | Команда устанавливает включенным или выключенным ([TRUE]|[FALSE]) режим сопровождения. |
• | Фактически наличие этой команды перед follow или escort обеспечивает возврат управления этим командам после их прерывания. Управление возвращается после возвращения из прерывающего скрипта. В чем отличие между включенным и выключенным режимом непонятно. Похоже работают одинаково. |
<RetVar/IF><RefObj> get follow mode
|
engine v. 32
|
• | Команда возвращает [TRUE] если корабль <RefObj> сопровождает или движется к какому-нибудь объекту и [FALSE] если нет. |
<RefObj> set destination to <Value>
|
engine v. 32
|
• | Команда установить информативное назначение. |
• | Фактически только информационная команда, чтобы игрок мог понять, куда корабль направляется, просмотрев информацию по кораблю. Непосредственно к полету команда не привязана, например можно командой fly to … послать корабль в одно место, а destination указать другое. Более подробное рассмотрение в разделе «Особенности использования некоторых команд.» глава «Использование информативных команд» |
<RetVar/IF><RefObj> get destination
|
engine v. 32
|
• | Команда возвращает информативное назначение корабля <RefObj>, то есть значение установленное командой из командного меню или командой set destination. |
<RefObj> set attack target to <Value>
|
engine v. 32
|
• | Команда устанавливает информативное значение target to <Value> в пункте «Атаковать». |
• | Учтите что <RefObj> должен выполнять команду которая активируем этот пункт в информационных экранах. |
<RetVar/IF><RefObj> get attack target
|
engine v. 32
|
• | Команда возвращает информативное значение атакуемого объекта для корабля <RefObj>. Возвращаемое значение может быть установлено командой из командного меню или командой set attack target. |
@ <RetVar/IF><RefObj> move to position: x=<Var/Number> y=<Var/Number> z=<Var/Number> with precision <Var/Number> m
|
engine v. 32
|
• | Данной командой осуществляется передача объекту-кораблю <RefObj> команды "двигаться в точку с указанными координатами" x=<Var/Number> y=<Var/Number> z=<Var/Number> до тех пор, пока удаленность <RefObj> от этой точки не станет менее "точности" precision <Var/Number> m. |
• | Эту удаленность (точность) требуется указывать именно в игровых юнитах, а не метрах, не смотря на наличие m после этого параметра. Т.е. желаемую удаленность требуется сначала умножить на 222, а потом подставлять в данную команду |
<RefObj> set command: <Object Command>
|
engine v. 32
|
• | Суть этой команды в том, чтобы установить информационные значения, отображаемые в инфо-объекта и в меню собственности, для объекта <RefObj> (работает только если <RefObj>=[THIS]). |
• | Эта команда относится к семейству информативных команд, то есть ее цель только информация и ни какого отношения к управлению действиями объекта. Команда отразит в инфо-корабля напротив пункта «Команда» текст связанный с этой командой, взятый из основного языкового файла со страницы 2010. Этот текст будет отображаться все время выполнения скрипта или до другой команды set command. |
• | Если в процессе работы скрипт вызывает другой скрипт в котором присутствует команда set command изменяющая текущее значение, то по возвращению управления вызывающему скрипту, начальное значение set command восстановлено не будет. Подробно о информационных командах в разделе «Особенности использования некоторых команд.» глава «Использование информативных команд» |
<RetVar/IF><RefObj> get command
|
engine v. 32
|
• | Команда возвращает команду установленную для объекта <RefObj>. Это может быть команда данная объекту из командного меню или установленная командой set command |
<RefObj> set command target: <Value>
|
engine v. 32
|
• | Команда дополняющая команду set command. Set command target. Позволяет дополнить информацию выводимую предыдущей командой в пункте «Команда», указанием цели target: <Value> для команды. |
• | Следует обратить внимание на то, что эта команда работает только со встроенными командами в ScE Х2. Если вы попробуете использовать ее со свободными командами типа CUSTOM, SPECIAL и т.п., то цель команды не будет отражена. |
• | Команда имеет таки же ограничения как и set command. Значение устанавливается только на время выполнения скрипта. |
<RetVar/IF><RefObj> get command target
|
engine v. 32
|
• | Команда возвращает информативную цель установленную для объекта <RefObj>. Это может быть значение задаваемое командой из командного меню объекта или командой set command target. |
<RefObj> set command target2: <Value>
|
engine v. 32
|
• | Некоторые команды имеют второстепенную информативную цель. Например, команда покупать товар имеет две цели. Первая, это товар который покупать, а второе это станция на которой покупать. Вот станция на которой корабль будет покупать товар и является target2: <Value>. При помощи этой команды можно задать это значение. |
• | Команда имеет те же ограничения, что и команда set command. |
<RetVar/IF><RefObj> get command target2
|
engine v. 32
|
• | Команда возвращает второстепенную информативную цель объекта <RefObj>, заданную командой выбранной из командного меню или установленного командой set command target2. |
<RetVar> = <RefObj> select new formation leader by: ship class=<Var/Number> strength=<Var/Number> min.speed=<Var/Number>
|
engine v. 32
|
• | Этой командой можно автоматически выбрать нового лидера для корабля <RefObj>, в случае уничтожения предыдущего. |
• | Например, обработав сигнал SIGNAL_KILLED, вы можете указать критерии по которым будет отбираться лидер. |
• | Выбор можно сделать по классу корабля class=<Var/Number>, по силе корабля strength=<Var/Number> или по минимальной скорости min.speed=<Var/Number>, при этом значениями критерия должны быть не конкретные значения, а [TRUE] или [FALSE]. [TRUE] означает, что лидером будет выбран тот корабль, для которого данный параметр круче. |
<RetVar/IF><RefObj> has formation ships
|
engine v. 32
|
• | Команда возвращает [TRUE] если корабль <RefObj> имеет сопровождение, и [FALSE] если сопровождения нет. |
<RefObj> give formation leadership to <Var/Ship>
|
engine v. 32
|
• | Команда позволяет изменить лидера группы на конкретно указанный корабль <Var/Ship>. |
<RefObj> set pilot fightskill to <Var/Number>
|
engine v. 32
|
• | Команда устанавливает боевой уровень пилота корабля <Var/Number> в пределах от 0 до 30 |
• | Используется в боевых скриптах для изменения тактики боя, интенсивности манёвров уклонения, а также влияет на внутренние алгоритмы "удалённого боя". Оказывает влияние на поведение при диалогах на такой вопрос, как "Выбрасывай груз". Чем меньше боевой уровень, тем больше вероятность, что корабль сбросит груз, (и чем меньше уровень агрессии тем меньше вероятность, что при выбросе груза кораблик покраснеет, но агрессию из скриптов не поменять, но узнать можно) |
<RetVar><RefObj> get pilot fightskill
|
engine v. 32
|
• | Команда позволяет получить значение боевого уровня пилота (возвращаемое значение лежит в пределах от 0 до 30). |
• | Некоторые боевые навигационные скрипты используют это значение чтоб изменить алгоритм поведения. К примеру с ростом боевого уровня может быть уменьшено время задержки между реакциями скрипта на изменение обстановки, коректироваться скорость длительность и интенсивность манёвров уклонения от атак. |
<RetVar/IF> get player tracking aim
|
engine v. 32
|
• | Команда возвращает объект, который находится в прицеле корабля игрока. Вернет null, если в прицеле ничего нет. |
<RetVar/IF><RefObj> is <Var/Ship/Station> in firing range of turret <Var/Number>
|
engine v. 32
|
• | Команда осуществляет проверку, находится ли игровой объект <Var/Ship/Station> в зоне поражения турели turret <Var/Number>. Проверяется расстояние до цели и дальность стрельбы из оружия установленного на указанной турели. Также можно использовать для определения находится ли цель в зоне поражения из основных орудий, достаточно указать turret 0. |
• | Возвращаемые значения [TRUE] - если цель доступна, и [FALSE] - если нет. |
<RetVar> = <RefObj> find enemy in firing range of turret <Var/Number>
|
engine v. 32
|
• | Команда осуществляет поиск врага в зоне поражения указанной турели turret <Var/Number> корабля <RefObj>. Если цель находиться в зоне поражения турели - то инструкция вернет значение [TRUE], если не одна цель не найдена вернет значение [FALSE]. |
• | Зона поражения зависит от установленного оружия, если на турели не установлены пушки, то вернет [FALSE]. |
• | Цель выбирается из установок корабля (свой-чужой), так что учтите что врагами могут оказаться и не враги (т.е. будут найдены те, кого считаете врагами вы). |
<RefObj> set command: <Object Command> target=<Value> target2=<Value> par1=<Value> par2=<Value>
|
engine v. 32
|
• | Эта команда объединяет в себе целый набор информативных команд таких как set command и set target, set target2 и позволяет задать еще два дополнительных параметра par1=<Value> и par2=<Value>. Например информационная команда GET_WARE помещает в дополнительные параметры количество покупаемого товара, и максимальную цену. |
<RetVar/IF><RefObj> fire missile <Var/Ware> on <Value>
|
engine v. 32
|
• | Данной командой осуществляется передача объекту-кораблю <RefObj> команды "запустить 1 ракету" типа missile <Var/Ware> в цель on <Value>. Ракеты должны быть как минимум в грузовом отсеке, но предварительная их установка в качестве "активной" не обязательна. |
<RetVar/IF><RefObj> get current missile
|
engine v. 32
|
• | Команда возвращает тип "активных" в данный момент ракет для корабля <RefObj>. Если нет установленных ракет возвращает null. |
<RetVar/IF><RefObj> find best missile for target <Value>
|
engine v. 32
|
• | Команда возвращает лучший, с точки зрения компьютера, тип ракеты из имеющихся в трюме объекта-корабля <RefObj>, который может быть применен для поражения цели target <Value>. |
<RetVar> = best missile type for target <Value>
|
engine v. 32
|
• | Команда возвращает лучший, с точки зрения компьютера, тип ракеты из существующих в игре, который может быть применен для поражения цели target <Value>. |
<RetVar/IF><RefObj> launch <Var/Number> fight drones: protect me or attack target=<Value>
|
engine v. 32
|
• | Команда осуществляет запуск боевых дронов в количестве <Var/Number> из грузового отсека объекта-корабля <RefObj> для его защиты или атаки заданной цели target=<Value>. Если в качестве цели указано значение target=0, боевые дроны осуществляют защиту объекта-корабля <RefObj>, иначе они будут атаковать заданную цель. |
<RetVar/IF><RefObj> is missile <Var/Ware> ready to fire
|
engine v. 32
|
• | Команда возвращает признак готовности объекта-корабля <RefObj> к выстрелу ракетой <Var/Ware>. Возвращает [TRUE] - если корабль готов к выстрелу , иначе - [FALSE]. |
• | Готовность к выстрелу проверятся по следующим условиям: |
• | Наличие данного типа ракет в грузовом отсеке |
• | Возможность корабля выпускать этот тип ракет |
• | С момента последнего запуска прошло времени больше, чем установлено командой, <RefObj> set fire missile time difference to <Var/Number> s |
<RetVar/IF><RefObj> should a missile be fired
|
engine v. 32
|
• | Команда возвращает [TRUE] если если в данный момент вероятность запуска ракеты высока и [FALSE] если вероятность низка. Команда просто делает анализ, наличие ракет значения не имеет. |
• | Данная команда используется совместно с командой <RefObj> set fire missile probability to <Var/Number>, которая и устанавливает вероятность запуска ракеты. |
• | Если задать probability to 100, то should a missile be fired всегда будет [TRUE]. |
<RetVar> = <RefObj> get fire missile probability
|
engine v. 32
|
• | Команда возвращает выраженную в процентах вероятность пуска ракет для объекта <RefObj>. |
<RetVar> = <RefObj> get fire missile time difference in seconds
|
engine v. 32
|
• | Команда используется для получения значения установленного минимального промежутка времени между двумя последовательными запусками ракет. Значение возвращается в миллисекундах. |
<RefObj> set fire missile probability to <Var/Number>
|
engine v. 32
|
• | Команда задает выраженную в процентах вероятность пуска ракет для объекта <RefObj>. |
<RefObj> set fire missile time difference to <Var/Number> s
|
engine v. 32
|
• | Команда используется для задание минимального промежутка времени, в миллисекундах, между двумя последовательными запусками ракет |
<RetVar/IF><RefObj> fits laser <Var/Ware> into turret <Var/Number>
|
engine v. 32
|
• | Команда проверяет возможно ли установить орудие laser <Var/Ware> в турель с номером turret <Var/Number> корабля <RefObj>. |
• | Если возможно - выдает [TRUE], если нет – [FALSE]. |
• | Проверяется только возможность установки, соответственно наличие самих пушек не нужно. Если установить turret 0, то проверится возможность установки пушек как носовых орудий. |
<RetVar> = <RefObj> get max. number of lasers in turret <Var/Number>
|
engine v. 32
|
• | Команда возвращает максимальное число орудий в турели turret <Var/Number> объекта-корабля <RefObj>. Также, если установить turret 0, то команда вернет количество носовых орудий. |
<RetVar> = <RefObj> get laser type in turret <Var/Number> at slot <Var/Number>
|
engine v. 32
|
• | Команда возвращает тип орудия установленного на объекте-корабле <RefObj>, в турели turret <Var/Number>, в слоте slot <Var/Number>. |
• | Нумерация слотов начинается с 0 и идет слева на право. Например, если get laser type in turret 0 at slot 0, то инструкция вернет тип левого носового орудия. |
<RetVar> = <RefObj> get number of turrets
|
engine v. 32
|
• | Команда возвращает количество турелей имеющихся на корабле <RefObj>. Носовая турель тоже учитываются. |
<RetVar> = get range of missile type <Var/Ware>
|
engine v. 32
|
• | Команда возвращает радиус поражения (в юнитах, для получения значения в метрах - нужно его разделить на 500) ракеты типа type <Var/Ware>. |
<RetVar> = <RefObj> find nearest missile aiming to me
|
engine v. 32
|
• | Команда осуществляет поиск ближайшей запущенной ракеты, наведённой на объект <RefObj>. Данную команду можно использовать только для поиска ракет. Возвращает указатель на ракету или null, если такой ракеты не найдено. |
<RetVar/IF><RefObj> can missile <Var/Ware> be installed
|
engine v. 32
|
• | Команда проверяет возможность установки ракет типа missile <Var/Ware> на объект-корабль <RefObj> в качестве "активной", т.е. возможность стрельбы с данного объекта ракетами указанного типа. |
<RetVar/IF><RefObj> decouple ships
|
engine v. 32
|
• | Команда "разваливает" хаакский кластер <RefObj> на отдельные корабли. |
• | Возвращает [TRUE] если кластер "разделился", [FALSE] если нет. |
<RetVar/IF><RefObj> is decoupled ships leader
|
engine v. 32
|
• | Команда возвращает [TRUE] - если хаакский корабль <RefObj> является лидером группы хаакских кораблей после "разделения" кластера и соответственно [FALSE] - если нет. |
<RetVar/IF><RefObj> get current galaxy flight timestep in ms
|
engine v. 32
|
• | Команда возвращает значение полетного таймстепа для сектора в котором находиться корабль <RefObj>. Таймстеп - это задержка между обновлениями ситуации в секторах. |
• | В секторе за которым идет наблюдение (просмотр карты сектора) таймстеп составляет 5000 миллисекунд. |
• | В других секторах (сектора за которыми в данное время нет наблюдения) таймстеп будет составлять 30000 миллисекунд. |
<RetVar/IF><RefObj> is landing
|
engine v. 32
|
• | Команда проверяет, выполняет ли корабль в данный момент процедуру стыковку. |
• | Возвращаемые значения [TRUE] если корабль в данный момент стыкуется и [FALSE] если нет. |
• | Процедурой стыковки корабля считается завершающий момент (маневрирование перед входом в док и сам процесс входа), так называемая "завершающая стадия". |
• | Еще одна особенность это то, что если данная инструкция застанет корабль в момент входа во врата, то возвращаемое значение тоже будет [TRUE]. |
<RetVar/IF><RefObj> is starting
|
engine v. 32
|
• | Команда возвращает [TRUE] если корабль в данный момент взлетает со станции или носителя и [FALSE] если нет. |
<RetVar/IF><RefObj> move to position continue: x=<Var/Number> y=<Var/Number> z=<Var/Number> with precision <Var/Number> m
|
engine v. 32
|
• | Данной командой осуществляется передача объекту-кораблю <RefObj> команды "двигаться в точку с указанными координатами" x=<Var/Number> y=<Var/Number> z=<Var/Number> до тех пор, пока удаленность <RefObj> от этой точки не станет менее "точности" precision <Var/Number> m. |
• | Эту удаленность (точность) требуется указывать именно в игровых юнитах, а не метрах, не смотря на наличие m после этого параметра. Т.е. желаемую удаленность требуется сначала умножить на 222, а потом подставлять в данную команду. |
• | Отличается от команды <RetVar/IF><RefObj> move to position : x=<Var/Number> y=<Var/Number> z=<Var/Number> with precision <Var/Number> m тем, что при прерывании первой команды сторонним скриптом управление вновь вернется этой команде по завершению стороннего скрипта. |
• | Таким образом, если корабль атаковали во время движения к позиции, он обработает сигнал "SIGNAL_ATTACKED" и по завершении обработки сигнала продолжит движение к позиции. |
<RetVar/IF><RefObj> move to debris/asteroid <Value> and turn turret <Var/Number> to target: timeout=<Var/Number>
|
engine v. 32
|
• | Команда осуществляет передачу объекту-кораблю <RefObj> игровых команд "лететь к астероиду/обломку астероида" debris/asteroid <Value> и "навести турель" на него. А так же исполнять заданную последовательность команд не больше чем timeout=<Var/Number> ms. |
<RetVar/IF><RefObj> use jump drive: target=<Value>
|
engine v. 32
|
• | Команда задает перемещение корабля <RefObj> с помощью прыжкового двигателя. |
• | В данном случае target=<Value> - это либо указатель на врата, либо на сектор. |
• | Если target=<Value> – врата, то корабль <RefObj> после прыжка появится из этих врат, если сектор, то появится в центре сектора. |
• | При выполнении этой команды на кораблях принадлежащих игроку, должен быть установлен прыжковый двигатель и в трюме должно быть необходимое для прыжка кол-во батареек. Для кораблей AL наличие прыжкового двигателя и батареек не обязательно. |
• | Если требуется позиционировать прыжок в заданные координаты, то сразу после использования команды use jump drive следующей строкой должна идти команда set position с указанием необходимых координат. |
• | И обратите внимание, что для позиционированного прыжка, сам прыжок должен выполняться не во врата, а в центр сектора. Т.е. target=<Value> для команды use jump drive должен быть сектор. |
<RetVar/IF><RefObj> needed jump drive energy for jump to sector <Var/Sector>
|
engine v. 32
|
• | Команда возвращает количество батареек необходимых кораблю <RefObj>, для прыжка в сектор <Var/Sector>. |
<RetVar/IF><RefObj> check, select and fire missile on <Value>
|
engine v. 32
|
• | Команда - комплексная, предназначена для стрельбы ракетами, и объединяет в себе несколько функций. |
• | Выполняет следующие действия: проверяет доступна ли цель on <Value> для поражения ракетой, выбирает ракету и запускает ее по цели. |
• | Возвращает [TRUE] - если выстрел произведен, [FALSE] - если нет. |
<RetVar/IF><RefObj> add big ship <Var/Ship>
|
engine v. 32
|
• | Команда добавляет в объект <RefObj>, при наличии у объекта технической возможности принять большой корабль (класса M6, M2, M1, TL), указанный корабль <Var/Ship>. |
<RetVar/IF><RefObj> has a free ship dock port: ship subtype = <Value>
|
engine v. 32
|
• | Команда проверяет, свободен ли стыковочный док объекта <RefObj> для кораблей класса ship subtype = <Value> и может принять корабль в данный момент . |
<RetVar/IF><RefObj> can be controlled by race logic
|
engine v. 32
|
• | Каждый созданный в игре объект не принадлежащий игроку, подключается ко встроенной логике расы владельца, которая и берет дальнейшее управление объектом в свои руки. Эта инструкция проверяет подключен ко встроенной расовой логике объект или нет. |
• | Возвращаемые значения [TRUE] - если подключен и [FALSE] - если нет. |
<RefObj> set race logic control enabled to <Var/Number>
|
engine v. 32
|
• | Команда осуществляет подключение/отключение объекта не принадлежащего игроку к встроенной расовой логики. |
• | Это удобно использовать для получения контроля над объектом в AL.plugin. |
• | Однако следуе тпомнить, что при установке set race logic control enabled to [FALSE] ничейный нейтральный объект <RefObj> нельзя присвоить (захватить) стандартными средствами. |
<RetVar/IF><RefObj> can execute StartAction
|
engine v. 32
|
• | Команда определяет, получил ли вновь созданный объект . [TRUE] - получил, [FALSE] - нет. |
• | Для каждого вновь созданного объекта предусмотрена команда которая дается объекту по умолчанию при его старте после создания, в отличии от расовой логики, стартовые действия объекта зависят только от его класса и расы владельца. |
<RefObj> set StartAction enabled to <Var/Number>
|
engine v. 32
|
• | Команда определяет, необходимо ли давать вновь созданному кораблю. [TRUE] вновь созданный объект получит стартовую команду, [FALSE] объект не получит никакой команды. |
<RefObj> set as player wingman: <Var/Number>
|
engine v. 32
|
• | Команда задает корабль игрока ведущим для корабля <RefObj>(сделать корабль <RefObj> ведомым). Рядом с именем корабля появиться значок «W» ("В"). Корабль <RefObj> получит приказ защищать корабль игрока, и будет сопровождать вас везде, атаковать любых агрессоров, а также тех - на кого нападете вы. |
• | Параметр <Var/Number> может принимать значения [TRUE] или [FALSE], что позволяет включать/исключать корабль <RefObj> из списка ведомых. |
<RetVar/IF><RefObj> is player wingman
|
engine v. 32
|
• | Команда проверяет, является ли объект-корабль <RefObj> ведомым для корабля игрока. Результат либо [TRUE] либо [FALSE]. |
set player tracking aim to <RefObj>
|
engine v. 32
|
• | Наводит прицел корабля игрока на объект <RefObj>. |
<RetVar> = <RefObj> get formation
|
engine v. 32
|
• | Команда возвращает текущее , в котором участвует корабль <RefObj>. |
<RetVar/IF><RefObj> get current action
|
engine v. 32
|
• | Команда возвращает текущее действие объекта <RefObj>. |
<RetVar> = <RefObj> get array of missiles aiming to me
|
engine v. 32
|
• | Команда возвращает массив ракет, которые нацелены на объект <RefObj>. |
<RetVar/IF><RefObj> turret <Var/Number> can use laser <Var/Ware>
|
engine v. 32
|
• | Команда возвращает результат проверки возможности установки орудия laser <Var/Ware> в турель turret <Var/Number>. Не требует наличия данного орудия в грузовом отсеке. |
<RefObj> set pirate cover state to <Var/Number>
|
engine v. 32
|
• | Команда включает/выключает ([TRUE]/[FALSE]) режим маскировки для пиратского корабля. При включение пират будет выглядеть на радаре вполне законопослушным гражданином. |
• | В самой игре можно использовать сканирование, чтобы раскрыть маскировку (похоже, это не всегда работает). Разумеется, если <RefObj> - не пират, то не случится ровным счётом ничего. |
<RetVar/IF><RefObj> scan potential pirate <Var/Ship> for illegal wares
|
engine v. 32
|
• | Команда осуществляет проверку (сканирование) объекта <RefObj> на предмет наличия запрещенных в данном секторе товаров в его грузовом отсеке. |
@ <RetVar/IF><RefObj> attack run on target <Value> : timeout=<Var/Number>ms speedlimit=<Var/Number>
|
engine v. 32
|
• | Данной командой осуществляется передача объекту-кораблю <RefObj> команды, "подготовить корабль к атаке" на цель target <Value>. Получив эту команду корабль <RefObj> совершает подготовительные действия, как то: взлет со станции, сближение с целью и т.д., в течении времени timeout=<Var/Number> ms и с предельной скоростью speedlimit=<Var/Number>. |
<RetVar/IF><RefObj> is target visible <Var/Ship/Station>
|
engine v. 32
|
• | Команда возвращает [TRUE], если цель <Var/Ship/Station> видна для корабля <RefObj> на радаре или карте сектора. Иначе возвращает [FALSE](к примеру невидимыми будут космомухи). |
<RetVar> = <RefObj> get scanner range
|
engine v. 32
|
• | Команда возвращает радиус действия (в метрах) наиболее мощного из установленных на борту <RefObj> сканеров. Сканеры могут быть установлены только на кораблях и станциях. |
<RefObj> select and switch lasers for target <Var/Ship/Station> in turret <Var/Number>: scan for friends <Var/Number>
|
engine v. 32
|
• | Данной командой осуществляется выбор наилучшего, с точки зрения компьютера, для поражения цели target <Var/Ship/Station> типа орудия, которое можно установить в турель turret <Var/Number>, из имеющегося в грузовом отсеке корабля <RefObj>. |
• | Параметр scan for friends <Var/Number>, определяет необходимость проверки на наличие в радиусе действия дружественных кораблей, с целью исключения их повреждения оружием "массового" поражения (PSG или Ion Disruptor). |
<RetVar/IF><RefObj> get homesector
|
engine v. 32
|
• | Команда возвращает значение "домашнего" сектора для объекта-корабля <RefObj>. Для купленных игроком кораблей от всегда равен null, захваченные - могут иметь реальное значение, заданное им до захвата движком игры. |
<RefObj> set homesector to <Var/Sector>
|
engine v. 32
|
• | Команда позволяет задать значение "домашнего" сектора для объекта-корабля <RefObj>. Значение "домашнего сектора" используется движком игры для воссоздания кораблей NPC в заданных в этом поле секторах, в случае их уничтожения. |
<RetVar/IF><RefObj> get job leader
|
engine v. 32
|
• | Команда возвращает "рабочего" лидера. Это необходимо для NPC кораблей выполняющих определённую работу JobID группой. Например группа патрулирующая сектор, или прикрывающая группа для торговца. Эта команда позволяет не терять лидера рабочей группы в скриптах "!job.*" |
<RetVar> = <RefObj> get job idle rate
|
engine v. 32
|
• | Возвращает процент общего времени полёта, которое свободный торговец тратит на отдых (бездействие). |
• | В реальности в скриптах разработчиков есть только расчет времени простоя, а сам отдых не реализован. |
<RetVar> = <RefObj> get flight time
|
engine v. 32
|
• | Команда текущее время нахождения в полете объекта <RefObj>, т.е. время с последнего обнуления этого значения. По умолчанию, значение обнуляется в момент посадки, либо командой reset flight time. |
<RefObj>reset flight time
|
engine v. 32
|
• | Команда обнуляет счетчик нахождения объекта <RefObj> в полете. |
<RetVar> = <RefObj> get job jump range
|
engine v. 32
|
• | Команда возвращает число прыжков от домашнего сектора (homesector) в радиусе которых объект <RefObj> может выполнять свои обязаности JobID. Например для свободных торговцев этой командой можно узнать, как далеко от домашнего сектора тот будет искать станции для торговли. |
<RetVar/IF><RefObj> wait idle rate minimum:<Var/Number> ms
|
engine v. 32
|
• | Команда является аналогом команды @ <RetVar/IF>wait <Var/Number> ms, однако действует только на кораблях, прописанных в Jobs.txt, иначе ничего не делает. |
<RetVar> = <RefObj> fire laser of turret <Var/Number> ahead
|
engine v. 32
|
<RefObj> auto sync patrol sector with environment: <Var/Number>
|
engine v. 32
|
• | Команда позволяет на объекте <RefObj> (желательно, чтоб был кораблём) автоматически генерировать команду COMMAND_PATROL как сигнал исходящий от GodEngine, или, если хотите, от правительства сектора. |
<RefObj> add to patrol group for sector: <Var/Sector>
|
engine v. 32
|
• | Команда добавляет указанный корабль <RefObj> к расовому патрулю в секторе <Var/Sector>. |
• | Для кораблей игрока - они присоединяются(создают) к патрулю игрока. |
• | Для кораблей игровых рас - они присоединяются(создают) к патрулю расы, владельца корабля, в указанном секторе. |
• | При добавлении корабля к патрулю - не осуществляется проверка на то, не добавлен ли он в патруль в другом секторе, таким образом, если данную команду использовать с одним и тем же кораблям, но задавая разные сектора - должен получиться многосекторный патруль. Точнее корабль получит запрос о помощи из любого сектора, к патрулю в котором он был добавлен. |
<RefObj> remove from patrol group for sector: <Var/Sector>
|
engine v. 32
|
• | Команда удаляет корабль <RefObj> из списка патруля для сектора <Var/Sector>. |
<RefObj> remove all patrol group references
|
engine v. 32
|
• | Команда удаляет корабль <RefObj> из списков патрулей всех секторов в игре. |
<RefObj> set relations from notoriety: include player as target and race > teladi as owner=<Var/Number>
|
engine v. 32
|
• | Команда устанавливает отношения между объектом <RefObj> и игроком базируясь на рейтинге пилота у расы owner=<Var/Number>. |
<RetVar/IF><RefObj> get job id
|
engine v. 32
|
• | Команда возвращает номер задания (лидер патруля, ведомые патруля, торговцы, пираты) для объекта <RefObj> полученного им при респавне. |
• | JobID находятся в файлах Jobs.txt |
• | Корабли поддержки: JobWings.txt |
• | Списки товаров: WareList.txt . |
|