Предложение
#61
Проблемы не с монстрами, а с Анимацией, ты нашел как её отключить?
Ну, чтобы зак при входе в Развалины не вставла потирая репу
Ответ
#62
У меня сразу несколько вопросов по Развалинам.
Я изучал скрипты этой зоны и заметил что в Глобальных переменных прописаны объекты, которых нет на игровой зоне, это Cows, DragonKins, а также некоторые скрипты вызывают сомнение, например Check#0#167 и Triger#0#169, Check#0#172 и Triger#0#175. Возможно есть еще скрипты.
Они нужны или их можно удалить?
Теперь на счет таймера.
Имеется ли он в ПЗ, и можно его активировать? У меня есть идея реализовать воскрешение монстров через определенное время, или же через случайные промежутки времени. Smile
Ответ
#63
Нет, Сан, не нашел - думал, что это ерунда, а оказывается- проблема у всех.
А по тому, что я написал, ну, вверху многие писали, что при повторном входе убитые монстры воскрешаются, поэтому, усомнившись,
я специально проверил свои тесты с развалинами - создал новую игру переместился к выходу -
убил гоблинов у моста и вошел в поселок - потом из поселка шагнул в развалины - есть два
трупа, как и положено.

Alecron
Конечно в скриптах куча не юзанных чеков и триггеров - игре они по-барабану, но я в эдиторе
для себя сделал - такие процедуры окрашивать серым цветом, чтобы не путали. Удалить
их конечно можно. В игре есть, кажется, таймер (не тестил), но есть время суток (24 часа)- это точно. Для таймера, возможно, сгодится переменная "Gtime" (не процедура).
У тебя есть идея воскрешать монстров, если не орков, то как ты собираешься это сделать?
Ведь сам механизм респавна нам не удалось реализовать, как положено.
Ответ
#64
Цитата:У тебя есть идея воскрешать монстров, если не орков, то как ты собираешься это сделать?
У меня есть реальные идеи, которые можно использовать.
Мое предложение такое. B)
Сделать Респаун через мобы, то есть воскрешение будет ограниченное.
Вариант 1. В игре создается сценарий, где и когда будет загружаться очередной дополнительный моб, в этом случае можно сделать не просто Респаун, а как бы с более проработанной логикой самой игры прохождения. Похожая вещь один раз используется на Ингосе, когда Зак входит в Заброшенные Карьеры, в этом случае загружался моб с тиграми.
Вариант 2. Указывается условие, что только после смерти какой-то группы монстров и через определенное время, загружается данный Моб.
Какое преимущество у обоих вариантов, чем скажем просто с постоянным воскрешением? Это то, что появиться новый геноцид, более сложный и интересный, те игроки, которые захотят убить всех, будут дольше играть, а следовательно интерес подогреется. К тому же появиться секрет, возможно не сразу догадаешься в какой части карты появились монстры, тем более, что обычно уже не стараешься заходить туда, где пер######л всех монстров.

Цитата:В игре есть, кажется, таймер (не тестил), но есть время суток (24 часа)- это точно. Для таймера, возможно, сгодится переменная "Gtime" (не процедура).
Nivea, каким скриптом вызывается этот таймер? Rolleyes Blush

Я попытаюсь объяснить задумку.
Возможно сделать прохождение какого-то участка игры на время, то есть чтобы игрок за определенное время должен был выполнить задание в противном случае, оно оказывалось проваленым? Да, и при этом ни в коем случае не останавливать игровое время. Smile
Ответ
#65
Хм насколько я знаю таймера как такового в скриптах ПЗ нет. Есть такая команда

RunWorldTime ( flTime )
Устанавливает текущее время внутриигровых суток в flTime (измеряется в часах), разрешая его ход.

