Elite Games - Свобода среди звезд!

X2 - Скрипты - ScE - Основные команды работы с объектами

ОСНОВНЫЕ КОМАНДЫ ДЛЯ РАБОТЫ С ОБЪЕКТАМИ

<RetVar/IF> <RefObj> get object class
Возвращает класс объекта <RefObj>.

<RetVar/IF> <RefObj> get owner race
Возвращает расу владельца объекта <RefObj>.

<RetVar/IF> <RefObj> get environment
Возвращает положение объекта <RefObj>.

<RetVar/IF> <RefObj> get sector
Возвращает сектор, в котором находится объект <RefObj>.

<RetVar/IF> <RefObj> get homebase
Возвращает объект приписки объекта <RefObj>.

<RetVar/IF> <RefObj> is of class <Var/Class>
Возвращает значение, принадлежит ли объект <RefObj> классу <Var/Class>.

<RetVar/IF> <RefObj> exists
Возвращает значение, есть ли объект <RefObj>.

<RetVar/IF> <RefObj> get ware type code of object
Возвращает точный тип объекта. Результат данной функции можно, например, использовать, как аргумент для функции create ...

<RetVar/IF> <RefObj> get serial name of station
Возвращает название объекта <RefObj>.

<RetVar/IF> find station in galaxy: startsector=<Var/Sector> class or type=<Value1> race=<Var/Race> flags=<Var/Number1> refobj=<Value2> serial=<Var/Station Serial> max.jumps=<Var/Number2>
Возвращает найденную станцию класса или типа <Value1> расы <Var/Race> с названием <Var/Station Serial>, начиная поиск с сектора <Var/Sector> и максимальным количеством прыжков <Var/Number2>.

<RetVar/IF> <RefObj> is of type <Var/Ship Type/Station Type>
Проверить, является ли объект <RefObj> указанным типом <Var/Ship Type/Station Type>.

<RetVar/IF> get jumps from sector <Var/Sector1> to sector <Var/Sector2>
Подсчитать количество прыжков из сектора <Var/Sector1> до сектора <Var/Sector2>.

<RetVar/IF> get next sector on route from sector <Var/Sector1> to sector <Var/Sector2>
Возвращает следующий сектор по пути следования из сектора <Var/Sector1> в сектор <Var/Sector2>.

<RefObj> set homebase to <Var/Ship/Station>
Установить объект приписки <Var/Ship/Station> для объекта <RefObj>.

<RetVar/IF> <RefObj> get current shield strength
Возвращает уровень щита объекта <RefObj>.

<RetVar/IF> <RefObj> get maximum shield strength
Возвращает максимальный уровень щита объекта <RefObj>.

<RetVar/IF> <RefObj> get current laser strength
Возвращает уровень энергии лазера объекта <RefObj>.

<RetVar/IF> <RefObj> get maximum laser strength
Возвращает максимально возможный уровень энергии лазера объекта <RefObj>.

<RetVar/IF> <RefObj> get max. shield type that can be installed
Возвращает максимально возможное число щитов, которое можно установить на объект <RefObj>.

<RetVar/IF> <RefObj> get max. laser type that can be installed
Возвращает максимально возможное число лазеров, которое можно установить на объект <RefObj>.

<RetVar/IF> <RefObj> get number of shield bays
Возвращает число щитов объекта <RefObj>.

<RetVar/IF> <RefObj> get number of laser bays
Возвращает число лазеров объекта <RefObj>.

<RetVar/IF> <RefObj> get max. rocket type that can be installed
Возвращает максимально возможный тип ракет, который можно установить на объект <RefObj>.

<RetVar/IF> <RefObj> get relation to object <Var/Ship/Station>
Возвращает отношение объекта <RefObj> к объекту <Var/Ship/Station>.

<RetVar/IF> <RefObj> get relation to race <Var/Race>
Возвращает отношение объекта <RefObj> к расе <Var/Race>. Возможные значения: Friend, Neutral, Foe.

