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

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

Ответ
 
Lord Vampire
В больнице -_-
offline
Опыт: 2,211
Активность:
Езда на животных
Сделал простенький триггер который даёт герою возможность ездить на животных.
Но не могу разобраться с "Change Hero Flying Height".
Подробнее:
-триггер period каждую 0.01 секунду перемещает героя к животному, и делает взгляд героя как у пета.
-Переменная Hero - это мой герой которого я задаю равным переменной при иницилизации

Вопросы:
1) Как задать высоту полёта юнита? *у меня стоит Анимация - Change Hero Flying Height, но он не работает.
2) Как когда герой использует способность "слезть с маунта" - переместить его в точку рядом с петом, а не в точку самого пета?

Добавляю этот триггер на пустой карте и скриншот с основным триггером (кто не может или просто лень мапу смотреть).

зы: карта сделана на JNGP v.1.23 но посути должна идти и на v.1.24 (JNGP желателен, иначе нельзя задать способность воина "Москит")
Миниатюры
Кликните на картинку для увеличения
Название:  LV.png
Просмотров: 95
Размер:  30.5 Кбайт  
Прикрепленные файлы
Тип файла: w3x mount.w3x (24.6 Кбайт, 18 просмотров )
Тип файла: w3x mount v0.2.w3x (24.7 Кбайт, 39 просмотров )

Отредактировано Lord Vampire, 27.12.2009 в 11:03.
Старый 27.12.2009, 10:32
alexprey
познающий Unity
offline
Опыт: 68,501
Активность:
Анимация - Change Hero Flying Height
первое значение берет юнита, второе - высот, а 3 это в течении какого времени он будет подниматься на эту высоту! Ставь 0 и получится

King Ksel добавил:
Это было во первых. Во вторых москиты просто так не удалишь! Сперва нужно спрятать юнита, а потом удалить москиты, и вот только тогда сможешь его показывать.
В третьих герою, чтобы он летал дай способность сфинкс, иначе он не поднимится.

King Ksel добавил:
ОЙ сори незамечаю все твои вопросы.
Цитата:
Сообщение от King Ksel
Как когда герой использует способность "слезть с маунта" - переместить его в точку рядом с петом, а не в точку самого пета?

Юнит - Перместить юнита в <u> в (Локация(ЮнитХ(маунт)+100,(ЮнитУ(маунт)+100))
и все. на jass легче написать)))) Короче ставь туда кустом скрипт и пихай мой код туда
Код:
call SetUnitPos(udg_Hero, GetUnitX(udg_Mount)+100,GetUnitY(udg_Mount)+100)
Старый 27.12.2009, 10:49
Lord Vampire
В больнице -_-
offline
Опыт: 2,211
Активность:
King Ksel, посмотри изменённую версию "mount v.0.2.w3x"
Я там добавил всё как ты говорил (кроме последнего, он и без этого рядом с юнитом появляется теперь).
Но вот какие проблемы появились:
-Когда я пытаюсь второй раз сесть на черепаху (то есть я сел, потом слез и щас опять пытаюсь сесть) у черепахи пропадают способности и я не могу ей двигаться.
-Как сделать у черепахи чтобы иконка "атаковать" была на своём законном месте? (сейчас там иконка "слезть с маунта")
-Как расположить героя не точно посредине животного а например ближе к хвосту или к голове?

Если можешь сделай пожалуйста пример на джасс. А то понимать что на джасс написано я более менее понимаю, а сам писать ещё не научился.
Старый 27.12.2009, 11:08
Elisar

offline
Опыт: 2,031
Активность:
Что бы можно было менять высоту полета юнита, если он наземный, надо дать способность друида ворона и отобрать сразу. После этого будет меняться
call SetUnitPos(udg_Hero, GetUnitX(udg_Mount)+100*Cos((GetUnitFacing(udg_Mount)-90)*0.0174),GetUnitY(udg_Mount)+100*Sin((GetUn​itFacing(udg_Mount)-90)*0.0174))
Так будет появляться справа от маунта, если поменять на "+90" будет слева
Старый 27.12.2009, 11:15
Lord Vampire
В больнице -_-
offline
Опыт: 2,211
Активность:
Elisar, как называется эта способность в редакторе? Я немогу её найти.
И на остальные вопросы ответов ещё нет...

Lord Vampire добавил:
Как способность называется нашёл. Остались остальные вопросы. Пожалуйста кто знает...

Lord Vampire добавил:
Эээй нарооод кто знает помогите!?
Старый 27.12.2009, 12:12
XOR

offline
Опыт: 38,159
Активность:
поиск, поиск..
XiMiKs добавил:
И по хорошему нужно давать абилу не сфинкса, а медивха
Старый 27.12.2009, 13:23
alexprey
познающий Unity
offline
Опыт: 68,501
Активность:
Lord Vampire, надо использовать сфинкс, работает четко, как швейцарские часы))) а способность друида ворона как китайские)))))
Цитата:
Сообщение от Lord Vampire
Как расположить героя не точно посредине животного а например ближе к хвосту или к голове?

