Kamrad.ru
 
 
дневники | кабинет | регистрация | календарь | участники | faq | правила | поиск | фотоальбом | каська | выйти
Kamrad.ru Kamrad.ru » Тематические форумы » RPG » Поиск вариантов разговора
новая тема  ответить следующая тема | предыдущая тема
Автор
 
t_G_M_ - offline t_G_M_
29-01-2004 03:50 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Поиск вариантов разговора

Перед тем как пройти в очередной раз Wiz8, задумался я: а что б такое сделать, чтобы проверить все варианты диалогов. И додумался. Результат раздумий перед вами - написанная за несколько часов (потому не судите строго) программка. Ищет в .nsf файле всё, что похоже на вариант ответа. Использование - Wiz8talk.exe имя_файла.nsf
Так как тут только картинки - переименовать полученный файл из Wiz8talk.zip.jpg в Wiz8talk.zip
И сразу вопрос - я сделал так, что ищет она английские и русские буквы, цифры, пробелы и символ <'>. Встречаются ли в вариантах разговора другие символы?



ВНИМАНИЕ: из темы удалены предыдущие версии программы. Последняя версия - в конце темы.

Изменено: t_G_M_, 20-02-2004 в 02:12

Silicoid - offline Silicoid
29-01-2004 10:25 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Прикольная прогрумулька

Встречаются ли в вариантах разговора другие символы?
Нет

t_G_M_ - offline t_G_M_
30-01-2004 04:41 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Спасибо.

Если будут предложения по доработке - предлагайте, но в течении ближайшего месяца (пока я еще прохожу Wiz8 - потом будет влом).

Silicoid - offline Silicoid
30-01-2004 07:50 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Если будут предложения по доработке - предлагайте
Уже сразу возникли предложения.

1. Программа понимает только dos-имена файлов (8.3), названия же скриптов совсем не dos-овские
2. Было бы неплохо, чтобы интерфейс был не консольный, а окошечный

А вообще, у меня уже в мыслях сразу возник образ такой программы:

1. Приятный windows-интерфейс
2. Указываем папку со скриптами и нажимаем кнопку "транслировать"
3. Программа сканирует все скрипты и строит дерево

Первый уровень: NPC (собствено скрипт)
Второй уровень: слова ему принадлежащие
Третий уровень: фразы которые он говорит на эти слова

+ возможность все это сохранить в текстовый файл

Кстати поделись форматом файлов NSF, если это не секрет, а то самому копать долго...

t_G_M_ - offline t_G_M_
31-01-2004 03:36 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Для начала - новая версия программы. Исправлен глюк с крашем программы на некоторых файлах, и программа теперь находит намного больше вариантов разговора.

Silicoid, прости, но поделится форматом файлов не могу. Потому что не знаю.
Расскажу как я программу писал.
Прочёл на форуме про .nsf файлы. Залез. Помотрел. Осознал, что просматривать очень неудобно. И влом. Поискал закономерность. Нашёл. За 4 байта до начала фразы идёт байт 4Ch. Затем байт 00h. Следующий - байт с длинной фразы. Снова 00h. И сама фраза.

Собственно на этом программа и построена. Находит больше вариантов разговора в новой версии, потому что обнаружил, что вместо 4Ch может стоять 4Dh. Больше я в формате не копался. Если будет не влом - посмотрю, что могу ещё в нём найти.

А про GUI интерфейс - у меня у самого тот же образ возник. Но! Программка-то будет не 10kB занимать, а все 400kB (у меня сейчас в наличии кроме Pascal только Delphi 6). А программу такого размера на Kamrad.ru не разместишь. Но если надо - могу.

Да, Silicoid, если вдруг соберёшся залезть в файл .nsf, и (вдруг) найдешь что-нибудь, и ((вдруг)) решишь поделится - пиши плз на [email]t_G_M_@ukr.net[/email]. Да, если тебе понадобится (зачем - не знаю) тот позор, что я называю исходником - могу выслать на e-mail.

Изменено: t_G_M_, 20-02-2004 в 02:13

t_G_M_ - offline t_G_M_
31-01-2004 04:12 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



