|
|
|
Канал X2: The Threat: «Внешний редактор скриптов - пока только режим чтения :)» |
|
Бум или не бум? |
Да :super: |
|
77% |
[ 80 ] |
Нет :( |
|
2% |
[ 3 ] |
Пох... |
|
19% |
[ 20 ] |
|
Всего проголосовало : 103 |
|
|
|
CooL_SnipeR
615 EGP
   Рейтинг канала: 1(2) Репутация: 214 Сообщения: 4050 Заблокирован Откуда: Ясный-Москва Зарегистрирован: 19.03.2004
 |
|
Во первых скрипт Х2 уже не поймет, а во вторых, если нужно разбить его на съедобное - у Visual Studio есть в HTML editor такая функция
_________________ Никогда не бывает так плохо, после чего не может быть еще хуже... |
|
|
serg-314159
97 EGP
 Репутация: 6 Сообщения: 50
Зарегистрирован: 08.06.2004
 |
|
Цитата: |
Во первых скрипт Х2 уже не поймет,
|
я этого и не обещаю - утилита исключительно для разборки формата. отличительная особенность - подстановка текста в комментарии к кодеаррею.
_________________ mail-to: serg-314159@mail.ru |
|
|
serg-314159
97 EGP
 Репутация: 6 Сообщения: 50
Зарегистрирован: 08.06.2004
 |
|
К тем_кто_знает: Есть несколько вопросов по кодингу SCE-codearray:
1) что за хвостовик имеется в скрипте после ret? (см пример)
2) почему ret состоит (предположительно) из 2-х блоков array?
(что означают эти блоки?)
3) что известно об индексации глобальных/локальных переменных?
(есть подозрение, что у каждой из них общий глобальный номер;
чтобы создать такой же codearray нужно загрузить ВСЕ скриты,
используемые в X2)
Пример:!move.returntohomebase.xml
Код: |
// ...
// = wait randomly from 100 to 200 ms
<sval type="array" size="6">
<sval type="int" val="107" />
<sval type="int" val="-2147483647" />
<sval type="int" val="4" />
<sval type="int" val="100" />
<sval type="int" val="4" />
<sval type="int" val="200" />
</sval>
// return null
// 2) Зачем для return используется несколько codearray
<sval type="array" size="2">
<sval type="int" val="112" />
<sval type="int" val="8" />
</sval>
<sval type="array" size="2">
<sval type="int" val="112" />
<sval type="int" val="0" />
</sval>
<sval type="array" size="3">
<sval type="int" val="103" />
<sval type="int" val="0" />
<sval type="int" val="0" />
</sval>
</sval> // end of codearray
// 1) что за код следует ниже???
<sval type="int" val="0" />
<sval type="array" size="10">
<sval type="array" size="2">
<sval type="int" val="2" />
<sval type="int" val="2" />
</sval>
//...
|
_________________ mail-to: serg-314159@mail.ru |
|
|
CooL_SnipeR
615 EGP
   Рейтинг канала: 1(2) Репутация: 214 Сообщения: 4050 Заблокирован Откуда: Ясный-Москва Зарегистрирован: 19.03.2004
 |
|
Цитата: |
<sval type="int" val="-2147483647" />
|
Эта строчка в 1 примере говоритт о том, что аргумент %0 у тебя имеет значение NoReturnValue
По 2 му - После каждого If и прочего обязательно стоит его конец, так вот второй параметр указывает после какой команды по порядку в кодэаррэй она находится. Кстати у тебя там кодэаррэй не кончается это кончается массив команд по item(6)
Конкретно в конце у тебя стоят 2 End, а зетм ретурн null - а сами енды и ретурны описаны ниже посте массива описания аргументов
_________________ Никогда не бывает так плохо, после чего не может быть еще хуже... |
|
|
serg-314159
97 EGP
 Репутация: 6 Сообщения: 50
Зарегистрирован: 08.06.2004
 |