Ну это смотря как ты реализовывал))) Поляряками, и лучше на jass
Код:
function PolarX takes real x, real d, real a returns real
 return x + d*Cos(a*bj)DEGTORAD)
endfunction
function PolarY takes real y, real d, real a returns real
 return y + d*Sin(a*bj_DEGTORAD)
endfunction
-----------------------------------------------------------
x,y - начальные координаты, соответственно x и y
d - растояние, на которые смещаешь
a - угол под которым смещаешь

Чтобы юнита смещать на каком либо юните то делай так
Код:
function PolarMoveOnUnit takes unit mount, unit hero, real d returns nothing
 call SetUnitX(hero,PolarX(GetUnitX(mount),d,GetUnitFacing(mount))
 call SetUnitY(hero,PolarY(GetUnitY(mount),d,GetUnitFacing(mount))
endfunction
-----------------------------------------------------------
Значит вот эта функция смещает юнита по центральной оси другого юнита
mount - чья ось используется
hero - кого двигаем
d - на сколько двигаем
Старый 27.12.2009, 13:28
XOR

offline
Опыт: 38,159
Активность:
King_Ksel:
function PolarX takes real x, real d, real a returns real
return x + d*Cos(a*bj_DEGTORAD)
endfunction
Старый 27.12.2009, 13:34
alexprey
познающий Unity
offline
Опыт: 68,501
Активность:
XiMiKs, малясь промахнулся)))
Старый 27.12.2009, 14:27
Lord Vampire
В больнице -_-
offline
Опыт: 2,211
Активность:
Блин эт жесть для меня на джассе писать. То есть я могу там просто конвентировать в текст и что-нибудь подредактировать. Но создать такую систему чтобы полноценно на джассе работала - эт для меня пока что не реально. Если можете King Ksel, XiMiKs, сделайте кто-нибудь плиз пробник с кодом, на основе той мапы что я кинул (или новой). А там дальше сам разберусь.

зы: попробую щас сам сделать но думаю врядли получится =/

надеюсь на вас друзья

Lord Vampire добавил:
ещё XiMiKs, я смотрел ту ссылку что ты кинул ещё до создания этой темы - именно от неё я и оттолкнулся. Но там ничего путного не нашёл (та система что на джасс там совсем другая - не как я хочу, а та что на GUI - она основана на обычной способности посадить лучницу - но там есть два недостатка:
1) Если мы увеличиваем масштаб модели маунта -увеличивается и модель героя (то есть если обычный олень маленький, а герой большой - то будет тупо смотреться, а если мы сделаем оленя больше - герой тоже увеличится)
2) Это то что когда герой слезает с маунта - проигрывается модель смерти и убрать её можно только созданием отдельной модельки без анимки смерти (я это уже обсуждал с Gold D Dragon).
Старый 27.12.2009, 15:00
alexprey
познающий Unity
offline
Опыт: 68,501
Активность:
Lord Vampire, зачем все писать с нуля?????
просто вставляешь этот код в кустом код карты:
function PolarX takes real x, real d, real a returns real
return x + d*Cos(a*bj_DEGTORAD)
endfunction
function PolarY takes real y, real d, real a returns real
return y + d*Sin(a*bj_DEGTORAD)
endfunction
function PolarMoveOnUnit takes unit mount, unit hero, real d returns nothing
call SetUnitX(hero,PolarX(GetUnitX(mount),d,GetUnitFacing(mount))
call SetUnitY(hero,PolarY(GetUnitY(mount),d,GetUnitFacing(mount))
endfunction
[/code]
А затем в триггере используй действие кустом скрипт. Там пиши
Код:
call PolarMoveOnUnit(udg_Mount,udg_Hero,d)

вот только заместо d напиши число. Если оно больше 0 то будет ближе к голове меньше - дальше.

King Ksel добавил:
При этом дополнительно юнита двигать ненадо!!!
Старый 27.12.2009, 15:05
Lord Vampire
В больнице -_-
offline
Опыт: 2,211
Активность:
Угу, сейчас делаю. Только у меня один единственный вопрос ПОЧЕМУ у меня JNGP вылетает когда я сохраняю карту О_О в обычном редакторе такого небыло ='(
И так при каждом сохранение.

Lord Vampire добавил:
И ещё вот сделал как вы обьясняли но у меня в игре не просматривается =(((
варкрафт версии 1.23 JNGP v.5b
Прикрепленные файлы
Тип файла: w3x Custom Moun.w3x (10.5 Кбайт, 16 просмотров )
Старый 27.12.2009, 15:33
XOR

offline
Опыт: 38,159
Активность:
Выруби reinventing the craft, сохраняй через ctrl+ s, потом только делай проверку карты
Старый 27.12.2009, 15:35
Lord Vampire
В больнице -_-
offline
Опыт: 2,211
Активность:
XiMiKs, когда я сохраняю у меня вылетает=/

Подскажи какие галочки вообще должны там стоять, а то я там мудрил когда не запускалось - поснимал и понаставил их. И теперь хз какие должны стоять какие должны быть выключены.
Вот какие у меня есть групппы:
Extensions
UMSWE
Grimoire
JassHelper
cJass
Reinventing The Craft

Какие галочки в них надо ставить?

Lord Vampire добавил:
зы: вылетает только в той карте что была сделана не в моём варе или при вставке того кода что вы мне написали

Lord Vampire добавил:
Впринципе я сделал всё работает в обычном редакторе. Только без смещения героя (герой находится тупо посередине животного) т.к. в обычном редакторе карта не запускается если туда вставить тот код что показал King Ksel, может это потому что код он писал под 1.24?
Всё равно всем больше спасибо за потраченное время. И если кто поможет решить последнюю проблему буду очень рад.
Старый 27.12.2009, 16:12
alexprey
познающий Unity
offline
Опыт: 68,501
Активность:
Цитата:
Сообщение от Lord Vampire
может это потому что код он писал под 1.24?

Уга-га!!! Этот код под все подходит! Надеюсь ты правельно запихнул мой код)))
Старый 27.12.2009, 16:51
XOR

offline
Опыт: 38,159
Активность:
Не правильно закинул код, функции в кустом код, а запускать уже через кс обычного гуи триггера, если не получится, выложи карту. JNGP тут не причем)
Старый 27.12.2009, 17:22
Lord Vampire
В больнице -_-
offline
Опыт: 2,211
Активность:
call PolarMoveOnUnit(udg_Mount,udg_Hero,d)


вот прикладываю пример.
проблема в том что только я поставлю эти коды в карту - она перестаёт просматриваться (сразу переносится в меню), код уберу - всё нормально.

щас попробую переустановить вар и JNGP с cJassом

Lord Vampire добавил:
я d заменил на -30 ещё (но в карте вроде нету этого, т.к. когда я сохранил она вылетела)

Lord Vampire добавил:
УРААА! проблема решена) просто были ошибки в коде=)
Вот правильный код (ошибки незначительные, но из-за них не запускалось):

