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

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

Ответ
 
alexkill

offline
Опыт: 18,872
Активность:
Pointer Control (Управление на стрелках)

Общие сведения



Pointer Control позволяет управлять игровым персонажем при помощи стрелок на клавиатуре. Эта особенность игрового процесса распространена в картах жанра RPG. При этом возможно и стандартное управление персонажем, используя мышь.

На сайте уже существуют подобные нарабокти, поэтому сразу оговорюсь: ничего общего с ними вы не найдете.

Особенности


1) Исполнение на Jass (кто не знает, что это такое, советую прочесть эту статью.
2) Возможность использования в многопользовательской игре.
3) Удобство в копировании (в одно действие).
...

Особенностей много, поэтому не буду останавливаться на мелочах (типа отсутствия полярных координат, локаций и т.п.).

Как использовать в вашей карте?



rel.1.0, rel.2.0
1) скопировать все триггеры из папок "Camera", "Init" и "Move";
2) удалить триггер "Variables" из папки "Init" (он не нужен, поскольку уже произошло создание необходимых переменных);
3) создать регион с именем "Start";
3) создать персонажей (для удобства - нейтрально-пассивных) на стартовой позиции всех игроков (в пределах созданного региона "Start").

+ (начиная с rel.2.0)
4) вычислить индекс анимации "Walk" для каждого юнита в триггере "Choosing" (объяснять не буду, думаю, что все знают, как это делается), сопоставить персонажам этот индекс.

vJass-release

1) скопировать триггер "PointerControl vJass";
2) создать регион с именем "Start";
3) скопировать способность "Режим" из раздела "Способности" и подкорректировать (если нужно) равкод в функции "CameraMode_Conditions" (по умолчанию - 'А000' );
4) расставить персонажей (для удобства - нейтрально-пассивных) на стартовой позиции всех игроков (в пределах созданного региона "Start");
5) вычислить индекс анимации "Walk" для задействованных в игре героев; в функции "Choosing" выполнить аттач этого номера персонажу (в проверке равкода).

Как играть?


После инициализации карты выбрать понравившегося персонажа (при этом камера автоматически примет вид от третьего лица, что является еще одной особенностью наработки).

Режимы игры



В процессе игры существует возможность изменить вид камеры (вернуть в стандартный игровой режим). Для этого нужно:

rel.1.0, rel.2.0
- в чате напечатать сообщение "-c". Чтобы возвратиться к виду камеры от первого лица, необходимо еще раз произвести последнее действие.

vJass-release
- нажать на соответствующую этому действию способность "Режим" в панели героя. Чтобы снова возвратиться к виду от третьего лица, нужно еще раз произвести последнее действие.

Релизы


rel.2.0 - переделано движение героя, добавлено немного динамики и ходьба назад.
vJass-release - предельно упрощено копирование наработки в карту пользователя.

_____________________
P.S. Поскольку я не любитель игр подобного жанра, приму к сведению пожелания и замечания знатоков ;)
Прикрепленные файлы
Тип файла: w3x Pointer Control rel.1.0.w3x (87.4 Кбайт, 61 просмотров )
Тип файла: w3x Pointer Control rel.2.0.w3x (88.7 Кбайт, 189 просмотров )
Тип файла: w3x Pointer Control vJass.w3x (87.1 Кбайт, 93 просмотров )

Отредактировано alexkill, 19.11.2009 в 13:45.
Старый 11.08.2008, 10:41
Jaffa

offline
Опыт: 7,282
Активность:
Хм, толку если есть уже все это) но всеравно спасибо)
Старый 11.08.2008, 11:14
Лось

