Перейти к содержимому

Сообщений в теме: 66
Фотография

SimbolFix - Проверка текста на ошибки для Fallout 1 & 2.

Fallout 1 & 2 tools

#21 Pyran

Pyran

    GloboTech

  • Interceptors
  • 5 026 сообщений
  • Город (city):Люблю как умею - живу так же.

Отправлено 23 Январь 2018 - 00:59

Linux, Perl, Python и перекур с Camel))

Да все все знают, но молчат)


Будьте благодарны, нажимайте НРАВИТСЯ; создавая темы, добавляйте ТЕГИ; пишите и Вам ОТВЕТЯТ.
FO1&2: Путеводитель по модам. // Форум: FAQ, Советы. // Перевод Модов.



#22 V.K.

V.K.

    Техник "Воскрешения"

  • автор темы
  • Desert Rangers
  • PipPipPip
  • 292 сообщений

Отправлено 23 Январь 2018 - 01:23

Linux, Perl, Python и перекур с Camel))

Да все все знают, но молчат)

Camel это не перекур, это Тим О’Райли его на книжку про Перл прилепил

 

если все и всё знают, тогда не понятно почему ты и другие корректоры, переводчики

вручную msg проверяют

 

я уже нашёл несколько багов в своей обновлённой версии, похоже перестарался,

буду исправлять


Symbolfix - утилита для проверки ошибок текстовых файлов формата .msg для FO2.

Nodefix - дополнительная утилита для проверки 'потерянных' строк в файлах формата .msg для FO2.

 



#23 Pyran

Pyran

    GloboTech

  • Interceptors
  • 5 026 сообщений
  • Город (city):Люблю как умею - живу так же.

Отправлено 23 Январь 2018 - 01:25

если все и всё знают, тогда не понятно почему ты и другие корректоры, переводчики

вручную msg проверяют

ну, я про названия, а не глубокие познания... я например с детства перловку не люблю))


Будьте благодарны, нажимайте НРАВИТСЯ; создавая темы, добавляйте ТЕГИ; пишите и Вам ОТВЕТЯТ.
FO1&2: Путеводитель по модам. // Форум: FAQ, Советы. // Перевод Модов.



#24 V.K.

V.K.

    Техник "Воскрешения"

  • автор темы
  • Desert Rangers
  • PipPipPip
  • 292 сообщений

Отправлено 23 Январь 2018 - 01:49

ну, я про названия, а не глубокие познания... я например с детства перловку не люблю))

я это понял, я имел ввиду что те кто как выразился Mr.Сталин кастрюли чинят,

могли бы и тостеры начать чинить )


Symbolfix - утилита для проверки ошибок текстовых файлов формата .msg для FO2.

Nodefix - дополнительная утилита для проверки 'потерянных' строк в файлах формата .msg для FO2.

 

  • Pyran это нравится


#25 V.K.

V.K.

    Техник "Воскрешения"

  • автор темы
  • Desert Rangers
  • PipPipPip
  • 292 сообщений

Отправлено 23 Январь 2018 - 02:10

перловка, пингвины, верблюды, удавы - Кто все это ???

 

это желтоклювые, а они весёлый народ, вот и такие у них названия,


Symbolfix - утилита для проверки ошибок текстовых файлов формата .msg для FO2.

Nodefix - дополнительная утилита для проверки 'потерянных' строк в файлах формата .msg для FO2.

 



#26 V.K.

V.K.

    Техник "Воскрешения"

  • автор темы
  • Desert Rangers
  • PipPipPip
  • 292 сообщений

Отправлено 23 Январь 2018 - 17:43

Спасибо всем за советы и замечания, я пересмотрел алгоритмы

проверки на некоторые правила и в данный момент занялся переделкой,

прошу подождать несколько дней.


Symbolfix - утилита для проверки ошибок текстовых файлов формата .msg для FO2.

Nodefix - дополнительная утилита для проверки 'потерянных' строк в файлах формата .msg для FO2.

 

  • Pyran и Foxx это нравится


