На сайте онлайн (человек): 124 
|  |
|
 | |
Учимся простейшим скриптам |  |
|  |
 | |
|
Количество: 338 12345678>»Учимся простейшим скриптам | 10.01.2010 13:58:20 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | | СКРИПТ-УРОКИ ДЛЯ НАЧИНАЮЩИХ |
| |
Здесь я подробно расскажу о том как сделать скрипт на деньги/репутацию/захват/халяву ну и т.п. Обратите внимание, что готовых скриптов Вы здесь не увидите, т.к. отпадает сам смысл этой темы. Наконец-то сбудутся ваши мечты о любом корабле, станции, репутации... Я не буду здесь учить скриптам, которым научил MistR в своих "Уроках танцев". Скрипт на деньги... Хм... А вы в курсе что для него вообще практически ничего не нужно делать и всё же я напишу. Спасибо. Пока всё. | Внимание! Для активации ВСТРОЕННОГО в игру редактора скритов вместо имени пилота введите Thereshallbewings - регистр важен, а также двойная "эль". |
| |
Помимо встроенного есть сторонние редаторы, например External Script Editor. Глваное различие заключается в том, что во встроенном редакторе удобней работать, он стабильнее, и сразу можно посмотреть, что Вы натворили. ВступлениеСуществует несколько видов скриптов, каждый отвечает за свою функцию. За время (момент) их исполнения отвечают префиксы: | "!setup.*" - скрипт выполняется ПОСЛЕ создания галактики. Если скрипт не подписан, то игра обретает статус ***Modified*** "setup.*" - скрипт выполняется ПОСЛЕ создания галактики. Запуск только в игре ***Modified*** "!init.*" - скрипт выполняется ДО создания галактики (кораблей и станций). Если скрипт не подписан, то игра обретает статус ***Modified*** "init.*" - скрипт выполняется ДО создания галактики (кораблей и станций). Запуск только в игре ***Modified*** "!al.plugin.*" и "al.plugin.*" - отвечают за процесс, происходящий в галактике, связанный с искусственной жизнью. "galaxy.<имя карты>.initplayership" - создает корабль игрока в заданной точке с опр. кол-вом денег, кораблем и т.д. |
| |
Но ни с одним из данных префиксов мы работать не будем, т.к. нам много не надо, хотя возможно и понадобится, посмотрим. Запускать скрипты мы будем из Редактора скриптов, либо по горячей клавише. Замечу, что чтобы подписать скрипт, нужно отправить его на данный e-mail: script@egosoft.com, однако он не должен быть читерским или автоматизировать экономику Вселенной Х. Мы этим заниматься не будем. № | Название | Описание | Ссылка | + | | 1 | Захват | Передает объект в Вашу собственность | Урок 1 |  | | 2 | Деньги | 2,000,000,000 кр на счет | Урок 2 |  | | 3 | Товар | Всё от Батареи до ФЛК | Урок 3 |  | | 4 | Оборудование | Любой гаджет или устройиство | Урок 4 |  | | 5 | Апгрейды | Идеальная скорость, маневренность и трюм | Урок 5 |  | | 6 | Врата | Из любой точки галактики в другую | Урок 6 |  | | 7 | Корабль/станция | Создание кораблей | Урок 7 |  | | 8 | Репутация | Станем королями любой расы | Урок 8 |  | | 9 | Супер-Шип | Исскуственно увеличенные генераторы щита и лазера | Урок 9 |  | | 10 | Прыжок | Прыжок по технологии "точка-в-точку" | Урок 10 |  | | 11 | Музыка | Замена оригинальных треков и добавление новых. | Урок 11 |  | | 12 | Хоткей | Добавление горячей клавиши. | Урок 12 |  | | 13 | Новая команда | Добавляем новую команду в консоли корабля/станции. | Урок 13 |  | | | | | | | |
|
Благодарю Вас за уделенное мне время. Ниже вы найдете все уроки. Спасибо. |
Редактировалось 23 раз (а). Последний раз 10.06.2010 20:06:48. |
| | 10.01.2010 14:21:43 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | Урок 1. Читерский скрипт на захват корабля/станции НПСЗаходишь в Редактор скриптов - новый скрипт, называй как хочешь (station, например.)(рис.1)
Новый параметр(рис.2), Вводишь имя переменной (например station)(рис.3), Перем/Корабль/Станция (рис.4), Описание (любой(ые) символ(ы), это не важно, впрочем как и имя переменной)
Код->Новая строка(рис. 5)->Общие команды для объектов(рис. 6)-><РеферОбъект> set owner race to <Перем/Раса>(рис. 7), выбираешь переменную (в примере $station)(рис. 8).
В первой строке кода видим: $station-> get owner race to <?>(рис. 9)
Если <?> - красное, то жмем Enter (если нет, то наводим курсор (оно выделено и мы его редактируем)).
Жмем Page Down(рис. 10), затем Enter, находим наше имя пилота, наводим курсор (рис. 11), жмем Enter.
Жмем Esc(рис. 12), соглашаемся.
Находим скрипт в самом низу, наводим курсор, запускаем клавишей R
В открывшемся окне жмем Enter, в другом еще раз в третьем выбираем второй вариант, Enter.
Выбираем жертву
Жмем Enter, объект ваш.
Выходим из редактора и со щенячьим восторгом радуемся какие мы умные (рис. 13). Всё. 
Ну а теперь иллюстрации
Рисунок 1 | Рисунок 2 | Рисунок 3 | Рисунок 4 |  |  |  |  | Рисунок 5 | Рисунок 6 | Рисунок 7 | Рисунок 8 |  |  |  |  | Рисунок 9 | Рисунок 10 | Рисунок 11 | Рисунок 12 |  |  |  |  |
|
Конец. |
Редактировалось 1 раз (а). Последний раз 10.01.2010 18:48:11. |
| | 11.01.2010 20:28:22 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | Урок 2. Печатаем деньги№ | Действие | | 1 | Создаем скрипт, называем его | | 2 | Код -> Торговые команды -> add money to player: <Перем/Число> (а вы как думали?? ) | | 3 | В сл. окне выбираем "Число" | | 4 | Вводим число до 2,000,000,000 | | 5 | Сохраняем, запускаем (из редактора с помощью "R") | | | | |
|
Вот в общем то и все, о том как создать/запустить/сохранить скрипт читайте в первом уроке со скринами. Проще скрипта не бывает и всё же. "Почему до 2,000,000,000?" спросите Вы. Отвечаю: Игра использует тип "переменной" 4 байта для хранения денег, а максимальное числовое значение: 2,1**,***,*** (не помню точные цифры), т.е. 2ккк - это впритык. Для того чтобы было интереснее и кто не хочет такой халявы можно задать рандомное число в заданном диапазоне для этого: Перед вторым действием добавляем Код -> Общие команды -> <ВозврПерем> = = random value from <Перем/Число> to <Перем/число> -1. Первое значение <ВозврПерем> - это имя переменной, которой будет присвоено значение. Вторые два - начало и конец диапазона. Теперь в третьем действии выбираем не "Число", а в списке переменных выбираем нашу созданную переменную (которую мы назвали как хотели). Соответственно 4 действие пропускается, переходя в пятое.
Урок закончен. |
|
| | 11.01.2010 21:00:13 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | Урок 3. Доставка товара№ | Действие | | 1 | Создаем скрипт | | 2 | Параметры -> Перем/Товар (в самом низу) | | 3 | Параметры -> Перем/Число (тоже внизу) | | 4 | Код -> Торговые команды -> <Возвр/IF><РеферОбъект> inslall <Перем/Число> units of <Перем/Товар> (выбирать "<Не возвращает значения>") | | 5 | <РеферОбъект> - Выбираем в Констатах: [PLAYERSHIP]<Перем/Число> - Выбираем в переменных переменную из третьего действия<Перем/Товар> - Выбираем в переменных переменную из второго действия | | 6 | Сохраняем скрипт, запускаем | | | | |
|
Теперь объясню что к чему: Мы делали переменные, чтобы не лазать и каждый раз не исправлять скрипт, если потребовалось то или иное. "РеферОбъект" - это то с каким объектом работает команда ([PLAYERSHIP] в данном случае) "Перем/Число" - сколько нужно товара "Перем/Товар" - что нужно В параметрах Вас будут просить задавать значения переменной по порядку, так что переменные лучше делать осмысленные и пожертвовать время на описание каждой. Т.е. Вас сначала спросят какой товар (сами выберите - выбор огромный) и сколько его нужно (для оборудования: 1) РезультатУрок закончен. |
Редактировалось 1 раз (а). Последний раз 17.05.2010 18:21:41. |
| | 12.01.2010 14:27:26 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | Урок 4. Оборудование.№ | Действие | | 1 | Создаем скрипт. | | 2 | Код -> Торговые команды -> <Возвр/IF><РеферОбъект> install <Перем/Число> units of <Перем/Товар> (<Не возвращает значение>). | | 3 | <РеферОбъект> - Константы -> [PLAYERSHIP]; <Перем/Число> - Ввод скрипта -> <Число> -> 1; <Перем/Товар> пока не трогаем. | | 4 | Далее наводим курсор на полученный код, жмем Ctrl+C - скопировали | | 5 | Жмем Ctrl+V - вставляем сколько нужно раз (сколько оборудования) | | 6 | Потом в каждой строке кода <Перем/Товар> изменяем на нужное оборудование (в "Технике") | | 7 | Сохраняем, запускаем | | | | |
|
Да, знаю, времени много ушло, но разве оно этого не стоит?  . Таким способом можно добавлять себе страховку, кредиты, лицензии... (находятся они также в "Технике"). Это простой скрипт, можно сделать, к примеру, чтобы все, что вы добавили записывалось в бортовой журнал Урок закончен. |
Редактировалось 1 раз (а). Последний раз 12.01.2010 14:29:13. |
| | 12.01.2010 14:47:08 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | Урок 5. Апгрейды.№ | Действие | | 1 | Создаем скрипт | | 2 | Тут возможны варианты: | | 2.1 | Использовать постоянные величины или "каждый раз спрашиваемые" | | 2.2 | Для спрашиваемых: Параметры -> <Перем/число> | | 2.3 | Для постоянных: Сразу вводить в команду (в код) | | 3 | Опять Код -> Торговые команды -> <Возвр/IF><РеферОбъект> install <Перем/Число> units of <Перем/Товар> | | 4 | Скопировать и снова вставить код (Ctrl+C & Ctrl+V) (для скорости, маневренности и трюма) | | 5 | Если переменные величины, то вместо <Перем/Число> ставим переменную, если нет, то в выбираем <Число> и вводим, а в <Перем/Товар> в разделе "Техника" выбираем "Форсирование двигателя"(далее Скорость), "Оптимизация ручного управления"(далее Управляемость), или "Расширение грузового отсека"(далее Трюм) | | 6 | Сохраняем, запускаем | | | | |
|
Для "Расширения грузового отсека" лучше использовать постоянную, т.к. он, в отличии от скорости и управляемости, не расширится выше заявленного. Как вы могли догадаться и в предыдущих уроках - скорость, управляемость и трюм покупаются как товар, к примеру, на торговых станциях Результат для "каждый раз спрашиваемых"Урок закончен. |
Редактировалось 1 раз (а). Последний раз 17.05.2010 18:23:27. |
| | 15.01.2010 21:04:37 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | Урок 6. Врата | В этом уроке я НЕ буду рисовать таблицу, т.к. я подробно буду описывать что и как делается. |
| |
- Для начала вы должны определиться какой именно скрипт вам нужен:
- Создание врат на месте, рядом с вами и указание точки выхода (запуск и параметры - ручные) - не рассматривается, есть Хаб и "Прыжок в точку"
- Автосоздание врат в определенных точках при загрузке игры. - тогда перейдем к делу

