Интересно о ПЗ….
#21
Sun, а за что отвечает команда
Код:
PlayAnimation( PodMaster, "uspecial08" )
И, если, например, речь идёт о Свере- Зайчатнике , как изменить команду( игра, правильно, сетевая)
Петька:Дуб ты,Василий Иванович!
Чапаев:Да,Петька,я могуч!
Ответ
#22
Александр
В твоем случае, команда PlayAnimation не нужна. Эта команда предназначена для принудительной анимации персонажей на игровой зоне. Как правило, применяется эта команда для анимации тренирующихся воинов. Первый параметр: Имя расы юнита. Второй параметр, имя анимации из таблицы параметров анимации рас, в базе database.res*.adb, а так же, значение второго параметра команды PlayAnimation совпадает с именем в базе данных figures.res
В макросе диалогов есть параметр ANIMATION отвечающее за анимацию во время диалога.

Я не понял, что ты имел в виду для Зайчатника?
Ответ
#23
sun,23 Марта 2004, 16:26 Написал:Я не понял, что ты имел в виду для Зайчатника?
Я добавил на Ингос в сетевой игре новых NPC, в том числе- Свера Wink
Петька:Дуб ты,Василий Иванович!
Чапаев:Да,Петька,я могуч!
Ответ
#24
Sun, путь оказался не ложным. Smile Просто я пользуюсь стартером и через него указывал путь к текстовым ресурсам, а он почему-то не поддерживает этот префикс Pers*, ( странно ) поэтому и возникала проблема. Нужно было просто запаковать в обычный texts.res в директории ПЗ.
Еще раз большое спасибо. Blush
Ответ
#25
К сожалению, в Стартере много серьезных ошибок. Стартер написан на Дельфи Нивеей. Как только он появится, то устранит ошибки.

