Oxygen D
Вернулся
offline
Опыт:
5,180Активность: |
Система маунта (Ездовые животные)
Версия: v1.2
Автор: OxygenD Исполнение: vJass
» Инструкция
Описание
Позволяет юнитам садится на других юнитов верхом, имитируя езду верхом.
Как я думаю у всех систем, и у этой в частности, есть свои плюсы и минусы.
Ну начнем с плюсов: + Легко настраивается
+ Удобна в использовании
+ Импорта всего 1 триггер
+ Система маунта в конце концов!
Минусы:
- На каждого юнита который может садится на маунта должен быть даммик с моделью того, кто садится. Желательно, дабы избежать проблем с поворотами на сколнах, даммик должен быть на основе маунта на которого он садится, либо все анимационные конфигурации должны быть идентичны. Также тип ходьбы у дамми, должен быть любой отличный от летающего. Проще всего поставить обычный, пеший.
- В системе нужно регистрировать всех маунтов, даммиков и тех кто может на них садится.
Код:
» code
Лог работ:
» v1.0 -> v1.1
1.Переписана большая часть кода 2.Теперь нормально ездит по горам 3.Юнит больше не трясется 4.Изменена настройка.
» v1.1 -> v1.1a
1.Улучшена читабельность 2.Разделено на 2 триггера, регестрация и система.
» v1.1a -> v1.2
1. Улучшена работа циклов 2. Теперь система не работает в холостую 3. Теперь на vJass 4. Добавлено управление анимациями Отредактировано Oxygen D, 14.02.2012 в 13:43. |
03.02.2012, 02:06 | #1
+14/−8
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
Oxygen D, не все задроты MMOшек
Что то минусы преобладают. Да и минусы какие то кривые, без которых можно было обойтись alexprey добавил: Цитата:
А способность сфинкса уже не канает?? Цитата:
что ты с ним такого делал? Цитата:
Анима не важна |
|||
03.02.2012, 12:37 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Oxygen D
Вернулся
offline
Опыт:
5,180Активность: |
alexprey:
Исправлено. Проходимость на земле остается. Уже пробовал. Поэтому сразу и не поставил. Кому надо прикрутят. Я щас заметил что при въезде на горку юнит улетает. Исправляю. |
03.02.2012, 12:44 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
Oxygen_D:
Не нашел ни одной настройки. Код ужасный. Как не читаемый так еще и лажовый. Ужасная смесь обычного jass с cJass. Ты хоть определись на каком языке пишешь. Пруфы ((код jass
set createx = GetPolarX(-1000.0+(CreateDist*i),250,360.0)
set createy = GetPolarY(-3025.0+(CreateDist*i),250,360.0) u1=CreateUnit(Player(15),'hfoo',createx,createy,90.0) u2=CreateUnit(Player(15),'hmtt',createx,createy,90.0) ============= function GetPolarX takes real source, real dist, real angle returns real local real a = source + dist * Cos(angle * bj_DEGTORAD) return a endfunction function GetPolarY takes real source, real dist, real angle returns real
local real a = source + dist * Sin(angle * bj_DEGTORAD) return a endfunction )) |
03.02.2012, 12:49 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Oxygen D
Вернулся
offline
Опыт:
5,180Активность: |
alexprey, омг. Нашел какой-то левый открывок кода из теста и начал атаку.
Открой пожалуйста папочку Mount и там Mount Sys и взгляни, ок? Oxygen D добавил:
Oxygen_D, Этот код не для того, чтобы вам читать это просто для теста. Oxygen D добавил: alexprey, Лучше бы помог мне с подъемом на гору. А то там ерунда получается. Юнит улетает. |
03.02.2012, 12:58 | #5
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Holocauster
INRI
offline
Опыт:
4,249Активность: |
Ну, а теперь и минусы:
--------------------------------------- - Если юнит умирает, то маунт не становится нейтральным (а должен).
- Если выбрать "наездника" и приказать ему идти, то он будет идти (анимация Walk).
Попробуй дать маунту способность "москиты", и сделать так, чтобы при приказе всаднику двигаться у него не воспроизводилась анимация хотьбы (запрети ее триггерно), а у маунта воспроизводилась. И передай управление не маунту а всаднику. И чтоб маунт следовал за всадником. |
03.02.2012, 13:00 | #6
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
Oxygen_D:
Там тоже не лучше. Писать нужно в одном стиле, а у тебя куча всякой не нужной ерунды. Oxygen_D: Проецировать движение пробовал? |
03.02.2012, 13:03 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Oxygen D
Вернулся
offline
Опыт:
5,180Активность: |
Holocauster:
Исравлю Как разберусь с подъемом на гору, тоже исправлю. Oxygen D добавил: alexprey, Нет, не подскажешь? |
03.02.2012, 13:05 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Holocauster
INRI
offline
Опыт:
4,249Активность: |
Попробую похожее на гуи слепить. Не возражаешь, если твою карту возьму, просто триггеры с нуля сделаю (в джазе все равно не шарю XD) |
03.02.2012, 13:07 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alpha
offline
Опыт:
7,387Активность: |
Почему настройка системы внутри кода, а не в первом посте?
Чего система с дэбагом? alpha добавил:
Отступы нормальные поставь, а не такие какие тебе нравятся, если делаешь систему расчитывая на то, что твой код будут проверять alpha добавил: Код раздели на два триггера, один где происходит настройка(Unit registration), второй - тело системы |
03.02.2012, 16:10 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Oxygen D
Вернулся
offline
Опыт:
5,180Активность: |
alpha:
Ну как бы для проверки. Дебаг то можно и выключить. ок. Ждите. Oxygen D добавил: Обновил. |
03.02.2012, 16:27 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Oxygen D
Вернулся
offline
Опыт:
5,180Активность: |
Holocauster, Смеялся долго:D
Невозможно было поставить спелы. Oxygen D добавил: Oxygen_D: Импорта у меня в 1 триггер, а у тебя в целую папку:) |
03.02.2012, 16:37 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Holocauster
INRI
offline
Опыт:
4,249Активность: |
Все , что ты сказал, это 3 и 4 минусы. Работаю над этим. Если поработать, то будет неплохо кстати. |
03.02.2012, 16:41 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Oxygen D
Вернулся
offline
Опыт:
5,180Активность: |
Holocauster, Если ты думаешь, что проблема с анимками, то это не так. Там нужно правильно юнита на горе ставить.
Oxygen D добавил: Holocauster, Единственный + это то, что ты можешь прям с маунта спелы кастовать. |
03.02.2012, 16:45 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alpha
offline
Опыт:
7,387Активность: |
Действие запуска таймера перенеси в функцию MountUnit, т.е в случае если юнитов-наездников в карте нет - таймер идет, юнит-наездник появляется - таймер начинает работу, также делай создание таймера и внеси нужные действия в функцию UnMountUnit
alpha добавил:
убери из системы BJ-циклы, где exitwhen константно стоит в начале alpha добавил:
Oxygen_D:
Ты должен выкладывать готовый продукт, а не то, что следует после установки проверять =)
Проверка нужна лишь в том случае, если пользователь может неправильно настроить систему, в установке система проста, так что думаю "проверки" - лишнее |
03.02.2012, 16:52 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Holocauster
INRI
offline
Опыт:
4,249Активность: |
alpha, а ты не мог бы у мя глянуть что не так?
С горой норм, разобрался. с анимками нет. Карту перезалил
Holocauster добавил: Oxygen_D:
Ну все равно же) Отредактировано Holocauster, 16.02.2012 в 19:14. |
03.02.2012, 17:54 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Oxygen D
Вернулся
offline
Опыт:
5,180Активность: |
alpha:
Чево?О_О Какие ещё BJ-циклы?!!! |
03.02.2012, 17:59 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Oxygen D
Вернулся
offline
Опыт:
5,180Активность: |
|
03.02.2012, 21:23 | #18
+1/−2
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
GadenbIsh
Просто Гад
offline
Опыт:
70,430Активность: |
Ну, вы не правы. В нормальных языках есть циклы с предусловием (while, for) и с постусловием (do.. while). И намного чаще как раз используются циклы с предусловием. Другое дело, что обычно в ЯП ставится условие продолжения действия, а не условие выхода, как здесь. |
03.02.2012, 22:55 | #19
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Tapok777
offline
Опыт:
510Активность: |
Oxygen D, порадовал)) Сам относительно давно сделал систему маунтов, но на ГУИ, так как в Jass я полный ноль (с устранением утечек мне помог Manhun1) Мой совет - попробуй прикрутить систему туррелей, чтобы например один юнит (или игрок) играл роль водителя, а его друзья в это время отстреливались из туррелей) - будет намного интереснее, да и веселья от использования "коллективных" маунтов намного больше, чем от езды на них в одиночестве) Всё очень просто - туррели - отдельные юниты, такие же, как и собственно само "тело" транспортного средства, но их местоположение изменяется относительно "тела", как и положение водителя. И к ним также могут присоединяться "водители", которые собственно могут вести стрельбу. Не ограничивайся простыми маунтами)) Старую карту с такой системой кинул тебе в личку, не ругайся, что всё на ГУИ, обрати внимание на необходимую систему коллизии для адекватного поведения "сложного маунта" в игре. [+] замечание от Msey: Свои творчества публикуем в отдельных темах
Отредактировано Tapok777, 04.02.2012 в 13:19. |
04.02.2012, 08:16 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|