- Мы должны определиться, что нам нужно:
- Секторы, которые будут соединены (в уроке я соединю Аргон Прайм и Королевский тупик):
- Определяем галактический индекс с помощью карты. Промежутки считать.
- По-горизонтали - X (0-21); По-вертикали - Y (0-16); Земные сектора не считаем.
- Координаты врат (в Метрах, т.е. 1000 - 1км)
- Доступность врат, время активности
- Приступим:
- Для начала сделаем автоматический одноразовый запуск, спасибо, MistR'у:
- Ищем: Общие команды -> <Возвр/IF> get global variable: name=<Перем/Текст> - оба значения пускай будут off
- Далее: Общие команды -> <Возвp/IF><Выражение> - первое значение - имя переменной, второе значение, пускай имя of, а значение 0
- Снова: Общие команды -> <Возвp/IF><Выражение> - Теперь первое уже не переменная, а оператор условного перехода, выбираем "Ввод скрипта -> if"
- Продолжаем вводить данные: троеточие красное? жмите Enter! После выбираем в переменных переменную of, потом еще раз Enter, выбираем в действиях знак "==", жмем Enter, выбираем переменную off
- Новая строка, идем сюда: Общие команды -> Управление исполнением цикла -> go to label <Метка>, вводим имя метки - end
- Идем туда же, только выбираем else
- Первая часть окончена, далее - основной скрипт.
- Запишем в переменные гал. индексы (X и Y). Чтобы каждый раз не писать числа и не запутаться. Находим в общих командах:
Выбираем переменная, вводим название (например, from.X (координата X первого сектора (Аргон Прайм), в котором стоят врата)) и значение (ввод скрипта -> <Число>), чтобы было вот так: Повторяем три раза, введя имя второй раз from.Y (координата Y первого сектора (Аргон Прайм), в котором стоят врата), третий и четверты соответственно (to.X и to.Y (координаты Королевского тупика) они равны нулям), значения переменных - координаты Х и Y соответственно.
В итоге всё должно выглядеть так:
| Код:- ...
- 006 $from.X= 1
- 007 $from.Y= 2
- 008 $to.X= 0
- 009 $to.Y= 0
- ...
|
| |
- Далее координаты:
Получим случайное число в заданном диапазоне. "Общие команды -> <Возвр/Перем> = = random value from <Перем/Число> from <Перем/Число> -1" Пускай это будет переменная xyz Пускай первое <Перем/Число> будет равно -10000, а второе +10001. Таким образом мы получим случайное число в диапазоне 20000. Если его потом использовать и как X, и как Y, и как Z, то врата создадутся в воображаемой сфере с центром, совпадающим с центром сектора и радиусом в 10 км. Итог:
| Код:- ...
- 010 $xyz= random value from -10000 to 10001
- ...
|
| |
- Нам необходимо знать в каком секторе создать врата, здесь нам и пригодятся наши переменные. Для этого:
"Команды секторов и Галактики -> <Возвр/IF> get sector from universe index: x=<Перем/Число>, y=<Перем/Число>"
Повторяем два раза. В первом случае <Возвр/IF> (далее переменная)= from.sector, x=from.X, y=from.Y Во втором случае переменная = to.sector, x=to.X, y=to.Y.
Примечание, переменные задаются сразу же после выбора команды в "Ввод скрипта -> <Переменная>", а остальные переменные уже выбираются сверху, либо создаются новые таким же образом,как и при выборе команды.
Вот, что должно получиться в шестом пункте:
| Код:- ...
- 011 $from.sector= get sector from universe index: x=from.X, y=from.Y
- 012 $to.sector= get sector from universe index: x=to.X ,y=to.Y
- ...
|
| |
- Создание врат.
Вот мы и подготовились к конкретике, а точнее к созданию врат, нам потребуется две пары врат, для их создания: Общие команды для объектов -> Создание объектов -> <ВозврПерем> = create gate: type=<Перем/Число> addto= <Перем/Сектор> gateid=<Перем/Число> dstsecx=<Перем/Число> dstsecy=<Перем/Число> dstgateid=<Перем/Число> x=<Перем/Число> y=<Перем/Число> z=<Перем/Число> Повторяем команду два раза.
Что? | Значение 1 | Значение 2 | Почему? | | <ВозврПерем> | gate1 | gate2 | Мы присваиваем переменным каждые из врат | | type= | 21 | 22 | Это тип врат. Ниже найдете типы врат. | | addto= | from.sector | to.sector | Сектора, в которых создадутся врата. | | gateid= | null | null | Типы данных врат. (Чем отличается от "type="?) | | dstsecx= | to.X | from.X | X-индекс сектора с парными данным вратами. | | dstsecy= | to.Y | from.Y | Y-индекс сектора с парными данным вратами. | | dstgateid= | null | null | Тип вторых врат. (Зачем?) | | x= | xyz | xyz | Смотри V пункт | | y= | xyz | xyz | Смотри V пункт | | z= | xyz | xyz | Смотри V пункт | | | | | | |
|
Типы врат. Тип - <Перем/Число>.Тип\Направление | N | S | W | E | | Обычные | null | 1 | 2 | 3 | | Земные | 21 | 22 | 23 | 24 | | Ускорители | 5 | 6 | 7 | 8 | | | | | | | |
|
*4 - разрушенные врата. Хаб: 9-14 - включенные, 15-20 - выключенные
ВНИМАНИЕ! Если вам нужна пара взаимосвязанных врат не используйте "Обычные" врата! Земные работают.
- Завершаем скрипт:
- Общие команды -> set global variable: name=<Перем/Текст> value=<Значение> - имя off, значение 0
- Общие команды -> Вызовы скриптов -> return <значение> - значение null
- Общие команды -> Управление исполнением цикла -> end conditional
- Общие команды -> Управление исполнением цикла -> define label <Метка> - называем ее end
- Общие команды -> Вызовы скриптов -> return <значение> - значение null
- В конечном итоге должно получиться так:
| Код:- [color=blue]001[/color] [color=green]$of=[/color] get global variable: name= [color=green]$of[/color]
- [color=blue]002[/color][color=green] $off == 1 ...[/color]
- [color=blue]003[/color] [color=green]if $off == $of ...[/color]
- [color=blue]004[/color] goto label [color=green]end[/color]
- [color=blue]005[/color] else
- [color=blue]006[/color] [color=green]$from.X= 1 ...[/color]
- [color=blue]007[/color] [color=green]$from.Y= 3 ...[/color]
- [color=blue]008[/color] [color=green]$to.X= 0 ...[/color]
- [color=blue]009[/color] [color=green]$to.Y= 0 ...[/color]
- [color=blue]010[/color] [color=green]$xyz=[/color] = random value from [color=green]-10000[/color] to [color=green]10001[/color] - 1
- [color=blue]011[/color] [color=green]$from.sector= [/color]get sector from universe index: x= [color=green]$from.X[/color] , y= [color=green]$from.Y[/color]
- [color=blue]012[/color] [color=green]to.sector= [/color]get sector from universe index: x= [color=green]$to.X[/color] , y=[color=green]&to.Y[/color]
- [color=blue]013[/color] [color=green]$gate1=[/color] create gate: type= [color=green]21[/color] addto= [color=green]$from.sector[/color] gateid= [color=green]null[/color] dstsecx= [color=green]$to.X[/color] dstsecy= [color=green]$to.Y[/color] dstgateid= [color=green]null[/color] x= [color=green]$xyz[/color] y= [color=green]$xyz[/color] z= [color=green]$xyz[/color]
- [color=blue]014[/color] [color=green]$gate2=[/color] create gate: type= [color=green]22[/color] addto= [color=green]$to.sector[/color] gateid= [color=green]null[/color] dstsecx= [color=green]$from.X[/color] dstsecy= [color=green]$from.Y[/color] dstgateid= [color=green]null[/color] x= [color=green]$xyz[/color] y= [color=green]$xyz[/color] z= [color=green]$xyz[/color]
- [color=blue]015[/color] set global variable: name= [color=green]$of[/color] value= [color=green]1[/color]
- [color=blue]016[/color] return [color=green]null[/color]
- [color=blue]017[/color] end
- [color=blue]018[/color] [color=green]end[/color]:
- [color=blue]019[/color] return [color=green]null[/color]
|
| |
Насчет автозапуска... Ну у меня не получилось, а делается это добавление префикса setup. , либо !setup (в чем разница смотри выше), а так же изменение имени скрипта в самом скрипте. Вобщем пока довольствуемся ручным запуском, однако два запуска Вы уже совершить не сможете (да и зачем?)Вроде все, всем спасибо. Урок закончен. |
|
| | 20.01.2010 19:53:32 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | Урок 7. Создаем корабль№ | Действие | | 1 | Создаем скрипт | | 2 | Параметры -> Перем/Положение сектора (например, sector) | | 2 | Параметры -> Перем/Тип корабля (например, ship) | | 3 | Код -> Общие команды -> Массивы -> <Возвр/IF><Перем/Массив>[<Перем/Число>] - Повторяем четыре раза. В массиве sector четыре элемента. 0 - координата Х ($x), 1 - координата Y ($y), 2 - координата Z ($z), 3 - Сектор ($sector). Присваиваем переменным соответствующие значения. | | 4 | Код -> Общие команды для объектов -> Создание объектов -> <Возвр/Перем>= create ship: type= <Перем/Тип корабля> owner= <Перем/Раса> addto= <Значение> x= <Перем/Число> y= <Перем/Число> z= <Перем/Число> - Первое выбираем $ship), второе выбираем тоже $ship, третье Выбрать расу - Игрок, четвертое выбираем переменную sector; X,Y,Z - либо соответствующую переменную. | | 5 | Код -> Торговые команды -> для кораблей -> <РеферОбъект> add default items to ship (переменная ship) | | 6 | По желанию: Код -> Торговые команды -> <Возвр/IF><РеферОбъект> add <Перем/Число> units of <Перем/Товар> (как пользовать смотри Урок 3) | | 7 | Сохраняем, запускаем | | | | |
| РезультатУрок закончен. |
Редактировалось 2 раз (а). Последний раз 17.05.2010 18:18:15. |
| | 01.02.2010 07:22:33 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | Урок 8. Репутация№ | Что делать | | 1 | Создаем скрипт. | | 2 | Код -> Общие команды для объектов -> set notoriety <Перем/Раса> -> <Перем/Раса> to <Перем/Число> points | | 3 | Первый <Перем/Раса> - не трогаем; Второй <Перем/Раса> - Ввод скрипта -> Выбрать расу -> Игрок (то имя, котором вы зоветесь); <Перем/Товар> - кол-во очков (см. ниже) | | 4 | Копируем наш код (Ctrl+C) и вставляем (Сtrl+V) до 13 рас (все зависит от того с какими расами вы хотите подружиться (в том числе хааки, ксеноны, яки, пираты и АОГ (да-да - АОГ )) | | 5 | Теперь меняем первый <Перем/Раса> во всех кодах на нужную расу | | 6 | Сохраняем, запускаем. | | | | |
|
Номер | Значение | Словами | -5 | -1000000 | минус миллион | -4 | -100000 | минус сто тысяч | -3 | -10000 | минус десять тысяч | -2 | -1000 | минус тысяча | -1 | -100 | минус сто | 0 | -10 | минус десять | 1 | 10 | десять | 2 | 33 | тридцать три | 3 | 100 | сто | 4 | 333 | триста тридцать три | 5 | 1000 | тысяча | 6 | 3333 | три тысячи триста тридцать три | 7 | 10000 | десять тысяч | 8 | 33333 | тридцать три тысячи триста тридцать три | 9 | 100000 | сто тысяч | 10 | 333333 | триста тридцать три тысячи триста тридцать три |
|
| Примечание: Некоторые все равно останутся красными, однако Хаакский эсминец хоть и был красным, он не вздумал в меня пулять даже когда я в него выстрелил. Уважает, сцуко . |
| | Урок закончен. |
Редактировалось 1 раз (а). Последний раз 01.02.2010 07:23:51. |
| | 01.02.2010 07:48:35 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | Урок 9. Супер-Шип by КС№ | Действие | | 1 | Создаем скрипт. | | 2 | Код->Общие команды-><Возвр/IF><Выражение> - <Возвр/IF> - ввод скрипта->while. <Выражение> - Число->1. Таким образом мы начинаем тело цикла и делаем его бесконечным. | | 3 | Все команды в третьем шаге находятся в Код->Общие команды для объектов | | 3.1.1 | $hull=[PLAYERSHIP] -> get max hull | | 3.1.2 | [PLAYERSHIP] -> set hull to $hull | | 3.2.1 | $shields=[PLAYERSHIP] -> get maximum shield strength | | 3.2.1 | [PLAYERSHIP] -> set current shield strength to $shields | | 3.3.1 | $laser=[PLAYERSHIP] -> get maximum laser strength | | 3.3.2 | [PLAYERSHIP] -> set laser energy to $laser | | 4 | Код->Общие команды->@ wait <Перем/Число> ms - выбирать <не возвращает значения>. <Перем/Число> пускай 100. Выставляе задержку, равную 100 миллисекундам. Без задержки игра зависнет. | | 5 | Код->Общие команды->Управление исполнением цикла->End conditionalЗавершаем тело цикла. | | 6 | Сохраняем, запускаем | | | | |
|
По сути мы получаем максимальное значение корпуса(3.1.1), щита(3.2.1), лазера(3.3.1) и устанавливаем текущее (current) значение оных на максимальное (3.1.2;3.2.2;3.3.2). Все 3.х.х мы знаем как оформить из предыдущих уроков  . А заново расписывать... :rolleyes: Напомню, что [PLAYERSHIP] - это константа и находится в соответсвующем списке. Внимание оценивайте через шапку темы! Т.к. оценивать надо не меня РезультатУрок закончен. |
Редактировалось 4 раз (а). Последний раз 17.05.2010 18:20:19. |
| | 01.02.2010 07:49:30 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | Урок 10. Разбираем скрипт "Точка-в-точку"Здесь, как и в 7 уроке я не буду составлять табицу. Как можно догадаться из названия, я буду объяснять структуру этого скрипта и пары инициализирующих. П.С. Код не оптимизирован, но работает) Часть I. Основной скриптДля начала взглянем на него:  Ссылка на сам скрипт внизу. Разбираем: В верхней части название, версия, описание. Arguments (Аргументы): Именно это спрашивается у нас, когда запускается скрипт, т.е. просит выбрать сектор и позицию. То что мы ввели ввели записывается в переменную $sector типа Массив. Source Text (код): непосредственно исполняемая часть скрипта. Поехали попорядку: | Код:- 001 $ship=[PLAYERSHIP] -> get ware type code of object
- 002 if$ship != Экспериментальный шаттл
- 003 |=speak text: page=17 id=3983 priority=2
- 004 |=speak text: page=13 id=1356 priority=2
- 005 else
- ...
- 061 end
- 062 return null
|
| |
001 - мы получаем тип объекта, в котором находится игрок и записываем полученное знасение в переменную $ship 002 - "если (if) значение переменной шип($ship) не равно (!=) Экспериментальный шаттл", то тут возможно два варианта: TRUE (далее "T") или FALSE (далее "F"), т.е. если условие выполняется (T), то выполняются строчки, идущие до else (иначе). Если условие не выполняется (F), то выполняются строчки от else до end. при выполнении 003 и 004 бортовой компьютер произносит (далее "Бетти") фразу "Прыжковый двигатель... не отвечает". По идее именно эта часть скрипта определяет является ли корабль Экспериментальным Шаттлом. | Код:- 006 |$currshield=[PLAYERSHIP] -> get current shield strength
- 007 |$maxshield=[PLAYERSHIP] -> get maximum shield strength
- 008 |if$maxshield > 0
- 009 ||if$currshield >= $maxshield / 2
- ...
- 055 ||else
- 056 |||=speak text: page=13 id=1100056 priority=10
- 057 ||end
- 058 |else
- 059 ||=speak text: page=13 id=1100056 priority=10
- 060 |end
|
| |
Сейчас нам нужно узнать достаточно ли энергии щита для прыжка: 006 Получаем значение текущей энергии щита (в джоулях) 007 Получаем маскимальное значение щита (в джоулях) 008 Т.к. если на корабле щита вообще не будет, то и энергия будет отсутствовать. Проверяем установлен ли щит. Если T, то идем дальше, если F, то переходим к 58 строке, где бетти говорит, что недостаточно энергии. И переходим к 62 строке, т.е. аборт. 009 Проверяем выше ли текущий щит 50%. Если T, то идем дальше. Если F - "Недостаточно энергии" и аборт. Строки 057 и 060 завершают работу оператора условного перехода (т.е. if). Строки 055 и 058 - "иначе". Больше к ним возвращаться не будем. | Код:- 010 |||$x=$sector[0]
- 011 |||$y=$sector[1]
- 012 |||$z=$sector[2]
- 013 |||$sector=$sector[3]
- 014 |||=speak text: page=13 id=6 priority=3
- 015 @ |||=wait randomly from 1500 to 2500 ms
- 016 |||$batery=[PLAYERSHIP] -> needed jump drive energy for jump to sector $sector
- 017 |||$bateryest=[PLAYERSHIP] -> get volume of ware Батареи in cargo bay
- 018 |||if$bateryest >= $batery
- ...
- 052 |||else
- 053 ||||=speak text: page=13 id=1100056 priority=10
- 054 |||end
|
| |
010 - 013 записываем координаты в переменные. 014 - бетти говорит: "Наведение на цель" 015 - задержка от 1,5-2,5 сек. (типа наведение  ) 016 - получаем необходимое кол-во батарей для прыжка в целевой сектор 017 - получаем кол-во батарей в трюме. 018 - сравниваем. Если в трюме батарей больше либо равно необходимому кол-ву, то получаем T и идем дальше, если F, то "Энергии не хватает" и аборт. | Код:- 019 ||||$jumps=$batery / 5
- 020 ||||$veroyat= = random value from 0 to 6 - 1
- 021 ||||if$veroyat != 0
- ...
- 029 ||||else
- ...
- 051 ||||end
|
| |
019 - получаем кол-во прыжков 020 - Вот он ВЕЛИКИЙ И МОГУЧИЙ НЕМЕЦКИЙ РАНДОМ! 021 - если рандомное число не 0, то начинает выполняться прыжок туда, куда нужно. 029 - Если рандомное число 0, то начиает выполняться прыжок с отклонением от заданного курса 051 - завершает условие | Код:- 022 |||||=speak text: page=13 id=1294 priority=3
- 023 |||||=[PLAYERSHIP] -> use jump drive: target=$sector
- 024 |||||[PLAYERSHIP] -> set position: x=$x y=$y z=$z
- 025 |||||$shield=[PLAYERSHIP] -> get maximum shield strength
- 026 |||||$shield=$shield / 20
- 027 |||||[PLAYERSHIP] -> set current shield strength to $shield
- 028 |||||=speak text: page=13 id=1100014 priority=1
|
| |
022 - бетти говорит: "Готово" (наведение на цель) 023 - прыжок 024 перемещение корабля по заданным координатам. Дело в том, что в 023 строке target (цель) может быть или врата или сектор. Если сектор, то вы появляетесь в его центре. А мы прыгаем по координатам. 025 - получаем макс. мощность. 026 - делим на 20. 027 - устанавливаем щиты корабля на одну двадцатую от макс энергии щита. 028 - бетти: "Бортовой компьютер ожидает новых команд" 051 - аборт | Код:- 030 |||||=speak text: page=13 id=1351 priority=1
- 031 |||||=speak text: page=13 id=1282 priority=1
- 032 |||||$randsect= find a random sector: startsector=$sector, jumps=$jumps, owner=null
- 033 |||||=[PLAYERSHIP] -> use jump drive: target=$randsect
- 034 |||||$x= = random value from 0 to 100000 - 1
- 035 |||||$y= = random value from 0 to 100000 - 1
- 036 |||||$z= = random value from 0 to 100000 - 1
- 037 |||||[PLAYERSHIP] -> set position: x=$x y=$y z=$z
- 038 |||||[PLAYERSHIP] -> set current shield strength to 0
- 039 |||||$damage= = random value from 0 to 10 - 1
- 040 |||||$hull=[PLAYERSHIP] -> get hull
- 041 |||||$hullperc=$hull / 100 * $damage
- 042 |||||$hull=$hull - $hullperc
- 043 |||||[PLAYERSHIP] -> set hull to $hull
- 044 |||||=speak text: page=13 id=1280 priority=1
- 045 @ |||||=wait 1000 ms
- 046 |||||=speak text: page=13 id=1270 priority=1
- 047 @ |||||=wait 1000 ms
- 048 |||||=speak text: page=13 id=1324 priority=1
- 049 @ |||||=wait 1000 ms
- 050 |||||=speak text: page=13 id=1100014 priority=0
|
| |
030-031 - опять бетти 032 - еще один рандом. Теперь рандомный сектор. Макс удаление - энергия, деленная на пять, необходимая для прыжка. 033 - прыжок 034-036 - получение случайных координат 037 перемещение корабля по координатам 038 - снимаем щит 039 - опять рандом - процент повреждения корпуса 040-043 - повреждаем корпус 044-050 - проверка корабля и задержка. Ну вот. Основной скрипт готов. Теперь надо его офрмить: Часть II. Текстовый файл
В текстовом файле находятся все тексты из игры. Текстовый файл хранится в расширении *.xml. Приступим: Создадим блокнотом в папке t файл формата ХХХХ-L0YY.xml, где ХХХХ - id файла (у меня 4531), а YY - язык (07 - Русский). Шаблон текстового файла: | Код:- <?xml version="1.0" encoding="UTF-8" ?>
- <language id="7">
-
- <page id=" " title=" " descr=" ">
- <t id=" "> </t>
- </page>
- </language>
|
| |
Внимание! Пересохраните документ, указав в кодировке UTF-8 Если посмотреть, то структура его проста. Но для редактирования я предпочитаю программу XML Notepad. Она на английском. Как редактировать вы разберетесь. Вот мануал. Не смотрите, что для Х2. В Х3 практичеки ничего не поменялось. Часть III. ИнициализацияСкрипт инициализации команды и текстового файла (назовем его setup.masltrime.jump.text(!!!Внимание! префикс setup. (с точкой) очень важен!): | Код:- 001 load text: id=4531
- 002 $command=COMMAND_TYPE_SHIP_55
- 003 global script map: set: key=$command, class=M3, race=Player, script='Malstrime.Jump', prio=1
- 004 set script command upgrade: command=$command upgrade=Прыжковый двигатель
- 005 return null
|
| |
001 - подгружаем текстовый файл, id которго мы указали в названии текстового файла. 002 - присваиваем переменной команду COMMAND_SHIP_TYPE_55 003 - устанавливаем связь между командой и скриптом (класс корабля - М3, владелец - Игрок) 004 - ограничиваем появление команды на кораблях, на которых отсутствует джампдрайв 005 - аборт строку 004 можно повторять несколько раз для более точного фильтра. Команде COMMAND_SHIP_TYPE_55 соответствует номер 1255 (12 - допонительные, 55 - порядковый номер). Часть IV. Дорабатываем тесктовый файлОткрывем текстовый файл. Нам нужно четыре страницы. Копипастим, чтобы было вот так: | Код:- <?xml version="1.0" encoding="utf-8"?>
- <language id="7">
- <page id=" " title=" " descr=" ">
- <t id=" "></t>
- </page>
- <page id=" " title=" " descr=" ">
- <t id=" "> </t>
- </page>
- <page id=" " title=" " descr=" ">
- <t id=" "></t>
- </page>
- <page id=" " title=" " descr=" ">
- <t id=" "> </t>
- </page>
- </language>
|
| |
Меняем значения, чтобы было вот так: | Код:- <?xml version="1.0" encoding="utf-8"?>
- <language id="7">
- <page id="2010" title="Script Cmd Names" descr=" ">
- <t id="1255">Полное имя</t>
- </page>
- <page id="2011" title="Script Cmd Shorts" descr=" ">
- <t id="1255">Краткое имя</t>
- </page>
- <page id="2022" title="Command Info" descr=" ">
- <t id="1255">Описание (любой текст)</t>
- </page>
- <page id="2008" title="Script Object Commands" descr=" ">
- <t id="1255">Malstrime_Jump</t>
- </page>
- </language>
|
| |
| Код:- <page id="2010" title="Script Cmd Names" descr=" ">
|
| |
2010 - это полное имя команды, 2011 - краткое, 2022 - описание, 2008 - название команды (в РС) Script Cmd Names и другие - имена. Их надо ставить в соответствии с id страницы. descr роли не играет 1255 - id текста для команды под таким же id. Заполняем поля текста. Сохраняем. Тесктовый файл готов. Часть V. Дорабатываем инициализирующий скрипт Переименуйте имя скрипта setup.malstrime.jump.text в !setup.malstrime.jump.text Откройте этот скрипт блокнотом. Вверху ищите <name>setup.malstrime.jump.text</name>. Точно также добавьте !Внизу найдите:  И тоже добавтьте !. Сохраните. Вот впринципе и все. Удачи! "Точка-в-точку"Урок закончен. |
Редактировалось 2 раз (а). Последний раз 30.04.2010 13:25:11. |
| | 30.04.2010 16:38:03 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | Урок 11. Собственная музыка в секторахЭтот урок посвящен не совсем скриптам, но модификации игры. Каждый из нас хотел собственную музыку в сектора.  Некоторые мотивируются тем, что секторов больше 250, а треков кот наплакал. Чтож, здесь я вам обо всем расскажу  . Для начала нам необходимо: Сразу скажу, что если вы захотите поменять много музыки, то Вам потребуется много треков, а треки надо переименовывать в чисельные символы, т.е. название формата 01234.mp3, а значит нужно в них ориентироваться. Пусть названия треков будут формата 1XY.mp3, где X и Y - галактические координаты секторов. Т.е. для Аргон Прайм трек будет именоваться как 10103.mp3, а Край Еретиков 11304.mp3. Итак, приступим. Поменяем музыку в секторе Аргон прайм. 1. Открываем X3:Editor и выбираем пункт Galaxy Editor 2. Жмем Open 3. Ищем 08.cat и открываем его 4. Открываем папку maps и выбираем файл x3_universe.pck 5. Жмем на кнопку Universe 6. На открывшейся карте выбираем Argon Prime ОДНИМ щелчком и жмем на крестик, чтобы закрыть карту. 7. Двойным щелчком редактируем параметр sector - music 8. Вместо стандартного 8100 вписываем наш 10103.mp3 9. Сохраняем и закрываем. Вот скриншоты, если что-то не поняли.Внимание! Для работы надо начать новую игру. Спасибо за внимание! Урок закончен. |
Редактировалось 1 раз (а). Последний раз 24.05.2010 21:12:48. |
| | 30.04.2010 16:38:51 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | Урок 12. Горячая клавиша№ | Действие | | 1 | Создаем скрипт, называем его | | 2 | Код -> Общие команды -> <ВозврПерем> = register hotkey <Перем/Текст> to call script <Имя скрипта> | | 3 | Первое возвращаемое значение - номер горячей клавиши. Оно записывается в переменную. | | 4 | Второе - название горячей клавиши | | 5 | Третье - имя скрипта, который мы вызываем. Скрипт придется создать заранее. | | 5 | Сохраняем, запускаем. | | | | |
|
Назначить горячую клавишу Вы можете, зайдя в "Управление" -> "Интерфейс" раздел "Дополнения". На этом все) Урок закончен. |
Редактировалось 2 раз (а). Последний раз 10.06.2010 18:27:05. |
| | 30.04.2010 16:39:12 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | Урок 13. Языковые файлы и новая командаВсе вы наверно не раз слышали о языковых файлах и новых командах в различных меню...  Здесь я попытаюсь все объяснить. Что и как устроено. Ах да, для правки рекомендую использовать XML Notepad. Итак, начнем! Для начала рассмотрим языковой файл. Все языковые файлы носят определенный формат имени. Например имя 1234-L007 говорит нам о том, что номер языкового файла 1234, а регион 7-ой (Россия). Т.е. Языковой файл имеет формат ХХХХ-L0YY, где XXXX - ID текстового файла, а YY - язык (07 - Российский, 44 - Английский). Игра в зависимости от локализации сама выберет нужный файл. Рассмотрим структуру языкового файла, открыв его в блокноте: | Код:- <?xml version="1.0" encoding="utf-8"?>
- <language id="7">
- <page id="1" name="name">
- <t id="1">text</t>
- </page>
- </language>
|
| |
В первой стороке указывается версия xml и кодировка введенного текста. Во 2 и последней теги "языка". Во второй указывается язык., соответствующий названию файла. 3&5 строки - теги страницы. В 3 третьей строки указывается id страницы (pageid). В 4 строке тег текста, где указывается номер текста (textid или просто id). Кол-во страниц и тестов неограниченно (или в крайнем случае достаточно велико). Как видите в XML Notepad'e намного удобнее работать:  Абсолютно весь текст, включая цифры и символы, хранится в языковых файлах игры. Языковые файлы могут модифицировать друг друга. Если в языковых файлах используются одинаковые страницы, то будет отображаться та страница, которая загрузится позже, однако, если вы не заменяете тексты игры, то можете спокойно создавать страницы, будучи уверенным(ой), что ни с кем в конфликт языковой файл не вступит. Посмотреть список используемых игрой страниц Вы можете, открыв 0001-L007.xml (он запакован в cat/dat). Для сегодняшнего урока нам понадобятся страницы 2010, 2011 и 2022. ID текстов (они должны совпадать на всех трех страницах) Вы можете выбрать из таблицы: Раздел | ID страницы | Расположение | Команда (в зависимости от id страницы) | Navigation | 200-261 | Командное меню, Навигация | COMMAND_TYPE_NAV_00 to 61 | Combat | 300-361 | Командное меню, Боевые | COMMAND_TYPE_FIGHT_00 to 61 | Trade | 400-461 | Командное меню, Торговые | COMMAND_TYPE_TRADE_00 to 61 | Special | 500-561 | Командное меню, Специальные | COMMAND_TYPE_SPECIAL_00 to 61 | Piracy | 600-661 | Командное меню, Пиратские | COMMAND_TYPE_PIRACY_00 to 61 | Custom | 700-761 | Командное меню, Выборочные | COMMAND_TYPE_CUSTOM_00 to 61 | General | 800-861 | Командное меню, Общие | COMMAND_TYPE_GENERAL_00 to 61 | Turret | 900-961 | Меню турелей (из основного меню) | COMMAND_TYPE_TURRET_00 to 61 | Station | 1100-1161 | Командная консоль станций | COMMAND_TYPE_STATION_00 to 61 | Ship | 1200-1261 | Дополнительные корабельные команды | COMMAND_TYPE_SHIP_00 to 61 |
|
Я выбрал COMMAND_TYPE_NAV_55. Значит и нужная мне страница будет 255  Теперь о нужных страницах. Я уже упоминал 2010, 2011 и 2022. Теперь об их назначении: | 2010 Эта страница содержит текст являющийся длинной версией имени команды. То есть этот текст отражаемся в виде пункта в меню. Также именно этот текст будет отражен в разделе команда информационного экрана и в разделе команда списка вашей собственности (при условии что в теле вызываемого будет присутствовать инструкция set command, иначе во всех информационных окнах вместо имя выполняемой команды будет отражаться «Нет команд») 2011 На этой странице находятся короткие имена команд. Короткие имена отражаются в командном меню справа от длинных имен, тек же короткое имя команды отражается в верхней части экрана также справа от длинного имени в главном окне командного меню . 2022 На этой странице находится краткое описание вашей команды. Это описание не является обязательным, но не забывайте что ваши скрипты будут использовать другие пилоты, и по этому желательно создавая в командном меню новую команду, делать для нее краткое описание. Наличие данного описания на соответствующей странице добавит небольшой значок в виде буквы «i», между длинным и коротким именем команды при отражении меню, а при нажатии на клавишу «i», при курсоре установленном на вашу команду на экране отразиться окно содержащее описание вашей команды. |
| |
Текст можно раскрашивать...  Для этого перед текстом укажите соответствующие символы. Вот таблица: Спецсимвол | Цвет | \033B | Синий | \033C | Голубой | \033G | Зеленый | \033M | Малиновый | \033R | Красный | \033W | Белый | \033X | Ярко-белый (стандарт для меню) | \033Y | Желтый | \033Z | Серый | \n | Перевод строки (форматирующий, не для цвета!) |
|
Итак, редактируем свой языковой файл. Пусть команда будет называться "Первая команда". В блокноте: | Код:- <?xml version="1.0" encoding="utf-8"?>
- <language id="7">
- <page id="2010" name="name">
- <t id="255">Первая команда</t>
- </page>
- <page id="2011" name="name">
- <t id="255">Перв. ком.</t>
- </page>
- <page id="2022" name="name">
- <t id="255">Это описание моей первой команды.</t>
- </page>
- </language>
|
| |
Попробуем добавить команду всем истребителям за исключением М5, у которых установлен БПМ-1. Итак, запускаем игру. Заходим в редактор скриптов и создаем скрипт. Желательно с префиксом setup. Для начала игра должна знать какой файл ей читать. В общих командах находим команду load text: id=<Перем/Число> в ней указываем номер языкового файла. У меня 1234 :) Во второй строке для нашего удобства присваиваем переменной $comand значение COMMAND_TYPE_NAV_55 В третьей мы должны зарегистрировать команду. Общие команды -> Команды/Сигналы -> global script map: set: key=<Перем/Сигнал>, class= <Перем/Класс>, race=<Перем/Раса>, script=<Имя скрипта>, prio=<Перем/Число> Здесь key - переменная $comand, class - Истребител, race - Игрок, скрипт - произвольный (или какой-либо Ваш), prio - Приоритет? Я всегда ставлю 1  Так как мы должны исключить класс М5, в четвертой строке в тех же командах строчкой ниже находим команду global script map: ignore: key=<Перем/Сигнал>, class= <Перем/Класс>, race=<Перем/Раса> все аналогично третьей строке, только в классе надо указать М5 Теперь команда зарегистрирована, но еще не создана. В строке ниже находим команду set script command upgrade: command=<Перем/Сигнал> upgrade=<Перем/Товар> на месте первого значения опять же переменная $comand, а на втором выбираем БПМ-1 (если поставить [TRUE], то команда будет появляться всегда). Вот то, что у меня в скрипте:  Теперь сохраняем и запускаем его.  Теперь сидя на М4 или М3 и имея БПМ-1, заходим в консоль навигации... И, преисполняясь радостью, со щенячьим визгом идем рассказывать семье о том, что Вы сделали!  Удачи! Урок закончен. |
Редактировалось 1 раз (а). Последний раз 10.06.2010 19:56:38. |
| | 30.04.2010 16:39:35 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | Список всех скриптовых команд. Часть 1.Общие команды
| Код:- <RetVar/IF><Expression>
- inc <RetVar>
- dec <RetVar>
- @ <RetVar/IF> wait <Var/Number> ms
- @ <RetVar/IF> wait randomly from <Var/Number> to <Var/Number> ms
- <RetVar/IF> = random value from 0 to <Var/Number> - 1
- <RetVar> = random value from <Var/Number> to <Var/Number> - 1
- * <Comment>
- <RetVar> = script engine version
- <RetVar> = get script version
- <RetVar/IF> is a new script version available
- <RetVar> = get script name
- <RetVar> = get script priority
- set script priority to <Var/Number>
- infinite loop detection enabled=<Var/Number>
- <RetVar/IF> is script with prio <Var/Number> on stack
- <RetVar/IF> get task ID
- <RetVar/IF> get PID
- enable signal/interrupt handling: <Var/Number>
- <RetVar/IF> is signal/interrupt handling on
- <RefObj> -> set local variable: name=<Var/String> value=<Value>
- <RetVar/IF> <RefObj> -> get local variable: name=<Var/String>
- set global variable: name=<Var/String> value=<Value>
- <RetVar/IF> get global variable: name=<Var/String>
- <RetVar> = datatyp[<Value>]
- <RetVar/IF> is datatyp[<Value>] == <Var/Script Data Type>
- <RetVar> = read text: page=<Var/Number> id=<Var/Number>
- <RetVar/IF> read text: page id=<Var/Number>, from <Var/Number> to <Var/Number> to array, include empty=<Var/Number>
- <RetVar/IF> read text: page id=<Var/Number>, id=<Var/Number> exists
- <RetVar> = sprintf: fmt=<Var/String>, <Value>, <Value>, <Value>, <Value>, <Value>
- <RetVar> = sprintf: pageid=<Var/Number> textid=<Var/Number>, <Value>, <Value>, <Value>, <Value>, <Value>
- load text: id=<Var/Number>
- <RetVar/IF> state of news article: page=<Var/Number> id=<Var/Number>
- set state of news article page=<Var/Number> id=<Var/Number> to <Var/Number>
- <RetVar/IF> system date is month=<Var/Number>, day=<Var/Number>
- <RetVar> = playing time
- <RetVar/IF> is plot <Var/Number> state flag <Var/Number>
- <RetVar> = register hotkey <Var/String> to call script <Script Name>
- <RetVar> = register hotkey <Var/String> to call script name <Var/String>
- unregister hotkey <Var/Number>
- <RetVar> = last load time
- <RetVar/IF> <RefObj> -> get all local variable keys, starting with=<Var/String>
- <RetVar/IF> get all global variable keys, starting with=<Var/String>
- <RetVar/IF> <RefObj> -> get local variables: regular expression=<Var/String>
- <RetVar/IF> get global variables: regular expression=<Var/String>
- <RetVar> = get maximum, <Var/Number>, <Var/Number>, <Var/Number>, <Var/Number>, <Var/Number>
|
| |
Общие команды - Управление исполнением цикла
| Код:- end conditional
- else
- continue
- break
- goto label <Label>
- gosub <Label>
- define label <Label>
- endsub
|
| |
Общие команды - Вызовы скриптов
| Код:- @ <RetVar/IF/START><RefObj> call script <Script Name> : <Parameter>
- <RefObj> interrupt with script <Script Name> and prio <Var/Number>: arg1=<Value> arg2=<Value> arg3=<Value> arg4=<Value>
- <RefObj> interrupt task <Var/Number> with script <Script Name> and prio <Var/Number>: arg1=<Value> arg2=<Value> arg3=<Value> arg4=<Value>
- <RefObj> start task <Var/Number> with script <Script Name> and prio <Var/Number>: arg1=<Value> arg2=<Value> arg3=<Value> arg4=<Value> arg5=<Value>
- return <Value>
- <RetVar/IF> <RefObj> -> is script <Script Name> on stack of task=<Var/Number>
- <RetVar/IF> <RefObj> -> is task <Var/Number> in use
- <RetVar/IF> <RefObj> -> call named script: script=<Var/String>, <Value>, <Value>, <Value>, <Value>, <Value>
- <RefObj> -> start named script: task=<Var/Number> scriptname=<Var/String> prio=<Var/Number>, <Value>, <Value>, <Value>, <Value>, <Value>
- <RetVar> = <RefObj> -> get next available task: starting=<Var/Number>
- <RefObj> -> interrupt with script <Script Name> and prio <Var/Number>
|
| |
Общие команды - Массивы
| Код:- <RetVar> = array alloc: size=<Var/Number>
- <RetVar/IF><Var/Array>[<Var/Number>]
- <Var/Array>[<Var/Number>] = <Value>
- <RetVar/IF><Var/Array>[<Var/Number>][<Var/Number>]
- <Var/Array>[<Var/Number>][<Var/Number>] = <Value>
- <RetVar/IF> size of array <Var/Array>
- <RetVar> = clone array <Var/Array>: index <Var/Number> ... <Var/Number>
- copy array <Var/Array> index <Var/Number> ... <Var/Number> into array <Var/Array> at index <Var/Number>
- insert <Value> into array <Var/Array> at index <Var/Number>
- append <Value> to array <Var/Array>
- remove element from array <Var/Array> at index <Var/Number>
- resize array <Var/Array> to <Var/Number>
- <RetVar> = get index of <Value> in array <Var/Array> offset=<Var/Number> + 1
- <Var/Array>[<Var/Number>] = <Var/Array>[<Var/Number>]
- <RetVar> = sort array <Value>
- <RetVar> = sort array: data=<Value> sort values=<Value>
- <RetVar/IF> find <Value> in array: <Value>
- <RetVar> = create new array, arguments=<Value>, <Value>, <Value>, <Value>, <Value>
- <RetVar/IF> reverse array <Value>
- <RetVar/IF> arrays <Value> and <Value> are equal
|
| |
Общие команды - Строки
| Код:- <RetVar/IF> get length of string <Var/String>
- <RetVar> = find position of pattern <Var/String> in <Var/String>
- <RetVar> = get substring of <Var/String> offset=<Var/Number> length=<Var/Number>
- <RetVar> = string <Var/String> to integer
- <RetVar> = substitute in string <Var/String>: pattern <Var/String> with <Var/String>
- <RetVar> = convert number <Var/Number> to string
- <RetVar> = format time: <Var/Number>
- <RetVar/IF> match regular expression: <Var/String> to string <Var/String>
- <RetVar/IF> get string font length: <Var/String>
|
| |
Общие команды - Вычисления
| Код:- <RetVar> = = fixed sin <Var/Number>
- <RetVar> = = fixed cos <Var/Number>
- <RetVar> = square root of <Var/Number>
|
| |
Общие команды - Команды/Сигналы
| Код:- <RefObj> -> connect ship command/signal <Object Command/Signal> to script <Script Name> with prio <Var/Number>
- <RefObj> -> set ship command/signal <Object Command/Signal> to global default behaviour
- <RefObj> -> ignore ship command/signal <Object Command/Signal>
- <RefObj> -> add secondary signal: signal=<Object Signal>, script=<Script Name>, prio=<Var/Number>, name=<Var/String>
- <RefObj> -> remove secondary signal: signal=<Object Signal>, name=<Var/String>
- global secondary signal map: add signal=<Object Signal> race=<Var/Race> class=<Var/Class> script=<Script Name> prio=<Var/Number> name=<Var/String>
- global secondary signal map: remove signal=<Object Signal> race=<Var/Race> class=<Var/Class> name=<Var/String>
- global script map: set: key=<Object Command/Signal>, class=<Var/Class>, race=<Var/Race>, script=<Script Name>, prio=<Var/Number>
- global script map: remove: key=<Object Command/Signal>, class=<Var/Class>, race=<Var/Race>
- global script map: ignore: key=<Object Command/Signal>, class=<Var/Class>, race=<Var/Race>
- set script command upgrade: command=<Object Command/Signal> upgrade=<Var/Ware>
- <RetVar> = get script command upgrade: command=<Object Command/Signal>
- set script command upgrade: command=<Object Command/Signal> upgrade=<Var/Ware> script=<Script Name>
- set ship command preload script: command=<Object Command/Signal> script=<Script Name>
- global script map for wings: key=<Var/Wing Command> race=<Var/Race> script=<Script Name> prio=<Var/Number>
- set script command upgrade: wing command=<Var/Wing Command> upgrade=<Var/Ware>
- set script command upgrade: wing command=<Var/Wing Command> upgrade=<Var/Ware> script=<Script Name>
- set wing command preload script: wing command=<Var/Wing Command> script=<Script Name>
- add ship custom command: id=<Var/Number>
- remove ship custom command: id=<Var/Number>
- <RetVar> = ship custom command exists: id=<Var/Number>
- set script command: <Object Command/Signal>
- <RetVar/IF> get script command
- set script command target: <Value>
- <RetVar/IF> get script command target
- <RefObj> -> connect wing command/signal <Object Command/Signal> to script <Script Name> with prio <Var/Number>
|
| |
Аудио команды
| Код:- play sample <Var/Number>
- play sample: incoming transmission <Var/Number>, from object <Value>
- <RefObj> -> send audio message <Var/Number> to player
- send incoming message <Var/String> to player: display it=<Var/Number>
- <RefObj> -> send incoming message: text=<Var/String> temporary=<Var/Boolean>
- send incoming question <Var/String> to player: callback=<Script Name>
- send incoming question <Var/String> to player: callback=<Script Name> flags=<Var/Number>
- <RetVar> = <RefObj> -> serialise object
- <RetVar/IF/START> speak text: page=<Var/Number> id=<Var/Number> priority=<Var/Number>
- display subtitle text: text=<Var/String> duration=<Var/Number> ms
- <RetVar/IF> <RefObj> -> get object name array
- <RetVar/IF> get text id: ware=<Var/Ware>
- <RetVar/IF/START> speak array: <Value> prio=<Var/Number>
|
| |
Команды бортжурнала
| Код:- write to player logbook <Value>
- write to player logbook: printf: fmt=<Var/String>, <Value>, <Value>, <Value>, <Value>, <Value>
- write to player logbook: printf: pageid=<Var/Number> textid=<Var/Number>, <Value>, <Value>, <Value>, <Value>, <Value>
- <RefObj> -> write to logbook <Value>
- write to log file <Var/Number> append=<Var/Number> value=<Value>
- write to log file <Var/Number> append=<Var/Number> printf: fmt=<Var/String>, <Value>, <Value>, <Value>, <Value>, <Value>
- write to log file <Var/Number> append=<Var/Number> printf: pageid=<Var/Number> textid=<Var/Number>, <Value>, <Value>, <Value>, <Value>, <Value>
|
| |
Команды автопилота
| Код:- @ <RetVar/IF> <RefObj> -> fly to home base
- @ <RetVar/IF> <RefObj> -> fly to station <Var/Station>
- @ <RetVar/IF> <RefObj> -> fly to sector <Var/Sector>
- <RetVar/IF> <RefObj> -> find nearest enemy ship: max.dist=<Var/Number>
- <RetVar/IF> <RefObj> -> find nearest enemy station: max.dist=<Var/Number>
- <RetVar/IF> <RefObj> -> fire lasers on target <Value> using turret <Var/Number>
- @ <RetVar/IF> <RefObj> -> turn turret <Var/Number> to target <Var/Ship/Station>: timeout=<Var/Number> ms
- @ <RetVar/IF> <RefObj> -> attack run on target <Value>: timeout=<Var/Number> ms
- @ <RetVar/IF> <RefObj> -> defensive move: type=<Var/Number>, intensity=<Var/Number>, timeout=<Var/Number> ms, avoid object=<Value>
- @ <RetVar/IF> <RefObj> -> move to ware object <Value> for collecting: timeout=<Var/Number> ms
- <RetVar/IF> <RefObj> -> catch ware object <Value>
- @ <RetVar/IF> <RefObj> -> move around <Var/Number> ms
- @ <RetVar/IF> <RefObj> -> escort ship <Var/Ship>
- @ <RetVar/IF> <RefObj> -> escort ship <Var/Ship>: timeout=<Var/Number> ms
- <RefObj> -> set formation <Var/Number>
- <RefObj> -> add to formation with leader <Var/Ship>
- <RefObj> -> remove from any formation
- <RetVar/IF> <RefObj> -> get formation leader
- <RetVar> = <RefObj> -> get formation follower ships
- <RetVar> = <RefObj> -> get formation
- <RetVar> = <RefObj> -> select new formation leader by: ship class=<Var/Number> strength=<Var/Number> min.speed=<Var/Number>
- <RetVar/IF> <RefObj> -> has formation ships
- <RefObj> -> give formation leadership to <Var/Ship>
- <RefObj> -> set as player wingman: <Var/Number>
- <RetVar/IF> <RefObj> -> is player wingman
- START <RefObj> -> command <Object Command>: arg1=<Value>, arg2=<Value>, arg3=<Value>, arg4=<Value>
- START <RefObj> -> delayed command <Object Command>: arg1=<Value>, arg2=<Value>, arg3=<Value>, arg4=<Value>
- <RefObj> -> send signal <Object Signal>: arg1=<Value>, arg2=<Value>, arg3=<Value>, arg4=<Value>
- @ <RetVar/IF> <RefObj> -> follow object <Var/Ship> with precision <Var/Number> m
- @ <RetVar/IF> <RefObj> -> follow <Var/Ship> with precision <Var/Number> m : timeout=<Var/Number> ms
- <RefObj> -> set follow mode <Var/Number>
- <RetVar/IF> <RefObj> -> get follow mode
- <RetVar/IF> <RefObj> -> use jump drive: target=<Value>
- <RetVar/IF> <RefObj> -> needed jump drive energy for jump to sector <Var/String>
- <RefObj> -> set destination to <Value>
- <RetVar/IF> <RefObj> -> get destination
- <RefObj> -> set attack target to <Value>
- <RetVar/IF> <RefObj> -> get attack target
- @ <RetVar/IF> <RefObj> -> move to position: x=<Var/Number> y=<Var/Number> z=<Var/Number> with precision <Var/Number> m
- <RefObj> -> set command: <Object Command>
- <RetVar/IF> <RefObj> -> get command
- <RefObj> -> set command target: <Value>
- <RetVar/IF> <RefObj> -> get command target
- <RefObj> -> set command target2: <Value>
- <RetVar/IF> <RefObj> -> get command target2
- <RetVar/IF> get player tracking aim
- set player tracking aim to <RefObj>
- <RetVar/IF> <RefObj> -> is <Var/Ship/Station> in firing range of turret <Var/Number>
- <RetVar> = <RefObj> -> find enemy in firing range of turret <Var/Number>
- <RefObj> -> set command: <Object Command> target=<Value> target2=<Value> par1=<Value> par2=<Value>
- <RetVar/IF> <RefObj> -> fire missile <Var/Ware> on <Value>
- <RetVar/IF> <RefObj> -> fire missile <Var/Ware> from turret <Var/Number> on <Value>
- <RetVar/IF> <RefObj> -> find best missile for target <Value>
- <RetVar> = best missile type for target <Value>
- <RetVar/IF> <RefObj> -> get current missile
- <RetVar/IF> <RefObj> -> is missile <Var/Ware> ready to fire
- <RetVar/IF> <RefObj> -> should a missile be fired
- <RetVar> = <RefObj> -> get fire missile probability
- <RetVar> = <RefObj> -> get fire missile time difference in seconds
- <RefObj> -> set fire missile probability to <Var/Number>
- <RefObj> -> set fire missile time difference to <Var/Number> ms
- <RetVar/IF> <RefObj> -> check, select and fire missile on <Value>
- <RetVar/IF> <RefObj> -> launch <Var/Number> fight drones: protect me or attack target=<Value>
- <RetVar> = <RefObj> -> find nearest missile aiming to me
- <RetVar> = <RefObj> -> get array of missiles aiming to me
- <RetVar/IF> <RefObj> -> decouple ships
- <RetVar/IF> <RefObj> -> is decoupled ships leader
- <RetVar/IF> <RefObj> -> get current galaxy flight timestep in ms
- <RetVar/IF> <RefObj> -> is landing
- <RetVar/IF> <RefObj> -> is starting
- @ <RetVar/IF> <RefObj> -> move to position continue: x=<Var/Number> y=<Var/Number> z=<Var/Number> with precision <Var/Number> m
- <RetVar/IF> <RefObj> -> move to debris/asteroid <Value> and turn turret <Var/Number> to target: timeout=<Var/Number>
- <RetVar/IF> <RefObj> -> add big ship <Var/Ship>
- <RetVar/IF> <RefObj> -> has a free ship dock port: ship subtype = <Value>
- <RetVar/IF> <RefObj> -> can be controlled by race logic
- <RefObj> -> set race logic control enabled to <Var/Number>
- <RetVar/IF> <RefObj> -> can execute StartAction
- <RefObj> -> set StartAction enabled to <Var/Number>
- <RetVar/IF> <RefObj> -> get current action
- <RefObj> -> set pirate cover state to <Var/Number>
- <RetVar/IF> <RefObj> -> scan potential pirate <Var/Ship> for illegal wares
- @ <RetVar/IF> <RefObj> -> attack run on target <Value> : timeout=<Var/Number> ms speedlimit=<Var/Number>
- <RetVar> = <RefObj> -> get scanner range
- <RefObj> -> select and switch lasers for target <Var/Ship/Station> in turret <Var/Number>: scan for friends <Var/Number>
- <RetVar> = <RefObj> -> select best lasers for target <Var/Ship/Station> in turret <Var/Number>: scan for friends <Var/Number>
- <RefObj> -> start job
- <RetVar/IF> <RefObj> -> get job id
- <RetVar/IF> <RefObj> -> get job leader
- <RetVar> = <RefObj> -> get job idle rate
- <RetVar> = <RefObj> -> get job jump range
- <RetVar/IF> <RefObj> -> wait idle rate minimum: <Var/Number> ms
- <RetVar> = <RefObj> -> get flight time
- <RefObj> -> reset flight time
- <RefObj> -> auto sync patrol sector with environment: <Var/Number>
- <RefObj> -> add to patrol group for sector: <Var/Sector>
- <RefObj> -> remove from patrol group for sector: <Var/Sector>
- <RefObj> -> remove all patrol group references
- <RetVar> = <RefObj> -> find nearest enemy ship in range: class=<Var/Class>
- <RetVar> = get freight scanner range
- <RetVar> = get transporter range
- <RetVar> = get mineral scanner range
- <RetVar/IF> <RefObj> -> is in freight scanning range: ship=<Var/Ship>
- <RetVar/IF> <RefObj> -> is in transporter range: ship=<Var/Ship>
- <RetVar/IF> <RefObj> -> is in mineral scanner range: asteroid=<Var/Asteroid>
- <RetVar/IF> <RefObj> -> is autojump activated
- <RefObj> -> set autojump active: <Var/Number>
- <RetVar/IF> <RefObj> -> get autojump minimum jumps
- <RefObj> -> autojump minimum jumps = <Var/Number>
- <RetVar/IF> <RefObj> -> is emergency jump activated
- <RefObj> -> set emergency jump active: <Var/Number>
- <RetVar/IF> <RefObj> -> get emergency jump minimum shield threshold
- <RefObj> -> autojump emergency jump shield threshold = <Var/Number>%
- <RetVar/IF> <RefObj> -> get missile resupply: missile=<Var/Ware>
- <RefObj> -> set missile resupply: missile=<Var/Ware> amount=<Var/Number>
- <RetVar/IF> <RefObj> -> get ammo resupply: ammo=<Var/Ware>
- <RefObj> -> set ammo resupply: ammo=<Var/Ware> amount=<Var/Number>
- <RetVar/IF> <RefObj> -> get jumpdrive fuel resupply
- <RefObj> -> set jumpdrive fuel resupply: amount=<Var/Number>
- <RetVar/IF> <RefObj> -> send marines to board ship: <Var/Ship> marines=<Value>
- <RetVar/IF> <RefObj> -> launch boarding pod at target: victim=<Var/Ship> marines=<Value>
- <RetVar/IF> <RefObj> -> get resupply fuel required
- <RetVar/IF> <RefObj> -> get all formation followers
- <RetVar/IF> <RefObj> -> get highest formation leader
- <RetVar/IF> is player warping
- <RetVar/IF> <RefObj> -> get desired speed
- <RefObj> -> set desired speed: <Var/Number>
|
| |
Команды автопилота - звенья
| Код:- <RetVar/IF> create a new flight wing: name=<Var/String> race=<Var/Race>
- <RetVar/IF> find flight wing: name=<Var/String> race=<Var/Race>
- disband flight wing: wing=<Var/Wing>
- remove ship from flight wing: wing=<Var/Wing> ship=<Var/Ship>
- add ship to flight wing: wing=<Var/Wing> ship=<Var/Ship>
- <RetVar/IF> get flight wing ship array: wing=<Var/Wing>
- <RetVar/IF> get flight wing array
- <RefObj> -> add to flight wing: wing=<Var/Wing>
- <RefObj> -> remove from flight wing
- global script map for wings: key=<Var/Wing Command> race=<Var/Race> script=<Script Name> prio=<Var/Number>
- set script command upgrade: wing command=<Var/Wing Command> upgrade=<Var/Ware>
- set script command upgrade: wing command=<Var/Wing Command> upgrade=<Var/Ware> script=<Script Name>
- <RetVar> = get wing command upgrade: command=<Var/Wing Command>
- <RefObj> -> set wing command: <Var/Wing Command>
- <RefObj> -> set wing command: <Var/Wing Command> target=<Value> target2=<Value>
- <RetVar/IF> <RefObj> -> get wing natural formation
- <RefObj> -> set wing natural formation: formation=<Var/Number>
- <RetVar/IF> <RefObj> -> is temporarily removed from wing
- <RefObj> -> temporarily remove from wing
- <RefObj> -> return to wing
- <RetVar/IF> get predefined wing: wing=<Var/Number>
- <RefObj> -> add wing additional ship command: id=<Var/String> script=<Script Name> pageid=<Var/Number> textid=<Var/Number>
- <RefObj> -> add wing additional ship command: id=<Var/String> script=<Script Name> pageid=<Var/Number> textid=<Var/Number> checkscript=<Script Name>
- <RefObj> -> remove wing additional ship command: id=<Var/String>
- <RetVar/IF> <RefObj> -> does wing additional ship command exists: id=<Var/String>
- <RetVar/IF> <RefObj> -> get ship array for wing command upgrade: command=<Var/Wing Command>
- <RetVar/IF> <RefObj> -> ship has wing command upgrade: command=<Var/Wing Command>
- add wing custom command: id=<Var/Number>
- remove wing custom command: id=<Var/Number>
- <RetVar> = wing custom command exists: id=<Var/Number>
- START <RefObj> -> wing command <Var/Wing Command> : arg1=<Value>, arg2=<Value>, arg3=<Value>, arg4=<Value>
- <RetVar/IF> <RefObj> -> is in same wing as <Var/Ship>
- <RetVar/IF> <RefObj> -> get wing formation leaders
- <RetVar/IF> <RefObj> -> get temporarily removed ship array from wing
- set wing command preload script: wing command=<Var/Wing Command> script=<Script Name>
- <RetVar/IF> <RefObj> -> get number of wing formation leaders
- <RetVar/IF> <RefObj> -> get max number of ships per wing formation
|
| |
Торговые команды
| Код:- <RetVar/IF> get player money
- add money to player: <Var/Number>
- <RetVar/IF> <RefObj> -> add <Var/Number> units of <Var/Ware>
- <RetVar/IF> <RefObj> -> install <Var/Number> units of <Var/Ware>
- <RetVar> = get volume of ware <Var/Ware>
- <RetVar> = get transport class of ware <Var/Ware>
- <RetVar/IF> find station: product <Var/Ware> with best price: max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value>
- <RetVar/IF> <RefObj> -> find station: product <Var/Ware> with best price: max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value>
- <RetVar/IF> find station: product <Var/Ware> with min. jumps: max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value>
- <RetVar/IF> <RefObj> -> find station: product <Var/Ware> with min. jumps: max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value>
- <RetVar/IF> find station: resource <Var/Ware> with best price: min.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value>
- <RetVar/IF> <RefObj> -> find station: resource <Var/Ware> with best price: min.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value>
- <RetVar/IF> find station: resource <Var/Ware> with min. jumps: min.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value>
- <RetVar/IF> <RefObj> -> find station: resource <Var/Ware> with min. jumps: min.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value>
- <RetVar/IF> find station sells: resource <Var/Ware> with best price: max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value>
- <RetVar/IF> <RefObj> -> find station sells: resource <Var/Ware> with best price: max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value>
- <RetVar/IF> find station sells: resource <Var/Ware> with min. jumps: max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value>
- <RetVar/IF> <RefObj> -> find station sells: resource <Var/Ware> with min. jumps: max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value>
- <RetVar/IF> find station: product <Var/Ware> with best price depend on jumps: max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value>
- <RetVar/IF> find station: resource <Var/Ware> with best price depend on jumps: max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value>
- <RetVar/IF> find station sells: resource <Var/Ware> with best price depend on jumps: max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value>
- <RetVar> = get average price of ware <Var/Ware>
- <RetVar> = get max price of ware <Var/Ware>
- <RetVar> = get min price of ware <Var/Ware>
- <RetVar> = get max price of ware <Var/Ware> as secondary resource
- <RetVar> = get min price of ware <Var/Ware> as secondary resource
- <RetVar/IF> is ware <Var/Ware> illegal in <Var/Race> sectors
- <RetVar> = get maintype of ware <Var/Ware>
- <RetVar> = get subtype of ware <Var/Ware>
- <RetVar> = get ware from maintype <Var/Number> and subtype <Var/Number>
- <RetVar> = get number of subtypes of maintype <Var/Number>
- <RetVar> = <RefObj> -> get maintype
- <RetVar> = <RefObj> -> get subtype
- <RetVar> = get relvalue of <Var/Ware>
- <RetVar> = get notoriety required to buy ware: <Var/Ware>
- <RetVar/IF> is equipment: ware=<Var/Ware>
- <RetVar/IF> is upgrade: ware=<Var/Ware>
- <RetVar/IF> is inventory: ware=<Var/Ware>
|
| |
Торговые команды - Для кораблей
| Код:- <RetVar/IF> <RefObj> -> buy <Var/Number> units of <Var/Ware>
- <RetVar/IF> <RefObj> -> buy <Var/Number> units of <Var/Ware> to a max. price of <Var/Number> Cr
- <RetVar/IF> <RefObj> -> sell <Var/Number> units of <Var/Ware>
- <RetVar/IF> <RefObj> -> load <Var/Number> units of <Var/Ware>
- <RetVar/IF> <RefObj> -> unload <Var/Number> units of <Var/Ware>
- <RetVar> = <RefObj> -> get max. ware transport class
- <RetVar/IF> <RefObj> -> get cargo bay size
- <RetVar/IF> <RefObj> -> get free volume of cargo bay
- <RetVar/IF> <RefObj> -> get volume of ware <Var/Ware> in cargo bay
- <RetVar/IF> <RefObj> -> get true volume of ware <Var/Ware> in cargo bay
- <RetVar/IF> <RefObj> -> get free volume of ware <Var/Ware> in cargo bay
- <RetVar/IF> <RefObj> -> get total volume in cargo bay
- <RetVar/IF> <RefObj> -> can transport ware <Var/Ware>
- <RefObj> -> add default items to ship
- <RefObj> -> add lasers per value: <Var/Number> flags: <Var/Number>
- <RefObj> -> add shields per value: <Var/Number>
- <RefObj> -> switch laser in turret <Var/Number> gun <Var/Number> to <Var/Ware>
- <RefObj> -> set wanted ware count to <Var/Number>
- <RefObj> -> set wanted ware to <Var/Ware>
- <RetVar> = <RefObj> -> get wanted ware count
- <RetVar> = <RefObj> -> get wanted ware
- <RetVar/IF> <RefObj> -> has illegal ware onboard: race=<Var/Race>
- <RetVar/IF> <RefObj> -> get tradeable ware array from ship
- <RetVar> = get warearray for <Var/Ship>
- <RetVar> = <RefObj> -> get upgrade price: cargo-speed-rot <Var/Ware> units: <Var/Number>
- <RetVar/IF> <RefObj> -> get defined amount of ware <Var/Ware> as ship hardware
- <Var/Ware> <RefObj> -> set defined amount of ware <Var/Number> as ship hardware
- <RetVar> = <RefObj> -> get ship hardware as array
- <RetVar/IF> <RefObj> -> can buy ware <Var/Ware> at station <Var/Station>
- <RetVar/IF> <RefObj> -> can buy ware <Var/Ware> from race <Var/Race>
|
| |
Торговые команды - Для станций
| Код:- <RetVar/IF> <RefObj> -> get best store amount of ware <Var/Ware>
- <RetVar/IF> <RefObj> -> get max. store amount of ware <Var/Ware>
- <RetVar/IF> <RefObj> -> can buy ware <Var/Ware>
- <RetVar/IF> <RefObj> -> get intermediates buyable
- <RefObj> -> set intermediates buyable to <Var/Number>
- <RetVar/IF> <RefObj> -> can sell ware <Var/Ware>
- <RetVar/IF> <RefObj> -> get intermediates sellable
- <RefObj> -> set intermediates sellable to <Var/Number>
- <RetVar/IF> <RefObj> -> get price of ware <Var/Ware>
- <RetVar/IF> <RefObj> -> get average price of ware <Var/Ware>
- <RefObj> -> set price of ware <Var/Ware> to <Var/Number> Cr
- <RetVar/IF> <RefObj> -> uses ware <Var/Ware> as primary resource
- <RetVar/IF> <RefObj> -> uses ware <Var/Ware> as secondary resource
- <RetVar/IF> <RefObj> -> trades with ware <Var/Ware>
- <RetVar/IF> <RefObj> -> get product ware
- <RetVar/IF> <RefObj> -> get number of resources
- <RetVar/IF> <RefObj> -> get number of primary resources
- <RetVar/IF> <RefObj> -> get number of secondary resources
- <RetVar/IF> <RefObj> -> get max trade jumps
- <RefObj> -> set max trade jumps: <Var/Number>
- <RetVar/IF> <RefObj> -> only player own ships can trade with
- <RetVar> = <RefObj> -> get tradeable ware array from station
- <RetVar/IF> <RefObj> -> get products
- <RetVar/IF> <RefObj> -> uses ware <Var/Ware> as product
- <RetVar> = <RefObj> -> get production cycle time: account for secondary resources=<Var/Number>
- <RetVar> = <RefObj> -> get remaining production cycle time
- <RetVar> = <RefObj> -> get number of products per cycle
- <RetVar> = <RefObj> -> get number of products per cycle for ware <Var/Ware>
- <RetVar> = <RefObj> -> get production status: as percentage=<Var/Number>
- <RefObj> -> add product to factory or dock: <Var/Ware>
- <RefObj> -> add primary resource to factory: <Var/Ware>
- <RefObj> -> add second resource to factory: <Var/Ware>
- <RefObj> -> remove product from factory or dock: <Var/Ware>
- <RefObj> -> remove primary resource from factory: <Var/Ware>
- <RefObj> -> remove second resource from factory: <Var/Ware>
- <RefObj> -> factory production task: on=<Var/Number>
- <RetVar/IF> <RefObj> -> get repair cost of ship <Var/Ship>
- <RefObj> -> add default wares to station/dock
|
| |
Торговые команды - Для кораблей и станций
| Код:- <RetVar/IF> <RefObj> -> get money
- <RefObj> -> add money: <Var/Number>
- <RetVar/IF> <RefObj> -> get amount of ware <Var/Ware> in cargo bay
- <RetVar/IF> <RefObj> -> get true amount of ware <Var/Ware> in cargo bay
- <RetVar/IF> <RefObj> -> get free amount of ware <Var/Ware> in cargo bay
- <RetVar/IF> <RefObj> -> get max amount of ware <Var/Ware> that can be stored in cargo bay
- <RetVar/IF> <RefObj> -> get ware storage percentage: ware=<Var/Ware>
|
| |
Торговые команды - Торговец
| Код:- add merchant <Var/String> base=<RefObj> -> wanted wares=<Var/Array> owned wares=<Var/Array> cash=<Var/Number> rank=<Var/Number>
- <RetVar> = <RefObj> -> get merchants
- remove merchant <Var/String>
- merchant <Var/String> got ware <Var/Ware>: quantity=<Var/Number>
- merchant <Var/String> sold ware <Var/Ware>: quantity=<Var/Number>
- reset merchant <Var/String> expiry
- <RetVar> = get data for merchant <Var/String>: item number=<Var/Number>
|
| |
Торговые команды - Пассажиры
| Код:- <RetVar/IF> <RefObj> -> create passenger in ship: name=<Var/String> race=<Var/Race> voice=<Var/Number> face=<Var/Number>
- <RetVar/IF> <RefObj> -> add pilot of ship <Var/Ship> as passenger: disable ship=<Var/Boolean>
- <RetVar/IF> <RefObj> -> get passenger array
- <RetVar/IF> <RefObj> -> move passenger to ship <Var/Ship>: set passenger as pilot=<Var/Boolean>
- <RetVar/IF> <RefObj> -> eject passenger
- <RetVar/IF> <RefObj> -> enslave passenger
- <RetVar/IF> <RefObj> -> destroy passenger
- <RefObj> -> train passenger to marine
- <RefObj> -> create marine from passenger: fighting=<Var/Number> hacking=<Var/Number> mechanical=<Var/Number> engineering=<Var/Number>
- <RefObj> -> set marine skill: fighting=<Var/Number>
- <RefObj> -> set marine skill: hacking=<Var/Number>
- <RefObj> -> set marine skill: mechanical=<Var/Number>
- <RefObj> -> set marine skill: engineering=<Var/Number>
- <RetVar/IF> is marine: passenger/astronaut=<Var/Passenger>
- <RetVar/IF> <RefObj> -> can transport passenger: <Var/Passenger>
- <RetVar/IF> <RefObj> -> can launch marines
- <RetVar/IF> <RefObj> -> is ship boardable
- <RetVar/IF> <RefObj> -> get marines array
- <RetVar/IF> <RefObj> -> free space for marines
- <RefObj> -> set passenger transport, destination=<Var/Station>, payment=<Var/Number>
- <RetVar/IF> <RefObj> -> is passenger to be transported
- <RetVar/IF> <RefObj> -> get passenger transport destination
- <RetVar/IF> <RefObj> -> get passenger transport payment
- <RetVar/IF> <RefObj> -> get marine buy price
- <RetVar/IF> <RefObj> -> get number of marines can board
- <RetVar/IF> <RefObj> -> get maximum number of marines
- <RetVar/IF> <RefObj> -> get number of marines attacking
- <RetVar/IF> <RefObj> -> get incoming marines
- <RetVar/IF> <RefObj> -> get marine fighting skill
- <RetVar/IF> <RefObj> -> get marine hacking skill
- <RetVar/IF> <RefObj> -> get marine mechanical skill
- <RetVar/IF> <RefObj> -> get marine engineering skill
- <RetVar/IF> <RefObj> -> get marine overall skill
- <RetVar/IF> <RefObj> -> add marine <Value> to attack group on ship
- <RefObj> -> stop incoming marines
- <@RetVar/IF> <RefObj> -> move marine to board: <Value>, timeout=<Var/Number>
|
| |
|
Редактировалось 3 раз (а). Последний раз 15.09.2011 22:51:20. |
| | 30.04.2010 16:39:55 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | Список всех скриптовых команд. Часть 2.Общие команды для объектов
Общие команды для объектов - Информация об оружии
| Код:- <RetVar> = get power generator of ship/station type <Var/Ware>
- <RetVar> = <RefObj> -> get power generator
- <RetVar/IF> <RefObj> -> fits laser <Var/Ware> into turret <Var/Number>
- <RetVar/IF> <RefObj> -> get max. number of lasers in turret <Var/Number>
- <RetVar> = <RefObj> -> get laser type in turret <Var/Number> at slot <Var/Number>
- <RetVar/IF> <RefObj> -> get laser type in bay <Var/Number>
- <RetVar> = <RefObj> -> get number of turrets
- <RetVar/IF> <RefObj> -> turret <Var/Number> can use laser <Var/Ware>
- <RetVar> = get range of laser <Var/Ware>
- <RetVar> = get shield damage of laser <Var/Ware>
- <RetVar> = get hull damage of laser <Var/Ware>
- <RetVar/IF> get ammunition of laser <Var/Ware>
- <RetVar> = get bullet speed of laser <Var/Ware>
- <RetVar/IF> <RefObj> -> can missile <Var/Ware> be installed
- <RetVar> = get range of missile type <Var/Ware>
- <Var/Ware> = get missile max damage of <Var/Ware>
- <RetVar> = get default launch time difference for missile type: <Var/Ware>
- <RetVar> = get missile flags of <Var/Ware>
- <RefObj> -> set laser energy to <Var/Number>
- <RetVar> = <RefObj> -> get compatible laser array: turret=<Var/Number>
- <RetVar/IF> <RefObj> -> can turret <Var/Number> fire missiles
- <RetVar/IF> <RefObj> -> get compatible missile array
- <RetVar/IF> <RefObj> -> get maximum laser range: turret=<Var/Number>
- <RetVar/IF> <RefObj> -> get minimum laser range: turret=<Var/Number>
- <RetVar/IF> <RefObj> -> get compatible missile array from cargobay
|
| |
Общие команды для объектов - Пилоты
| Код:- <RetVar> = <RefObj> -> get pilot name
- <RefObj> -> set pilot name to <Var/String>
- <RetVar> = get random name: race=<Var/Race>
- <RetVar> = get fight rank
- <RetVar> = get trade rank
- <RefObj> -> set pilot speaker: voice=<Value>, face=<Value>, Pirate subrace=<Value>, Argon female=<Var/Number>
- <RetVar> = <RefObj> -> get pilot fightskill
- <RefObj> -> set pilot fightskill to <Var/Number>
- <RetVar> = <RefObj> -> get pilot tradeskill
- <RefObj> -> set pilot tradeskill to <Var/Number>
- <RetVar> = <RefObj> -> get pilot morale
- <RefObj> -> set pilot morale: <Var/Number>
- <RetVar> = <RefObj> -> get pilot aggression
- <RefObj> -> set pilot aggression: <Var/Number>
- <RetVar/IF> <RefObj> -> pilot eject from ship
- <RetVar/IF> <RefObj> -> move pilot to ship <Var/Ship>: disable=<Var/Boolean>
- <RetVar> = get trade rank title: text=<Var/Boolean>
- <RetVar> = get fight rank title: text=<Var/Boolean>
- <RetVar> = get trade rank percentage
- <RetVar> = get fight rank percentage
- <RetVar> = <RefObj> -> get notoriety title to race <Var/Race>: text=<Var/Boolean>
- <RetVar> = <RefObj> -> get notoriety percentage to race <Var/Race>
- <RetVar/IF> get mission rank: name=<Var/String>
- set mission rank: name=<Var/String> rank=<Var/Number>
|
| |
Общие команды для объектов - создание объектов
| Код:- <RetVar> = create ship: type=<Var/Ship Type> owner=<Var/Race> addto=<Value> x=<Var/Number> y=<Var/Number> z=<Var/Number>
- <RetVar> = create station: type=<Var/Station Type> owner=<Var/Race> addto=<Value> x=<Var/Number> y=<Var/Number> z=<Var/Number>
- <RetVar> = create gate: type=<Var/Number> addto=<Var/Sector> gateid=<Var/Number> dstsecx=<Var/Number> dstsecy=<Var/Number> dstgateid=<Var/Number> x=<Var/Number> y=<Var/Number> z=<Var/Number>
- <RetVar> = create asteroid: type=<Var/Number> addto=<Var/Sector> resource=<Var/Number> yield=<Var/Number> x=<Var/Number> y=<Var/Number> z=<Var/Number>
- <RetVar> = create debris: type=<Var/Number> addto=<Var/Sector> resource=<Var/Number> yield=<Var/Number> x=<Var/Number> y=<Var/Number> z=<Var/Number>
- <RetVar> = create nebula: type=<Var/Number> addto=<Var/Sector> x=<Var/Number> y=<Var/Number> z=<Var/Number>
- <RetVar> = create sun: subtype=<Var/Number> r=<Var/Number> g=<Var/Number> b=<Var/Number> addto=<Var/Sector> x=<Var/Number> y=<Var/Number> z=<Var/Number>
- <RetVar> = create planet: subtype=<Var/Number> addto=<Var/Sector> x=<Var/Number> y=<Var/Number> z=<Var/Number>
- <RetVar> = create special: type=<Var/Number> addto=<Var/Sector> x=<Var/Number> y=<Var/Number> z=<Var/Number>
- <RetVar> = create flying ware: maintype=<Var/Number> subtype=<Var/Number> count=<Var/Number> sector=<Var/Sector> x=<Var/Number> y=<Var/Number> z=<Var/Number> selfdestruct=<Var/Number>
|
| |
Команды секторов и Галактики
| Код:- <RetVar/IF> find ship: sector=<Var/Sector> class or type=<Value> race=<Var/Race> flags=<Var/Number> refobj=<Value> maxdist=<Var/Number> maxnum=<Var/Number> refpos=<Var/Array>
- <RetVar/IF> <RefObj> -> find ship: class or type=<Value> race=<Var/Race> flags=<Var/Number> refobj=<Value> maxnum=<Var/Number> with homebase=<Value>
- <RetVar/IF> find asteroid: sector=<Var/Sector> resourcetype=<Var/Number> min.yield=<Var/Number> flags=<Var/Number> refobj=<Value> maxdist=<Var/Number> maxnum=<Var/Number> refpos=<Var/Array>
- <RetVar/IF> find debris: sector=<Var/Sector> resource=<Var/Ware> min yield=<Var/Number> flags=<Var/Number> refobj=<Value> num=<Var/Number> max distance=<Var/Number> refpos=<Var/Array>
- <RetVar/IF> find nebula: sector=<Var/Sector> type=<Var/Number> effect=<Var/Number> flags=<Var/Number> refobj=<Var/Ship/Station> maxdist=<Var/Number> maxnum=<Var/Number> refpos=<Var/Array>
- <RetVar/IF> find flying ware: sector=<Var/Sector> maintype=<Var/Number> subtype=<Var/Number> flags=<Var/Number> refobj=<Value> maxdist=<Var/Number> maxnum=<Var/Number> refpos=<Var/Array>
- <RetVar/IF> find station: sector=<Var/Sector> class or type=<Value> race=<Var/Race> flags=<Var/Number> refobj=<Value> maxdist=<Var/Number> maxnum=<Var/Number> refpos=<Var/Array>
- <RetVar/IF> find station in galaxy: startsector=<Var/Sector> class or type=<Value> race=<Var/Race> flags=<Var/Number> refobj=<Value> serial=<Var/Stations Serial> max.jumps=<Var/Number>
- <RetVar/IF> find station in galaxy: startsector=<Var/Sector> class or type=<Value> race=<Var/Race> flags=<Var/Number> refobj=<Value> serial=<Var/Stations Serial> max.jumps=<Var/Number> num=<Var/Number>
- <RetVar/IF> find gate: flags=<Var/Number>, refobj=<Value>, max dist=<Var/Number>, refpos=<Var/Array>
- <RetVar/IF> get sector from universe index: x=<Var/Number>, y=<Var/Number>
- <RetVar> = get max sectors in x direction
- <RetVar> = get max sectors in y direction
- <RetVar/IF> <RefObj> -> is sector known by the player
- <RetVar> = <RefObj> -> get universe x index
- <RetVar> = <RefObj> -> get universe y index
- <RetVar> = <RefObj> -> get north warp gate
- <RetVar> = <RefObj> -> get south warp gate
- <RetVar> = <RefObj> -> get east warp gate
- <RetVar> = <RefObj> -> get west warp gate
- <RetVar/IF> <RefObj> -> get warp gate: gate id=<Var/Number>
- <RetVar> = <Var/Warpgate> get gate id
- <RetVar/IF> get next gate on route from <Var/Sector> to <Var/Sector>
- <RetVar> = <Var/Warpgate> get gate destination: return sector=<Var/Number>
- <RetVar/IF> get jumps from sector <Var/Sector> to sector <Var/Sector>
- <RetVar/IF> get next sector on route from sector <Var/Sector> to sector <Var/Sector>
- <RetVar> = find a random sector: startsector=<Var/Sector>, jumps=<Var/Number>, owner=<Var/Race>
- <RetVar> = find a random sector: startsector=<Var/Sector>, jumps=<Var/Number>, owner=<Var/Race>, security level=<Var/Number>
- <RetVar/IF> <RefObj> -> find all sectors within <Var/Number> jumps: Only known sectors=<Var/Number>
- <RetVar> = <RefObj> -> get ship array from sector/ship/station
- <RetVar> = <RefObj> -> get station array from sector
- <RetVar> = <RefObj> -> get factory array from sector
- <RetVar> = <RefObj> -> get dock array from sector
- <RetVar> = <RefObj> -> get player owned ship array from sector
- <RetVar> = <RefObj> -> get player owned station array from sector
- <RetVar> = <RefObj> -> get asteroid array from sector
- <RetVar/IF> <RefObj> -> get owned ships: class/type=<Value>
- <RetVar> = get ship array: of race <Var/Race> class/type=<Value>
- <RetVar> = get station array: of race <Var/Race> class/type=<Value>
- <RetVar> = get station array: product=<Var/Ware> include empty=<Var/Boolean>
- <RetVar> = get station array: resource=<Var/Ware> include empty=<Var/Boolean>
- <RetVar/IF> player has police licence for race <Var/Race>
- player loses police licence for race <Var/Race>
- <RetVar/IF> <RefObj> -> is core sector
- <RefObj> -> set sector to core security <Var/Boolean>
- <RetVar> = get ship type array: maker race=<Var/Race> class=<Value>
- <RetVar/IF> <RefObj> -> get planet array
- set discovered status: type=<Value> status=<Var/Boolean>
- <RetVar/IF> has <Value> been discovered
- <RetVar/IF> <RefObj> -> get all stationary objects: include asteroids=<Var/Boolean>
- <RetVar/IF> <RefObj> -> get buyable wares in sector. Include player factories: <Var/Number> Include shipyards: <Var/Number> Include docks: <Var/Number>
|
| |
Прочее
| Код:- <RetVar/IF> <RefObj> -> get user input: type=<Script Reference Type>, title=<Var/String>
- <RetVar/IF> open custom menu: title=<Var/String> description=<Var/String> option array=<Var/Array>
- <RetVar/IF> open custom info menu: title=<Var/String> description=<Var/String> option array=<Var/Array> maxoptions=<Var/Number>
- <RetVar> = create custom menu array
- <RetVar> = create custom menu array: heading=<Var/String>
- <RetVar> = create custom menu array, info lines=<Var/String>, <Var/String>, <Var/String>, <Var/String>, <Var/String>
- add custom menu item to array <Value>: text=<Var/String> returnvalue=<Value>
- add custom menu heading to array <Value>: title=<Var/String>
- add custom menu info line to array <Value>: text=<Var/String>
- capture screen
- set monitor mode and viewpoint: monitor=<Var/Number> cockpit=<Var/Number> mode=<Var/Number> alpha=<Var/Number> beta=<Var/Number> gamma=<Var/Number> range=<Var/Number>
- add section to custom menu: <Var/Array>
- <RetVar> = create text for custom menu, left=<Var/String>, right=<Var/String>
- add value selection to menu: <Var/Array>, text=<Var/String>, value array=<Var/Array>, default=<Var/Number>, return id=<Var/String>
- <RetVar/IF> <RefObj> -> get user input without sector: type=<Script Reference Type>, title=<Var/String>
- <RetVar/IF> <RefObj> -> get user input type=<Script Reference Type>, title=<Var/String>, sector=<Var/Sector>
- add encyclopedia custom article: News, id=<Var/String>, title page=<Var/Number>, title id=<Var/Number>, text page=<Var/Number>, text id=<Var/Number>, timeout=<Var/Number>
- add encyclopedia custom article: Information, id=<Var/String>, title page=<Var/Number>, title id=<Var/Number>, text page=<Var/Number>, text id=<Var/Number>, timeout=<Var/Number>
- add encyclopedia custom article: History, id=<Var/String>, title page=<Var/Number>, title id=<Var/Number>, text page=<Var/Number>, text id=<Var/Number>, timeout=<Var/Number>
- add encyclopedia custom article: Stories, id=<Var/String>, title page=<Var/Number>, title id=<Var/Number>, text page=<Var/Number>, text id=<Var/Number>, timeout=<Var/Number>
- remove encyclopedia custom article: id=<Var/String>
- set encyclopedia custom article sectors: id=<Var/String>, sector array=<Value>
|
| |
Прочее - NPC
| Код:- <RetVar> = get random NPC
- <RetVar> = <RefObj> -> get NPC personal ship
- <RefObj> -> NPC send voice message: id=<Var/Number>
- <RefObj> -> release NPC personal ship
- <RefObj> -> release NPC
- <RetVar> = <RefObj> -> NPC wants to bail
- <RetVar> = <RefObj> -> NPC is aggressive
- <RefObj> -> spawn NPC personal ship: rank=<Var/Number>
- <RefObj> -> spawn NPC fleet: rank=<Var/Number>
- <RetVar> = <RefObj> -> get NPC fleet
|
| |
Прочее - События
| Код:- <RetVar/IF> display news article: page=<Var/Number> newsid=<Var/Number> occurrences=<Var/Number> maxoffertime=<Var/Number> maxtime=<Var/Number> placeholder:race1=<Var/Number> race2=<Var/Number> customarray=<Var/Array>
- change event news availability: <Var/Number> race=<Var/Race> sector=<Var/Sector> jumps=<Var/Number>
- register god event: script=<Script Name> mask=<Var/Number>
- abort god event: <Var/Quest>
- finish god event: <Var/Quest>
|
| |
Прочее - AL Engine
| Код:- al engine: register script=<Script Name>
- al engine: unregister script=<Script Name>
- al engine: set plugin <Var/String> description to <Var/String>
- al engine: set plugin <Var/String> timer interval to <Var/Number> s
|
| |
|
Редактировалось 1 раз (а). Последний раз 14.09.2011 21:17:47. |
| | 30.04.2010 16:40:41 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | | | 30.04.2010 16:41:25 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | | | 30.04.2010 16:41:47 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | Редактировалось 2 раз (а). Последний раз 14.09.2011 21:17:35. |
| | 30.04.2010 16:43:09 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | |
| 12345678>» Список игр
|  |
|  |
 |  |  | |
| | | |
|  |