Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Скриптами делимся, скриптами | страница 1
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 1 из 68
На страницу: 1, 2, 3 ... 66, 67, 68  След.    Перейти:   Все страницы
Поиск в этой теме:
Канал X2: The Threat: «Скриптами делимся, скриптами»
Химик
 1655 EGP


Ведущий раздела
Репутация: 186
Сообщения: 5892
Откуда: Таиланд
Зарегистрирован: 13.02.2001
То ли лыжи не едут, то ли ...
Вскрыть !*.* не смог, свой скрипт автоматической торговли по сектору строго определенным товаром типа Батарейка почему-то гонит корабль далеко и надолго Рыдания.

В общем, пишите ссылки на скрипты, делитесь с безголовой общественностью.
_________________
Человек весом менее 80кг своего мнения иметь не может!
    Добавлено: 23:49 26-12-2003   
RDestroyer
 175 EGP


Рейтинг канала: 1(3)
Репутация: 22
Сообщения: 1021

Зарегистрирован: 15.05.2002
Сначала сюда http://xscripting.com/ Улыбка Здесь уже много чего полезного можно найти, чтобы не изобретать велосипед Улыбка И на форуме эгософта в разделе spoilers можно найти готовые скрипты типа автоторговли, создания верфей и т.п.... Улыбка
    Добавлено: 00:08 27-12-2003   
Alone
 1865 EGP

Рейтинг канала: 2(20)
Репутация: 527
Сообщения: 10436
Откуда: Moscow, Russia
Зарегистрирован: 07.02.2001
Цитата:
Здесь уже много чего полезного можно найти


Угу. Очень много полезного. Зеваеца

Can't open file: 'nuke_downloads_downloads.MYI'. (errno: 145)

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/localhost/htdocs/xscripting/includes/sql_layer.php on line 239
Can't open file: 'nuke_downloads_downloads.MYI'. (errno: 145)
Can't open file: 'nuke_downloads_downloads.MYI'. (errno: 145)
_________________
Скучно быть серьезным.
    Добавлено: 00:14 27-12-2003   
Breeze
 222 EGP


Рейтинг канала: 3(30)
Репутация: 90
Сообщения: 703
Откуда: Donetsk, Ukraine
Зарегистрирован: 05.12.2003
Химик
В имени файла надо убрать "!"
В теле файла надо удалить "!" в:
<name>!*.*</name>
<sval type="string" val="!*.*" />
_________________
'Слова искажают правду' ©
    Добавлено: 00:14 27-12-2003   
Химик
 1655 EGP


Ведущий раздела
Репутация: 186
Сообщения: 5892
Откуда: Таиланд
Зарегистрирован: 13.02.2001
Alone :
Угу. Очень много полезного. Зеваеца


Регистрироваться не пробовал? Говорят, помогает Гы-гы
_________________
Человек весом менее 80кг своего мнения иметь не может!
    Добавлено: 00:52 27-12-2003   
Alone
 1865 EGP

Рейтинг канала: 2(20)
Репутация: 527
Сообщения: 10436
Откуда: Moscow, Russia
Зарегистрирован: 07.02.2001
Цитата:
Регистрироваться не пробовал? Говорят, помогает


Где? В неработающей мускульной базе? Гы-гы
_________________
Скучно быть серьезным.
    Добавлено: 02:26 27-12-2003   
RDestroyer
 175 EGP


Рейтинг канала: 1(3)
Репутация: 22
Сообщения: 1021

Зарегистрирован: 15.05.2002
Хм, почему не работает??? Нажимаете Downloads, там в раздел X2 Scripts, там уже выбираете категорию скрипта: Cheats, Combat, Other, Stations, Trading... Там уже ваыбираете конкретный скрипт и скачиваете Улыбка У меня все работает, уже десяток скриптов скачал...
Правда их пока мало, но сайт только что создан, надо не забывать ссылку, они там я думаю быстро будут появляться...

А в форуме у них можно обсуждать вопросы по скриптописанию, и там тоже немного скриптов есть Улыбка
    Добавлено: 11:30 27-12-2003   