|
Цитата: |
Эта строчка в 1 примере говоритт о том, что аргумент %0 у тебя имеет значение NoReturnValue
|
Сенкс, конечно,но про wait - это не вопрос, это я показываю, что расположение комментария верное относительно текста.
1,2)
Цитата: |
Конкретно в конце у тебя стоят 2 End, а зетм ретурн null - а сами енды и ретурны описаны ниже посте массива описания аргументов
|
Понял, согласен. НО: изначально end у меня обрабатывался, пока я не заметил, что комментарии "съезжают" относительно масива команд
И это наводит на размышления... Точно: из 4-х эндов учитывается только два и оба по while
Возможно, что для if end'ы будут учитываться только если в теле более 1 строки
3)
CooL_SnipeR, из переписки : |
Параметры скрипта, т.е. его аргументы описываются в теле, вначале в
массиве 5 (аргументы+переменные), а затем в 7 описываются
аргументы-параметры - привызове скрипта она использует 7 массив для
определия типов передаваемых параметров
|
Ты хочешь сказать, что за массивом описания команд следует массив описания типов аргументов и переменных?
Тогда почему описывается 10 значений, хотя в скрипте используется 3 переменных (+ [THIS],[HOMEBASE])и нет аргументов?
_________________ mail-to: serg-314159@mail.ru |
|
|
CooL_SnipeR
615 EGP
   Рейтинг канала: 1(2) Репутация: 214 Сообщения: 4050 Заблокирован Откуда: Ясный-Москва Зарегистрирован: 19.03.2004
 |
|
serg-314159 : |
НО: изначально end у меня обрабатывался, пока я не заметил, что комментарии "съезжают" относительно масива команд
|
насколько я помню, комментарий есть комманда, т.е. ее может не быть в массиве команд, но в массиве описания пустых строк и ендов она присутствует
serg-314159 : |
Ты хочешь сказать, что за массивом описания команд следует массив описания типов аргументов и переменных?
Тогда почему описывается 10 значений, хотя в скрипте используется 3 переменных (+ [THIS],[HOMEBASE])и нет аргументов?
|
Смотрим
<sval type="array" size="10">
<sval type="string" val="!move.returntohomebase" /> //имя скрипта
<sval type="int" val="21" /> //движек
<sval type="string" val="return to home base" /> юю описание
<sval type="int" val="1" /> // версия файла
<sval type="int" val="0" /> // пока не понятно, скорее всего зарезервировано
<sval type="array" size="3"> // Таблица имен переменных (+аргументы, но их нет - только переменные)
<sval type="string" val="homebase" />
<sval type="string" val="sec" />
<sval type="string" val="dockedat" />
</sval>
<sval>//....тырыпыры крокодилы - команды
</sval>
<sval type="int" val="0" /> // должен бытьмассив аргументов скрипта, но их нет - пусто
<sval type="array" size="10"> // массив описания пустых строк и комментариев и конццов условий
<sval type="array" size="2">// пустая строка после 2-х первых команд
<sval type="int" val="2" />// номер команды в массиве, после которой это дело
<sval type="int" val="2" />//пустая снока NOP
</sval>
<sval type="array" size="2">// пустая строка после 6-х первых команд
<sval type="int" val="6" />// аналогично
<sval type="int" val="2" />
</sval>
А по остальному скажу, End обозначаются как пустая строка и не указывается в массиве команд смотри внимательней ниже:
sval type="array" size="2">
<sval type="int" val="14" /> //номер команды в массиве
<sval type="int" val="4" /> //End
</sval>
<sval type="array" size="2">
<sval type="int" val="14" /> // номер команды в массиве
<sval type="int" val="2" /> //NOP
</sval>
Надеюсь теперь тебе понятно
1) У переменных не указывается тип, они содержат в себе тольео номер и имя.
2) у аргументов есть и имя (которое указывается в массиве переменных) но и тип, к-й указывается полсе массива команд ( у нас тут он был нулевой, т.к аргументов нет.
_________________ Никогда не бывает так плохо, после чего не может быть еще хуже... |
|
|
serg-314159
97 EGP
 Репутация: 6 Сообщения: 50
Зарегистрирован: 08.06.2004
 |
|
CooL_SnipeR: very big thanks!!!!
_________________ mail-to: serg-314159@mail.ru |
|
|
CooL_SnipeR
615 EGP
   Рейтинг канала: 1(2) Репутация: 214 Сообщения: 4050 Заблокирован Откуда: Ясный-Москва Зарегистрирован: 19.03.2004
 |
|
Господа пилоты, у кого есть желание написать редактор - подхватить знамя - могу дать подробную инфу про кодэаррэй, к сожалению со временем у меня скоро - а кода писать очень много нужно
З.Ы. Через 2-3 дня выложу тут инфу, часть есть, поэтому непосредственно по самим командам:
основные типы, формирование узлов, как описываются параметры команд в зависимости от их типа и полное описание формирования команды 104 (%0%1) вне зависимости от количества условий в теле и т.п.
_________________ Никогда не бывает так плохо, после чего не может быть еще хуже... |
|
|
SIRIUS
314 EGP
   Рейтинг канала: 2(10) Репутация: 43 Сообщения: 951 Откуда: Hatikvah's Faith Зарегистрирован: 25.10.2004
 |
|
Мне до вашего уровня идти и идти
|
|
|
serg-314159
97 EGP
 Репутация: 6 Сообщения: 50
Зарегистрирован: 08.06.2004
 |
|
CooL_SnipeR : |
могу дать подробную инфу про кодэаррэй
|
давай, кидай со временем тоже не густо, но понемногу выбираю - имхо, через месяц твоя инфа понадобится
2ALL, кто не в курсе: определенно решил писать компилятор для скриптов; по синтаксису и семантике будет напоминать сильно урезанный С, при этом:
1) не нужен отдельный редактор, можно обойтись имеющимися
2) возможно использование макроопределений (для начала при внешнем препроцессоре)
3) возможна отладка скрипта средствами компилятора С
А дальше посмотрим, как пойдет
_________________ mail-to: serg-314159@mail.ru |
|
|
CooL_SnipeR
615 EGP
   Рейтинг канала: 1(2) Репутация: 214 Сообщения: 4050 Заблокирован Откуда: Ясный-Москва Зарегистрирован: 19.03.2004
 |
