|
|
|
Канал X3: Reunion »
Модовый и скриптовый отсек X3: Reunion: «Программа для совмещения скриптов и текстовых файлов» |
|
|
EGSoV
50 EGP
 : 6 Posts: 27
Joined: 17 Aug 2007
 |
|
ОПИСАНИЕ:
Программа предназначена для совмещения модов различных пилотов, она может совмещать Cat/Dat или скрипты и текстовые файлы.
Она их совмещает, проверяя все занятые имена скриптов и текстовых файлов.
Для Cat/Dat всего лишь переименование(последовательное), что облегчает установку новых модов, которые идут в виде Cat/Dat запакованных файлов. Но это не означает совместимость модов т.к. тот, кто устанавливает мод, должен быть уверен в том, что внутри этих запакованных файлов могут быть несовместимые файлы. Т.Е. принцип совмещения Cat/Dat состоит только в правильном переименовании файлов.
Принцип работы с Cat/Dat таков: программа ищет максимальный номер в папке с игрой и переименовывает файлы мода последовательно, совмещая их с игрой.
Для скриптов и текстовых файлов: программа проверяет занятые имена скриптов и текстовых файлов и переименовывает не только имена файлов на незанятые, предварительно соблюдая последовательность переименования, но и проверяет все имена внутри скриптов.
Более подробно в программе, клавиша:[?]
ИСПОЛЬЗОВАНИЕ:
Программа может быть использована в 2х целях:
1 - когда нужно проверить совместимость модов на занятые имена скриптов и текстовых файлов.
2 -когда конкретно нужно совместить моды. В общем случае, если вы собираетесь совместить моды, то этого уже будет достаточно, но для 100% совмещения, т.е. проверки занятых имен команд(например с 2010 страницы, вы должны посмотреть readme с файлом мода и поглядеть есть ли там используемые ранее команды => немного подкориектировать его(если это нужно))
ОГРАНИЧЕНИЯ:
-Программа не проверяет(пока) имена занятых команд для бортового компьютера, т.е. новые команды (боевые, навигационные, торговые...), которые записаны на 2008 и 2010 страницах в 70001.xml
-программа не проверяет имена файлов, которые могут находится в папке cut/v
ОБНОВЛЕНИЯ:
v 1.0 beta
http://egsov.zoob.info/file/?fileid=10149
Также буду вносить обновления и дополнения по вашим просьбам/замечаниям/предложениям .
Вопросы сюда или EGSoV@yandex.ru
|
|
|
Chem
780 EGP
          Рейтинг канала: 15(2610) : 248 Posts: 4751 Location: Киев Joined: 08 Jan 2007
 |
|
EGSoV wrote: |
Для скриптов и текстовых файлов: программа проверяет занятые имена скриптов и текстовых файлов и переименовывает не только имена файлов на незанятые, предварительно соблюдая последовательность переименования, но и проверяет все имена внутри скриптов.
|
Для чего вот это ?
добавлено спустя 31 секунду:
А незанятые текстовые страницы она проверяет ?
_________________ Умножим энтропию на 0 :-)
Last edited by Chem on 20:39 14-01-2008; edited 1 time in total |
|
|
EGSoV
50 EGP
 : 6 Posts: 27
Joined: 17 Aug 2007
 |
|
Chem wrote: |
А незанятые текстовые страницы она проверяет ?
|
Зачем проверять страницы, если она совместит текстовый файл(в папке t) по имени и в скрипте(его имя, всмысле имя файла в папке t), следовательно он не занят.
добавлено спустя 3 минуты:
Chem wrote: |
Для чего вот это ?
|
Всмысле зачем проверять имена внутри скриптов ?
Вот пример: программа нашла, что в игре уже есть файл 70003.xml, она его переименовала например на не занятый 70004.xml, а в скрипте он ведь остался как 70003.xml, следовательно грузиться будет не тот, вот она и проверяет внутри скрипта это имя и правит на новое
Понятно ?
ЗЫ: сейчас разрабатывается версия, которая ещё будет проверять и занятые команды на странице 2008 в 70001.xml и соответственно править их.
Last edited by EGSoV on 20:54 14-01-2008; edited 4 times in total |
|
|
Chem
780 EGP
          Рейтинг канала: 15(2610) : 248 Posts: 4751 Location: Киев Joined: 08 Jan 2007
 |