Dimaxx
 980 EGP


Рейтинг канала: 1(5)
Репутация: 204
Сообщения: 5728
Откуда: Северодвинск
Зарегистрирован: 26.06.2002
Малеха лежит здесь - http://www.the-commander.com/x2scripts.htm
_________________
"Если мы не покончим с войной, война покончит с нами." Г. Г. Уэллс
    Добавлено: 00:50 28-12-2003   
Химик
 1655 EGP


Ведущий раздела
Репутация: 186
Сообщения: 5892
Откуда: Таиланд
Зарегистрирован: 13.02.2001
На Коммандере еще лежит и прога для вскрытия системных скриптов.
_________________
Человек весом менее 80кг своего мнения иметь не может!
    Добавлено: 12:37 28-12-2003   
Cooler8
 77 EGP


Репутация: 1
Сообщения: 39
Откуда: Москва
Зарегистрирован: 03.12.2003
RDestroyer :
Сначала сюда http://xscripting.com/ Улыбка Здесь уже много чего полезного можно найти, чтобы не изобретать велосипед Улыбка И на форуме эгософта в разделе spoilers можно найти готовые скрипты типа автоторговли, создания верфей и т.п.... Улыбка


Скачал оттуда какой-то скрипт для активации нормальной станции, чтобы с ней торговали нормально все...скачал файл .xml, переписал в папку scripts, а дальше как? как его включить то? где это делается?
Заранее THX.
_________________
God is a DJ
    Добавлено: 16:06 28-12-2003   
BlackWin
 86 EGP


Репутация: 0
Сообщения: 53
Откуда: Красноярск
Зарегистрирован: 08.12.2003
В игре пишешь "Thereshallbewings" (T - большая) заходишь в меню
или просто "Shift c" жмёшь "s" а там разберёшся
_________________
Если жизнь игра, то что тогда
игра...
    Добавлено: 17:33 28-12-2003   
Пассажир
 

Пассажир




Расскажите пожалуйста поподробнее как использовать скрипты.
Спасибо.
    Добавлено: 18:05 28-12-2003   
RDestroyer
 175 EGP


Рейтинг канала: 1(3)
Репутация: 22
Сообщения: 1021

Зарегистрирован: 15.05.2002
Да там в принципе всё понятно Улыбка Я например без документации разобрался сразу Улыбка Но можешь скачать с этого сайта, из раздела Х2 (сылка вверху этой страницы, кликни на "База данных"), документацию по скриптам...
    Добавлено: 19:44 28-12-2003   
Breeze
 222 EGP


Рейтинг канала: 3(30)
Репутация: 90
Сообщения: 703
Откуда: Donetsk, Ukraine
Зарегистрирован: 05.12.2003
Тут вот мысль пришла - отсутсвует нормальная (не то что нормальная, хоть-какая-нибудь, кроме пары скудных примерчиков по http://www.egosoft.com/X/questsdk/info/doxygen/scriptprg.html ) информация/документация о том, как использовать редактор скриптов. Пока. Может потом кто-то сделает. А пока методом тыка, научного... А хочется, вообще-то, иметь как можно более четкое представление о возможностях ScE! И писать скрипты тогда можно было бы наиболее эффективно, а не тяп-ляп-как-знаю-так-и-пишу... Так что предлагаю состряпать хотя-бы поверхностное руководство, охватывающее описание основных моментов и главное - комманд. Я уже немного накатал - вступительный кусочек, могу сюда запостить, и потом все кто может будем добавлять/исправлять - как считаете?

P.S - добавил кусок, инфо в процессе систематизации и создания Улыбка
_________________
'Слова искажают правду' ©
    Добавлено: 22:53 28-12-2003   
Breeze
 222 EGP


Рейтинг канала: 3(30)
Репутация: 90
Сообщения: 703
Откуда: Donetsk, Ukraine
Зарегистрирован: 05.12.2003
Тут будет попытка систематизировать кусочки знаний полученных при работе со встроенным редактором скриптов (предназначенном для бета-тестеров в основном) в Х2.
Гм... Нелишним наверное будет сказать, что для работы с редактором ВЕСЬМА желательно знание (хотя-бы на школьном уровне) какого-либо языка программирования. А так-же английского, тоже, хотя-бы на школьном уровне...
Правильность информации не гарантируется, всё собрано и нарыто из личного опыта, опыта других людей и скудных источников официальной информации от разработчика Улыбка

1) Как и что.
Запуск редактора осуществляется прямо из игры, набором комбинации символов 'T','h','e','r','e','s','h','a','l','l','b','e','e','w','i','n','g','s'. Эта комбинация открывает доступ к редактору в меню комманд корабля - доступ по горячим клавишам - либо S, C, S - либо Shift-C, S.
Далее видим меню, можно понажимать кнопки PGUP,PGDOWN и посмотреть сколько и какие процессы в каком состоянии сейчас. Из меню можно выбирать такие пункты:
а) Редактирование скриптов. - всевозможные манипуляции со скриптами - создание, удаление, редактирование...
б) Очистить кэш - почистить от остатков мусора
в) Отладка скриптов - выкл/лог/трейс - либо выключена, либо запись в лог, либо реалтайм трейсинг
г) Очистить лог - удалить все записи из лога
д) Меню отладчика скриптов - смотреть лог/трейсинг
е) Помощь - помощь по горячим клавишам