Спасибо за интересные вопросы.
Ответ
#26
Alecron,24 Марта 2004, 05:13 Написал:Sun, путь оказался не ложным. Smile   Просто я пользуюсь стартером и через него указывал путь к текстовым ресурсам, а он почему-то не поддерживает этот префикс Pers*, ( странно ) поэтому и возникала проблема. Нужно было просто запаковать в обычный texts.res в директории ПЗ.
Еще раз большое спасибо.   Blush
По подробнее опиши, пожалуйста, что и как ты пытался сделать?
Мы постараемся исправить ошибку, если она имеется....
Ответ
#27
А в принципе и описывать нечего. B)
Взял из texts.res файл pers Nalo и заменил его на pers Nalo1, запаковал его в texts.res и положил в папку Res своего мода, далее вызвал функцией AddUnitToserver наложницу, но с именем PersName Nalo1, как показал Sun. Имени у наложницы нет. А когда запаковал в директорию ПЗ, то имя появилось. Как я понял, имя ресурса Pers* не берется из директории Стартера. Smile
Ответ
#28
Sun, я решил попробовать реализовать пока одну вещь из перечисленных в первом посте темы, а именно - отключённые реплики. Но где они отключены? В датабазе они прописаны, затем я посмотрел в мобе, взяв для примера отключённую реплику орка после выполнения квеста "Шаман и пирамида", реплика в мобе прописана. Huh
Петька:Дуб ты,Василий Иванович!
Чапаев:Да,Петька,я могуч!
Ответ
#29
Команда SendStringEvent - вызывает определенное событие игры, описываемое строкой: SAY. Известные нам события это: Реплики на игровых зонах, Немедленный старт диалогов на брифинг-зоне, Запуск окна обучающего текста, выделение рамкой определенных участков интерфейса игры во время обучения управления игрой.
В каждом случае форма построения строки SAY событий разная. Например, чтобы вызвать какой-то диалог немедленно, то есть обработать событие на брифинг-зоне с каким-то условием, эту команду нужно написать следующим образом: SendStringEvent(0,"briefing m12"). Если набрать команду из консоли игры, то немедленно состоится разговор между Заком и Бабуром, разумеется, если Бабур присутствует на брифинг-зоне, так как переменная диалога "m12" принадлежит макросу этого диалога, в теле которого присутствует имя Бабура как члена разговора, к которому должен приблизиться главный герой. Соответствие переменной диалога к имени персонажа прописывается в скрипте, в блоке: Script #OnBriefingComplete.
Цитата: (Отступление: То же самое событие: «вызов диалога», можно реализовать при посещении брифинг-зоны, например, проинициализировать переменную: GSSetVar(0,"b.bz1g.m12",1). В этом случае, при следующем посещении брифинг-зоны Поселка, автоматически стартует диалог с Бабуром. И если непосредственно инициализировать переменную: GSSetVar(0,"b.smith.m12",1), то у Персонажа Бабура появится строка диалога, само событие диалога которого можно вызвать по выбору текста в меню этого персонажа. Макрос последовательности разговора, анимация прописаны в файле m12, базы texts.res. Выбор локализации имени персонажа,  производится по уникальному NID-коду.)
На игровой зоне (не на брифинг зоне и не в лагере) можно активировать событие реплики, для главного героя. При этом, можно отдать команду блокировки персонажа, пока должен быть слышен диалог. Например, SendStringEvent("say_block R1 Hero"). Для реплик на игровой зоне в строке параметра должно быть три значения, разделенные разделителем – пробел. Параметры вызова события в строке: 1-команда, 2-реплика, 3 - Персонаж. Реплики будут воспроизводиться только для персонажей, с правильным NID-кодом, где в пути к имени файла реплики должно быть ключевое слово "Scenario". Так же, необходимо, что бы в таблице «ACKS1», в поле «NAME», было имя прототипа соответствующего Персонажа. На данный момент в «Проклятых Землях» существует ошибка в базе связи озвучивания реплик: «ACKS1», где для всех реплик не главного героя, вместо прототипа персонажа, прописано само имя Персонажа. Предположительно: Активация данного события должна предусматривать проверку - есть ли персонаж на игровой зоне (Жив ли?).
Например, чтобы реализовать в игре реплику сразу после того, как будет отключена пирамида в Предгорьях, нужно сделать достаточно много изменений в ресурсах игры, а именно. Нужно определить, как должна звучать реплика, как из уст Орка, или просто как эхо на игровой зоне. Сейчас в ПЗ эта реплика предусмотрена как реплика орка. На игровой зоне Предгорий должен был бы быть персонаж «Орк стражник» с внутренним именем «OrcPyr» и кодом NID: 1000309027, а в таблице «ACKS1», в реплике «s10», вместо имени в поле «NAME» - «OrcPyr», должен быть прописан прототип орка, который будет добавлен на игровую зону. Так же, в таблицу NPCs нужно добавить строку и прописать в ней расширенные параметры прототипа юнита, которым будет Орк стражник. Так как, если добавить «Орка стражника» как персонаж на игровую зону и при этом у такого персонажа отсутствуют предустановленные расширенные параметры (персонаж определяется типом NID-кода – десятизначное число), то Орк будет без здоровья для отдельных частей тела и будет, в общем-то, неправильным объектом.

