avuremybe
inert
offline
Опыт:
8,647Активность: |
всяческие проверки
изучаю ворлд эдитор (здесь наверное уже не верят в людей, которые просят не сделать, а обяснить как это делать?). на данном этапе хочу создать спелл, который будет увеличивать воину всяческие показатели когда у него падает здоровье. (ну чтоб вы понимали ситуацию, это короче как пассивка huskar'a в dota - чем меньше здоровья, тем больше бонусов дает)
в силу своей неопытности, я вижу ситуацию примерно так:
вопрос у меня пока что только один: как мне сделать проверку количества здоровья воина? но я прошу пока не закрывать тему, на случай если мне нужно будет спросить что-нибудь еще. /add: если я не правильно вижу свой спелл, то прошу описать более рациональный путь его реализации. заранее благодарен! |
17.11.2012, 21:16 | #1
+1/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hate
конь вакуумный
offline
Опыт:
43,033Активность: |
условие, real comparsion |
17.11.2012, 21:19 | #2
+1/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
avuremybe
inert
offline
Опыт:
8,647Активность: |
я не смог разобраться как там взять текущее здоровье юнита в процентах и решил вычислять это значение при помощи переменных.
но столкнулся с проблемой, что я не могу засунуть в переменную текущее здоровье юнита. при преобразовании в текст функции с запиханием туда максимального здоровья, редактор выдал мне R2I(GetUnitStateSwap(UNIT_STATE_MAX_LIFE, udg_u)) ну, я разумеется заменил слово MAX на CURRENT, но эдитор намекнул мне, что я не прав. так вот, как мне осуществить сие дияние? ну или как мне в real comparsion запихнуть текущее здоровье юнита в процентах /upd: понял, что стоит удалить слово MAX, вроде не ругается, сейчас протестирую на работоспособность |
17.11.2012, 22:03 | #3
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hate
конь вакуумный
offline
Опыт:
43,033Активность: |
математика, процент от числа, класс наверное 4-5
вот и выйдет 50% от всего хп
в гуи вычислять нужно через Arifmetic |
17.11.2012, 22:09 | #4
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
avuremybe
inert
offline
Опыт:
8,647Активность: |
ну это получается, мне надо будет заносить в переменные больше информации чем тем способом, что я делаю сейчас? или я что-то не понял?
|
17.11.2012, 22:15 | #5
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hate
конь вакуумный
offline
Опыт:
43,033Активность: |
ай |
17.11.2012, 22:20 | #6
+1/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MicroElf
offline
Опыт:
4,288Активность: |
Каждую секунду проверять здоровье не надо, можно проверять только при получении дамага upd: кстати, а разве события здоровье юнита становится меньше определенного процента нет? В условиях сравнение процента хп есть однозначно! Отредактировано MicroElf, 17.11.2012 в 23:29. |
17.11.2012, 23:23 | #7
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
HolyMoon
Hly shit!
offline
Опыт:
6,986Активность: |
MicroElf:
а в обратную сторону? |
17.11.2012, 23:27 | #8
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MicroElf
offline
Опыт:
4,288Активность: |
HolyMoon, Что ты имеешь ввиду? |
17.11.2012, 23:28 | #9
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
avuremybe
inert
offline
Опыт:
8,647Активность: |
Hate, отлично! спасибо!
MicroElf, он имеет в виду, как в таком случае отслеживать когда снимать добавленный дамаг при повышении кол-ва хп (регенерация, хил етц етц) |
17.11.2012, 23:33 | #10
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MicroElf
offline
Опыт:
4,288Активность: |
avuremybe, точно так же. Если твоя способность влияет лишь на урон, то всё равно как она будет работать вне битвы. А в битве герой по любому получает либо наносит урон. Естественно, проверять нужно "в обе стороны".
Вариант через получение урона лучше тем, что он будет срабатывать моментально, сразу же при переходе границы хп. При варианте проверки раз в секунду, способность может сработать позже на 0.9с., это бывает актуально.
Если нужно и вне битвы отслеживать значения хп, то можно добавлять периодик. При том я бы его отключал при полных хп до первого получения урона в любом случае. |
17.11.2012, 23:39 | #11
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
avuremybe
inert
offline
Опыт:
8,647Активность: |
увеличение атаки я реализовал путем добавления герою способности от боевых когтей и изменения ее уровня в зависимости от количества его здоровья.
но, если я хочу, чтобы он получал еще и скорость или еще что-то, есть ли возможность прикрутить все это в одну способность? или мне придется добавлять ему туеву хучу абилок? |
18.11.2012, 03:32 | #12
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hate
конь вакуумный
offline
Опыт:
43,033Активность: |
дайте еще одну абилку, ничего плохого от этого не произойдет. |
18.11.2012, 03:49 | #13
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
avuremybe
inert
offline
Опыт:
8,647Активность: |
в общем у меня получилось вот так
кто-то может посмотреть и указать на мои ошибки и подсказать более рациональный способ реализации данной способности? |
18.11.2012, 04:34 | #14
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MicroElf
offline
Опыт:
4,288Активность: |
avuremybe, Я бы всё же рекомендовал отключать периодик при полных хп (или больше 90%, если способность только с этого момента раблотает) до получения первого урона. Конечно, если у тебя не 200 юнитов с этой способностью, то оно может и не важно, но лишний висящий периодик лучше не оставлять, чтобы потом не приходилось оптимизировать. |
18.11.2012, 05:30 | #15
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
avuremybe
inert
offline
Опыт:
8,647Активность: |
ну, если это единственна проблема неоптимизированности данной способности, то я думаю получилось не совсем плохо? (:
|
18.11.2012, 11:17 | #16
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hate
конь вакуумный
offline
Опыт:
43,033Активность: |
ну, если на то пошло, я могу приписать в проблему неоптимизированности гуи) |
18.11.2012, 11:52 | #17
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
avuremybe
inert
offline
Опыт:
8,647Активность: |
ну это само собой разумеется, но мне кажется, сначала надо изучить гуи, а потом уже переходить к jass
дальше, хочу сделать что-то типа критического удара, который будет вызывать у врага кровотечение, замедлять его и заставлять промахиваться. но я что-то не совсем понимаю как мне сделать, чтобы данный эффект накладывался с определенным шансом, а не при каждом ударе. пока копаюсь в тригеррах (и своей голове xD), но если кто-то намекнет, буду благодарен! Отредактировано avuremybe, 18.11.2012 в 16:24. |
18.11.2012, 16:13 | #18
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hate
конь вакуумный
offline
Опыт:
43,033Активность: |
не важно что первым. даже рекомендуется не задерживаться на гуи.
копайтесь в действиях гуишыных, юзайте поиск, будет вам счастье |
18.11.2012, 16:27 | #19
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Темак
jass for everyone
offline
Опыт:
7,200Активность: |
avuremybe,
три способа найти нужную jass функцию:
Temak1 добавил: скилл я бы сделал так: юнит изучает способность: добавить способность (атака например) создать события "у юнита больше (меньше) стольки-то хп" - если меньше снижаю уровень способности, если больше - наоборот |
18.11.2012, 21:52 | #20
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|