И про имена 8.3. Перекомпилировал программу при помощи Delphi 6. Размер увеличился в 4 раза, но теперь понимает длинные имена. Правда функции аналогичной readkey (чтоб ждала нажатия клавиши) я не нашёл. Жаль. Теперь вместо любой клавиши надо Enter нажимать.

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

Изменено: t_G_M_, 20-02-2004 в 02:15

t_G_M_ - offline t_G_M_
31-01-2004 04:23 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Обнаружена очепятка - в программе в описании командной строки вместо "r1l - last letter (lowercase), r2l - last letter (lowercase)" следует читать "r1l - first letter (lowercase), r2l - last letter (lowercase)". Sorry...

Компилировать заново и постить сегодня не буду. Блин! Поиграю я за этот период бодрствования в Wiz8 или нет!

t_G_M_ - offline t_G_M_
31-01-2004 05:33 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Я фигею без баяна! У меня сегодня ночью сезон охоты на глюков. Пока на программных, но скоро, чую, и на психических.
Поясняю - нашёл новый глюк. В фильтре фраз. Все фразы с буквой "я" отфильтровывались. Sorry.
В новой версии исправлена опечатка из предыдущего поста.

Кстати - Уведомление:
Злые дяди из Sir-Tech'а сделали так, что NPC откликаются на ругательства. Причём в основном они это дело порицают, что правильно в педагогическом плане. Но для реализации этой фичи дяди ввели эти самые ругательства в .nsf файлы. А Буковцы старательно перевели, да и от себя добавили (велик и могуч русский язык). Потому моя программка в результате выдаёт неплохое пособие по русскому и английскому нелитературному. Так вот: детям не знающим всех слов, которые могут встретится в файле - программу не использовать. Всем остальным - при просмотре результата про меня плохо не думать, это не я, это всё злые дяди.

И ещё. В файле .nsf некоторые фразы написаны строчными буквами (первая - прописная). Как я понимаю, это те фразы, которые будут добавлены к пользовательскому списку фраз при определённом варианте разговора, когда опция "упрощённые диалоги" включена.

Да здравствует версия 0.21w (w - значит 32-bit)!!!

Изменено: t_G_M_, 20-02-2004 в 02:16

t_G_M_ - offline t_G_M_
01-02-2004 02:23 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Очередная версия. Ищет ещё больше вариантов (как оказалось кроме 4C и 4D бывает ещё и 4E, плюс в фразе могут быть знаки <.> </> <-> <,> <:>).

Про формат .nsf - текст, который говорят NPC находится перед фразой, которая вызовет этот ответ. Перед текстом идут байты (hex) xx (4C, 4D или 4E - в зависимости от того, какие байты идут перед вариантами разговора) 00 xx (возможно количество скринов, на которые разбито сообщение) 00 00 01 xx xx (размер сообщения в символах (а символы там double-byte), причём естессно 5 там будет выглядеть как 05 00, а 264 как 08 01) и собственно текст. Кому неудобно читать - повторяю: xx 00 xx 00 00 01 xx xx текст.
После текста идут (если есть) варианты разговора, которые будут добавлены если "упрощённые диалоги" включены.
Затем - варианты разговора, вызывающие этот ответ NPC.

Теперь про результаты, выдаваемые моей программой. Как я понял в начале идут общие для всех NPC варианты (восхождение, боги, Браффит), затем ругательства, затем - вопросы "где находится" и самые интерестные фразы, и в конце - фразы из ответов NPC, повторив которые слышишь что-нибудь похожее на "именно так я и сказал". Это деление на части пока условное. Разберусь лучше - напишу.

И ещё. Начал переделывать программу в GUI. Посоветуйте, плз компонент для Делфи 6, что-то вроде дерева каталогов (и, желательно, файлов). А то не могу в исходнике ShellTreeView найти как показ "принтеров" и прочей фигни отключить.

Версия 0.22w:

Изменено: t_G_M_, 20-02-2004 в 02:18

Silicoid - offline Silicoid
03-02-2004 07:23 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Посоветуйте, плз компонент для Делфи 6, что-то вроде дерева каталогов (и, желательно, файлов).
Посмотри атач, там исходники на Delphi6 демонстрирующие древовидный объект выбора каталога или файла. Это то что тебе нужно или ты другое имеешь ввиду?


