XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Sergey
Старейший
offline
Опыт: 44,363
Активность:
Переход с карты на карту с возвращением - новый метод
Только недавно заметил, что функции Save Game/Load Game, которые в более ранних версиях не работали, теперь могут быть использованы на любой карте. Более того, появились такие команды, как сохранение игры и ее загрузка, события При сохранении и При загрузке и т.п.
В принципе это открывает новые возможности по созданию игровых миров. При переходе с карты на карту, мы СОХРАНЯЕМ игру в спец. файл и грузим новую карту. При возвращении обратно, мы просто даем команду загрузить прежнюю игру. Теперь это стало возможным.
Естественно, без помощи кеша не обойтись. При переходе с карты на карту, героя нужно сохранять в кеш, а после загрузки - менять старого героя на нового. Но с другой стороны, такой способ загрузки дает достаточно интересные возможности. Например, все переменные и их значения сохраняются в целости. Если где-то был пройден квест - он и останется пройднным. Все предметы будут лежать на тех же местах и т.д. При помощи кеша тоже можно добиться аналогчных результатов, но сделать это намного тяжелее.
Один из недостатков, который я предвижу, связан с тем, что в игре во время прохождения пришется реплей. И если мы ходим с карты на карту при помощи сохранений, то реплей все увеличивается в размере и игра начинает тормозить, сохраняшки занимают все больше места и т.д.
Я не помню команду на jass, которая заставляет игру не писать реплей, но такая команда есть. Может быть Димон знает?
Старый 02.12.2004, 09:48
Sergey
Старейший
offline
Опыт: 44,363
Активность:
??? Зачем проверять в каждом триггере? Способ про который я говоря - это все равно что возродить сохраненную игру, но с изменившемся героем. На этом принципе, если я не ошибаюсь, сделана кампания за орков.
Понадобится всего один триггер, который будет перегружать героя при событии Load game. Что касается квестов, связывающих несколько карт, то параметры для них нужно передавать через кешь.
Естественно, без кеша в любом случае далеко не уедешь, но многие параметры карты такие как локальные квесты, значения переменных, положение юнитов и предметов, объектов типа destuctible,количество жизни у них, не нужно перегружать заново. У меня была наработка, которая делала это же при помощи кеша, но она была достаточно сложной в применении.
Ладно, будет время - сделаю пример.

Отредактировано Sergey, 02.12.2004 в 14:52.
Старый 02.12.2004, 14:45
zibada

offline
Опыт: отключен
на вц3ц дааавным-давно проскакивал туториал на эту тему... с самого выхода 1.13, когда эти функции разлочили.
Старый 02.12.2004, 15:36
Markiz

offline
Опыт: 11,432
Активность:
Код:
call DonNotSaveReplay()
- вроде так не пишется риплэй.
Старый 02.12.2004, 16:20
zibada

offline
Опыт: отключен
call DoNotSaveReplay()
Markiz, у тебя очепятка...
Старый 02.12.2004, 17:20
Sergey
Старейший
offline
Опыт: 44,363
Активность:
Благодарю. Попробую сделать пример.
Старый 02.12.2004, 19:37
Sergey
Старейший
offline
Опыт: 44,363
Активность:
Пример N1. Самый простой. Походу когда герой заходит в портал, загружается тот же самый сценарий, а герой при загрузке перемещается в другое место.

Отредактировано Sergey, 03.12.2004 в 19:01.
Старый 03.12.2004, 17:17
Markiz

offline
Опыт: 11,432
Активность:
И где пример? :confused:
Старый 03.12.2004, 18:33
Sergey
Старейший
offline
Опыт: 44,363
Активность:
См сообщени выше.
Старый 03.12.2004, 19:02
Markiz

offline
Опыт: 11,432
Активность:
Последнее сообщение было ПОСЛЕ моего мессага :P
Старый 03.12.2004, 19:48
Sergey
Старейший
offline
Опыт: 44,363
Активность:
Само собой - позже. Вложение вставил и мессагу отправил.
Старый 03.12.2004, 20:29
Sergey
Старейший
offline
Опыт: 44,363
Активность:
Близзы как всегда схалтурили с новым методом =(. Сохранять и загружать сохранения можно, но работать будет только в пределах одной карты. И все по одной глупой причине - war3 создает отдельную папку для сохранений этой карты и работает только в пределах этой папки. А пзугрузить сохраняшки другой карты пока не вышло. Маразм какой-то.
Старый 16.12.2004, 12:23
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 20:12.