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

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

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

Fallout 1 & 2 tools

#41 Mr.Сталин

Mr.Сталин

    Агент Кремля

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

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

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

Не совсем понял а зачем проверка на отдельные символы?

 

> \w дружила с русскими буквами

ну тут точно проблема кодировки, ищет наверное в UTF8 а русс символы в файле в ANSI 1251


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

Spoiler


#42 V.K.

V.K.

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

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

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

Не совсем понял а зачем проверка на отдельные символы?

 

> \w дружила с русскими буквами

ну тут точно проблема кодировки, ищет наверное в UTF8 а русс символы в файле в ANSI 1251

у меня локаль стоит UTF-8 и я пробовал текст в UTF-8 написать, не видит напрямую,

попробую сделать use open qw( :encoding(CP1251) может сработает

а в принципе и так уже свелось к 3-м строкам, правда навороченным )

 

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

 

{623}{}{ ::: Статистика :::}

{502}{}{[Уходит.]}

{312}{}{Чужак должен уйти!}

и т.д.


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

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

 



#43 Mr.Сталин

Mr.Сталин

    Агент Кремля

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

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

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

А мне кажется так удобнее положил чекнул, другое дело если бы оно имело графический отчет какой-нибудь.
 
Подобную проверку я встроил в sfallовский скриптовый редактор, но с другой концепцией и только на 1 файл, ибо что-то лень делать поддержку на все файлы в папке, может когда-нибудь потом, сейчас другие планы.

 

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

{623}{}{ ::: Статистика :::}
{502}{}{[Уходит.]}
{312}{}{Чужак должен уйти!}
и т.д.

И все равно не понял зачем их чекать?
Я думаю вот эти символы точно никогда не будут использоваться
^ \ @ - но смысл их чекать.


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

Spoiler


#44 V.K.

V.K.

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

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

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

А мне кажется так удобнее положил чекнул, другое дело если бы оно имело графический отчет какой-нибудь.
 
Подобную проверку я встроил в sfallовский скриптовый редактор, но с другой концепцией и только на 1 файл, ибо что-то лень делать поддержку на все файлы в папке, может когда-нибудь потом, сейчас другие планы.
 
И все равно не понял зачем их чекать?
Я думаю вот эти символы точно никогда не будут использоваться
^ \ @ - но смысл их чекать.

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

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

мне ещё пару проблем надо решить

 

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

будет и не в файл, а в окно, но только наверно надо по очереди,

а не все 500 сразу, чтобы до утра не пришлось окна закрывать )

 

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

 

я теперь правильно сделал листинг, разделил процедуры

на подпрограмки, а то в том что было в один много повторный if, сам запутался


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

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

 



#45 V.K.

V.K.

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

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

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

Mr.Сталин

работает \w если указать cp1251, но тогда не ловит служебные символы которые

были набраны в utf8, так что лучше указать напрямую, или \xb8 \х92 ...

 

на Перл в цикле который for, тоже можно регексы исп. и можно так же делать

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

кроме скобок и фиксировать, а затем вывести сообщение что строка содержит 6 ошибок

различного характера - проверяйте )

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

при проверке на соответствие позиции, то этот вариант будет наверно быстрее

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

там где не их место - ошибка


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

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

 



#46 V.K.

V.K.

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

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

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

SymbolFix 0.1.27

 

архив обновлён 27/01/2018

 

Spoiler

 

Огромная благодарность талантливым людям

Mr. Сталин, Pyran, Foxx, Burn,
за проявленную отзывчивость и оказанную помощь

в процессе разработки этой маленькой утилиты.


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

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

 

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


#47 V.K.

V.K.

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

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

Отправлено 05 Февраль 2018 - 04:19

NodeFix 0.2.0.5

 

архив обновлён 05/02/2018, описание и исходный листинг в архиве

 

это новая версия утилиты для ОС Windows написана на MASM32 ))

выполняет туже функцию что и прошлая версия, которая была написана на Perl,