<RetVar/IF> <RefObj> get notoriety to race <Var/Race>
Возвращает репутацию объекта <RefObj> у расы <Var/Race>.

<RetVar/IF> get notoriety from race <Var/Race1> to race <Var/Race2>
Возвращает репутацию расы <Var/Race1> у расы <Var/Race2>.

<RetVar/IF> <RefObj> is <Var/Ship/Station> a enemy
Объект <RefObj> является врагом?

<RetVar/IF> <RefObj> is <Var/Ship/Station> a friend
Объект <RefObj> является другом?

<RetVar/IF> <RefObj> is <Var/Ship/Station> neutral to me
Объект <Var/Ship/Station> нейтрален к объекту <RefObj>?

<RetVar/IF> <RefObj> get shield type in bay <Var/Number>
Возвращает тип щита в отсеке <Var/Number> объекта <RefObj>.

<RetVar/IF> <RefObj> get laser type in bay <Var/Number>
Возвращает тип лазера в отсеке <Var/Number> объекта <RefObj>.

<RetVar/IF> <RefObj> has same environment as <Var/Ship/Station>
???

<RetVar/IF> <RefObj> is in same sector as <Var/Ship/Station>
Возвращает, находится ли объект <RefObj> в том же секторе, что и объект <Var/Ship/Station>?

<RetVar/IF> <RefObj> is landed
Возвращает, пристыкован ли объект <RefObj>?

<RetVar/IF> <RefObj> is in a sector
Возвращает, в секторе ли объект <RefObj>?

<RetVar/IF> <RefObj> get attacker
Возвращает, атакован ли объект <RefObj>?

<RefObj> set attacker to <Var/Ship/Station>
Объект <RefObj> атакует объект <Var/Ship/Station>.

<RetVar>=get distance between <Var/Ship/Station1> and <Var/Ship/Station2>
Возвращает расстояние (в метрах) между двумя объектами.

<RetVar>=create ship: type=<Var/Ship Type> owner=<Var/Race> addto=<Value> x=<Var/Number> y=<Var/Number> z=<Var/Number>
Создать корабль с типом <Var/Ship Type>, принадлежащий расе <Var/Race> с указанными пространственными координатами (в метрах) в секторе <Value>.

<RetVar>=<RefObj> get x position
Возвращает пространственную координату X (в метрах) объекта <RefObj>.

<RetVar>=<RefObj> get y position
Возвращает пространственную координату Y (в метрах) объекта <RefObj>.

<RetVar>=<RefObj> get z position
Возвращает пространственную координату Z (в метрах) объекта <RefObj>.

<RetVar>=get player ship
Возвращает корабль игрока.

<RefObj> set relation against <Var/Ship/Station> to <Relation>
Установить отношение <Relation> объекта <RefObj> к объекту <Var/Ship/Station>.

<RetVar/IF> <RefObj> is docked
Возвращает, находится ли объект <RefObj> в доке.

<RetVar/IF> <RefObj> is docking possible of <Value>
Возращает значение, может ли быть корабль <Value> пристыкован к станции (крейсеру) <RefObj>. Имеется в виду техническия возможность.

<RetVar>=create station: type=<Var/Station Type> owner=<Var/Race> addto=<Var/Sector> x=<Var/Number> y=<Var/Number> z=<Var/Number>
Создать станцию с типом <Var/Station Type>, принадлежащий расе <Var/Race> в секторе <Var/Sector> с указанными пространственными координатами (в метрах).

<RetVar>=create gate: type=<Var/Number1> addto=<Var/Sector> gateid=<Var/Number2> dstsecx=<Var/Number3> dstsecy=<Var/Number4> dstgateid=<Var/Number5> x=<Var/Number6> y=<Var/Number7> z=<Var/Number8>
Создать врата с типом <Var/Number1> в секторе <Var/Sector> с указанными пространственными координатами (в метрах), имеющим идентификатор <Var/Number2>, ведущими в сектор с координатами (<Var/Number3>, <Var/Number4>) с идентификатором врат выхода <Var/Number5>.