Код:
call PolarMoveOnUnit (udg_mount,udg_hero,-30)


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

Lord Vampire добавил:
всё нашёл ошибку. всем ещё раз спасибо. тему закрывайте.
Прикрепленные файлы
Тип файла: w3x Custom Moun.w3x (10.8 Кбайт, 15 просмотров )

Отредактировано Lord Vampire, 27.12.2009 в 18:39.
Старый 27.12.2009, 19:11
alexprey
познающий Unity
offline
Опыт: 68,501
Активность:
Lord Vampire, ну ща заценю

King Ksel добавил:
Lord Vampire, омг! Герой так и неперемещается!

King Ksel добавил:
Lord Vampire, Вот подправил! Теперь юнит перемещается с маунтом, и самое главное, что я забыл добавить так это вращение! Теперь нормально!
Прикрепленные файлы
Тип файла: w3x Custom Moun.w3x (10.5 Кбайт, 36 просмотров )
Старый 27.12.2009, 22:07
Lord Vampire
В больнице -_-
offline
Опыт: 2,211
Активность:
King Ksel, это я не последнюю версию выкладывал)) превращение в своей я сделал в периодическом триггере Face unit Make Angle mount face angle

А не перемещался потому что я забыл вставить включение выключение триггера период)))

зы: ща твоё посмотрю

Lord Vampire добавил:
King Ksel, вопрос лишь один - почему если я задаю что маунт = цель спелла. Он не хочет работать?
Ведь у меня будет куча разных животных и чтоли тля каждого животного придётся задавать свою глобалку?О_О

зы: версию нерабочию прилагаю
Прикрепленные файлы
Тип файла: w3x Custom Mount Fail.w3x (10.7 Кбайт, 14 просмотров )
Старый 28.12.2009, 11:16
alexprey
познающий Unity
offline
Опыт: 68,501
Активность:
Lord Vampire, ты поварачиваешь создавая новый триг, а я просто немного подправил код функции PolarMoveOnUnit. На счет спела незнаю! Ща гляну!

King Ksel добавил:
Lord Vampire, в общем все понятно! Переделай спел оседлать маунт. Сделай его на основе молота дворфа у альянса! Просто канал он не передает видимо переменные, а впринципе хз. В общем канал только для пустышек годен
Старый 28.12.2009, 13:50
Ответ

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

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

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

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



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