3) Что где зарыто.
В папке scripts лежат скрипты для ScE - ScriptEngine - СкриптДвижок - "язык комманд" высокого уровня для этой игры. Это подразумевает, что разработчики дали нам средство на определенном уровне управлять игрой, изменяя её логику, дополняя и изменяя жестко прописанный в исполняемом файле код. Т.е. это позволяет нам оперировать объектами в игре, и управлять взаимодействием этих объектов - но до определенного предела конечно. Ограничения весьма существенны - доступ, например, к классам, функциям, естественно закрыт - любой низкоуровневый доступ закрыт.

4) Структура и связи скриптов.
Скрипты имееют определенную иерархию, в которой 4 уровня:
3) "global default" - конкретно общий Улыбка (общий для всех)
2) "global for race" - общий для расы
1) "for ship class of race" - для класса корабля расы
0) "for a paricular ship" - для конкретного корабля
Скрипты более высокого уровня вызывают скрипты более низкого уровня. Например скрипт 3-го уровня !init.ship.globalscriptmap.xml вызывает скрипты !init.ship.globalscriptmap.std, !init.ship.globalscriptmap.pl, !init.ship.globalscriptmap.spfly, !init.ship.globalscriptmap.khaak - которы занимаются инициализацией всех кораблей компа, игрока, космомух, Хааков соответственно. В этих четырёх перечисленных скриптах идет связывание кораблей расы со скриптами реализующими опр. комманды, и т.д. до скриптов 0 уровня, занимающихся конкретными действиями. Пример скрипта 0 уровня - fight.attack.object
Скрипты подразделяются на "те, которые можно менять" - несколько штук, и "те, которые менять низзя!" Улыбка - около 130 штук - но это ограничение можно обойти. Запретные скрипты помечены значком "!" в имени файла, внутри файла в теге <name> и теге типа <sval type="string" val="!*" />. Если убрать восклицательные знаки, скрипты становятся доступными для редактирования и экспериментов Улыбка.

5) Создание скриптов.
При выборе пункта <New Script> получаем запрос на ввод имени скрипта, и далее попадаем в основной интерфейс работы со скриптом. В меню интерфейса создания скрипта, есть три "подраздела" - информация о скрипте, раздел аргументов, раздел "кода". В разделе информации о скрипте можно задать версию скрипта, описание скрипта, и самое важное - сигнал/комманду, по которой будет вызыватся скрипт из меню комманд, наравне с коммандами типа "купить по лучшей цене", "атаковать всех врагов", "стыковатся с" и т.д. Команда/сигнал должна быть прописана - это определяется вручную в скрипте с помощью определённой последовательности команд, либо в опр. файлах скриптов, как - описано ниже.
В разделе аргументов можно определить переменную, которая будет использоватся для ввода данных в скрипт при его вызове - либо вручную, либо через другой скрипт.
В разделе "кода" - тело скрипта.