<RetVar>=create asteroid: type=<Var/Number1> addto=<Var/Sector> resource=<Var/Number2> yield=<Var/Number3> x=<Var/Number4> y=<Var/Number5> z=<Var/Number6>
Создать астероид с типом <Var/Number1> в секторе <Var/Sector> с ресуром <Var/Number2> содержанием заданного ресурса <Var/Number3> с указанными пространственными координатами.

<RefObj> add product to factory or dock: <Var/Ware>
Добавить товар-продукцию объекту <RefObj>.

<RefObj> add primary resource to factory: <Var/Ware>
Добавить первичный ресурс <Var/Ware> объекту <RefObj>.

<RefObj> add second resource to factory: <Var/Ware>
Добавить вторичный ресурс <Var/Ware> объекту <RefObj>.

<RefObj> remove product from factory or dock: <Var/Ware>
Удалить товар-продукцию объекта <RefObj>.

<RefObj> remove primary resource from factory: <Var/Ware>
Удалить первичный ресурс <Var/Ware> объекта <RefObj>.

<RefObj> remove second resource from factory: <Var/Ware>
Удалить вторичный ресурс <Var/Ware> объекта <RefObj>.

<RetVar>=create nebula: type=<Var/Number1> addto=<Var/Sector> x=<Var/Number2> y=<Var/Number3> z=<Var/Number4>
Создать туманность с типом <Var/Number1> в секторе <Var/Sector> с указанными пространственными координатами.

<RetVar>=create sun: subtype=<Var/Number1> r=<Var/Number2> g=<Var/Number3> b=<Var/Number4> addto=<Var/Sector> x=<Var/Number5> y=<Var/Number6> z=<Var/Number7>
Создать звезду с типом <Var/Number1> в секторе <Var/Sector> по указанным пространственным координатам с цветом свечения RGB (<Var/Number2>, <Var/Number3>, <Var/Number4>).

<RetVar>=create planet: subtype=<Var/Number1> addto=<Var/Sector> x=<Var/Number2> y=<Var/Number3> z=<Var/Number4>
Создать планету с типом <Var/Number1> в секторе <Var/Sector> по указанным пространственным координатам.

<RetVar>=create special: type=<Var/Number1> addto=<Var/Sector> x=<Var/Number2> y=<Var/Number3> z=<Var/Number4>
Создать специальный объект с типом <Var/Number1> в секторе <Var/Sector> по указанным пространственным координатам.

<RetVar/IF> find ship: sector=<Var/Sector> class or type=<Value1> race=<Var/Race> flags=<Var/Number1> refobj=<Value2> maxdist=<Var/Number2> maxnum=<Var/Number3> refpos=<Var/Array>
Найти указанное количество <Var/Number3> кораблей класса или типа <Value1> в секторе <Var/Sector> расы <Var/Race>, максимальное расстояние поиска <Var/Number2>.

<RetVar/IF> find asteroid: sector=<Var/Sector> resourcetype=<Var/Number1> min.yield=<Var/Number2> flags=<Var/Number3> refobj=<Value> maxdist=<Var/Number4> maxnum=<Var/Number5> refpos=<Var/Array>
Найти указанное количество <Var/Number5> астероидов в секторе <Var/Sector> с типом ресурса <Var/Number1> и минимальным содержанием минерала <Var/Number2> на максимальном удалении <Var/Number4>.

<RetVar/IF> find flying ware: sector=<Var/Sector> maintype=<Var/Number1> subtype=<Var/Number2> flags=<Var/Number3> refobj=<Value> maxdist=<Var/Number4> maxnum=<Var/Number5> refpos=<Var/Array>
Найти указанное число <Var/Number5> товаров в пространстве сектора <Var/Sector> с типом <Var/Number1> и подтипом <Var/Number2> на максимальном удалении <Var/Number4>.