t_G_M_ - offline t_G_M_
04-02-2004 03:37 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Спасибо. Интерестная вещь. Теперь есть зацепка, буду знать где в хэлпе порыться. Но вобще-то я имел ввиду не диалог, а дерево на основной форме. Чтобы можно было быстро между .nsf-файлами переключатся. Хотя у меня только что возникла одна идейка...

Ну да ладно, думаю первая GUI версия будет к понедельнику/вторнику, сейчас со свободным временем плоховато.

И вопрос: насколько мне известно, Wiz8 выпускалась только на русском и английском. Существуют ли версии на других языках? В смысле, а не убить бы мне "ext" режимы?

Silicoid - offline Silicoid
04-02-2004 07:42 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Но вобще-то я имел ввиду не диалог, а дерево на основной форме.
Для этого достаточно обыкновенного TreeView, просто вначале сканируешь директорию с файлами nsf и строишь САМ дерево, заполняя его ветви 1-й уровень (список скриптов), 2-ой уровень (слова), 3-й уровень (фразы), а потом переключаешься уже локально без обращения к диску. Вот и все и не надо мудрить.

вопрос: насколько мне известно, Wiz8 выпускалась только на русском и английском. Существуют ли версии на других языках? В смысле, а не убить бы мне "ext" режимы?
Думаю об этом не стоит особо беспокоиться. Делай для рус и англ. этого вполне достаточно.

t_G_M_ - offline t_G_M_
07-02-2004 05:24 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Новая версия, GUI интерфейс.
Найдёте баг или будут предложения - пишите здесь, я прочту.

Сейчас буду пытатся выложить программку.

Часть 1-ая:

Изменено: t_G_M_, 20-02-2004 в 02:19

t_G_M_ - offline t_G_M_
07-02-2004 05:32 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Так-с, вроде получилось, теперь часть 2-ая.
Для получения программки: после скачивания преименуйте из Wiz8talk.001.jpg в Wiz8talk.001, Wiz8talk.002.jpg в Wiz8talk.002, объедините два файла в один (Total Commander'ом, Norton Commander'ом, чем угодно), затем переименуйте в Wiz8talk.rar, распакуйте.
Н-да, сложновато.

Итак, часть 2:

Изменено: t_G_M_, 20-02-2004 в 02:19

t_G_M_ - offline t_G_M_
09-02-2004 03:15 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Самая новая и, возможно, последняя версия. Улучшен фильтр результатов (не будет вариантов ответов типа "р"), мелкие доработки интерфейса. Скачивается так же, как и предыдущая (см. предыдущий пост).

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

Итак, часть первая:

Изменено: t_G_M_, 20-02-2004 в 02:20

t_G_M_ - offline t_G_M_
09-02-2004 03:18 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Часть вторая:

Изменено: t_G_M_, 20-02-2004 в 02:20

t_G_M_ - offline t_G_M_
20-02-2004 01:58 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Тэээк-с, а вот и не последней была предыдущая версия. Новые фичи: мелкие доработки интерфейса и одна большая - теперь варианты разговоров разбиты на группы по признаку ответа. В смысле, на все варианты из одной группы ответ NPC будет один и тот же.

К сожалению (и моему тоже), предложение камрада Silicoid'а насчет вывода ответа NPC реализовано не будет. Разве что кто-то выложит полное описание формата .nsf. А то я сам покопался и обломался. Уж очень долго врубатся надо.

И последнее пояснение тем, кто таки не понял как скачивать. Внизу поста есть квадратик - на нем надо нажать правой кнопкой мыши и выбрать чё-то типа "сохранить". Если вы квадратика не видите - могу предположить, что у вас браузер Опера. Посмотрите на пост через Internet Explorer. Остальные инструкции можно найти в предыдущих постах.

Версия 0.26, часть первая:


t_G_M_ - offline t_G_M_
20-02-2004 02:03 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Версия 0.26, часть вторая:


Текущее время: 20:14
новая тема  ответить следующая тема | предыдущая тема
 
Перейти:

версия для печати   отправить эту страницу по e-mail   подписаться на эту тему

 
Powered by: vBulletin Version 2.0.1
Copyright ©2000, 2001, Jelsoft Enterprises Limited.
Любое использование материалов сайта
возможно только с разрешения его администрации.


 

Рейтинг@Mail.ru
Рейтинг@Mail.ru