Например, мы хотим определить какую-то опр. команду связанную со скриптом, тогда такой скрипт -
Arguments
none
Source Text
001 global ship map: set: key=COMMAND_TYPE_SPECIAL_13, class=Ship, race=Player, script='DoingSomething', prio=2
002 set ship command upgrade: command=COMMAND_TYPE_SPECIAL_13 upgrade=Special Command Software MK1
003 [THIS] -> connect ship command/signal COMMAND_TYPE_SPECIAL_13 to script 'DoingSomething' with prio 2
004 return null
при запуске его вручную и при наличии у нас сделанного скрипта под именем DoingSomething и прописанным значением в нём в поле сигнала/команды "COMMAND_TYPE_SPECIAL_13", плюс должно быть установлено special command software MK1 - будет добавлять в меню в разделе >>SPECIAL в меню команд корабля еще одну команду (помимо стандартных комманд "собрать ware", "Собрать ware в секторе..."), выполнение которой будет происходить посредством скрипта DoingSomething.
Имя "новоиспеченной" команды будет в виде "text123-123" - изменяется это в ХМL-е с текстом игры (папка t, файл 440001), первая стока цифр - номер секции, вторая строка цифр - номер строки в секции. Так-же в папку t можно добавить файл типа 44000Х (оформленный по тем же правилам что и 440001) с описанием нашей команды - этот вариант наиболее предпочтителен.

Иерархия всех существующих на данный момент 100 с лишним скриптов создается игрой, при добавлении новых скриптов иногда необходимо "вклиниватся" в эту структуру на определённом уровне (от 0 до 3), в данном случае (создание команды в командном меню корабля) можно было бы влезть в нижеследующие файлы и вставить туда соотв. фрагменты, чтобы всё выполнялось при запуске игры автоматически:
1) global ship map: set: key=COMMAND_TYPE_SPECIAL_13, class=Ship, race=Player, script='DoingSomething', prio=2
Добавляется в !init.ship.globalscriptmap.pl
2) set ship command upgrade: command=COMMAND_TYPE_SPECIAL_13 upgrade=Special Command Software MK1
Добавляется в !init.ship.commandupgrade
3) [THIS] -> connect ship command/signal COMMAND_TYPE_SPECIAL_13 to script 'DoingSomething' with prio 2
Добавляется в вызываемый скрипт.
Альтернативный рекомендуемый вариант: игра распознает предназначение команды по структуре её имени, значит лучше всего создать скрипт с именем init.something - часть имени init. обязательна - в котором прописать вышеперечисленные команды.

Скрипты из меню активируются игроком, либо скрипты активируются в зависимости от определённых условий. Они могут выполнятся "мгновенно", могут выполнятся определенное время в зависимости от условий, и естественно могут выполнятся с момента запуска игры и до выхода из неё - всё это можно наблюдать в главном меню, там будет информация о текущих скрипт-процессах, as task, on stack, и totally called. Скрипты могут быть прерываемыми, могут иметь приоритет. Использование трассировки - по желанию Улыбка

Далее, получив возможность запускать скрипт (если это необходимо) по-человечески, можно начинать программировать логику этого скрипта с помощью предоставленного нам набора комманд:
*) Общие команды - inc, dec, if, end, get playing time, вызов других скриптов, ну и тому подобное.
*) Аудио команды - работа со звуками - play sample, send audio message, и т.п.
*) Команды журнала - работа с журналом, sprintf Улыбка и т.п.
*) Навигационные команды - взаимодействие объектов - fly to homebase, station, set formation, etc.
*) Торговые команды - товар/деньги - add <Var> units of $ware, install <Var> units of $ware, etc.
*) Команды для объектов - манипуляции над объектами - is landed, get shield type in bay, create...
*) Команды для вселенной и секторов - вселенная на ладони - get max sectors in x direction, etc.

(Создание временно заморожено новогодними праздниками Гы-гы )
6) Общие команды.
Under construction

7) Аудио команды.
Under construction