#27 V.K.

V.K.

    Техник "Воскрешения"

  • автор темы
  • Desert Rangers
  • PipPipPip
  • 292 сообщений

Отправлено 24 Январь 2018 - 18:16

Движок не опознает символ #-комментария

 

я всегда знал что если стоит # то после неё можно писать всё что угодно
и это не должно влиять на работу программы, но оказалось,
что даже в строке которая без нодов и начинается сначала,
если поставить скобку в любом месте, то error !?
#
# { это строка комментария
#
получается что движок не понимает строк с комментариями, а просто тупо
ищет скобки и если не шаблон, то error, но тогда мне непонятно следующее,

сделал такой вариант
#{150}{}{Вы видите СЛОНА.}
{150}{}{Вы видите Освальда.}

в игре вывелась строка - Вы видите Освальда, а почему не СЛОНА если движку # по фигу,
скобки ведь есть и всё по шаблону и правильно

второй вариант
{150}{}{Вы видите СЛОНА.}
{150}{}{Вы видите Освальда.}

опять вывелось - Вы видите Освальда, это как движок понял что Освальд не СЛОН,

может это СЛОНА так зовут - Освальд,

номер ведь одинаковый и Освальд идёт второй строкой

 

вариант три

{150}{}{Вы видите Освальда.}

#{150}{}{Вы видите СЛОНА.}

 

а вот здесь мы получаем сообщение - Вы видите СЛОНА

получается что если номер идентичен, то выводится вторая строка

и не важно что перед ней стоит #

 

просто чудеса .... )


Symbolfix - утилита для проверки ошибок текстовых файлов формата .msg для FO2.

Nodefix - дополнительная утилита для проверки 'потерянных' строк в файлах формата .msg для FO2.

 



#28 Mr.Сталин

Mr.Сталин

    Агент Кремля

  • Desert Rangers
  • PipPipPip
  • 1 807 сообщений
  • Город (city):Донецкая Республика.

Отправлено 24 Январь 2018 - 21:01

просто чудеса .... )

Нет никаких чудес!

В данном случае строка под номером 150 переопределяется последней найденной с таким же номером.


Fallout Proto Manager v1,1.2 - Редактор для создания и редактирования файлов прототипов.
sFall Script Editor v4.1.2 - Программа для написания скриптов и отладки диалогов.
Mapper by Dims v0.99.3 - Обновленный вариант маппера c некоторыми новыми возможностями.
Другие утилиты для модинга Fallout.

Spoiler


#29 Mr.Сталин

Mr.Сталин

    Агент Кремля

  • Desert Rangers
  • PipPipPip
  • 1 807 сообщений
  • Город (city):Донецкая Республика.

Отправлено 24 Январь 2018 - 22:13

Опишу тебе алгоритм проверки без regex, посредством for

Читаем файл в массив символов и с помощью for проходится по каждому символу массива.

Если в массиве встретился символ '{', увеличиваем переменную OpenCurve, - указывая что нашли открывающую скобку.

Далее в проходе по символам если встречается '}' уменьшаем OpenCurve, и увеличиваем CloseCurve - указывая что группа скоб закрылась.

Но если в процессе проверки встречается опять '{'  вместо требуемой '}' увеличиваем OpenCurve и уменьшаем OpenCurve.

Тут цель этих переменных CloseCurve и OpenCurve, показать, что если в процессе прохода по символам их значение превысит число 1, то структура скоб в файле нарушена.

 

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

Spoiler

 


Fallout Proto Manager v1,1.2 - Редактор для создания и редактирования файлов прототипов.
sFall Script Editor v4.1.2 - Программа для написания скриптов и отладки диалогов.
Mapper by Dims v0.99.3 - Обновленный вариант маппера c некоторыми новыми возможностями.
Другие утилиты для модинга Fallout.

Spoiler


#30 V.K.

