15.03.2004, 21:00 (Сообщение последний раз редактировалось: 15.03.2004, 21:37 sun.)
В ПЗ, достаточно много всяких скрытых «фишек», многое задумано, но не реализовано, отключено, не отлажено, есть даже закомментированные квесты, диалоги и так далее…
Например, можно, перед тем как обвинить Эрфара в предательстве, но, не выполнять квест “Бивак неизвестных”, набрать в консоли две команды: thingamabob, GSSetVar(0,”s25_n”,2). Тогда если обвинить Эрфара в предательстве арест будет происходить несколько иначе. Можно сразу после создания новой игры, набрать в консоли две команды, thingamabob, LeaveToZone(0,”bz2g”,0) – и вы услышите диалог, который был задуман на тот случай, если вдруг Зак сумеет зайти к Знахарке раньше, чем заполучит «Магическую плашку». В задании: «Важное дело старосты» (украсть Гоблинскую святыню), которое выполняется на карте «Река и острова», есть несколько Ящеров в клетке, а у одного из Гоблинов ключ от клетки. Так вот, по идеи, в этом задании, нужно было украсть ключ от клетки ящеров, выпустить ящеров, и освобожденные ящеры должны были бы помочь расправиться с гоблинами. То есть после разговора с Эрфаром о его важном деле, должен был бы у Эрфара появиться текст диалога: «Подробнее о плане старосты». Чтобы диалог все-таки послушать, нужно набрать в консоли: thingamabob, GSSetVar(0,” b.elder.s6_3”,1). Так же, у меня есть подозрение, что арестованного Зака Хадаганской экспедицией должен был освободить Ящер, но не просто так, а на подобии как это делает «Наложница», то есть Мы бы поиграли за Ящера и освободили бы Зака. Видимо, что–то не срослось…. То, что в ПЗ осталось очень много незадействованной магии, это давно известно широкой публике, даже не магии, а отключены целые школы магии, например, магия Контроля, отключены руны, которыми можно было концентрировать заклинание. Отключены некоторые расширенные параметры персонажей, навыки и умения, Например, был навык «Удар со спины», то есть Персонажу не доставалось просто так +300 к Умению «Удар со спины» при ударе со спины. На экране управления игрой, слева, были четыре кнопки навыков: Обокрасть, Использовать, Следовать, Приручать. Все эти навыки нужно было прокачивать. Например, сейчас в ПЗ ненужно прокачивать навык «Следовать», и у персонажа, как бы, сразу 100 единиц этого навыка. Видимо, разработчики ПЗ поступили правильно, что эту команда отнесли к управлению игры, а не к магии. Прокачиваемым навыком остался навык Обокрасть/Использовать. Так же, в ПЗ остались нереализованными и некоторые задумки в отношении баланса игры. Например, «выпадение» из монстров случайных денег, то есть к тем, что выпадают обычно, есть возможность установить еще и дополнительную премию, при этом можно настроить уровень вероятность выпадения денег для каждого из прототипов. В игре можно телепортировать группу на другой аллод, хотя такая операция телепортации будет ошибкой, так как оставить просто так на других аллодах взятых с собой помощников нельзя. В игре было множество задумок-реплик на игровых зонах. Это Циклоп, Демон, Диера, и многие другие, но из-за проблем «глючности» и сложного определения, когда можно применить эти реплики, они не используются.
В младших бета версиях игры планировалось использовать щиты, и даже остались от щитов анимация, но ни текстур, ни фигур в игре не осталось. Игрой ни разу не используются 99 объектов-фигур которые есть в ресурсах. Из них три расы юнитов, где «unmoog» – старый формат Огра. И две модели рас unanwigi и unmobi (квестовый дракончик, стрючек) в базе параметров рас -RaceModels нет им соответствующих строк. В игре, недостает несколько игровых зон. Например, на Гипате, в Предгорьях, должна была быть тролиная пещера, а тоннель из Мертвого города должен выходить к оркам в Средних горах.
Вот так вот кратко, можно сказать в поддержку изменений игры, возможным неофициальным сервиспакетом, в плане баланса и новизны.
Участвуйте в создании проекта «Народный сервиспакет к ПЗ»!
Буду рад квалифицированной поддержке горожан!
Sun, я уже много раз слышал об "приручении" которое планировалось но не реализовано.. следовательно прирученные монстры или тот же ящер (за которого планировалось играть при освобождении Зака из плена) должны были иметь нормальный вид с текстурами.. то есть создание таких монстров должно быть решаемой проблеммой?
Я думаю, что с текстурами в одиночной игре нет проблем, так как монстр создан в моб-файле, и его нужно просто взять, в новую партию. Нужно попробовать, можно ли реализовать доступными методами такую возможность, если нет, то сделаем патчик…
Александр
«Высказывания» - это непонятный термин. Есть диалоги (на брифингах), есть реплики игроку (А вот и Гоблин Дозорный!), есть сам себе (Ну и погодка!...). Браться за все сразу ненужно.
В общем, ты можешь попробовать сделать простой мод. Так же, можно попробовать многое чего поштрыкать в коде, но если мы собираемся создать сервиспакет, то в первую очередь нужна теория и обоснования: Что нужно сделать, почему? Адрес этого самого изменения и тому подобное.
В данном случае, мы должны типизировать методы обработки событий скриптом для объектов и создать перечень стандартных инструкции кода.
Сорри, высказывания- моё название реплик Я заметил, что в датабазе-то они прописаны... :blink:
И ещё: составил набросок списка отключённых реплик( в более-менее хронологическом порядке):
***
Всё ниже перечисленное сежит по пути sfx.resAcks
Орки около Пирамиды в Предгорьях
OrcPyrScenarioOrcPyr.wav
Ящеры около Большой ракушки в Средних горах
Liz4ScenarioLiz4.wav
Наверное, этот вопрос нужно задать Нивалу на их форуме.
Я могу только предположить….
В игре были запланированы ловушки. Ловушки должны были быть как жезлы с заклинаниями, но израсходоваться как зелье. Предположительно, ловушки можно было произвольно устанавливать на игровой зоне. То есть, в магазине, можно было собрать ловушку, вставить в жезл, и установить её на игровой зоне. "Danger sensor", это, видимо, некий кристалл, который бы светился, или ещё как-то подавал бы сигналы игроку в местах опасности, там, где установлены подобные ловушки врагами или собственные без фильтров.
Вот такие вот мои личные предположения….
Sun, хочу спросить насчет дилогов, ведь их присваивать можно только тем NPC, которые заранее продуманны Нивалом, то есть добавить новых так просто не получится. Можно ли как-то обойти проблему?
Подобное очень актуально при добавлении новых наемников.
Alecron
Вопрос достаточно емкий. Выскажу мои предположения....
Персонаж, именно персонаж, отличается от другого объекта в моб-файле только NID кодом. А так же, у персонажа есть собственное уникальное имя в базе данных локализации: texts.resPers *, (c предиктором Pers), а у не персонажей - простых юнитов, имя одно общее для всей группы прототипа и в базе локализации эти юниты имеют предиктор: Unit *. Вообще, персонажи можно динамически добавлять на бриффинг зону. Для этого существует команда: AddUnitToServer (добавляет именно персонажи!), или можно припасать юнит в мобе, но нужно знать NID и правильно прописать код. Чтобы персонаж был персонажем на брифинг зоне, имя персонажа ID_OBJNAME должно соответствовать NID коду. Именно по этому коду установлен фильтр принадлежности юнита к персонажам и по этому коду будет доступ к разговору на брифинг зоне с персонажем. Текст локализованного имени будет выводиться на экран, если соответствует NID код имени в texts.resPers*.
Функция получение NID кода из имени не сложная, думаю, ты сам её сделаешь….
Так же нужно понимать механизм обработки диалогов. Для большего понимания происходящего я покажу пример:
Создай текстовый файл с именем «1.txt», положи его в директорию игры и вставь в него следующие строки:
Зайди на брифинг зону Поселка в одиночной игре и из консоли набери команду: exec 1.txt
Поговорить можно с любой из Наложниц, и со Свиньей в том числе. Во время наведения курсора мыши на каждую из наложниц будет изменяться курсор и на одной из них будет текст: «Наложница», но сколько бы Зак не "знакомился" с Бабуром, ни у одной из Наложниц, в том числе и у Свиньи, переменная не будет проинициализирована на значение "2". Это происходит из-за того, что в блоке обработки диалогов «Script #OnBriefingComplete» для Наложниц нет соответствия имени юнита к имени диалога. Связь соответствия Персонажа диалогу можно посмотреть в ID_VSS_BS_CHEK в виде составной переменной: b.[NameUnit_NID].[NameDialog]. Но! Блок ID_VSS_BS_CHEK, в структуре моб-файла, предназначен не для игры, а для конструктора!
IDoL
К слову сказать. Вся графика ловушек в игре присутствует, но не используется. Так же в игре присутствуют всевозможные отмычки, и ключи, которые можно разбирать и создавать из прототипов наподобие жезлов, и видимо с магией…
Александр
Думаю, что точно так же как и в одиночной игре.
Нужно отметить, что диалоги заданий в одиночной игре находятся в каждом выдаваемом задании персонально, а другие диалоги могут браться из двух мест, из textslmp.res briefing * и из texts.res briefing *. Так что если диалог уже существует в одиночной игре, то этот диалог можно использовать в сетевой игре. Локализованное имя персонажа в сетевой игре, то же, что и в одиночной. Ты можешь включить в сетевую игру любой диалог из одиночной игры, даже из консоли, это можно сделать для персонажей, которые есть и в одиночной игре и в сетевой игре. Например:
Sun, а вот не понятно, почему только у одной из наложниц выводится имя "Наложница", не смотря на то, что я добавил в Texts.res/Pers* Nalo1?
И таже ситуация, если в мобе правильно написать NID код, чтобы появилась возможность общаться с персонажем, имя его все равно не появляется при наведении курсора... Странно однако...
Может еще что нужно сделать?
Sun, и у меня проблемы: добавленные NPC стали выдавать некоторые задания( когда я прописал их имя в mq файле). Но говорить приветственные диалог, кроме как после набратия скрипта в консоле, непоявляется В каком месте и в какой полной форме надо прописывать этот скрипт в разделе моба ID_SS_TEXT?
23.03.2004, 11:03 (Сообщение последний раз редактировалось: 24.03.2004, 11:03 sun.)
Alecron
Прочти описание функции: AddUnitToServer…
Чтобы добавленный юнит на игровой зоне имел локализованное имя, нужно оставить пустым третий параметр:
@AddUnitToServer ( "Nalo1","Human Hadagan Pretty","",GetX(GetLeader()), GetY(GetLeader()),0)
Наверное, из-за этого у тебя не появляется локализованное имя у наложницы. Хотя это мои догадки. Ты не написал порядок твоих действий.
Александр
Я так понимаю, что ты говоришь о сетевой игре.
«Приветственный» диалог не должен быть в mq-файле! В список диалога заданий, попадают три строки, случайно выбранных mq-файлов для брифингов сетевой игры.
Попробуй прописать приветственный диалог в textslmp.res, соблюдая каноническую форму имени и структуру файла диалога.
Например:
Распакуй из ресурсов файл «briefing intro_1k», измени текст диалога, но не меняй имени персонажа! Переименуй отредактированный файл и запакуй его в файл textslmp.res, под именем: «briefing mp10». Предположим, что для дополнительного приветствия Мастером посетителей поселка, на Гипате, ты создал правильный файл диалога. Тогда в моб-файле basecam-lmp, в секции ID_SS_TEXT, найди процедуру «Script VTriger#0#569» и в тело процедуры, например, после команды «PlayAnimation( PodMaster, "uspecial08" )», вставь строку GSSetVar(0,"b.smith.mp10",1).
Вот так должен выглядеть код:
Код:
Script VTriger#0#569
(
if
(
)
then
(
KillScript( )
PlayAnimation( PodMaster, "uspecial08" )
GSSetVar(0,"b.smith.mp10",1)
VTriger#0#570( this )
)
)
Цитата:Прочти описание функции: AddUnitToServer…
Чтобы добавленный юнит на игровой зоне имел локализованное имя, нужно оставить пустым третий параметр:
@AddUnitToServer ( "Nalo1","Human Hadagan Pretty","",GetX(GetLeader()), GetY(GetLeader()),0)
Наверное, из-за этого у тебя не появляется локализованное имя у наложницы. Хотя это мои догадки. Ты не написал порядок твоих действий.
Sun, большое спасибо за помощь.
Вообщем описываю свои действия.
Я создал текстовой файл, в котором есть обе наложницы и команда, которая их обоих вызывает, убрал третий параметр NameUnitControl у наложницы Nalo1. Далее, добавил в ресурсы Texts.res/pers Nalo1 и оставив название "Наложница" внутри файла. Захожу в игру, вызываю наложниц обе они разговаривают, но у второй наложницы Nalo1 нет имени.
Тоже самое, если добавить наложницу через моб и указав Nid код правильно, все равно она остается без имени. А если присвоить диалог чисто для нее предварительно добавив его в Texts.res, то в этом случае в диалоге вместо имени наложницы будет написано имя, которое прописано в секции ID_OBJNAME.
Alecron
Есть одна проблема в моих советах, по большей части это теория, так что заранее извини, если я тебя поведу по ложному следу.
Я думаю, что в твоих действиях есть простая ошибка. Толи что-то с запаковкой, то ли неправильно отредактирован файл...
Я точно не помню, кажется, в конце файла локализованного имени должен быть код символа 10 и 13, может из-за этого проблема?
Сделай так, скопируй файл из ресурсов, например «pers Deva» и переименуй имя файла в «pers Nalo1», запакуй новый файл. Затем, попробуй запустить мой текстовый файлик. Думаю, ты быстро найдешь, где была ошибка…