8) Команды журнала
Under construction

9) Навигационные команды
Under construction

10) Торговые команды
Under construction

11) Команды для объектов
Under construction

12) Команды для вселенной и секторов
Under construction

13) Примеры
Under construction

14) Благодарности Улыбка
29.12.03 - добавиль чуть-чуть в раздел 5.
29.12.03 - Добавлено/исправлено много инфо в разделе 5 благодаря пилоту BSS
30.12.03 - Добавлено инфо благодаря пилоту bal
_________________
'Слова искажают правду' ©
    Добавлено: 00:47 29-12-2003   
Пассажир
 

Пассажир




Breeze :


001 global ship map: set: key=COMMAND_TYPE_SPECIAL_13, class=Ship, race=Player, script='DoingSomething', prio=100


Добавляется в !init.ship.globalscriptmap.pl.xml


Цитата:
002 set ship command upgrade: command=COMMAND_TYPE_SPECIAL_13 upgrade=Special Command Software MK1


Добавляется в !init.ship.commandupgrade.xml

Цитата:
003 $PlShip -> connect ship command/signal COMMAND_TYPE_SPECIAL_13 to script 'DoingSomething' with prio 100


Добавляется в вызываемый скрипт в место $PlShip просто THIS
Приоритеты я ставил 2 , но думаю можно и больше

Цитата:
(Есть один неприятный момент - имя "новоиспеченной" команды будет в виде "text123-123" - как это убрать мне пока неизвестно, хотя способ какой-то должен быть...)


Способ один: добавляешь в файл с текстом игры нужные названия
123-123 первая-номер секции, вторая-номер строки в секции.

Проверено, мин нет!
Спасибо за идею, сам бы наверно долго мучался Подмигиваю
    Добавлено: 12:36 29-12-2003   
Пассажир
 

Пассажир




Предыдущий пассажир ето я
    Добавлено: 12:52 29-12-2003   
Breeze
 222 EGP


Рейтинг канала: 3(30)
Репутация: 90
Сообщения: 703
Откуда: Donetsk, Ukraine
Зарегистрирован: 05.12.2003
Cпасибо, BSS! Буду добавлять/исправлять.
Люди, кстати, - чем больше коллективного труда, тем полнее и точнее будет инфо, так что если что-то полезное знаете, делитесь Улыбка
_________________
'Слова искажают правду' ©
    Добавлено: 13:09 29-12-2003   
Пассажир
 

Пассажир




Breeze :
Cпасибо, BSS! Буду добавлять/исправлять.
Люди, кстати, - чем больше коллективного труда, тем полнее и точнее будет инфо, так что если что-то полезное знаете, делитесь Улыбка


Кстати, похоже все команды типа COMMAND_TYPE_... в игре не задействованы, я пробовал например на команде COMMAND_TYPE_TRADE_1

Полный список их также можно найти в тексте игры.
Только что будет если их решит использовать эгософт в последующих патчах ? Подозрение.
    Добавлено: 13:55 29-12-2003   
Breeze
 222 EGP


Рейтинг канала: 3(30)
Репутация: 90
Сообщения: 703
Откуда: Donetsk, Ukraine
Зарегистрирован: 05.12.2003
BSS так может COMMAND_GET_WARE (первая в списке...) равнозначна COMMAND_TYPE_TRADE_1? - кто знает сколько и как они туда констант понапихали и как связали и обозвали Улыбка. И тогда (если уже была команда global ship map: set), оно может не переопределить... Если Эгософт в патчах будет что-то добавлять - тогда конечно всё придется менять Улыбка - в версии 1.1 я пока что изменений не заметил, хотя, скорее всего, что-то где-то добавилось... Будем рыть Улыбка
_________________
'Слова искажают правду' ©
    Добавлено: 14:57 29-12-2003   
Канал X2: The Threat: «Скриптами делимся, скриптами»
На страницу: 1, 2, 3 ... 66, 67, 68  След.    Перейти:   Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Легенды сами не рождаются, их делать надо! Как Дуча. (Fry)

  » Скриптами делимся, скриптами | страница 1
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18