|
|
|
Канал X3: Reunion »
Модовый и скриптовый отсек X3: Reunion: «Программа для совмещения скриптов и текстовых файлов» |
|
|
EGSoV
50 EGP
 Репутация: 6 Сообщения: 27
Зарегистрирован: 17.08.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 Сообщения: 4751 Откуда: Киев Зарегистрирован: 08.01.2007
 |
|
EGSoV : |
Для скриптов и текстовых файлов: программа проверяет занятые имена скриптов и текстовых файлов и переименовывает не только имена файлов на незанятые, предварительно соблюдая последовательность переименования, но и проверяет все имена внутри скриптов.
|
Для чего вот это ?
добавлено спустя 31 секунду:
А незанятые текстовые страницы она проверяет ?
_________________ Умножим энтропию на 0 :-)
Последний раз редактировалось: Chem (20:39 14-01-2008), всего редактировалось 1 раз |
|
|
EGSoV
50 EGP
 Репутация: 6 Сообщения: 27
Зарегистрирован: 17.08.2007
 |
|
Chem : |
А незанятые текстовые страницы она проверяет ?
|
Зачем проверять страницы, если она совместит текстовый файл(в папке t) по имени и в скрипте(его имя, всмысле имя файла в папке t), следовательно он не занят.
добавлено спустя 3 минуты:
Chem : |
Для чего вот это ?
|
Всмысле зачем проверять имена внутри скриптов ?
Вот пример: программа нашла, что в игре уже есть файл 70003.xml, она его переименовала например на не занятый 70004.xml, а в скрипте он ведь остался как 70003.xml, следовательно грузиться будет не тот, вот она и проверяет внутри скрипта это имя и правит на новое
Понятно ?
ЗЫ: сейчас разрабатывается версия, которая ещё будет проверять и занятые команды на странице 2008 в 70001.xml и соответственно править их.
Последний раз редактировалось: EGSoV (20:54 14-01-2008), всего редактировалось 4 раз(а) |
|
|
Chem
780 EGP
          Рейтинг канала: 15(2610) Репутация: 248 Сообщения: 4751 Откуда: Киев Зарегистрирован: 08.01.2007
 |
|
С одной стороны - вещь неплохая.
Вопрос - ты разбираешь скрипт вплоть до кода?
Т.е. номер файла ты меняешь только в load text ?
А если ( и так тоже часто делают) имеет место быть -
load text $page.id, т.е. используется переменная ?
И еще - есть проблема с детектом проблем у человека, автор спросит - есть такой файл - а пилот - нет нету. Как быть ?
А вот идея с командами - она интереснее, и полезнее. Текстовых файлов - хватит всем
_________________ Умножим энтропию на 0 :-) |
|
|
EGSoV
50 EGP
 Репутация: 6 Сообщения: 27
Зарегистрирован: 17.08.2007
 |
|
Chem : |
Т.е. номер файла ты меняешь только в load text ?
А если ( и так тоже часто делают) имеет место быть -
load text $page.id, т.е. используется переменная ?
|
Да, меняется только в load text, так же везде, где есть это имя(если включить весь поиск).
Chem : |
И еще - есть проблема с детектом проблем у человека, автор спросит - есть такой файл - а пилот - нет нету. Как быть ?
|
Что-то я не понял это что значит
Chem : |
А вот идея с командами - она интереснее, и полезнее. Текстовых файлов - хватит всем
|
Тогда я займусь конкретно совмещением командами. Только в ближайшее ~6-12 часов мне некогда, попозже начну программировать
ЗЫ: очень рад, что хоть кто-то проявляет интерес
|
|
|
Chem
780 EGP
          Рейтинг канала: 15(2610) Репутация: 248 Сообщения: 4751 Откуда: Киев Зарегистрирован: 08.01.2007
 |
|
EGSoV : |
Да, меняется только в load text, так же везде, где есть это имя(если включить весь поиск).
|
Часто для имени файла и имени текстовой страницы используется одна и таже переменная.
_________________ Умножим энтропию на 0 :-) |
|
|
EGSoV
50 EGP
 Репутация: 6 Сообщения: 27