но теперь все сообщения выводятся на русском языке и в стандартном графическом окне,

работает быстрее и размер исполняемого файла уменьшился до смешного

 

для ОС Линукс скрипт написанный на Perl,  остался прежний

 

новая версия SymbolFix в проекте


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

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

 

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


#48 Mr.Сталин

Mr.Сталин

    Агент Кремля

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

Отправлено 05 Февраль 2018 - 18:21

Пролив Сталина...


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

Spoiler


#49 V.K.

V.K.

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

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

Отправлено 05 Февраль 2018 - 18:47

Графическое окно? - это же обычное черноеконсольное окно дос)

я уж удивился на ассемблере да еще и с графическим окном - фантастика)

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

ты новую утилиту NodeFix  смотрел на чём написана и какое окно выводит?

 

SymbolFix я пока ещё не переделывал, а в новой версии NodeFix

сообщения выводятся в MessageBox, окно которого ведь не консольное,

а стандартное Windows, поэтому я и написал графическое, только что

button один, но могу и 3 вывести, если кому мало )

диалогового окна не делал, для этой утилиты думаю что и не надо

 

у меня проблема с выводом окна на Перл возникла из-за компилятора,

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

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

но MASM32 это ведь не настоящий Ассемблер,  посмотри исходник,

там фактически всё на API функциях


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

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

 



#50 Mr.Сталин

Mr.Сталин

    Агент Кремля

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

Отправлено 05 Февраль 2018 - 19:18

ты новую утилиту NodeFix  смотрел на чём написана и какое окно выводит?

SymbolFix я пока ещё не переделывал, а в новой версии NodeFix

сообщения выводятся в MessageBox, окно которого ведь не консольное,

А тогда прошу прощения перепутал утилиты)


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

Spoiler


#51 V.K.

V.K.

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

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

Отправлено 05 Февраль 2018 - 19:46

А тогда прошу прощения перепутал утилиты)

да всё нормально, я в утилитке ещё не доделал проверку на соответствие

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

что исп. только на 'исправленных' файлах

я раньше писал на АСМе, затем на TASM32, но это творение Борланда уже мертвяк,

да и библиотек там изначально мало было, приходилось INC'и в инете собирать,

поэтому перешёл на MASM32

мне надо было сразу делать утилиту на MASM32, но я ленивый, вот и сделал на Перл,

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

по работе

согласись, написать одну строку if ($_ =~ /^{100}/) ....

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

проверка, следующий шаг, поверка, возврат обратно к циклу ....

))

 

а ты каким Debugger'ом пользуешься?


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

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

 



#52 Mr.Сталин

Mr.Сталин

    Агент Кремля

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

Отправлено 05 Февраль 2018 - 21:46

а ты каким Debugger'ом пользуешься?

Никаким, и мне это не надо, я же не программист.


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

Spoiler


#53 V.K.

V.K.

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

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

Отправлено 05 Февраль 2018 - 22:31

Никаким, и мне это не надо, я же не программист.

так крэкеры, они то же не программисты )

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

поставил Дебагер и по брэкпоинту отловил косяк в собственном творении )


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

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

 



#54 Mr.Сталин

Mr.Сталин

    Агент Кремля

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

Отправлено 05 Февраль 2018 - 22:37

поставил Дебагер и по брэкпоинту отловил косяк в собственном творении )

крекеры-шмекеры)

Я visual cтудией микрософта пользуюсь там все в комплекте.


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

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


#55 V.K.

V.K.

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

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

Отправлено 05 Февраль 2018 - 22:54

крекеры-шмекеры)

Я visual cтудией мирософта пользуюсь там все в комплекте.

понятно, я с SDK взял windbg, вещь конечно мощная, но без тренировки

с ним тяжело разобраться, да ещё к нему таблица символов на 3 Гб

снёс его и поставил x64dbg, х32 то же поддерживает, проект с 2014 начал развиваться,

маленький, простой и удобный, с ним легко работать


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

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

 

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


#56 V.K.

V.K.

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

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

