Sullome
offline
Опыт:
945Активность: |
Абилка, мана и JASS
Меня тут на днях заинтересовал вопрос -
Можно ли присвоить некоторой переменной(real) количество маны, потраченной юнитом на кастование абилки? Например: Триггер: Событие - Юнит начинает/заканчивает кастовать заклинание (или Юнит тратит ману, если это можно отследить) Действие - Присвоить переменной R (типа real) количество маны, затраченной юнитом на кастование заклинания Нужно, чтоб триггер срабатывал при произнесении любой способности, тратящей ману юнита (юнит - любой юнит, находящийся на расстоянии, меньшем L (некое расстояние), от точки с координатами {X;Y} (или просто от дестрактабла) ), и в переменную записывалось кол-во именно потраченной маны у юнита... |
23.12.2010, 23:50 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Иноземец
сJass = true
offline
Опыт:
4,379Активность: |
Sullome:
Можно. Кол-во маны у юнита в момент начала каста - Кол-во маны в конце = (real). Правда, придётся создавать еще 1 триггер, чтобы отследить, когда заклинание подействует. Иноземец добавил: Событие EVENT_PLAYER_UNIT_SPELL_CAST - по идее должно срабатывать, когда юнит начинает кастовать, но мана еще не израсходованна. Событие EVENT_PLAYER_UNIT_SPELL_EFFECT - когда необходимая мана уже отнята. Мб я ошибаюсь, но в любом случае - попробуй. |
24.12.2010, 00:21 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sullome
offline
Опыт:
945Активность: |
Иноземец:
это не нужно. Мне абсолютно всё равно, что делает заклинание. Главное - Юнит потратил ману. Иноземец: создавать триггер, который будет отслеживать, что юнит начал кастовать заклинание, и записывать ману в начале каста в переменную (глобалку), создавать второй триггер, который будет отслеживать, когда юнит начал кастовать заклинание, и записывающий в переменную разность глобалки и кол-ва маны в конце? Или ты не это имел ввиду? |
24.12.2010, 00:23 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Иноземец
сJass = true
offline
Опыт:
4,379Активность: |
Sullome, Ну да, именно это. Попробуй.
Иноземец добавил: Еще можно тупо ID абилки смотреть и уровень - как вариант. |
24.12.2010, 00:45 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sullome
offline
Опыт:
945Активность: |
а вот про это пожалуйста поподробней...я не очень хорошо разбираюсь в JASS'e (не знаю многих функций и возможностей) |
24.12.2010, 15:15 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sullome
offline
Опыт:
945Активность: |
Sullome:
Создал систему триггеров, использующую данную схему. Итог - примерное кол-во маны, потраченной юнитом на каст заклинания я получаю (проверял через FloatingText), но вот остальная часть системы не работает. А именно - установление Макс.ХП появляющегося юнита (юнит появляется) равным кол-ву потраченной маны Героя. Вот карта, внутри (в редакторе триггеров) описано всё, что должен делать триггер. Пожалуйста, укажите на ошибку...(если не лень, то и исправте её, чтоб всё работало, или скажите, как исправить). |
27.12.2010, 00:09 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Skino
offline
Опыт:
4,683Активность: |
глянь в опен доте как работает вард у пугны.
Skino добавил: Я думал триггерно нельзя увеличивать макс хп Оо |
27.12.2010, 00:48 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sullome
offline
Опыт:
945Активность: |
Skino:
Вард у пугны работает на основе скила дракончика ночных эльфов. Но он работает с ХП , а мне нужно работать ещё и с Макс.ХП Я думал, что можно работать через JASS, но похоже, что ты прав. Что делать? |
27.12.2010, 01:30 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NoSilence
Случайный прохожий
offline
Опыт:
1,927Активность: |
Меняет максимальные хп юниту:
Где 'A005' ид спела на основе "Предмет: увеличение запаса здоровья" с уровнями: 1: +0 здоровья 2: -1 3: -10 4: -100 5: -1000 6: +1 7: +10 8: +100 9: +1000 |
27.12.2010, 01:57 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Skino
offline
Опыт:
4,683Активность: |
NoSilence, Очень хорошая функция, просто слов нет. Добавь ка ты её сюда xgm.ru/forum/showthread.php?t=8525 |
27.12.2010, 02:19 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NoSilence
Случайный прохожий
offline
Опыт:
1,927Активность: |
Skino, это из какой-то очень старой наработки. Да и алгаритм я думаю не очень. Хотя у меня она по несколько раз в секунду бывает вызывается и лагов нету. |
27.12.2010, 11:33 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sullome
offline
Опыт:
945Активность: |
NoSilence:
Да, алгоритм можно немного улучшить...но в любом случае - спасибо за идею! P.S.
Добавляем абилку (она добавляет Макс.ХП), удаляем абилку, но Макс.ХП, добавленные абилкой остаются?...интересно... |
27.12.2010, 15:51 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Zanozus
Уехал учиться
offline
Опыт:
8,512Активность: |
Вот держи пример. Вычисляет со 100% точностью. При касте способности юниту восстанавливается половина(можно и всю поставить) затраченной маны. Отредактировано Zanozus, 27.12.2010 в 21:31. |
27.12.2010, 21:06 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sullome
offline
Опыт:
945Активность: |
эм...ну вообще-то мне больше чем пофиг на точность вычислений, мне и примерно подходит + мне кажется, что мой код разность в мане находит лучше(меньше процессор жрёт), чем твой...(только в моих триггерах совершается ещё куча других действий и меня щас больше интересуют именно они...) |
27.12.2010, 23:01 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Zanozus
Уехал учиться
offline
Опыт:
8,512Активность: |
ну действия тут можно прикрутить любые, например наносить урон вокруг юнита равный потраченной мане. И процессор тут нЕчему жрать: нет ни циклов ни энумов. Отредактировано Zanozus, 28.12.2010 в 00:24. |
27.12.2010, 23:42 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Zanozus
Уехал учиться
offline
Опыт:
8,512Активность: |
да кста у тебя баг в системе: если спелл канальный или со временем подготовки то регенерация маны или другие факторы оооочень сильно исказят манакост пока спелл не завершен. |
28.12.2010, 12:59 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Master_chan
Полуночный командир
offline
Опыт:
15,660Активность: |
вообще функцию увеличения здоровья выгоднее делать, скажем, на степенях двойки... |
28.12.2010, 18:00 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sullome
offline
Опыт:
945Активность: |
Zanozus:
Я знаю, и это не баг. Так и задумывалось. Master_chan:
А можно чуть подробней мысль изложить... |
28.12.2010, 18:48 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
16GB
GhostOne User
offline
Опыт:
60,317Активность: |
типо вот так тока вместо дамми абилак с атакой дамми абилки на хп |
28.12.2010, 19:53 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sullome
offline
Опыт:
945Активность: |
мда...
может хоть кто-нибудь хотя бы намекнуть, что имел ввиду Master_chan, когда говорил Я ток знаю, что 10,100,1000 и т.д. в двоичной системе счисления - степени двойки в десятиричной......можно перевести в 16-ричную....но сам алгоритм-то как лучше изменить?... P.S.я про изменение макс.хп говорю, на всякий случай повторяю... |
30.12.2010, 00:55 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|