Комментарий для функций Find (Ship, Station и т.д.)
Рассмотрим на примере функции
<RetVar/IF> find station: sector=<Var/Sector> class or type=<Value1> race=<Var/Race> flags=<Var/Number1> refobj=<Value2> maxdist=<Var/Number2> maxnum=<Var/Number3> refpos=<Var/Array>
- сектор – необходимо указать сектор поиска, иначе результат поиска будет null
- class or type, race – если надо искать станцию определенного типа (например док) или определенной расы – указываем, если эти аргументы поставить null – в поиск буду включены все станции любой расы. Эти аргументы работают по схеме логического “И”
- flag – несмотря на то, что тип этого аргумента определен, как число (Var/Number), вводить нужно константы, или их комбинации типа Find.Nearest, $flag=Find.Neutral|Find.Multiple и т.д. Найти их можно в списке констант. Флаги, дополняющие друг друга, работают по схеме «И», Флаги, несовместимые друг с другом, работают по схеме «ИЛИ».
Например Find.Neutral|Find.Nearest – поиск ближайшей станции только среди нейтральных – логическое «И». А если написать Find.Neutral|Find.Enemy – поиск среди нейтральных или враждебных – логическое «ИЛИ»
Если введен флаг Find.Multiple, то функция ВСЕГДА возвращает массив, и далее с этим результатом можно работать только, как с массивом, даже если он состоит из 1 элемента.
- refobj – если в качестве этого аргумента введен какой-то объект, то
1. данный объект исключается из поиска, если потенциально он в него может попасть.
2. служит точкой отсчета. Если, например, стоит флаг Find.Nearest, поиск ближайшей станции будет осуществляться относительно этого refobj
- maximum – максимальный размер массива, работает только с флагом Find.Multiple, в противном случае результатом будет 1 станция (или null, если ничего не нашлось), а данный аргумент на поиск не влияет.
- maxdist – ограничивает радиус поиска относительно точки отсчета: refobj или refpos. А если точки отсчета нет, то за точку отсчета принимается центр сектора. Если null – ограничения нет.
- refpos – точка отсчета, массив из 3 координат x,y,z.
Если ввести refpos и refobj одновременно, поиск будет относительно refobj. А если дополнительно установить флаг Find.ForceUsePos, то точка отсчета refpos оказывается главнее, чем точка отсчета refobj, поиск будет вестись относительно refpos.


<RetVar/IF> <RefObj> is disabled
Возвращает, запрещен ли объект <RefObj>.

<RefObj> station trade and production tasks: on=<Var/Number>
???

<RetVar/IF> <RefObj> get SectorObject ID
Возвращает идентификатор объекта <RefObj>.

<RetVar>=get ware type of SectorObject <Var/Number>
Возвращает тип товара для объекта с идентификатором <Var/Number>.

<RetVar/IF> exists SectorObject <Var/Number>
Проверяет, существует ли объект с идентификатором <Var/Number>.

<RetVar/IF> get object from SectorObject <Var/Number>
Получает объект из идентификатора <Var/Number>.

<RefObj> destruct: show no explosion=<Var/Number>
Уничтожает объект <RefObj>. Параметр <Var/Number> указывает, показывать ли взрыв ([TRUE] или [FALSE]).

<RefObj> set position: x=<Var/Number> y=<Var/Number> z=<Var/Number>
Переместить объект <RefObj> в точку пространства с указанными координатами.

<RefObj> set rotation: alpha=<Var/Number> beta=<Var/Number> gamma=<Var/Number>
Установить углы вращения альфа, бета и гамма объекта <RefObj>.

<RefObj> set position of sector object <Var/Number>: x=<Var/Number> y=<Var/Number> z=<Var/Number>
Переместить объект <Var/Number> в точку пространства с указанными координатами и вернуть указатель на этот объект.