Если решить, что нужно сделать реплику как «Эхо» на игровой зоне. То эту реплику-файл: «AcksOrcPyrScenarioOrcPyr.wav», в базе данных звуков: sfx.res, нужно перенести в: «AcksHHScenario OrcPyr.wav». В database.res, в таблице: «ACKS1», в поле: «SFX» нужно так же соответственно изменить путь к файлу, а в поле: «NAME», изменить название прототипа: «OrcPyr», на: «Human Hero» . В файле «zone3obr.mob», в теле триггера: «VTriger#0#318», изменить команду: «SendStringEvent( 0, "say s10 OrcPyr" )» на «SendStringEvent( 0, "say s10 Hero" )». После таких изменений, после отключения ловушки, должна прозвучать реплика как бы «Эхо» на игровой зоне.
Ответ
#30
Напишу все таки, может прояснится ситуация.
Sun, давно уже спрашивал про Глобальную карту и про зоны перехода, но так и не смог разобраться почему модель поселка на Глобальной карте выбирается вместе с самой зоной Развалины.
В самом map.txt я вообщем более менее разобрался и активировал зоны перехода, которые были отключены разработчиками, также даже пробовал дописывать свои зоны, изменяя входы/выходы с поселка к ним.
Позже я заметил, что в скрипте зоны 1, перед тем как войти в Поселок Заком, есть скрипт, который делает зону уже как бы пройденной и отмечает ее темным цветом: GSSetVarMax( 0, "z.gz1g" , 2 )
Тогда я убрал эту переменную и на Глобальной карте, зона Развалины стала выбираться курсором и подсветкой отдельно от модели Поселка, однако при наведении курсора на Поселок они выделяются вместе. Любые изменения переменной: GSSetVarMax( 0, "z.bz1g" , 2 ), на 1, или на 0, приводят к тому, что модели Поселка на Глобальной карте нет. Smile
Ответ
#31
Вот пример для Materials.txt
Total $
Calc $
Price Mod
Absorption Mod - Все подразделы
Crippled
Comments и xxx - Все подразделы
Если ты сможешь мне указать куда они запаковываются, то значит я ошибся. Но я их в упор в запакованной базе не видел. Даже когда я запаковывал две базы с разными этими параметрами, то после полного их сравнения я не нашел разницы...
Что есть то есть, того что было не вернуть, не изменить ни дня.
Черный Обелиск "Дом желтого сна (часть 2)"
Ответ
#32
CAHEK7
Кажется, ты ответил не в той теме, где я тебя спрашивал.

Ты перечислил поля таблиц. Поля таблиц в конструкторе могут быть произвольные, такие как вычисляемы поля, Total, Calc или Комментарий.
Параметры, это значение строк в полях. То о чем мы говорили, о значениях в полях, константы поля “Lists Stats Modifiers”, или подобные константы или значения. То есть параметры неких объектов базы данных. Мне это нужно для энциклопедии.
Ответ
#33
Sun, спасибо за инструкции. А изменения не распространяются на ранние сохранения?
Петька:Дуб ты,Василий Иванович!
Чапаев:Да,Петька,я могуч!
Ответ
#34
Alecron
В файле скрипта zone1.mob, в: Script VTriger#0#169, Script VTriger#0#188, Script VTriger#0#194 измени строку GSSetVarMax( 0, "z.gz1g", 2 ) на GSSetVar( 0, "z.gz1g", 1 )
Или набери в консоли команду @GSSetVar( 0, "z.gz1g", 1 ) (без …MAX…).
Поняли, что ты спрашиваешь….
Брифинг, находящийся на игровой зоне подсвечивается вместе с зоной, потому, что он привязан прямым выходом с зоны gz1g на bz1g, миную глобальную карту: «Лагерь». Вообще, в ПЗ переходы имеют массу тонкостей…
Александр
Распространяется, в некоторых случаях…
Ответ
#35
Цитата:Брифинг, находящийся на игровой зоне подсвечивается вместе с зоной, потому, что он привязан прямым выходом с зоны gz1g на bz1g, миную глобальную карту: «Лагерь». Вообще, в ПЗ переходы имеют массу тонкостей…
Но ведь именно так устроен и Ингос, и точно так реализован вход и выход с Окрестностей города в сам город. Мало того перед тем как Зак входит в город инициализируются похожие переменные как и в Развалинах:
GSSetVarMax( 0, "gz11k", 2 )
GSSetVarMax( 0, "bz8k", 2 )
Однако это не меняет выбор зон, а в Развалинах меняет... В чем фишка? :unsure:
Я вот поэксперементировал.
Удалил все входы и выходы, кроме тех, что отвечают за переход между Поселком и Развалинами и также поступил на Ингосе с Окрестностями и Городом. На Ингосе все нормально, на Глобальной карте зона выбирается подсветкой отдельно и соответственно моделька города также, а на Гипате все по-прежнему вместе. Что за ерунда... Может все-таки это настроено в движке ПЗ? Huh
Ответ
#36
Обсуждение "внутренностей" ПЗ переместил в эту тему: http://www.gipat.ru/forum/index.php?showtopic=1922