offline
Опыт: 7,223
Активность:
Этих систем итак до-фига. Сделай чтобы мувило юнита не ордерами, а SetX\Y.
Ещё можно сделать чтобы инициализация системы была одной ф-ей например: SetColntrolForPlayer(для какого плеера,для какого юнита, ещё там какие нить параметры.
Старый 11.08.2008, 11:22
alexkill

offline
Опыт: 18,872
Активность:
Цитата:
Сообщение от Лось
Этих систем итак до-фига. Сделай чтобы мувило юнита не ордерами, а SetX\Y


Не нашел ни одной более-менее без утечек.

Тогда еще и анимацию нужно будет триггерно проигрывать. Была у меня такая идея, но почему-то я нашел больше минусов, чем плюсов.
Старый 11.08.2008, 11:25
zer0ne

offline
Опыт: 11,219
Активность:
Многое понравилось но
Недостатки на мой взгляд:
  • Из-за использования ордеров есть "дерганья" анимации
  • Медленный поворот юнита
  • Комбинации "вверх+влево\вправо" работаю с запозданием, и юнит поворачивается очень быстро

Может мовить юнита и затратнее, но изчезнут все 3 этих недостатка
Старый 11.08.2008, 13:04
Joltd

offline
Опыт: 1,090
Активность:
Я не качал, но из-за того что используется ордеры, то сто пудов нету заднего хода? я прав?
Все такие у технологии двигать юнита тригером (set x/y) больше плюсов, уж не знаю что тебя заставило в этом усомнится.
Близзард сделали свою AzerothgranPrix на том же приницпе (у них и задний ход есть) и ни чего, сколько с другом играли по сетке (а играли мы очень долго) никаких подтормаживаний, и других симптово наличия утечек в карте не обнаружили.
Старый 11.08.2008, 15:22
alexkill

offline
Опыт: 18,872
Активность:
Цитата:
Я не качал, но из-за того что используется ордеры, то сто пудов нету заднего хода? я прав?

Ходить задом? Это же изврат! =) У меня предусмотрен поворот героя на 180 градусов, что с лихвой заменяет "рачий ход" (я понимаю, в гонках это применимо, но в РПГ?).
Цитата:
Все такие у технологии двигать юнита тригером (set x/y) больше плюсов, уж не знаю что тебя заставило в этом усомнится.

Ну, во-первых, теряется некая универсальность применения. Нужно выставлять скорость на 0 для всех персонажей. В моем же случае метод передвижения применим к юнитам с любой скоростью и физических размеров.
Цитата:
Близзард сделали свою AzerothgranPrix на том же приницпе (у них и задний ход есть) и ни чего, сколько с другом играли по сетке (а играли мы очень долго) никаких подтормаживаний, и других симптово наличия утечек в карте не обнаружили.

Не играл, но первым словом все сказано! =)
_______
P.S. Но если будет время - сделаю.

Отредактировано alexkill, 11.08.2008 в 16:36.
Старый 11.08.2008, 15:38
Joltd

offline
Опыт: 1,090
Активность:
Цитата:
Сообщение от alexkill
Ходить задом? Это же изврат! =) У меня предусмотрен поворот героя на 180 градусов, что с лихвой заменяет "рачий ход" (я понимаю, в гонках это применимо, но в РПГ?).


Ну может для РПГ это и изврат, но возьми любую РПГшку с видов от третьего/первого лица, и посмотри реализован там заднйи ход или нет. Но это уже на твое усмотрение.

Цитата:
Сообщение от alexkill
Ну, во-первых, теряется некая универсальность применения. Нужно выставлять скорость на 0 для всех персонажей. В моем же случае метод передвижения применим к юнитам с любой скоростью и физических размеров.


Ну почему же теряется, все зависит от фантазии и уменя конечного пользователя, который будет переводить наработку на рельсы своей карты.
Со скоростью еще один момент, выставить на 0 не сложно будет, а вот потом персонаж не сможет бежать выше скорости в 522, игровые константы не позволяют делать выше, для РПГ возможно и не столь существенно, а если захочется на основе сделать карту-гонки, карту-воздушный симулятор? скорости в 522, скажу сразу (сам проверял) будет не хватать. Я почему сам делал подобную наработку (она тоже на сайте где-то валяется), у меня была мысль свои гонки на варе сделать, и максимальной скорости в 522 ужасно не хватало.

Цитата:
Сообщение от alexkill
Не играл, но первым словом все сказано! =)
_______
P.S. Но если будет время - сделаю.


Поиграй, тем более что она идет вместе с патчами и очень интересна сама по себе, арсчитана на 4 игроков, выполнена в стиле гонок на разрушение. Как и писал выше мы с другом резались очень долго в нее :)

В любом случае нужно расматривать на что нарабокта нацелена, если только РПГ, то проделаных тобою работ впринципе хватит. А если применять в других направлениях (те же гонки, авиа-симуляторы) то будет нехватать некоторых аспектов.
Старый 11.08.2008, 18:09
PlayerDark
Coraline
offline
Опыт: 10,569
Активность:
Ордеры - весьма плохое решение для динамической системы т.к ордер - это приказ, а над приказом юнит еще сто раз подумает прежде чем идти его выполнять.Ты тестил свою системку например при наличии врагов рядом ? К тому же ордеры не позволяют подниматься по некоторым поверхностям и гораздо более тормознутые чем Move.
Старый 12.08.2008, 09:25
alexkill

offline
Опыт: 18,872
Активность:
Цитата:
Сообщение от Joltd
Поиграй, тем более что она идет вместе с патчами и очень интересна сама по себе, арсчитана на 4 игроков, выполнена в стиле гонок на разрушение. Как и писал выше мы с другом резались очень долго в нее :)