|
Такс господа пилоты, кто реально пишет большие объемы скриптов - на ваш взгляд, какой должен быть синтаксис и т.п., и нужен ли сейчас +2-4 недели внешний редактор?
З.Ы. Есть идея (уже почти реализованная) все связи с локализацией и кодами завязать не в тело редактора, а виде доп xml файлов, в таком случае без изменений самого редактора можно будет изменять его под следующие версии Х2 или все-таки подождать выхода X2-Return?
_________________ Никогда не бывает так плохо, после чего не может быть еще хуже... |
|
|
Пассажир
|
|
CooL_SnipeR : |
могу дать подробную инфу про кодэаррэй
|
Кинь плз. мне takca@inbox.ru. Намечается некоторое количество свободного времени - посижу, поковыряюсь.
|
|
|
CooL_SnipeR
615 EGP
   Рейтинг канала: 1(2) Репутация: 214 Сообщения: 4050 Заблокирован Откуда: Ясный-Москва Зарегистрирован: 19.03.2004
 |
|
2Takca
Вот хитрющий - я тебя пока не знаю , лично я не жадный, но ситуация тут немного иного характера
_________________ Никогда не бывает так плохо, после чего не может быть еще хуже... |
|
|
Пассажир
|
|
CooL_SnipeR : |
2Takca
Вот хитрющий - я тебя пока не знаю , лично я не жадный, но ситуация тут немного иного характера
|
Какого типа ситуация ??? Объясни пожалуйста ! Можно в приват или аськой 35822827.
С уважением, Takca.
|
|
|
CooL_SnipeR
615 EGP
   Рейтинг канала: 1(2) Репутация: 214 Сообщения: 4050 Заблокирован Откуда: Ясный-Москва Зарегистрирован: 19.03.2004
 |
|
2Такса
А зачем приват, большая часть инфы я накулупал сам (еще весной), но часть мыслей была подкинута Dimaxx летом (когда возникла идея) и прочие вещи, часть инфы я уже выкладывал, вернее уточнял ранее сказанное другими пилотами - если я допишу редактор, хотя бы альфа версию, то все благодарности и прочие там будут, проект делается исключительно для сайта - вот и ситуация.
А вообще то на данный момент он не так критичен, скорый выход Рутурна может изменить многое, сейчас буду переписывать часть, чтобы убрать зависимость от кода и большую часть стыковки конанд и операторов засунуть в файлы настройки (скорее всего хмл)-лично я жду его, а пока обкатываю мысли
З.Ы. 2Олл - Появилось снова время, появились новые мысли, но часть старого кода придется переписать Скидывайте пожелания по синтаксису - в каком виде, а то сделаю как в стандартном редакторе
_________________ Никогда не бывает так плохо, после чего не может быть еще хуже... |
|
|
Grey Wolf
500 EGP
    Рейтинг канала: 2(17) Репутация: 115 Сообщения: 1677 Откуда: Ростов-на-Дону Зарегистрирован: 31.03.2003
 |
