ВНИМАНИЕ! Наша конференция посвящена космической тематике и компьютерным играм. Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!
|
» Учебник по скриптам | страница 3 |
|
|
|
Канал X2: The Threat: «Учебник по скриптам» |
|
Пишете ли Вы скрипты к X2? |
Уже пишу |
|
26% |
[ 31 ] |
Еще нет, но буду |
|
19% |
[ 23 ] |
Хотел бы, но не хватает знаний |
|
44% |
[ 52 ] |
Лучше скачаю готовые |
|
6% |
[ 7 ] |
Скрипты вообще не нужны |
|
2% |
[ 3 ] |
|
Всего проголосовало : 116 |
|
|
|
Vitalii
955 EGP
     Рейтинг канала: 1(3) Репутация: 249 Сообщения: 7214 Откуда: Тула Зарегистрирован: 13.08.2002
 |
|
все будет в соответствующем разделе на ЕГе
comming soon
_________________ Связь - это как воздух, незаметна, пока не испортишь. |
|
|
XenonTomb
250 EGP
   Рейтинг канала: 2(16) Репутация: 66 Сообщения: 867 Откуда: Николаев, Украина Зарегистрирован: 17.03.2004
 |
|
Раздел Trade Commands for Stations (версия 1.4)
<RetVar>= <RefObj> get tradeable ware array from station
Возвращает массив <RetVar> товаров станции <RefObj> (массив предварительно объявлять не нужно). Возвращаются как ресурсы, так и продукция. Елементы массива не упорядочиваются (по крайней мере, у меня сложилось такое впечатление после ряда экспериментов, хотя есть некоторое подозрение, что упорядочивание идет по английскому алфавиту. Но точно не по id товара.). Т.е., если вам нужно оставить в массиве одни ресурсы, то нужно провести поиск продукции в массиве и выкинуть ее командой remove element from array.
_________________ Будут предложения - присылайте на расчетный счет :) |
|
|
DragonP
281 EGP
   Рейтинг канала: 3(27) Репутация: 108 Сообщения: 527 Откуда: Новосибирск Зарегистрирован: 18.12.2004
 |