Ее можно задействовать в предложенном Алекроном варианте, создание сценария с условиями. Типа, в 2 часа ночи загрузится моб засада B) .
"{}•••®/A//P][R[$®•••{}"
Ответ
#66
Цитата:RunWorldTime ( flTime )
Устанавливает текущее время внутриигровых суток в flTime (измеряется в часах), разрешая его ход.
Такой вариант не пойдет. Нужны не только часы, но и дни и месяцы, не будет же загружаться моб каждый день в два часа, или в течении суток. Нужен таймер. И не только для загрузки мобов. Надеюсь Nivea прояснит ситуацию. Wink

Значит так, я разобрался с зоной 1. Сделал два варианта зоны.
Первый вариант.
Обычная зона Развалины + добавлены скрипты с проверкой на гибель монстров на этой зоне и сохранение через глобальные переменные.
Второй вариант.
Зона Развалины 1а, Зак появляется без анимации подъема + скрипты проверок, каких монстров убивал персонаж в первом варианте Развалин, и удаление тех, которых он убил. Smile
Также провел кое-какие эксперименты. Если на игровой зоне 1 Развалины вывести из строя скриптовую часть, так чтобы она не работала, то после загрузки зоны анимация проигрываться не будет, а Зак будет стоять как ни в чем небывало.
Ответ
#67
Цитата:Такой вариант не пойдет. Нужны не только часы, но и дни и месяцы, не будет же загружаться моб каждый день в два часа, или в течении суток. Нужен таймер. И не только для загрузки мобов. Надеюсь Nivea прояснит ситуацию.
Ты кое что упустил из моей речи. Время в данном случае будет генерироваться по твоему сценарию, дальше мы скриптом проверим какое чейчас время и если условие подходит, то загружается моб.

Есть еще команда Sleep, но вот как точно она используется я сказать сейчас не могу.
"{}•••®/A//P][R[$®•••{}"
Ответ
#68
Цитата:Есть еще команда Sleep, но вот как точно она используется я сказать сейчас не могу.
Sleep - это пауза, задержка между следующей командой, или функцией. Smile
Ответ
#69
Эй а ведь чего мы тут паримся? В ПЗ ведь есть циклы. Вот с помощью циклов то мы и реализуем все это.
Примерно это будет выглядеть так.

1)Объявление переменной

2) Точка входа в определенный триггер, который содержит скрипт с циклом

3)Цикл будет выполнятся(подгрузка мобов) до тех пор пока объявленная переменная не примет значение скажем -1

4)Конец цикла, проверка на отрицательность переменной

5)Тот самый Sleep, после которого цикл начнется заново.

Это очень простой вариант цикла, хотя я не уверен работают ли так циклы в ПЗ правильно, так как редактировать скрипт я не могу.

Кому интересно то вот приер как может работать цикл в пз.

Script VTriger#0#24
(
if
(
)
then
(
KillScript( )
For( i, DRunaway )
(
RemoveUnitFromServer( i )
)
)
)
"{}•••®/A//P][R[$®•••{}"
Ответ
#70
Вот как например используется переменная Gtime в basecamp.mob:
IsGreater( Sub( GSGetVar( 0, "gtime" ) , GSGetVar( 0, "GTwolf" ) ) , 47 )
Надеюсь я прояснил ситуацию - это переменная, но глобальная обьявлеется видать в коде.

Мне все-же до сих пор не ясно зачем отслеживать какие монстры убиты и их удалять?
Я уже спрашивал, но что-то мне не обьяснили в чем трабл - как мне его пощупать руками?
Может у вас ошибка?
Ответ
#71
Цитата:Мне все-же до сих пор не ясно зачем отслеживать какие монстры убиты и их удалять?
Отслеживать, потому что зона 1 Развалины заменяется на зону 1А Развалины, для того чтобы не срабатывала анимация подъема Зака при входе в на первую зону. Smile
Цитата:Я уже спрашивал, но что-то мне не обьяснили в чем трабл - как мне его пощупать руками?
Может у вас ошибка?
Анимация и цикл ее исполнения не прописаны в зоне 1 Развалины. У меня есть версия, что движок запускает этот цикл каждый раз при входе на эту зону. Обойти на мой взгляд на много проще тем вариантом, что описал Sun. Wink
Ответ
#72
А вот и я… Всем привет!
Alecron прав, именно это я и имел в виду. Джет собирался сделать патчик в наш стартер, чтобы устранить эту проблему. Нивеа, или ты нашел, как устранить автоанимацию при входе на зону Развалин для Зака? Кстати, а только один Зак анимируется или вся группа?
Ответ
#73
Понятно
Тогда уж лучше патчик
Ответ
#74
В аттаче пример, как предотвратить автоматический запуск анимации (новая версия addon.dll и пример конфиг. файла мода).