|
Пожелания простые:
1. возможность копировать несколько строчек за раз, как в пределах одного скрипта, так и из одного скрипта в другой.
2. Оставить выбор функций и их аргументов из списка, но дать при этом возможность набрать функцию или аргумент с клавы и без этого выбора.
3. В списке функций и аргументов сделать поиск по первым буквам. Чем больше букв набрано, тем точнее выбирается нужное значение.
Хотелось бы еще пошаговую отладку скриптов ...
_________________ Быстро выпитая рюмка не считается налитой |
|
|
CooL_SnipeR
615 EGP
   Рейтинг канала: 1(2) Репутация: 214 Сообщения: 4050 Заблокирован Откуда: Ясный-Москва Зарегистрирован: 19.03.2004
 |
|
2Grey Wolf
1. Но проблем открывается несколько скриптов, поддерживаются проекты ну и естественно копирование, правда драг н дроп пока не понял как толком делать, разберусь в RC - пока через клипборд
2. Список есть слева виде TreeView - там все команды сгрупированы - планирую добавить и параметры и типы наверно, + вываливается список доступных параметров ListBox, есть поддержка поиска (правда пока не понял как вводить несколько букв при поиске, но планирую разобраться)
3. см 2., кроме того будет подсветка синтаксиса - так что можно вводить полностью вручную, если ошибешься не подсветится
Единственно у меня мысль остановилась на этом, сам листбокс у меня по типу как в вижуал студии примерно, но не понял как сделать ссылку, к примеру в параметре Var/Ware есть строчка Select Ware... (в которой еще список), хотя можно свалить все в кучу и сделать поиск - иначе пока не знаю, хотя можно правда рядом еще список открывать и переводить в него фокус
В общем посоветуй как лучше будет
Цитата: |
Хотелось бы еще пошаговую отладку скриптов ...
|
- поясни, что конкретно нужно, т.к. я дальше написания пары скриптов не ушел
З.Ы. Вечером в инет вывалюсь посмотрю, а пока - хочу все параметры повесить в хэштаблицы - аррэй лист задрал - подсветка через работает, типы путаются
_________________ Никогда не бывает так плохо, после чего не может быть еще хуже... |
|
|
Пассажир
|
|
Насчет выбора функций и их аргументов: можно сделать кнопку-переключатель режима показа списка - иерархический (т.е. в виде дерева) для навигации по узлам и плоский список - для быстрого поиска по всем возможным вариантам. Т.е. если точно знаешь где что лежит - включаешь дерево и за пару кликов мышой выбираешь то, то что нужно, если не знаешь - врубаешь список и набрав пару символов тоже получаешь то, что нужно.
С уважением, Takca.
|
|
|
akm
470 EGP
    Рейтинг канала: 1(4) Репутация: 173 Сообщения: 1638 Откуда: Паразит Прайм Зарегистрирован: 23.10.2002
 |
|
Цитата: |
З.Ы. Есть идея (уже почти реализованная) все связи с локализацией и кодами завязать не в тело редактора, а виде доп xml файлов, в таком случае без изменений самого редактора можно будет изменять его под следующие версии Х2
|
Так и надо. А X2-Return думаю привнесет в скрипт-движек максимум столько же изменений как патч 1.4. Тем более, еще не факт что он в феврале выйдет. Судя по новостям, этот эддон только начали делать.
Цитата: |
Хотелось бы еще пошаговую отладку скриптов ...
|
Юморист Если еще и скрипт+физ.-движек реализовать в таком редакторе, то чачем нам Х2? Там уже совсем ерунда остается до реализации своей собственной полноценной игры
А так Grey Wolf все верно сказал. Обеими руками за Еще хотелось бы чтобы сам скрипт в редакторе выглядел как дерево, в котором циклы и проверки были бы в нодах и их содержимое можно было бы сворачивать. А от команд end вовсе избавиться. Жмем клавиши Ctrl + <- или Ctrl + -> и подсвеченная строка/нод смещаются на 1 уровень. Вот
|
|
|
serg-314159
97 EGP
 Репутация: 6 Сообщения: 50
Зарегистрирован: 08.06.2004
 |
|
Цитата: |
Хотелось бы еще пошаговую отладку скриптов ...
|
имхо, на компиляторе сишного текста вполне будет возможно
_________________ mail-to: serg-314159@mail.ru |
|
|
|
|
|
Канал X2: The Threat: «Внешний редактор скриптов - пока только режим чтения :)» |
|