|
С одной стороны - вещь неплохая.
Вопрос - ты разбираешь скрипт вплоть до кода?
Т.е. номер файла ты меняешь только в load text ?
А если ( и так тоже часто делают) имеет место быть -
load text $page.id, т.е. используется переменная ?
И еще - есть проблема с детектом проблем у человека, автор спросит - есть такой файл - а пилот - нет нету. Как быть ?
А вот идея с командами - она интереснее, и полезнее. Текстовых файлов - хватит всем
_________________ Умножим энтропию на 0 :-) |
|
|
EGSoV
50 EGP
 : 6 Posts: 27
Joined: 17 Aug 2007
 |
|
Chem wrote: |
Т.е. номер файла ты меняешь только в load text ?
А если ( и так тоже часто делают) имеет место быть -
load text $page.id, т.е. используется переменная ?
|
Да, меняется только в load text, так же везде, где есть это имя(если включить весь поиск).
Chem wrote: |
И еще - есть проблема с детектом проблем у человека, автор спросит - есть такой файл - а пилот - нет нету. Как быть ?
|
Что-то я не понял это что значит
Chem wrote: |
А вот идея с командами - она интереснее, и полезнее. Текстовых файлов - хватит всем
|
Тогда я займусь конкретно совмещением командами. Только в ближайшее ~6-12 часов мне некогда, попозже начну программировать
ЗЫ: очень рад, что хоть кто-то проявляет интерес
|
|
|
Chem
780 EGP
          Рейтинг канала: 15(2610) : 248 Posts: 4751 Location: Киев Joined: 08 Jan 2007
 |
|
EGSoV wrote: |
Да, меняется только в load text, так же везде, где есть это имя(если включить весь поиск).
|
Часто для имени файла и имени текстовой страницы используется одна и таже переменная.
_________________ Умножим энтропию на 0 :-) |
|
|
EGSoV
50 EGP
 : 6 Posts: 27
Joined: 17 Aug 2007
 |
|
Chem wrote: |
Часто для имени файла и имени текстовой страницы используется одна и таже переменная.
|
Знаю, но пока так(ведь если использовать поиск везде), то если найдется точное имя, оно поменяется.
Так что проверок на переменные(которые меняются) пока нет.
Ты ведь сам сказал, что "Текстовых файлов - хватит всем". Вот я и буду теперь двигаться в сторону совмещения команд
Last edited by EGSoV on 18:46 15-01-2008; edited 1 time in total |
|
|
EGSoV
50 EGP
 : 6 Posts: 27
Joined: 17 Aug 2007
 |
|
Кстати, Chem, вот если люди решили сделать и совместить мод с игрой о которой они ничего не знают, то чтобы совместить файлы текстов не нужно делать загрузку текстовых файлов через переменную и тогда этот мод можно совмещать с игрой с помощью программы. Т.к. если файлы идут с последовательными именами, то больше шанс, что такие имена уже есть. А если делать меньше текстовых файлов + непоследовательные имена, то с игрой можно совместить.
ЗЫ: начинаю делать 2 часть программы(совмещения команд)...
|
|
|
Chem
780 EGP
          Рейтинг канала: 15(2610) : 248 Posts: 4751 Location: Киев Joined: 08 Jan 2007
 |
|
EGSoV wrote: |
Кстати, Chem, вот если люди решили сделать и совместить мод с игрой о которой они ничего не знают, то чтобы совместить файлы текстов не нужно делать загрузку текстовых файлов через переменную и тогда этот мод можно совмещать с игрой с помощью программы. Т.к. если файлы идут с последовательными именами, то больше шанс, что такие имена уже есть. А если делать меньше текстовых файлов + непоследовательные имена, то с игрой можно совместить.
|
Сходи посмотри список скриптов на егософтовском форуме.
Кстати, там каждый скриптер столбит под себя номер файла и текстовую страницу, чтобы не перепутать и не занять чужое.
_________________ Умножим энтропию на 0 :-) |
|
|
EGSoV
50 EGP
 : 6 Posts: 27
Joined: 17 Aug 2007
 |
|
Это на егософте, а я буду делать совместимость для любых модов, по крайней мере буду стараться.
Сейчас проблема в том, что некоторые скриптере и модеры используют свои имена команд на странице p=2008, я думал придется искать только среди стандартных команд, а нет, теперь и среди этих page => нужно проверять там, следовательно уже совсем другой алгоритм, но думаю разберусь и постараюсь сделать.
Chem wrote: |
Сходи посмотри список скриптов на егософтовском форуме.
Кстати, там каждый скриптер столбит под себя номер файла и текстовую страницу, чтобы не перепутать и не занять чужое.
|
Всмысле ты имееш ввиду нужно автматически запретить использовать эти имена или я не так понял
|
|
|
Chem
780 EGP
          Рейтинг канала: 15(2610) : 248 Posts: 4751 Location: Киев Joined: 08 Jan 2007
 |