V.K.

    Техник "Воскрешения"

  • автор темы
  • Desert Rangers
  • PipPipPip
  • 292 сообщений

Отправлено 24 Январь 2018 - 23:34

Опишу тебе алгоритм проверки без regex, посредством for

спасибо, посмотрю на вариант в цикле,

но в принципе я разобрался с регексами и крышками, и потихоньку переделываю скрипт,

со скобками за комментом уже всё сделал, теперь не важно где стоит # в начале,

в середине, в конце, главное что если за ней будет скобка, выведется сообщение,

проверяю в сроках

# {

{100}{}{} # {

{100}{pc}{текст # {

{100}{}{текст # {

на присутствие, есть ли та, или другая /\{|\}/

моя ошибка была том,что я изначально пошёл не правильным путём,

потому что пропустил твоё замечание по работе движка,

да ещё не понятно зачем наделал лишних правил,

убрал лишнее и у меня уже скрипт сократился раза в три,

теперь надо поправить проверку на основную триаду

 

такой момент, Перл он сам по себе заточен для по стройной обработки

и одно дело пробежать сразу по всей строке и переход на следующую,

другое дело перебирать каждую строку в цикле, скорость выполнения уменьшится,

понятно  что на Си цикл будет быстрее обрабатываться, но я Си не знаю

в регексах есть правило проверки на присутствие в строке

N-го кол-ва символов, то есть мы ведь знаем сколько должно быть

тех и других скобок в строке, но что-то у меня с этим вариантом не получилось


Symbolfix - утилита для проверки ошибок текстовых файлов формата .msg для FO2.

Nodefix - дополнительная утилита для проверки 'потерянных' строк в файлах формата .msg для FO2.

 

  • Foxx это нравится


#31 qwertyqwerty

qwertyqwerty

    Местный

  • Desert Rangers
  • PipPipPip
  • 129 сообщений

Отправлено 24 Январь 2018 - 23:54

я всегда знал что если стоит # то после неё можно писать всё что угодно
и это не должно влиять на работу программы, но оказалось,
что даже в строке которая без нодов и начинается сначала,
если поставить скобку в любом месте, то error !?
#
# { это строка комментария
#
получается что движок не понимает строк с комментариями, а просто тупо
ищет скобки и если не шаблон, то error, но тогда мне непонятно следующее,

сделал такой вариант
#{150}{}{Вы видите СЛОНА.}
{150}{}{Вы видите Освальда.}

в игре вывелась строка - Вы видите Освальда, а почему не СЛОНА если движку # по фигу,
скобки ведь есть и всё по шаблону и правильно

второй вариант
{150}{}{Вы видите СЛОНА.}
{150}{}{Вы видите Освальда.}

опять вывелось - Вы видите Освальда, это как движок понял что Освальд не СЛОН,

может это СЛОНА так зовут - Освальд,

номер ведь одинаковый и Освальд идёт второй строкой

 

вариант три

{150}{}{Вы видите Освальда.}

#{150}{}{Вы видите СЛОНА.}

 

а вот здесь мы получаем сообщение - Вы видите СЛОНА

получается что если номер идентичен, то выводится вторая строка

и не важно что перед ней стоит #

 

просто чудеса .... )

По ссылке, что я дал, ровно это и написано, английским по белому.


FO2tweaks: неграниченные напарники, запрет напарникам стрельбы очередями, улучшенные гранаты итп. svg-badge.svg
Перевод Fallout: Dangerous Quest: svg-badge.svg - Скачать

Перевод Fallout Fixt: svg-badge.svg



#32 V.K.

V.K.

    Техник "Воскрешения"

  • автор темы
  • Desert Rangers
  • PipPipPip
  • 292 сообщений

Отправлено 25 Январь 2018 - 00:13

По ссылке, что я дал, ровно это и написано, английским по белому.

да, спасибо, но я Вам ответил ранее что питона не знаю,

поэтому не стал просматривать весь листинг, зачем так сразу - английским по белому,

да и к тому же я англ. не знаю

я вроде не писал что знаю как и могу это сделать на 100%, просто решил попробовать,

но не обещал что всё получится,

да и соревноваться в программировании не планировал,

потому что у меня в этом вопросе знаний чуть больше 0


Symbolfix - утилита для проверки ошибок текстовых файлов формата .msg для FO2.

Nodefix - дополнительная утилита для проверки 'потерянных' строк в файлах формата .msg для FO2.

 



#33 V.K.

V.K.

    Техник "Воскрешения"

  • автор темы
  • Desert Rangers
  • PipPipPip
  • 292 сообщений

Отправлено 25 Январь 2018 - 13:33

если у кого найдётся время, проверте пожалуйста, не пропустил ли я ещё что-то

список вариантов скобок на ошибки по триаде

 

Spoiler

 

на данный момент я уже сделал, что всё перечисленное

без проблем ловится одним коротким правилом по регексам


Symbolfix - утилита для проверки ошибок текстовых файлов формата .msg для FO2.

Nodefix - дополнительная утилита для проверки 'потерянных' строк в файлах формата .msg для FO2.

 

  • Mr.Сталин и Foxx это нравится


#34 Mr.Сталин

Mr.Сталин

    Агент Кремля

  • Desert Rangers
  • PipPipPip
  • 1 807 сообщений
  • Город (city):Донецкая Республика.

Отправлено 25 Январь 2018 - 14:53

такой момент, Перл он сам по себе заточен для по стройной обработки

и одно дело пробежать сразу по всей строке и переход на следующую,

другое дело перебирать каждую строку в цикле, скорость выполнения уменьшится,

не может быть чтобы перл не работал с массивом символов - видимо просто не совсем хорошо знаешь язык.

на заметку регулярки во всех языках, это самый медленный способ для поиска, так что циклы по любому быстрее регексов. но в нашем случае это не критично и утилита работает быстро.


Fallout Proto Manager v1,1.2 - Редактор для создания и редактирования файлов прототипов.
sFall Script Editor v4.1.2 - Программа для написания скриптов и отладки диалогов.
Mapper by Dims v0.99.3 - Обновленный вариант маппера c некоторыми новыми возможностями.
Другие утилиты для модинга Fallout.

Spoiler


#35 V.K.

V.K.

    Техник "Воскрешения"

  • автор темы
  • Desert Rangers
  • PipPipPip
  • 292 сообщений

Отправлено 25 Январь 2018 - 18:35

не может быть чтобы перл не работал с массивом символов - видимо просто не совсем хорошо знаешь язык.

на заметку регулярки во всех языках, это самый медленный способ для поиска, так что циклы по любому быстрее регексов. но в нашем случае это не критично и утилита работает быстро.

так я уже несколько раз писал, что знаний и опыта мало,

работает Перл и с массивом, и с хешем, rк примеру можно сделать

шаблон а затем сравнение по элементам, но это надо же делать )