Отправлено 06 Февраль 2018 - 23:46

NodeFix 0.2.0.7

 

незначительно изменение:

так как длина имени файлов разная, поэтому чтобы не возникло накладки в имени,

на всякий случай добавил функцию очистки строки имени файла в буфере памяти

и заменил иконку на исполняемом файле

это исправление сделано только в утилите NodeFix под ОС Windows

архив обновлён 07/02/2018


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

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

 

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


#57 V.K.

V.K.

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

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

Отправлено 09 Февраль 2018 - 02:07

NodeFix 0.2.0.9

 

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

то есть изменено условие проверки на кол-во скобок, СПАСИБО Mr.Сталин

за подсказанный вариант проверки, я сделал шаблон {}{}{}

и при проверке сохраняю скобки в отдельную строку в буфере,

а затем проверяю строку на совпадение с шаблоном, так как кол-во скобок 6

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

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

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

это если будет такая строка {}{}{} без содержимого, или  к примеру

###{###}###{##}#{###}# кол-во скобок ведь правильно, но что внутри,

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

но это думаю для данной утилиты не принципиально, потому что она

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

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

 

это добавление сделано только в утилите NodeFix под ОС Windows

архив обновлён 09/02/2018


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

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

 

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


#58 V.K.

V.K.

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

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

Отправлено 15 Февраль 2018 - 07:06

Mr.Сталин

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

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

Перл может многое, а foreach в принципе делать то же что и for

 

1. for

$len = length($string);  # получить длину строки

for ($i = 0; $i <= $len; $i++) {

....

}

 

2. foreach

@list = (split //,$string); # загружаем строку  в массив разделяя символы
foreach (@list) {
 ++$count if (($_ eq "{") || ($_ eq "}"));
}

в правильной строке скобок в $count будет 6

 

3. но почитав доки, я сделал ещё проще и это быстрее работает

$bracket_open = () = $string =~ /\{/g;
$bracket_close = () = $string =~ /\}/g;

 

в правильной строке скобок в $bracket_open и $bracket_close будет по 3

 

самое забаное то, что обходимся и без for и без foreach :)

 

я переписал правила, скрипт теперь работает быстрее, скобки ловятся

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

множества правил, которых я наделал ранее, надо ещё кое-что проверить,

после этого скомпилирую новую версию и выложу обновление


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

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

 



#59 Mr.Сталин

Mr.Сталин

    Агент Кремля

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

Отправлено 16 Февраль 2018 - 02:02

в правильной строке скобок в $bracket_open и $bracket_close будет по 3
самое забаное то, что обходимся и без for и без foreach

 
Тогда я тебя еще немного огорчу, но вот такой вариант тоже правильный) и такой вариант бывает что используется.
...
{#}{}{ тлюля ля труляля
мы везем с собой кота}
...
Как видишь файл для движка это просто массив символов.
И нету такого понятия как строка. :)
Ну да ладно забей пусть будет как есть.

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

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


#60 V.K.

V.K.

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

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

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

 
Тогда я тебя еще немного огорчу, но вот такой вариант тоже правильный) и такой вариант бывает что используется.
...
{#}{}{ тлюля ля труляля
мы везем с собой кота}
...
Как видишь файл для движка это просто массив символов.
И нету такого понятия как строка. :)
Ну да ладно забей пусть будет как есть.

да, я знаю про такие строки, они есть в некоторых файлах и это конечно

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

неправильных строки, или вторая продолжение первой, скрипт это ведь

робот, который понимает только равно, или не равно, на такой случай

мой скрипт прсто выводит сообщение о том, что неправильный формат строки

 

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

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

... мне это не нужно. я ухожу.

правильно должно быть

.. мне это не нужно. Я ухожу.

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

{306}{}{Сопр. ядам}

и что с этим делать?

))

 

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

и выдаст на экран, а если до следующей { не найдёт }, то выдаст error


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

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

 


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

Похожие темы




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

0 members, 1 guests, 0 anonymous users