|
EGSoV wrote: |
Всмысле ты имееш ввиду нужно автматически запретить использовать эти имена или я не так понял
|
В смысле - что не вижу смысла.
1. Имена файлов уже распределены между скриптами!
2. Если к автору обратились за решением проблемы - он говорит, к примеру - проверьте наличие файла 443343.хмл. А он уже твоей прогой обработан, и имеет другое имя. В результате - проблема у пилота может быть не решена.
EGSoV wrote: |
некоторые скриптере и модеры используют свои имена команд на странице p=2008,
|
Ну, это да.
Кстати, ты испhавляешь в какой части скрипта :
<sourcetext>
или
<codearray>.
Если во второй - то нам код командного слота просто в виде числа.
_________________ Умножим энтропию на 0 :-) |
|
|
EGSoV
50 EGP
 : 6 Posts: 27
Joined: 17 Aug 2007
 |
|
Chem wrote: |
1. Имена файлов уже распределены между скриптами!
2. Если к автору обратились за решением проблемы - он говорит, к примеру - проверьте наличие файла 443343.хмл. А он уже твоей прогой обработан, и имеет другое имя. В результате - проблема у пилота может быть не решена.
|
Программа должна будет совмещать имена любых команд и скриптов.
Chem wrote: |
Кстати, ты испhавляешь в какой части скрипта :
|
Пока ни где, делаю только обработку использующихся команд в игре.
Кстати, как я понял, они должны быть записаны обязательно на:
<page id="2010" title="Script Cmd Names" descr=" ">
и каждый раздел может содержать 31 команду как в x2 ведь так ?
Я там их и буду проверять.
Chem wrote: |
<sourcetext>
или
<codearray>.
Если во второй - то нам код командного слота просто в виде числа.
|
Значит в <codearray> лежат номера используемых команд. Спасибо за подсказку.
Работы ещё предстоит на долго упорно и аккуратно.
Chem wrote: |
В смысле - что не вижу смысла.
|
Имееш ввиду програма не нужна , могу и забросить если нет смысла
|
|
|
бухой джедай
183 EGP
  Рейтинг канала: 5(141) : 70 Posts: 7906 Предупреждений: 1 Location: Одесса:) Joined: 08 Sep 2007
 |
|
программа не нужна потому что они осложнит обезбаживание скриптов
_________________ Так Добрый вечер...Превед с большого Бодуна...
Магистр Непросыхаемость...
Злобный Рецедивист... |
|
|
Chem
780 EGP
          Рейтинг канала: 15(2610) : 248 Posts: 4751 Location: Киев Joined: 08 Jan 2007
 |
|
EGSoV wrote: |
Значит в <codearray> лежат номера используемых команд. Спасибо за подсказку.
Работы ещё предстоит на долго Разозлен упорно и аккуратно.
|
Тут даже хитрее.
Игре по барабану, что записано в <sourcetext> .
Она использует только <codearray>.
Т.е. скрипт без <sourcetext> работать будет, а вот - без <codearray>.
<codearray> - это как бы скомпиленный вариант скрипта. Если в игру подсунуть скрипт без <sourcetext>, то он будет прекрасно работать, а при открытии его во встроенном редакторе - текст будет восстановлен из <codearray>.
добавлено спустя 5 минут:
Идея хорошая.
Серьезно.
Но больше именно в части команд.
По тому, как выглядит команда назначение скрипта на командный слот в кодеаррай - лучше с АлексомВ проконсультироваться.
Как бы это видел я:
1. Команда сканирует папку программы на наличие нестандартных скриптов и текстовых файлов.
2. Оптимизирует использование командных слотов.
3. При этом где-то сохраняет исходное состояние.
4. Как вариант - сделать так, чтобы вначале запускалась она, а она из себя - игру.
Ну пока все.
Что может вылезти - заменять командный слот придется не только в командах назначения скрипта на слот, но и еще в нескольких других. Число их фиксировано.
В общем - кратко - создание примерно так работающей программы - будет полезно. На мой взгляд
_________________ Умножим энтропию на 0 :-)
Last edited by Chem on 19:46 16-01-2008; edited 1 time in total |
|
|
EGSoV
50 EGP
 : 6 Posts: 27