|
Просмотр и редактирование НС
Все скрипты используемые в Х2 располагаются в папке, из паки в которую установлена игра (по умолчанию установка производится в каталог "C:\Program Files\Еgosoft\X2 - The threat"). В изначально установленной игре в папке \scripts находится два вида файлов *.PCK и *.XML. PCK – это файлы упакованные, как работать с этими файлами чуть ниже. XML – это распакованные файлы скрипов за исключением одного файла это внутренний файл описатель, содержащий информацию необходимую для просмотра XML кода браузерах типа Internet Explorer.
v Просмотр скриптов из папки /scripts
Для просмотра распакованных XML файлов (НС игры Х2), нужно открыть папку /scripts и кликнуть на любом из файлов с расширением XML (на компьютере должен быть браузер Internet Exlorer).
v Просмотр упакованных скриптов (PCK)
Изначально скрипты поставляемые в дистрибутиве игры находятся в запакованном состоянии и имеют расширение PCK. Для просмотра этих скриптов нужно произвести их распаковку. Программа распаковки официальная называется x2tool.exe позволяет упаковывать и распаковывать PCK файлы. Данная программа не поставляется в комплекте с игрой, взять ее можно на сайте официальном сайте Egosoft. Синтаксис x2tool.exe:
x2tool -unpack ascript.pck ascript.xml
но имеется и другая альтернатива, это программа unPaCKer.exe написанная пилотом сайта EliteGames, Алексейко Дмитрием aka Dimaxx данная программа имеет русскоязычный интерфейс и проста в использовании. Понять как она работает не составит труда. Найти ее можно на сайте ЕГ (http://www.elite-games.ru/_egm_scripts/url.php?action=gotourl&url=/downloads/x2/unpacker.exe)
После распаковки PCK файлов, если вы не выбирали в установках программы unPaCKer.exе удалить или переименовать исходные файлы, то следует либо удалить их либо переместить в какую ни будь другую папку. А все появившиеся файлы с расширением XML теперь стали доступны для просмотра через Internet Exlorer.
v Просмотр сторонних скриптов
Сейчас в Интернете можно найти огромное количество скриптов для Х2 написанных пилотами. Если у вас имеется какой то скрипт написанный другим пилотом, то для того чтобы посмотреть его, необходимо в папку где находится текст скрипта (от есть файл XML) скопировать файл описатель x2script.XML из папки /scripts и кликнуть на нем.
v Редактирование скриптов
Редактирование НС возможно только во встроенном в игру редакторе. Для редактирования файлы редактируемого скрипта должны находится в папке /scripts.
Информация по другим вопросам скриптописания в проекте "Скрипты - это легко..." http://www.Ссылки на narod.ru запрещены! Используйте пожалуйста другие, более нормальные хостинги. Проект в стадии разработки, но там уже может быть полезная для вас информация.
_________________ Звезды зовут... |
|
|
DragonP
281 EGP
   Рейтинг канала: 3(27) Репутация: 108 Сообщения: 527 Откуда: Новосибирск Зарегистрирован: 18.12.2004
 |
|
Структура НС
При просмотре НС в браузере IE очень хорошо отражается вся структура скрипта. Давайте рассмотрим ее подробней.
Цитата: |
Script !ship.cmd.follow.pl
Version: 1
for Script Engine Version: 20
Description
Ship Player COMMAND FOLLOW
Arguments
1: target , Var/Ship , 'the target'
Source Text
001 @ = [THIS] -> call script '!ship.cmd.follow.std' : the target=$target follow distance=null
002 return null
signde
|
Данный скрипт связан с командой для корабля принадлежащего игроку «Следовать за кораблем». Скрипт сам по себе очень маленький, передающий управление в более сложный скрипт. Но для рассмотрения структуры скрипта нам его будет достаточно.
v Имя скрипта (Script)
Первое что мы видим это имя скрипта. В Х2 имя скрипта имеет большое значение, т.к. в имени скрипта содержится много важной информации обрабатываемой ScE. В нашем примере имя начинается со знака «!» это сообщает редактору о том, что данный скрипт является системным и не подлежит редактированию. Скрипты со знаком «!» не будут отражаться в списке доступных для редактирования скриптов. Помимо в Х2 присутствуют следующие типы имен: “init.* ”, ”setup.* ”, “al.plugin.* ”, “galaxy.* “. Каждое из имен имеет определенное значение, и скрипты с такими именами выполняются игрой автоматически.
· Init Scripts: скрипты с именами “init.* ” и “!init.* “ являются скриптами инициализации, тоесть они загружаются автоматически каждый раз когда вы запускаете игру или загружаете сейв. Но обратите внимание на то, что загрузка скриптов init происходит до инициализации галактики (то есть до создания кораблей и станций). Поэтому нужно быть осторожным используя данный тип имен для скриптов работающих с объектами в галактике.
· Setup Scripts: скрипты с именами “setup.* ” и “!setup.* “ запускаются автоматически при создании новой игры или загрузке сейва. Загрузка скриптов setup происходит после инициализации галактики (то есть все объекты уже созданы). Использование setup для скриптов активно работающих с объектами в галактике, позволяет избежать многих ошибок которые могут возникнуть при использовании init.
· AL Plugin Scripts: скрипты с именами “al.plugin.* ” и “!al.plugin.* “ отвечают за искусственную жизнь в галактике (патрули секторов, транспорты летающие между станциями (в том числе и станции игрока) любой скрипт данного типа отвечает за какой нибудь конкретный процесс происходящий в галактике связанный с искусственной жизнью.
· Galaxy Ship Init Scripts: скрипты с именами “galaxy.* “ используются для запуска иных чем встроенная в Х2 карта. Этот скрипт создает стартовый корабль игрока. ScE при запуске проверяет наличие скрипта с именем “galaxy.<имя карты> “ или “!galaxy.<имя карты> “
Обратите внимание на одну особенность при использовании имен скриптов init, setup, !init, !setup. Скрипты !init и !setup запускаются всегда при старте или загрузке сэйва. Если использовать скрипты такого типа, НЕ подписанные Егософтом (цифровая подпись скрипта, см. ниже), то игра автоматом приобретает статус Modified. Скрипты типа init и setup запускаются ТОЛЬКО в игре со статусом Modified, в немодифицированной игре они не будут запускаться, несмотря на то, что находятся в папке \scripts. (дополнение от Grey Wolf)
v Версия (Version)Каждый скрипт содержит в себе версию самого скрипта которая задается автором скрипта, и версию ScE. Это делается для того чтобы определить будет ли данный НС скрипт работать под управлением установленной и вас игры. Начиная с версии 1.4 версия ScE выше 25 (включительно).
v Описание (discription)В этой строке содержится краткое описание скрипта. Создается автором данного скрипта. В нашем случае «Команда следовать для корабля игрока».
v Аргументы (discription)
Аргументы это входные данные, от которых зависит результат выполнения скрипта (куда полетит корабль или какой товар покупать и т.п.). Аргумент в ScE Х2 состоит из трех частей:
· Name: имя аргумента, должно состоять из символов любого регистра (строчные, прописные), цифр. ScE создаст переменную имя которой будет соответствовать имени аргумента, с которой скрипт сможет работать как с обычной переменной.
· Type: тип данных переменной-аргумента. Информация для ScE о том какой тип донных содержит аргумент.
· Description: описание. Задается краткое описание аргумента. Описание отражается в нижней части экрана, когда редактор запрашивает значение аргумента при запуске скрипта, что очень удобно для других пилотов использующих ваш скрипт. Так же Description будет отражаться при использовании команды call script, необходимые аргументы для вызова скрипта будут отображены как Description аргументов вызываемого скрипта. В нашем примере в строке 001 вызывается скрипт “!ship.cmd.follow.std” далее идет “the target” и “follow distance”, это говорит о том что в вызываемом командой call script скрипте “!ship.cmd.follow.std” имеются два аргумента необходимых для выполнения скрипта, у которых в описании первого записано “the target”, а второго “follow distance”
·
v Исходный текст (Source text)
Исходный текст скрипта, от есть последовательность инструкций, команд и операторов которые выполняет ScE.
Цифровая подпись навигационного скрипта
Вы наверное обратили внимание на то, что ниже команды RETURN NULL находится строчка содержащая одно слово «signde». Наличие этой строчки в скрипте, говорит о том, что данный скрипт имеет цифровую подпись от Egosoft. Это означает, что данный скрипт прошел некую сертификацию, и официально допущен к использованию в не модифицированном режиме игры.
Скрипт написанный любым пилотом может быть подписан Egosoft’ом, для этого он должен соответствовать определенным условиям. Занимаются вопросами подписи скриптов два пилота BurnIt и mkess, именно они будут принимать решение подписывать или не подписывать ваш скрипт. Для рассмотрения вашего скрипта он должен быть выслан на адрес scripts@egosoft.com. Также, на подпись можно отправить скрипт автором которого вы не являетесь, после рассмотрения, если скрипт будет принят, то Egosoft свяжется с автором и в случае его согласия скрипт будет подписан.
Основные требования предъявляемые к скриптам:
• Скрипт не должен полностью автоматизировать работу экономики (то есть осуществлять полностью автоматическое управление всеми фабриками игрока). Хотя есть оговорка о том, что в принципе какой скрипт может быть подписан, в случае если например: игрок уже является владельцем не одного десятка фабрик и его торговый рейтинг не меньше чем Промышленник, то он может приобрести какое нибудь новое оборудование добавляемое этим скриптом за баснословные денги.
• Приветствуются скрипты расширяющие работу стандартных команд.
o Скрипты расширяющие структуру меню
o Микроменджмент (перевод денег на счет игрока, предупреждение о нехватке денег или ресурсов, и т.п.)
o Улучшающие стандартные боевые, добывающие, собирающие и т.п. скрипты
o Патрули секторов, галактик осуществляющих защиту собственности.
o Скрипты улучшающие AL.
o Улучшающие торговые и транспортные скрипты.
• Скрипты не должны без необходимости обращаться к системным скриптам. Например использовать системный скрипт !Move.movetostation для определения прибыл ли объект к точке следования, вместо команд "if THIS-> landed" или "If DOCKEDAT == $targetstation".
Если Egosoft находит мелкие недостатки в скрипте, то автору предлагается устранить их. И после устранения скрипт получит долгожданную «signde».
Информация по другим вопросам скриптописания в проекте "Скрипты - это легко..." http://www.Ссылки на narod.ru запрещены! Используйте пожалуйста другие, более нормальные хостинги. Проект в стадии разработки, но там уже может быть полезная для вас информация.
_________________ Звезды зовут... |
|
|
DragonP
281 EGP
   Рейтинг канала: 3(27) Репутация: 108 Сообщения: 527 Откуда: Новосибирск Зарегистрирован: 18.12.2004
 |
|
Языковые файлы XML в Х2
Что такое языковой файл
Вся текстовая информация использующаяся в Х2 (описания товаров, название команд меню, фразы в приходящих игроку сообщениях и т.п.) хранится во внешних XML файлах. Данные файлы содержат в себе полностью всю текстовку, что очень облегчает перевод Х2 на другие языки. Основным языковым файлом является файл ХХ0001.XML, где ХХ это цифровой идентификатор языка под который локализована информация содержащаяся в файле. Именно в этом файле хранится весь текст относящийся к игре. Также в комплекте с игрой идет файл ХХ0002.XML, он содержит тексты для первого диалогового окна, появляющегося перед запуском игры (настройка графики, логотип, управление и т.п). Ниже приведены ХХ коды и языки соответствующие им ( на самом деле коды соответствуют телефонным кодам стран, где данный язык является основным):
ХХ код Язык локализации
7 Русский
33 Французский
39 Итальянский
44 Английский
48 Польский
49 Немецкий
Эти файлы находятся в папке /t каталога в который установлена игра. Это верно для распакованной версии игры (изначально игра находится в упакованном виде).
Второй вариант расположения файлов это подобные zip архивам, файлы *.CAT - файлы каталогов, *.DAT - файлы данных. В веси 1.4 имеется четыре пары файлов от 01.CAT/01.DAT и соответственно до 04.CAT/04.DAT. Х2 имеет доступ к упакованным файлам, также как, если бы он находились в распакованном состоянии и были разложены по обычным папкам. Чтобы нам получить доступ к этим файлам, необходимо распаковать эти файлы. Делается это при помощи официальной программки «X2 modder kit» или «X2 modder» от OlisJ. Для русскоязычных пользователей гораздо удобней воспользоваться утилитой написанной пилотом Dimaxx’ом, называется она XTdat.exe. Программа имеет русскоязычный интерфейс и легка в использовании. Найти эту программку можно здесь: http://www.elite-games.ru/_egm_scripts/url.php?action=gotourl&url=/downloads/x2/xtdat.exe.
После распаковки, файлы содержащиеся в CAT/DAT файлах будут извлечены и разложены по соответствующим папкам. Открываем папку /t в игровой директории в ней должны появиться файлы 440001.XML и 440002.XML для англоязычной версии или 70001.XML и 70002.XML для русскоязычной (дальше, везде будет рассматриваться русская версия Х2). Если ваша игра локализована под другой язык, то идентификатор языка будет соответствовать языку локализации (см.табл).
Как делается языковой файл и при помощи какой программы
Поняв основное назначение языкового файла и прежде чем перейти к более глубокому рассмотрению данного вопроса. Следует разобраться при помощи какой программы можно посмотреть содержимое языкового файла, редактировать и создавать новые. Ответ прост. Самой удобной программой для работы с языковыми файлами является стандартный виндосовский блокнот, а программой для просмотра содержимого Internet Explorer. Любой языковой файл легче всего не создавать с нуля а взять какой ни будь готовый и подредактировать его. Если у вас нет под рукой ни одного маленького языкового файла, то воспользуемся поставляемым с игрой файлом 70002.XML. Открываем папку /t из игровой директории и открываем файл 70002.XML при помощи блокнота. Удаляем текст от строки <page id="1912" title="Graphic Settings dialog" descr=""> до самого конца оставив только последнею строчку </language>. В разделе <page id="1910" title="About Dialogue" descr="First dialogue before start of game - About"> удаляем все между <t id="1">Запустить X2</t> и </page>
У нас должен получиться файл следующего содержания:
Код: |
<?xml version="1.0" encoding="UTF-8" ?>
<language id="7">
<page id="1910" title="About Dialogue" descr="First dialogue before start of game - About">
<t id="1">Запустить X2</t>
</page>
</language> |
Удаляем 1910 в page id, «About Dialogue» в title и «First dialogue before start of game – About» в descry. Строчкой ниже удаляем 1 из “t id=” и «Запустить X2»
Получаем:
Код: |
<?xml version="1.0" encoding="UTF-8" ?>
<language id="7">
<page id=" " title=" " descr=" ">
<t id=" "> </t>
</page>
</language> |
Выбираем «сохранить как», исправляем имя на 70005.XML (расширение указывать обязательно), устанавливаем кодировку UTF-8, сохраняем. Теперь у нас есть файл шаблон языкового файла с именем 70005.XML.
Использование пользовательских языковых файлов при работе с командным меню
Теперь мы знаем, что обозначает первая часть имени языкового файла. Давайте теперь разберемся, что означают четыре оставшиеся цифры в имени. Эти цифры, называются персональным идентификатором языкового файла. Этот идентификатор (ID) нужен для того, чтобы любой скрипт мог получить доступ к содержимому любого языкового файла. Осуществляется этот доступ по средствам инструкции load text, инструкция использует ID для того, чтобы определить к какому из имеющихся языковых файлов хочет получить доступ текущий скрипт. Х2 позволяет пользователю использовать до 1000, произвольных языковых файлов (например имена файлов: 70003.XML, 70004.XML, 70010.XML и т.д., кроме зарезервированных системных файлов 70001.XML и 70002.XML).
Пользовательские языковые файлы могут быть использованы для загрузки в Х2 описаний новых товаров, команд в меню, размещения шаблонов текстов и т.п., используемых игроком в своих скриптах. Для того чтобы было понятно рассмотрим небольшой файл пример:
Код: |
<?xml version="1.0" encoding="UTF-8" ?>
- <language id="7">
- <page id="2008" title="Script Object Commands" descr=" ">
<t id="715">Команда_мой_скрипт</t>
</page>
- <page id="2010" title="Script Cmd Names" descr=" ">
<t id="715">Запуск моего скрипта</t>
</page>
- <page id="2011" title="Script Cmd Shorts" descr=" ">
<t id="715">Тест</t>
</page>
</language> |
Как видите язык файла указан не только в имени файла, но и в теле самого файла.
Любой языковой файл (в том числе и 70001.XML) разделен на страницы (page id= ), и на текстовые идентификаторы внутри страницы (t id= ), то есть принцип папок и подпапок в обыкновенной файловой системе.
Прежде чем двигаться дальше, объясню как будут располагаться в памяти языковые файлы. Основным файлом описания является файл 70001.XML, он загружается в память при загрузке игры. Все языковые файлы создаваемые и используемые вами, загружаемые в память при помощи инструкции load text, будут дополнять или изменять, уже загруженный основной языковой файл 70001.XML, а ScE будет обращаться непосредственно к нему. Имейте в виду, что если два пользовательских языковых файла обратятся к одному и тому же текстовому ID на одной странице и изменят его значение, то актуальным будет то значение которое было записано последним.
В основном файле имеется три страницы которые вы будите использовать в своих скриптах при организации работы командного меню корабля:
2008
Эта страница содержит все мнемонические имена команд/сигналов. Мнемонические имена используются инструкциям для которых команды/сигналы являются параметрами. Примером таких инструкций служат global script map и set script command upgrade. Если вы используете в вашем скрипте какую нибудь из этих инструкций то при выборе команды/сигнала редактор отразит весь список мнемонических имен команд содержащихся на странице 2008 основного языкового файла.
2010
Эта страница содержит текст являющийся длинной версией имени команды. То есть этот текст отражаемся в виде пункта в меню. Также именно этот текст будет отражен в разделе команда информационного экрана и в разделе команда списка вашей собственности (при условии что в теле вызываемого будет присутствовать инструкция set command, иначе во всех информационных окнах вместо имя выполняемой команды будет отражаться «Нет команд»)
2011
На этой странице находятся короткие имена команд. Короткие имена отражаются в командном меню справа от длинных имен, тек же короткое имя команды отражается в верхней части экрана также справа от длинного имени в главном окне командного меню .
В нашем примере на странице 2008 мы заменяем мнемоническое имя команды COMMAND_TYPE_CUSTOM_15 находящиеся за текстовым идентификатором 715 на имя заданное нами Команда_мой_скрипт (обратите внимание на то, что после изменения мнемонического имени команды, при попытке выбрать ее через меню редактора, вы можете не обнаружить ее на старом месте. То есть между COMMAND_TYPE_CUSTOM_14 и COMMAND_TYPE_CUSTOM_16 причина тому, фильтр редактора который сортирует список по латинскому алфавиту), далее на странице 2010 по ID=715 записываем Запуск моего скрипта, а на странице 2011 в ID с тем же номером записываем короткое имя нашей команды «Тест». Языковой файл для команды COMMAND_TYPE_CUSTOM_15 создан. Теперь когда мы произведем инициализацию нашей команды (как это сделать рассмотрим дальше), в командном меню в разделе Выборочные команды будет отражен пункт меню с названием «Запуск моего скрипта», а чуть правее в квадратных скобках будет указано краткое имя команды [Тест].
Далее в таблице будут приведены команды, их тип и ID, меню в которых они располагаются.
Тип___ ID___ Меню___ Мнемоническое имя
Navigation___ 200___ Командное меню, Навигация___ COMMAND_TYPE_NAV_00 to 31
Combat___ 300___ Командное меню, Боевые___ COMMAND_TYPE_FIGHT_00 to 31
Trade___ 400___ Командное меню, Торговые___ COMMAND_TYPE_TRADE_00 to 31
Special___ 500___ Командное меню, Специальные___ COMMAND_TYPE_SPECIAL_00 to 31
Piracy___ 600___ Командное меню, Пиратские___ COMMAND_TYPE_PIRACY_00 to 31
Custom___ 700___ Командное меню, Выборочные___ COMMAND_TYPE_CUSTOM_00 to 31
General___ 800___ Командное меню, Общие___ COMMAND_TYPE_GENERAL_00 to 31
Turret___ 900___ Меню турелей (из основного меню)___ COMMAND_TYPE_TURRET_00 to 31
Station___ 1100___ Командная консоль станций___ COMMAND_TYPE_STATION_00 to 31
Ship___ 1200___ Дополнительные корабельные команды___ COMMAND_TYPE_SHIP_00 to 31
В данной таблице указанны все возможные пункты меню. При выборе на какой пункт меню «зацепить» вашу команду имейте в виду следующее: в каждом пункте меню первые шестнадцать команд зарезервированы Egosoft, для подписанных ими Plugin. И вообще если вы используете в игре несколько скриптов написанных разными авторами, то не поленитесь заглянуть в инициализирующие файлы и посмотреть какие команды используют эти скрипты. Если вы увидите, что два каких то скрипта ссылаются на одну и туже команду вам придется немного изменить один из скриптов, назначив ему другую команду. Если этого не сделать, то скрипт который загрузится последним перехватит все управление на себя.
Инициализация языкового файла
Для того, чтобы языковой файл загрузился и произвел соответствующие изменения в загруженном основном языковом файле. Необходимо создать небольшой скрипт инициализации назовем его init.a вот его исходный текст:
Код: |
001 load text: id=5
002 $command = Команда_мой_скрипт
003 global script map: set: key=$command, class=Корабль, race=Player, script='a.missile.fire',prio=0
004 global script map: ignore: key=$command, class=Дрон, race=Player
005 set script command upgrade: command=Команда_мой_скрипт upgrade=[TRUE]
006 return null |
В строке 001 загружаем языковой файл 70005.XML, 003 устанавливаем связь между командой и скриптом a.missile.fire, для подключения в меню Выборочных команд у объектов класса Корабль пункта который будет вызывать наш скрипт. 004 Исключаем из списка объектов, класс объектов Дрон. Устанавливаем наличие апгрейда необходимого для активации пункта в меню, в нашем случае значение [TRUE], то есть пункт будет активен всегда. Если все готово производим реинициализацию скриптового КЭШа как это было описано в разделе «Редактор скриптов». Если все правильно то в меню должен появиться Выборочных команд появится команда « Запуск моего скрипта»
Пользовательские языковые файлы для создания текстовых шаблонов
Если вы взялись за создание какого либо скрипта, то вполне возможно, что вам понадобится вывести какие либо текстовые данные (яркий пример, это любой текст на русском языке. Х2 не позволяет вводить русские символы в редакторе скриптов). Для того чтобы использовать текстовые шаблоны или просто обойти запрет на введение русских символов можно также использовать языковые файлы. Давайте попробуем записать какой ни будь русскоязычный текст в бортовой журнал нашего корабля.
Для начала определим на какой странице, и какой “t id” нам надо использовать для хранения шаблона нашего текста. Принцип выбора прост. Шаблон можно хранить на любой доступной странице, следует лишь использовать уникальный “t id” , то есть открываем в IE файл 70001.XML и смотрим. На странице 1 (<page id="1" title="Root page" descr="">) имеется пять элементов с “t id” 1,2,3,5, 9999999 соответственно все “t id” между 5 и 9999999 свободны.
Воспользуемся этим. Открываем наш файл шаблон в блокноте и заполняем данными page id="1", " title="Root page” должно получиться следующее:
Код: |
<?xml version="1.0" encoding="UTF-8" ?>
<language id="7">
<page id="1" title="Root page" descr=" ">
<t id="100"> </t>
</page>
</language> |
Сохраняем его, запускаем игру, заходим а редактор скриптов и делаем небольшой скриптик:
Код: |
Script Print.main.rustext
Version: 0
for Script Engine Version: 25
Description
Print to logbook russian text
Arguments
Source Text
001 load text: id=6
002 write to player logbook: printf: pageid=1 textid=100, null, null, null, null, null
003 return null |
Запускаем созданный нами скрипт. Выходим из редактора и открываем бортовой журнал если вы правильно выполнили все действия, то в журнале будет новая запись с текстом «Это мой русскоязычный текст»
_________________ Звезды зовут... |
|
|
Grey Wolf
500 EGP
    Рейтинг канала: 2(17) Репутация: 115 Сообщения: 1677 Откуда: Ростов-на-Дону Зарегистрирован: 31.03.2003
 |
|
Некоторое добавление по скриптам init, setup, !init, !setup.
Скрипты !init и !setup запускаются всегда при старте или загрузке сэйва. Если использовать скрипты такого типа, НЕ подписанные Егософтом, то игра автоматом приобретает статус Modified.
Скрипты типа init и setup запускаются ТОЛЬКО в игре со статусом Modified, в немодифицированной игре они что есть в папке scripts, что их нету.
_________________ Быстро выпитая рюмка не считается налитой |
|
|
|
|
|
Канал X2: The Threat: «Учебник по скриптам» |
|
|