<RefObj> set safe position of sector object <Var/Number>: x=<Var/Number> y=<Var/Number> z=<Var/Number>
Переместить объект с идентификатором <Var/Number> в безопасную точку пространства с указанными координатами и вернуть указатель на этот объект.

<RefObj> set rotation of sector object <Var/Number>: x=<Var/Number> y=<Var/Number> z=<Var/Number>
Установить углы вращения альфа, бета и гамма объекта <Var/Number>.

<RetVar>=create sector object: maintype=<Var/Number1> subtype=<Var/Number2>
Создать объект сектора с типом <Var/Number1> и подтипом <Var/Number2>.

free sector object <Var/Number>
Освободить объект с идентификатором <Var/Number>, память и все ссылки на него.

kill sector object <Var/Number1>: reason=<Var/Number2>, killer sector object=<Var/Number3>
Уничтожить объект <Var/Number1> с указанием причины уничтожения <Var/Number2> и объекта-уничтожителя <Var/Number3>.

start sector object <Var/Number> in space <Var/Number>
???

<RetVar>=create flying ware: maintype=<Var/Number1> subtype= <Var/Number2> count=<Var/Number3> sector=<Var/Sector> x=<Var/Number4> y=<Var/Number5> z=<Var/Number6> selfdestruct=<Var/Number7>
Создание контейнера в пространстве с товаром в количестве <Var/Number3> с типом <Var/Number1> и подтипом <Var/Number2> в секторе <Var/Sector> в точке с указанными пространственными координатами и временем самоуничтожения <Var/Number7>.

<RetVar>=<RefObj> get rot alpha
Получает угол вращения альфа объекта <RefObj>.

<RetVar>=<RefObj> get rot beta
Получает угол вращения бета объекта <RefObj>.

<RetVar>=<RefObj> get rot gamma
Получает угол вращения гамма объекта <RefObj>.

<RetVar>=<RefObj> get size of object
Возвращает либо размер объекта как тела в пространстве, либо размер области памяти, которую занимает объект. До конца не ясно.

<RetVar/IF> <RefObj> get max upgrades for upgrade <Var/Ware>
Получить максимальное кол-во апгрейдов <Var/Ware>, которые можно установить на <RefObj>.

<RetVar/IF> <RefObj> get max speed
<RetVar/IF> <RefObj> get max upgraded speed
Функции возвращают ерунду, пользоваться фактически невозможно, может быть этот баг будет исправлен в патче 1.3

<RetVar/IF> <RefObj> get max hull
Получить максимальную величину корпуса <RefObj>.

<RetVar/IF> <RefObj> get hull
Получить текущую величину корпуса <RefObj>.

<RetVar/IF> <RefObj> get hull percent
Получить текущую величину корпуса <RefObj> в процентах. Возращается число от 0 до 100.

<RetVar/IF> <RefObj> get shield percent
Получить текущую величину щита <RefObj> в процентах. Возращается число от 0 до 100.

<RetVar/IF> <RefObj> get dock bay size
Получить размер отсека <RefObj> для парковки кораблей.

<RetVar/IF> <RefObj> get number of landed ships
Сколько кораблей запарковано в трюме <RefObj>.

Player loses police licence for race <Var/Race>
Потеря полицейской лицензии у расы <Var/Race>.

<Var/Race1> add notoriety: race=<Var/Race2>, value=<Var/Number>
Добавить репутацию расе <Var/Race2> у расы <Var/Race1> на <Var/Number> единиц. Если эту команду запускать несколько раз подряд, репутация суммируется.

Назад к оглавлению
Денис Кузьмин a.k.a. Mad_Kuzia
К началу раздела | Наверх страницы Сообщить об ошибке
X2 - Скрипты - ScE - Основные команды работы с объектами
Все документы раздела: Главная |


Дизайн Elite Games V5 beta.18
EGM Elite Games Manager v5.17 02.05.2010