Цитата: Кстати, а только один Зак анимируется или вся группа?
Это комнада, котрую запускает игра:
PlayAnimation(GetObjectByName( "hero" ),"uspecial25")


Файлы вложений
.rar   example.rar (Размер: 68.54 KB / Загрузок: 272)
Ответ
#75
Я как понял, что данная команда PreventZone1Animation=1 вообще отключает анимацию, даже при первом появлении в Развалинах. Конечно это хорошо, но все равно не то.
Также я прочитал в описании к библиотеке, что добавлена обработка папки Camera, как этим можно воспользоваться? Что нужно дописать? Smile

Блин, забыл.
А как реализовать вход в Развалины с глобальной карты, так чтобы и в Поселок тоже можно было входить?
Ответ
#76
Цитата:PlayAnimation(GetObjectByName( "hero" ),"uspecial25")
Джет а ты случайно не нашел ли, где эта команда вызывается, а точнее откуда? Интересно что в мобах то она ,эта анимация, нигде не применяется.
Значит тока экзешник что ли?
"{}•••®/A//P][R[$®•••{}"
Ответ
#77
Alecron Написал:Я как понял, что данная команда PreventZone1Animation=1 вообще отключает анимацию, даже при первом появлении в Развалинах. Конечно это хорошо, но все равно не то.
Это как раз оно. Нужно просто вызвать команду из скрипта PlayAnimation(GetObjectByName( "hero" ),"uspecial25") один раз при первом входе, поставив на неё защелку, чтобы второй раз она не запустилась.
Alecron Написал:Также я прочитал в описании к библиотеке, что добавлена обработка папки Camera, как этим можно воспользоваться? Что нужно дописать?
В папке мода, можно создать папку, с именем Camera и положить туда свои .cam файлы.
Это сделано для тех, кто захочет переделать зону меню. <_<
Mephisto Написал:Джет а ты случайно не нашел ли, где эта команда вызывается, а точнее откуда? Интересно что в мобах то она ,эта анимация, нигде не применяется.
Значит тока экзешник что ли?
Да.
Ответ
#78
Вход/выход можно реализовать очень просто, за переходы отвечает map.txt
Посмотри, в этом файле закомментированы переходы, в том числе и зона 1 сглобальной карты, но нужно будет так же переделать и вход/выход на зоне Предгорья, а так же сделать два новых портала на зоне Развалины, для выхода в Предгорья и для перехода на карту к Дорога к Знахарке.
Ответ
#79
Входывыходы, переходы между зонами все это я указал, и это все прекрасно работает до тех пор, пока я не вхожу в Поселок, а после выхода из него, зона уже выбирается вместе с самой моделью поселка. Я пробовал ее сдвигать, указывал разные координаты, даже модель Поселка, будучи на значительном расстоянии от выделенной части Предгорий, на глобальной карте, все равно выбирается все вместе. :dry:
Не пойму, то ли это ограничение скриптами в зоне basecam.mob, то ли возможно еще что-то. :unsure:
Ответ
#80
Зоны выбираются если эта зона прилегающая к входу/выходу другой зоны, и если переменная перехода не имеет значение 2. Проверь переменную зоны 1. Вообще, Нивеа должен знать, как переходы настроить. Разделить поселок и карту тоже можно, все дело в инициализации переменных. Посмотри как сделан поселок на Ингосе, или Зеленый клан.
Ответ


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


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