Введеие: в этой статье я расскажу о том,как устанавливать камеру для игроков во время игры.Заранее скажу,что будет очень много проблем,если у вас нет времени,или просто лень,не читайте.Во всех 3 системах совместно на 10 игроков создано 162 триггера.Продолжим,я рассматриваю 3 основных варианта:
Камера от первого лица или просто рпг камера
Понижение/повышение камеры стрелками
Повышение/понижение камеры командой
Для начала рассмотрим команды,которыми будем пользоваться.Открываем WE и читаем далее)).Я работаю только с русскими триггерами,вот ссылка на русификатор.Итак,начнём.Для начала рассмотрим действие: Камера - установить поле камеры(время).В этом действии меняем игрока,камеру которому хотим двигать.Далее выбираем из семи вариантов:
Расстояние до цели - собственно это высота камеры.То бишь расстояние от её центра,до экрана монитора.Когда создаёте нестандартную камеру,вы видите куда она указывает,так это оно и есть.Запомним,нам ещё пригодится.
Смещение по оси Z - Для меня не особо понятное действие,оно повышает камеру ровно в верх.
Угол атаки - отвечает за изменение угла камеры.Это как вы киваете головой))
Поле зрения - Тоже ответственное за дальность камеры действие.
Крен - если вам не понятен смысл слова,то скажу,что это вращение камеры.
Поворот - поворот вокруг цели камеры
Граница высот - если вне камеры зажать ctrl+колесико мыши вверх/вниз вы увидите чёрную стены.Это и есть граница высоты.
Итак,с ознакомлением мы закончили,переходим к началу создания РПГ камеры от первого лица.
Создание камер:для этого нам понадобятся переменные.Создадим переменные для всех 3 типов камеры следующего типа:
Боевая единица(массив) - Hero
Реальная(массив) - Real
Строка(массив) - S
Как видите,все переменные у нас массивны,это не удивительно,ведь мы создаём камеру для 10 человек. Теперь нам понадобится триггер для установки вашего героя в переменную [spoiler=установка героя]
Все три системы в моей наработке работают как вместе так и отдельно.Об этом ниже.Для работы рпг камеры отдельно нужен следующий триггер.
Создание рпг камеры:Создаём 9 триггеров для каждого игрока 9*10=90 - то о чём я говорил выше,я хотел совершить самоубийство когда изменял игроков и номера в переменных. Первый триггер назовём Set - установка
На фото имеется лишнее условие.Мы уже знаем что напечатал игрок 1,условие совсем не нужно. Этот триггер будет включать нашу систему,когда игрок 1 захочет включить камеру от первого лица.А если игрок захочет выключить?Создаём триггер Unset
В этом триггер помимо выключения других триггеров имеются ещё 2 действия.Первое унимает камеру,прикреплённую к герою,а второе на всякий случай перемещает к нему. Следующим у нас будет триггер Camera
Триггер крепит нашу камеру к герою,которым мы владеем.А остальные действия,с которыми мы знакомились уже её установят на зрение нашего героя. На этапе создания и установки камеры это всё.Теперь вы будите видит тоже что и видит ваш герой.Но я заметил,что это не очень удобно,когда вы в узких пространствах.Для этого нам нужны оставшиеся триггеры.
Такие же триггеры мы создаём для поворота направо. Теперь,когда игрок напишет -cff камера опустится на поворот героя Hero и будет поворачиваться вмести с ним.Стрелками влево/вправо вы сможете регулировать его поворот.Этот поворот не очень удобен в битве.
Создание клавишной камеры:Мы создаём камеру,которая будет работать с помощью стрелок вверх/вниз и повышать высоту нашей камеры таким образом.Для этого нам надо 6 триггеров на игрока. Первый триггер:Up start
В этом триггере тоже есть ненужное действие.Установка переменной.Я что-то хотел с ней сделать,но забыл и не сделал.Не делайте эту установку. В триггере мы останавливаем камеру игроку,чтоб когда он нажмёт стрелку в верх она не уехала. Далее делаем триггер up end - тот же самый триггер,только с реакцией отпускает клавишу и действием выключает триггер. Триггер up move
Триггер изменяет высоту камеры с помощью действия Расстояния до цели,которое я просил запомнить. Подобное действие делаем для понижения камеры,естественно заменяя + на -. Наша система готова.Теперь мы можем регулировать повышение и понижение камер с помощью стрелок.Обе системы,которые мы уже создали работают вместе.В режиме рпг вы можете отдалить камеру от героя. Приступим к любимейшей системе большинства картостроителей.
Создание числовой камеры:камера,которую я назвал числовой,устанавливается с помощью команды игрока.К примеру: -Camera 1300. Я делал эту систему по статье ctpaxm собственно вот она.Если вам так будет легче,пожалуйста.Если нет читаем далее. Итак,нам надо лишь 1 триггер для каждого игрока.Идём на понижение))
Заключение:итак,у нас готовы три системы.Благодаря переменной Real все они работают одновременно.То бишь,в режиме рпг вы сможите регулировать камеру как командой,так и стрелками.И одновременно с этим все системы могут работать отдельно,что тоже является +.Карта пример поможет вам разобраться,или просто скопировать уже расписанные на 10 игроков триггеры по всем 3 системам.Вот собственно она.Посмотрите,исправьте что не нравится.Всё что я знал по этому поводу и использовал в создании этой наработки я уже рассказал.Спасибо за внимание! Автор:SunCreep[/spoiler]
Добавлено (30.06.11, 12:03) --------------------------------------------- Блин,там же спойлеры.Увы не смог я всё убрать...
Elizir, если отразить фарибол,то это делается в самом скиле.Вот смотри,фарибол делается с помощью дамми,собственно как и любой другой объект,который требует действия в неизвестной точке. Его двигают и проверяют есть ли кто в области от него,если есть то уничтожить дамми и нанести урон врагу,застанить его.В таком случае нужно добавить условие,что выбранный юнит не имеет эффекта от твоего щита,если имеет,то создавать такого же дамми фаирбола и юзать его по нужной траектории. Если нужно просто отразить урон,то то это делается в 2-3 простых триггера.
Хм,это можно сделать,но не на GuI.Дело в том,что придётся делать через получение урона,но я не знаю каким образом было получен урон.Ну дело в том,что нужно создать дамми и заставить его юзать такой же спел,которым твой герой с щитом был ранен.Хотя,если под напрячься,то и на GuI можно сделать.Я еще подумаю,может смогу помочь.
В варлоках каждое заклинание сделано триггером. К примеру фаирбол.Это дамми с моделью фаирбола,каждые 0.04 с он двигается и сверяет область вокруг себя.Если в области есть подходящие для цели существо,то дамми удаляется и создаётся спецэффект,наносится урон,запускается триггер толчка.Это теория,там всё на Jass,т.к. они юзают глобалки. А откланение делается так: Если наша цель обладает баффом этого щита,то удалить дамми фарбола,и создать дамми фаирбола для владельца щита под нужным углом. Это всё очень сложно и грустно,так что учим jass)) Нет,вообще щит можно и на GuI сделать,но это ужос.К примеру посмотрите мой скил с бластом,у меня мозг чуть не лопнул,а ведь он простой,даже очень.
SUPER_EVIL, сделай его на основе декорации Факел.Найди строку "угол крена" и исправь с помощью shift на отрицательное значение.Там подберёшь нужное вращение.