Так я ж тебе писал, что достаточно посмотреть, кто автор - и все становится ясно. Уж авторы смогут на своей же системе написать все без утечек.
Цитата:
В любом случае нужно расматривать на что нарабокта нацелена, если только РПГ, то проделаных тобою работ впринципе хватит. А если применять в других направлениях (те же гонки, авиа-симуляторы) то будет нехватать некоторых аспектов.

О других направлениях не думал, поскольку даже в РПГ никогда не играл толком. Я просто оценивал то, что есть на сайте.

Но теперь есть повод для размышлений.=)

alexkill добавил:
Цитата:
Сообщение от PlayerDark
Ордеры - весьма плохое решение для динамической системы т.к ордер - это приказ, а над приказом юнит еще сто раз подумает прежде чем идти его выполнять.

Ну уж с этим как-нибудь разберусь.
Цитата:
Ты тестил свою системку например при наличии врагов рядом ?

В карте есть враг.
Цитата:
К тому же ордеры не позволяют подниматься по некоторым поверхностям и гораздо более тормознутые чем Move.

С Move'ом свои проблемы возникают (как прохождение сквозь декорации и т.п.). А насчет поверхности - не знаю... Не втречал на своем пути оных.
Старый 12.08.2008, 11:28
alexkill

offline
Опыт: 18,872
Активность:
Обновил первый пост: добавил новую версию наработки.
Старый 18.08.2008, 11:02
ScorpioT1000
Работаем
offline
Опыт: отключен
Цитата:
Не нашел ни одной более-менее без утечек.

И че там зо утечки?

дооо канешн надо плодить системы..

Цитата:
Ходить задом? Это же изврат! =)

нет это не изврат а удобная вещ

Цитата:
использования ордеров

ОМГ! вобщем все ясно))
Старый 18.08.2008, 14:22
alexkill

offline
Опыт: 18,872
Активность:
Цитата:
И че там зо утечки?

локации, полярки...

Цитата:
ОМГ! вобщем все ясно))

Убрал во второй версии: теперь без приказов + перс ходит "задом", хотя зачем это надо - я так и не понял. Вообщем, по желаниям критиков... Им виднее.
Старый 18.08.2008, 14:26
ScorpioT1000
Работаем
offline
Опыт: отключен
Цитата:
локации, полярки...

Неправда, у мну тока юзается при ините но это хрень оно не грузит, а в периодиках все оптимально... хоть и морально устарело.
Мб ты не мою смотрел..

У мну вот идейко есть насчет setunitx и y - ведь есть ф-ция проверки патчинга в точке, это дает решение!
Старый 18.08.2008, 14:33
alexkill

offline
Опыт: 18,872
Активность:
Scorp, когда писал тот пост, твою не смотрел =)

Смотри, в чем проблемка сего: он видит преграду камнях, но не видит ее в дереве. То есть по идее там еще нужно проверять точку на возможность постройки. Не пробовал, это так... идея.

alexkill добавил:
Но и с сетюнитпозишн все норм, хоть она и тормознутая )
Старый 18.08.2008, 14:40
ScorpioT1000
Работаем
offline
Опыт: отключен
Нет, не норм, она при 4+ мувах одновременно(почти) уже лагает, попробуй в области камеры четверых+ подвинуть. а лучше несколько раз четверых+ подвинуть)
Старый 18.08.2008, 14:44
alexkill

offline
Опыт: 18,872
Активность:
Добавлена vJass-версия Pointer Control. Теперь все действия хранятся в одной библиотеке, что еще быстрее позволит скопировать наработку в Вашу карту. Также не нужно создавать переменные при создании карты, ибо это выполняется автоматически.
Старый 08.12.2008, 11:08
Lord Vampire
В больнице -_-
offline
Опыт: 2,211
Активность:
alexkill
Цитата:
5) вычислить индекс анимации "Walk" для задействованных в игре героев; в функции "Choosing" выполнить аттач этого номера персонажу (в проверке равкода).


Я не знаю как это делается, подскажи?
Старый 19.11.2009, 07:06
alexkill

offline
Опыт: 18,872
Активность:
alexkill
Я не знаю как это делается, подскажи?
ну, например, так (смотри аттач)
вводи в чат циферки от 0 до бесконечности до 10 и подбирай нужную тебе анимацию (просто у разных моделей эти идексы различны, насколько ты уже понял)
Прикрепленные файлы
Тип файла: w3m anima.w3m (16.9 Кбайт, 43 просмотров )

Отредактировано alexkill, 19.11.2009 в 14:06.
Старый 19.11.2009, 13:42
Lord Vampire
В больнице -_-
offline
Опыт: 2,211
Активность:
alexkill, ааа, всё понял - спасибо теперь всё ясно
Старый 11.12.2009, 17:39
Ответ

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

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

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

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



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