Зарегистрирован: 17.08.2007
 |
|
Chem : |
Часто для имени файла и имени текстовой страницы используется одна и таже переменная.
|
Знаю, но пока так(ведь если использовать поиск везде), то если найдется точное имя, оно поменяется.
Так что проверок на переменные(которые меняются) пока нет.
Ты ведь сам сказал, что "Текстовых файлов - хватит всем". Вот я и буду теперь двигаться в сторону совмещения команд
Последний раз редактировалось: EGSoV (18:46 15-01-2008), всего редактировалось 1 раз |
|
|
EGSoV
50 EGP
 Репутация: 6 Сообщения: 27
Зарегистрирован: 17.08.2007
 |
|
Кстати, Chem, вот если люди решили сделать и совместить мод с игрой о которой они ничего не знают, то чтобы совместить файлы текстов не нужно делать загрузку текстовых файлов через переменную и тогда этот мод можно совмещать с игрой с помощью программы. Т.к. если файлы идут с последовательными именами, то больше шанс, что такие имена уже есть. А если делать меньше текстовых файлов + непоследовательные имена, то с игрой можно совместить.
ЗЫ: начинаю делать 2 часть программы(совмещения команд)...
|
|
|
Chem
780 EGP
          Рейтинг канала: 15(2610) Репутация: 248 Сообщения: 4751 Откуда: Киев Зарегистрирован: 08.01.2007
 |
|
EGSoV : |
Кстати, Chem, вот если люди решили сделать и совместить мод с игрой о которой они ничего не знают, то чтобы совместить файлы текстов не нужно делать загрузку текстовых файлов через переменную и тогда этот мод можно совмещать с игрой с помощью программы. Т.к. если файлы идут с последовательными именами, то больше шанс, что такие имена уже есть. А если делать меньше текстовых файлов + непоследовательные имена, то с игрой можно совместить.
|
Сходи посмотри список скриптов на егософтовском форуме.
Кстати, там каждый скриптер столбит под себя номер файла и текстовую страницу, чтобы не перепутать и не занять чужое.
_________________ Умножим энтропию на 0 :-) |
|
|
EGSoV
50 EGP
 Репутация: 6 Сообщения: 27
Зарегистрирован: 17.08.2007
 |
|
Это на егософте, а я буду делать совместимость для любых модов, по крайней мере буду стараться.
Сейчас проблема в том, что некоторые скриптере и модеры используют свои имена команд на странице p=2008, я думал придется искать только среди стандартных команд, а нет, теперь и среди этих page => нужно проверять там, следовательно уже совсем другой алгоритм, но думаю разберусь и постараюсь сделать.
Chem : |
Сходи посмотри список скриптов на егософтовском форуме.
Кстати, там каждый скриптер столбит под себя номер файла и текстовую страницу, чтобы не перепутать и не занять чужое.
|
Всмысле ты имееш ввиду нужно автматически запретить использовать эти имена или я не так понял
|
|
|
Chem
780 EGP
          Рейтинг канала: 15(2610) Репутация: 248 Сообщения: 4751 Откуда: Киев Зарегистрирован: 08.01.2007
 |
|
EGSoV : |
Всмысле ты имееш ввиду нужно автматически запретить использовать эти имена или я не так понял
|
В смысле - что не вижу смысла.
1. Имена файлов уже распределены между скриптами!
2. Если к автору обратились за решением проблемы - он говорит, к примеру - проверьте наличие файла 443343.хмл. А он уже твоей прогой обработан, и имеет другое имя. В результате - проблема у пилота может быть не решена.
EGSoV : |
некоторые скриптере и модеры используют свои имена команд на странице p=2008,
|
Ну, это да.
Кстати, ты испhавляешь в какой части скрипта :
<sourcetext>
или
<codearray>.
Если во второй - то нам код командного слота просто в виде числа.
_________________ Умножим энтропию на 0 :-) |
|
|
EGSoV
50 EGP
 Репутация: 6 Сообщения: 27
