Автор: Редактор скриптовЧасть 1. Общие данные. Не знаю, сколько сотен раз уже был задан этот вопрос, но я считаю, что об следует написать.Для того, чтобы активировать Редактор скриптов, нужно вместо имени пилота ввести Thereshallbewings (T - заглавная буква, остальные строчные; обратите внимание на двойную "l" (эль); Вы не должны быть пристыкованы к станции). Если Вы все ввели правильно, то игра должна чуть-чуть подвиснуть, а имя пилота должно остаться прежним.Редактор скриптов (далее ScE (от Script Editor)) будет доступен в меню каждого корабля/станции, а также в "Общих командах". Есть небольшая разница в месте, откуда его запускать. Из "Общих команд" он запускается штатно, а при запуске, например, из командного меню корабля, редактор позволяет отлаживать локальные скрипты, запускаемые на этом корабле.Часть 2. Пункты меню.При первом запуске Вам ознакомят с возможными рисками, а также списком горячих клавиш (которые действительно ой как нужны и крайне полезны).Script Task Statistics - статистика по всем скриптам, когда либо запущенным за данную игру, ничего особо полезного.Редактор скриптов - при выборе данного пункта меню, Вы перейдете к списку скриптов, а также сможете создать новый (а Вы думали что-то иное? :).Reinit Script Caches - перезагрузить кэш скриптов. Для более быстрой работы скрипты помещаются в кэш, поэтому обычно необходимо жмякать по этой кнопке, если Вы модифицировали какой-либо локальный скрипт. Примечание: изменения не будут применены к уже запущенным скриптам, пока они не будут запущены заново.Script Debugging: <Объект> - инструмент для отладки локальных скриптов. Объект, локальные скрипты которого будут отлаживаться, зависит от того, через меню какого корабля/станции в этот раз был запущен редактор скриптов (чуть выше я писал об этом). Переключатель может быть в трех состояниях: Off - отладка выключена.Log - вся последовательность действий (исполняемых команд) будет записана логом. .Trace - отладка "на лету", т.е. пошаговая (прежде чем исполнить следующую команду, будет запрошено разрешение; также в этом режиме указаны текущие (на момент исполнения каждой команды) значения всех локальных переменных). .Script Name имя скрипта, команда которого была выполнена в данной строке.Line номер строки в скрипте Script Name.Stackdepth глубина стек в котором выполняется задача (количество скриптов в стеке отсчет ведется с 0)Prio приоритет выполняемого скриптаPID глобальный идентификатор задачиTaskID Идентификатор задачиCommand исходный текст командыScript Debugging: Additional Information - отвечает за отображение доп. информации (отношение к расам, запущенные локальные скрипты) в инфо о корабле/станции. Два положения выключателя - on и off.Clear Debug Messages - очистить лог отладки (см. Script Debugging).Script Debugger Menu - или лог, или пошаговая отладка (см. Script Debugging).Global Script Task - список исполняющихся глобальных скриптов. Вооружившись кнопкой Delete, можно смотреть на глобальные скрипты, как на... ну вы понЕли.Помощь - без комментариев.Часть 3. Среда разработки.Итак, открыв Редактор скриптов и выбрав пункт <Новый скрипт> Вы попадете непосредственно в место, где можете начать творить. Вот как в целом выглядит встроенный интерфейс создания/редактирования скриптов:Пойдем по порядку.1. Первый блок очевиден и, я считаю, не требует комментариев.2. Блок "Параметры". Зачем он нужен? Представим, что у нас есть стиральная машина. Чтобы её правильно запустить требуется ввести правильные данные, в зависимости от вещей, которые Вы в неё загрузили, так как сама она понятия не имеет, что Вы туда загрузили и загрузили ли вообще. Тип белья, время стирки, дополнительные функции - это и есть эти самые "параметры", если стиральная машина - это исполняемый скрипт, а бельё - это то, с чем мы будем взаимодействовать. Есть скрипты, которым не требуются какие-либо параметры. Обычно они запускаются единожды и носят статус глобальных, но есть и исключения. Например, команда "Ожидать", когда корабль просто слоняется по сектору, в котором была отдана эта команда.Максимальное кол-во параметров в скрипте неограниченно, как и кол-во переменных. Параметры задаются, когда запускается скрипт и записываются в заданные Вами переменные. Если во время ввода параметра, Вы нажмете Escape, то ввод параметра будет прекращен, в переменную вернется null, а Вы перейдете к вводу следующего параметра.Обратите внимание на то, что если скрипт не подразумевает ручного ввода параметров, и параметров больше пяти (почему именно 5 - узнаете дальше), то рекомендуется передавать значения с помощью массива. Или нескольких массивов, чтобы было удобнее :)3. Блок "Код". Это место, где Вы начинаете Творить. Да, именно творить, ведь скрипты - это в первую очередь произведения искусства :)Любым скриптам доступно использование любых команд, за исключением команд вызова других скриптов при кое-каких условиях (но об этом опять же потом). Описание всех команд будет изложено позже, а также будут расписаны некоторые аспекты их исполнения.Часть 4. Типы переменных.Переменные, используемые командами зачастую содержат вовсе не циферки-буковки, а ссылки на какие либо объекты, причем в этой ссылке будет содержать абсолютно вся информация о нем, начиная от , заканчивая списком скриптов, исполняемых в его тасках. Но получить эту информацию можно только с помощью соответствующих скриптов или их совокупностей.Тип переменнойОписаниеDATATYP_NULLТо, что изначально содержит незаданная переменная - "null".DATATYP_UNKNOWNНеизвестный ScE тип данных.DATATYP_VARВ переменной содержится переменная ссылка на другую переменную (зачастую - на массив).DATATYP_CONSTКонстанта.DATATYP_INTКакое-либо целочисленное значение.DATATYP_STRINGКакой-либо текст, набор символов, цифр.DATATYP_SHIPПеременная-ссылка на корабль вместе с его свойствами (см. выше).DATATYP_STATIONАналогично тому, что выше, только вместо корабля - станция.DATATYP_SECTORПеременная-ссылка на сектор.DATATYP_WAREПеременная-ссылка на какой-либо тип товара.DATATYP_RACEКакая-либо раса.DATATYP_STATIONSERIALСерийный номер станции. Греческий алфавит от Альфа до Омега.DATATYP_OBJCLASS .DATATYP_TRANSPORTCLASSКласс груза. От S до ST.DATATYP_RELATIONОтношение. Враг, нейтрал, друг.DATATYP_OP???DATATYP_EXPRЛогическое выражение, принимающее либо истину, либо ложь.DATATYP_OBJECTСсылка на какой-либо объект. Используется для таких объектов, как, например, астероид.DATATYP_OBJCOMMANDКоманда/Сигнал объекту (объект - корабль или станция).DATATYP_FLRETСемейство FLRET. Более подробно будет расписано позже.DATATYP_DATATYPПеременные этого типа содержат данные, которые содержат в себе переменные, которые содержат.... То есть Тип данных, то о чем сейчас и идет речь. С переменными этого типа взаимодействуют лишь две команды :)DATATYP_ARRAYМассив. Дело, однако, в том, что такая переменная вовсе не является массивом. Она лишь является ссылкой на него (поинтер).DATATYP_QUESTПеременная-миссия. Честно говоря, с ней мне еще не приходилось сталкиваться.Воспользовавшись моментом, добавлю таблицу с используемыми скриптами данными (то есть то, что нужно скрипту от переменной в зависимости от текста (кривовато сказал, но, думаю, Вы меня поняли :)).По-английскиПо-русскиОписание<RetVar><ВозврПерем>Переменная, в которую возвращается результат выполнения (или невыполнения, если данные заданы некорректно) команды.<RetVar/IF><Возвр/IF>То же, что и выше, но плюсом возможность выбрать один из операторов. Принцип - команда становится логическим выражением (которое-таки исполняется) и, если результат ненулевой (не "0" и и не "null"), принимащим истинное значение, в противном случае - ложное.<RetVar/IF/START><Возвр/IF/START>Тоже, что и выше, но с возможностью выбора префикса START. Используется только в командах вызова скриптов. Внимание! Если Вы запустите в локальном скрипте команду с данным префиксом, то игра повиснет!Вообще, этот префикс дает возможность запустить какой-либо скрипт по принципу "запустил и забыл", т.е. основному скрипту глубоко пофиг, как отработает запущенный им с данным префиксом скрипт.<Expression><Выражение>Логическое выражение, принимающее значение либо Истина (1), либо Ложь (0).<Var/String><Перем/Текст>Текст, либо переменная, которая его содержит
Сейчас на сайте (человек): 140
16:41 16:23 15:57 15:04 14:32 14:29 02:39 23:25 20:46 18:39
Редактор скриптов / X3 Terran Conflict (Земной конфликт)
Редактор скриптов / X3 Terran Conflict (Земной конфликт)
Комментариев нет:
Отправить комментарий