Joined: 17 Aug 2007
 |
|
Chem, а ты знаешь где именно лежат цифры, которые обозначают номер используемой команды в <codearray>. Просто сейчас ещё работаю над программой и некогда разбираться в <codearray>.
Значит с AlexV советоваться, хорошо как дойду до этого момента, спрошу.
Last edited by EGSoV on 19:51 16-01-2008; edited 1 time in total |
|
|
Chem
780 EGP
          Рейтинг канала: 15(2610) : 248 Posts: 4751 Location: Киев Joined: 08 Jan 2007
 |
|
Там все очень непросто.
В кодеаррай лежит весь скрипт. Весь.
А вот тут - тебе лучше АлексВ подскажет. Соавтор редактора скриптов.
_________________ Умножим энтропию на 0 :-) |
|
|
AlexV
555 EGP
       Рейтинг канала: 7(561) : 182 Posts: 1157 Location: нискажу Joined: 10 Jan 2006
 |
|
фихней страдаете
набери в скрипте нужную команду и потом поменяй
и просто вычисли разницу...
ничего особо сложного
я перевыложил шаблон в первом посте редактора
открой с ним скрипт и посмотри на кодеаррей
7й элемент основного массива и есть все исполняемые строки скрипта
_________________ а хуже всего приходится программистам из Microsoft. Им в случае чего и обругать-то некого |
|
|
ULiX
320 EGP
      Рейтинг канала: 7(691) : 146 Posts: 573 Location: Комсомольск на-Амуре Joined: 12 Jul 2005
 |
|
Тяжко.
А теперь вот такой вариант.
Существует два тектовых файла с разными именами к примеру:
78025
73456
В этих текстовых модулях используется одна и таже страница скажем page id="8025". Причем имеются и схожие tid. в этой странице.
И какая программа позволит разрулить эту ситуацию?
Chem уже затрагивал этот вопрос, но что-то я толкового ответа не увидел.
Если по хорошему, то нужно чтоб тогда при конфликте страниц (причем системные страницы в счет не брать) также менялась страница в текстовом модуле и все ссылки из скриптов на эту страницу. Работенка... Обычно в таких ситуациях я делаю это вручную. ПОЧЕМУ?
А потому что только мне достоверно известно в каких скриптах нужно исправить номенр страницы, а в каких нет, ибо если скрипты уже установлены то нужно строго разграничить их принадлежность к тектовым модулям. Если править автоматом, то только до установки скриптов. Но зачастую о конфликтах узнаёшь только после установки. Помнится игра Oblivion. Там тоже была утилитка на вычисления присутствия конфликтынх изменений различными модами. Теперь фактически для X3 начинает появляться такая же утилитка, так как появляются те же проблемы.
_________________ Новое ещё не значит лучшее |
|
|
EGSoV
50 EGP
 : 6 Posts: 27
Joined: 17 Aug 2007
 |
|
Ну ведь не сильно важно какие есть страницы(p) и t id т.к. если переименовать файл из папки t и изменить все эти имена в скриптах, то игра будет загружать определенный файл XXXXX.xml(из папки t) и все данные тоже будут обновлятся, хотя это зависит кто как делает. В общем, не будем усложнять жизнь, да и разбираться в кодеаррае, т.к. для этого придется писать очень много + исключения и т.д., да и вопросов ещё не меньше. Ну будем продолжать
Last edited by EGSoV on 12:02 30-01-2008; edited 1 time in total |
|
|
AlexV
555 EGP
       Рейтинг канала: 7(561) : 182 Posts: 1157 Location: нискажу Joined: 10 Jan 2006
 |
|
EGSoV wrote: |
Т.е. программу, наверное нужно закрыть.
|
что-то ты легко сдаёшься
наоборот, чем сложнее - тем интересней, никто же с тебя не требует результат завтра готовый дать
EGSoV wrote: |
да и вопросов ещё не меньше
|
дык спрашивай
чем можем, всегда поможем, только задавай конкретные вопросы, а не общеразвивающие
_________________ а хуже всего приходится программистам из Microsoft. Им в случае чего и обругать-то некого |
|
|
|
|
|
Канал X3: Reunion ->
Модовый и скриптовый отсек X3: Reunion: «Программа для совмещения скриптов и текстовых файлов» |
|