кстати, ты мне писал про \w+ так вот это не работает с русскими буквами,

не важно в какой кодировке, я проверял, да и в доке об этом написано

 

забыл спросить, а что насчёт пробела, к примеру { 100} или {100}{ 10}

error или по фигу, и можно не проверять на такое

 

насчёт быстроты, я на днях Squid 4.0.2 компилил,

так он у меня на железке 2 CPU по 8 ядер, собирался 20 минут,

интересно, а на одно-ядерном атоме кальмар наверно несколько часов

будет собираться, если вообще соберётся )


Symbolfix - утилита для проверки ошибок текстовых файлов формата .msg для FO2.

Nodefix - дополнительная утилита для проверки 'потерянных' строк в файлах формата .msg для FO2.

 



#36 Mr.Сталин

Mr.Сталин

    Агент Кремля

  • Desert Rangers
  • PipPipPip
  • 1 807 сообщений
  • Город (city):Донецкая Республика.

Отправлено 25 Январь 2018 - 19:16

> забыл спросить, а что насчёт пробела, к примеру { 100} или {100}{ 10}
Если в скобке с номером будет пробел начальный/конечный то будет вылет. Для остальных пофиг.


Fallout Proto Manager v1,1.2 - Редактор для создания и редактирования файлов прототипов.
sFall Script Editor v4.1.2 - Программа для написания скриптов и отладки диалогов.
Mapper by Dims v0.99.3 - Обновленный вариант маппера c некоторыми новыми возможностями.
Другие утилиты для модинга Fallout.