По поводу проблемы с подсветкой "Развалин" и "Поселка".

Я удалил все переменные, кроме:
z.gz1g 2
z.bz1g 2

(Для Гипата)
и
z.gz11k 2
z.bz8k 2

(Для Ингоса)

В map.txt удалил всё лишнее, оставил лишь только необходимый минимум...
Видимо проблема одними "переменными" не решается, может, у кого какие мыслишки будут по этому поводу?

Результаты эксперимента в аттаче.


Файлы вложений
.rar   z1sel.rar (Размер: 73.6 KB / Загрузок: 362)
Ответ
#37
Alecron
В ПЗ есть исключения из правил, собственно, так нескладно устроен сам движок ПЗ.
К тонкостям управления переходов, которые я имел в виду, нужно отнести то, что переменные управления доступностью переходов инициализируются не только в скрипте, движке, но и из ресурсов, в таблице quests2.txt. В одном из полей блокируется переход - устанавливает значение «1» в любую глобальную переменную, в другом поле - значение «2», то есть доступность зоны без предварительного посещения зоны и вне правил по умолчанию переходов. В этой же таблице инициализируются и некоторые переменные заданий, хотя можно было бы полностью все переменные инициализировать и в скрипте.

Если ты нашел место, где механизм реализован одинаково, но представлен по-разному, соответственно, ты нашел исключения из правил.
Но я до конца не понял, чего ты хочешь добиться?
Ответ
#38
Цитата:Но я до конца не понял, чего ты хочешь добиться?
Sun, я хотел бы просто разобраться в механизме выделения курсором на Глобальной карте игровых и диалоговых зон и исправить это. Смысл в том, что на Ингосе, наводя на модель Города курсором, он темнеет, а сама зона остается прежнего цвета, а на Гипате, при наведении курсором на модель Поселка, выделяется также и сама зона Развалины. Кстати, Jet представил пример в этой теме, причем визуально, где подробно показана проблема. Smile
Ответ
#39
Alecron
Как раз, то, что проблема состоит в выделении области на глобальной карте, а не в самой логике перехода мы, я и Jet, поняли. В начале, я думал, что речь идет о том, чтобы можно было избирательно перейти с глобальной карты: либо в Поселок, либо на первую игровую зону.

Как, в общем, работают переходы, наверное, всем понятно. Переходы между собой связаны «по доступности», логической цепочкой: если на «второй» зоне открыты все переходы, то с перехода «первой» зоны можно сразу попасть на «третью» зону через соседствующий переход «второй» зоны, минуя саму «вторую» зону. Некая логика есть и у брифингов, ведь брифинги, как правило, это и есть часть территории самой игровой зоны. Поэтому зона брифинга должна быть связана прямым выходом (минуя глобальную карту), с игровой зоны на брифинг этой же зоны и «в принципе», территория самого брифинга на глобальной карте, должна совпадать с территорией игровой зоны. На аллоде «Гипат» зоны брифингов и игровых зон объединяются в одно цело на глобальной карте. , если на игровой зоне выполнены все задания и открыты все выходы. На Ингосе другие правила, брифинг не связан с игровой зоной и если для игровой зоны установлен параметр: все зоны и переходы открыть (установить переменной z.gz#[g,k,h] игровой зоны значение «2»), то зоны брифинга и игровые не объединяются. В общем-то, так устроен сам движок ПЗ и внешней настройки свойств связи брифинга и игровой зоны, которой принадлежит сам брифинг – нет. Можно, конечно же, поискать «поглубже» или сделать такую настройку в Стартере.
Должен заметить, что этот вопрос/ответ немного не в тему этой рубрики: «Интересно о ПЗ». Этот вопрос, наверное, нужно разбирать с программистами и любителями создавать моды для ПЗ. Проблема с переходами возникает только у создателей модов для одиночной игры, а не у игроков. Также, ошибки в игре связанные с этой проблемой я не нашел.
Ответ
#40
Цитата:Можно, конечно же, поискать «поглубже» или сделать такую настройку в Стартере.
Это было бы просто замечательно. Wink
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)