Зарегистрирован: 17.08.2007
 |
|
Chem : |
1. Имена файлов уже распределены между скриптами!
2. Если к автору обратились за решением проблемы - он говорит, к примеру - проверьте наличие файла 443343.хмл. А он уже твоей прогой обработан, и имеет другое имя. В результате - проблема у пилота может быть не решена.
|
Программа должна будет совмещать имена любых команд и скриптов.
Chem : |
Кстати, ты испhавляешь в какой части скрипта :
|
Пока ни где, делаю только обработку использующихся команд в игре.
Кстати, как я понял, они должны быть записаны обязательно на:
<page id="2010" title="Script Cmd Names" descr=" ">
и каждый раздел может содержать 31 команду как в x2 ведь так ?
Я там их и буду проверять.
Chem : |
<sourcetext>
или
<codearray>.
Если во второй - то нам код командного слота просто в виде числа.
|
Значит в <codearray> лежат номера используемых команд. Спасибо за подсказку.
Работы ещё предстоит на долго упорно и аккуратно.
Chem : |
В смысле - что не вижу смысла.
|
Имееш ввиду програма не нужна , могу и забросить если нет смысла
|
|
|
бухой джедай
183 EGP
  Рейтинг канала: 5(141) Репутация: 70 Сообщения: 7906 Предупреждений: 1 Откуда: Одесса:) Зарегистрирован: 08.09.2007
 |
|
программа не нужна потому что они осложнит обезбаживание скриптов
_________________ Так Добрый вечер...Превед с большого Бодуна...
Магистр Непросыхаемость...
Злобный Рецедивист... |
|
|
Chem
780 EGP
          Рейтинг канала: 15(2610) Репутация: 248 Сообщения: 4751 Откуда: Киев Зарегистрирован: 08.01.2007
 |
|
EGSoV : |
Значит в <codearray> лежат номера используемых команд. Спасибо за подсказку.
Работы ещё предстоит на долго Разозлен упорно и аккуратно.
|
Тут даже хитрее.
Игре по барабану, что записано в <sourcetext> .
Она использует только <codearray>.
Т.е. скрипт без <sourcetext> работать будет, а вот - без <codearray>.
<codearray> - это как бы скомпиленный вариант скрипта. Если в игру подсунуть скрипт без <sourcetext>, то он будет прекрасно работать, а при открытии его во встроенном редакторе - текст будет восстановлен из <codearray>.
добавлено спустя 5 минут:
Идея хорошая.
Серьезно.
Но больше именно в части команд.
По тому, как выглядит команда назначение скрипта на командный слот в кодеаррай - лучше с АлексомВ проконсультироваться.
Как бы это видел я:
1. Команда сканирует папку программы на наличие нестандартных скриптов и текстовых файлов.
2. Оптимизирует использование командных слотов.
3. При этом где-то сохраняет исходное состояние.
4. Как вариант - сделать так, чтобы вначале запускалась она, а она из себя - игру.
Ну пока все.
Что может вылезти - заменять командный слот придется не только в командах назначения скрипта на слот, но и еще в нескольких других. Число их фиксировано.
В общем - кратко - создание примерно так работающей программы - будет полезно. На мой взгляд
_________________ Умножим энтропию на 0 :-)
Последний раз редактировалось: Chem (19:46 16-01-2008), всего редактировалось 1 раз |
|
|
EGSoV
50 EGP
 Репутация: 6 Сообщения: 27
Зарегистрирован: 17.08.2007
 |
|
Chem, а ты знаешь где именно лежат цифры, которые обозначают номер используемой команды в <codearray>. Просто сейчас ещё работаю над программой и некогда разбираться в <codearray>.
Значит с AlexV советоваться, хорошо как дойду до этого момента, спрошу.
Последний раз редактировалось: EGSoV (19:51 16-01-2008), всего редактировалось 1 раз |
|
|
Chem
780 EGP
          Рейтинг канала: 15(2610) Репутация: 248 Сообщения: 4751 Откуда: Киев Зарегистрирован: 08.01.2007
 |