Spoiler
  • V.K. это нравится


#37 V.K.

V.K.

    Техник "Воскрешения"

  • автор темы
  • Desert Rangers
  • PipPipPip
  • 292 сообщений

Отправлено 25 Январь 2018 - 20:39

Спасибо, всё понял, у меня уже почти всё получилось, остался один вопросик,

так как у тебя большой опыт по игре, подскажи какие символы используются

в диалоговом тексте кроме этих, которые мне попадались в тексте,

через пробел чтобы понятно было

 

. , ! ? ' " [ ] - = ! :

 

что нужно их этого, или могут все из этих присутствовать

 

< > $ % ^ & * ( ) | \  / ;  @


Symbolfix - утилита для проверки ошибок текстовых файлов формата .msg для FO2.

Nodefix - дополнительная утилита для проверки 'потерянных' строк в файлах формата .msg для FO2.

 



#38 qwertyqwerty

qwertyqwerty

    Местный

  • Desert Rangers
  • PipPipPip
  • 129 сообщений

Отправлено 25 Январь 2018 - 20:42

Ссылку на вики я имел ввиду.

Вообще, отдельный скрипт для проверки это неплохо, но, мне кажется, мало востребовано. Если бы в какой-то редактор встроено, это другое дело.

В тексте могут присутствовать вообще любые символы.


FO2tweaks: неграниченные напарники, запрет напарникам стрельбы очередями, улучшенные гранаты итп. svg-badge.svg
Перевод Fallout: Dangerous Quest: svg-badge.svg - Скачать

Перевод Fallout Fixt: svg-badge.svg

  • V.K. это нравится


#39 V.K.

V.K.

    Техник "Воскрешения"

  • автор темы
  • Desert Rangers
  • PipPipPip
  • 292 сообщений

Отправлено 25 Январь 2018 - 20:55

Ссылку на вики я имел ввиду.

Вообще, отдельный скрипт для проверки это неплохо, но, мне кажется, мало востребовано. Если бы в какой-то редактор встроено, это другое дело.

В тексте могут присутствовать вообще любые символы.

кроме скобок ))

востребование, да, это надо было делать ещё когда только 1-й Фол вышел,

но я тогда другим занимался, да и первые Фолы я сначала пропустил,

начал играть с 3-го и только уже после Вегаса, вернулся и прошёл 1-2

спасибо


Symbolfix - утилита для проверки ошибок текстовых файлов формата .msg для FO2.

Nodefix - дополнительная утилита для проверки 'потерянных' строк в файлах формата .msg для FO2.

 

  • Foxx это нравится


#40 V.K.

V.K.

    Техник "Воскрешения"

  • автор темы
  • Desert Rangers
  • PipPipPip
  • 292 сообщений

Отправлено 25 Январь 2018 - 21:48

вместо того большого кол-ва правил что я насочинял ранее,  всё свелось к этому

и если бы \w дружила с русскими буквами, было бы ещё проще,

я разделил текст и то что за ним на две части, поэтому $ конец строки,

вторая часть отдельно проверяется, там только на скобки

 

Spoiler

Symbolfix - утилита для проверки ошибок текстовых файлов формата .msg для FO2.

Nodefix - дополнительная утилита для проверки 'потерянных' строк в файлах формата .msg для FO2.

 


Авторизуйтесь для ответа в теме
Новых тем нет

Похожие темы




Количество пользователей, читающих эту тему: 0

0 members, 0 guests, 0 anonymous users