|
Там все очень непросто.
В кодеаррай лежит весь скрипт. Весь.
А вот тут - тебе лучше АлексВ подскажет. Соавтор редактора скриптов.
_________________ Умножим энтропию на 0 :-) |
|
|
AlexV
555 EGP
       Рейтинг канала: 7(561) Репутация: 182 Сообщения: 1157 Откуда: нискажу Зарегистрирован: 10.01.2006
 |
|
фихней страдаете
набери в скрипте нужную команду и потом поменяй
и просто вычисли разницу...
ничего особо сложного
я перевыложил шаблон в первом посте редактора
открой с ним скрипт и посмотри на кодеаррей
7й элемент основного массива и есть все исполняемые строки скрипта
_________________ а хуже всего приходится программистам из Microsoft. Им в случае чего и обругать-то некого |
|
|
ULiX
320 EGP
      Рейтинг канала: 7(691) Репутация: 146 Сообщения: 573 Откуда: Комсомольск на-Амуре Зарегистрирован: 12.07.2005
 |
|
Тяжко.
А теперь вот такой вариант.
Существует два тектовых файла с разными именами к примеру:
78025
73456
В этих текстовых модулях используется одна и таже страница скажем page id="8025". Причем имеются и схожие tid. в этой странице.
И какая программа позволит разрулить эту ситуацию?
Chem уже затрагивал этот вопрос, но что-то я толкового ответа не увидел.
Если по хорошему, то нужно чтоб тогда при конфликте страниц (причем системные страницы в счет не брать) также менялась страница в текстовом модуле и все ссылки из скриптов на эту страницу. Работенка... Обычно в таких ситуациях я делаю это вручную. ПОЧЕМУ?
А потому что только мне достоверно известно в каких скриптах нужно исправить номенр страницы, а в каких нет, ибо если скрипты уже установлены то нужно строго разграничить их принадлежность к тектовым модулям. Если править автоматом, то только до установки скриптов. Но зачастую о конфликтах узнаёшь только после установки. Помнится игра Oblivion. Там тоже была утилитка на вычисления присутствия конфликтынх изменений различными модами. Теперь фактически для X3 начинает появляться такая же утилитка, так как появляются те же проблемы.
_________________ Новое ещё не значит лучшее |
|
|
EGSoV
50 EGP
 Репутация: 6 Сообщения: 27
Зарегистрирован: 17.08.2007
 |
|
Ну ведь не сильно важно какие есть страницы(p) и t id т.к. если переименовать файл из папки t и изменить все эти имена в скриптах, то игра будет загружать определенный файл XXXXX.xml(из папки t) и все данные тоже будут обновлятся, хотя это зависит кто как делает. В общем, не будем усложнять жизнь, да и разбираться в кодеаррае, т.к. для этого придется писать очень много + исключения и т.д., да и вопросов ещё не меньше. Ну будем продолжать
Последний раз редактировалось: EGSoV (12:02 30-01-2008), всего редактировалось 1 раз |
|
|
AlexV
555 EGP
       Рейтинг канала: 7(561) Репутация: 182 Сообщения: 1157 Откуда: нискажу Зарегистрирован: 10.01.2006
 |
|
EGSoV : |
Т.е. программу, наверное нужно закрыть.
|
что-то ты легко сдаёшься
наоборот, чем сложнее - тем интересней, никто же с тебя не требует результат завтра готовый дать
EGSoV : |
да и вопросов ещё не меньше
|
дык спрашивай
чем можем, всегда поможем, только задавай конкретные вопросы, а не общеразвивающие
_________________ а хуже всего приходится программистам из Microsoft. Им в случае чего и обругать-то некого |
|
|
|
|
|
Канал X3: Reunion ->
Модовый и скриптовый отсек X3: Reunion: «Программа для совмещения скриптов и текстовых файлов» |
|