Помощь со способностью.
|
|
HaPKoMaH_StuFF | Дата: Воскресенье, 05 Февраля 2012, 16:59:33 | Сообщение # 1 |
1 уровень
Группа: Пользователи
Сообщений: 6
Награды: 0
Репутация: 5
Блокировки:
| Спасибо,что не поленились зайти. Так вот мне нужна помощь в создании скила,точнее ауры. Чтоб герой при атаке воровал скорость атаки другого юнита,а свою набирал. Кто может помогите.
Замечание: использование красного цвета разрешено только членам администрации.
Добавлено (05 Февраль 2012, 16:59:33) --------------------------------------------- А да если еще и если он меняет цель,то скорость сбрасывается.
мой форум kibertemplate.tk
Сообщение отредактировал Kartoha - Вторник, 07 Февраля 2012, 19:34:15 |
|
|
|
Nyp | Дата: Понедельник, 06 Февраля 2012, 00:47:14 | Сообщение # 2 |
6 уровень
Группа: Проверенные
Сообщений: 217
Награды: 0
Репутация: 56
Блокировки:
| Не знаю, можно ли такой спел сделать на гуи корректным, но вот как вариант: С: Юнит атакован У: Атакующ. юнит - твой юнит и атакующ.имеет баф твоя аура Д: установ. Int - Int + 1 устан. ЮН - Атакованый юнит Если Int - 1 То дать ЮН спел(основа способности предмета) - скор.атаки Заблокир. спел Дать твоему геру + скор.атак Иначе:Если инт - 2 Добавить + 1 уровень спела на - скорость Доб. ур. + 1 на + скорость Иначе: и т.д. INT-3,4,5. Второй тригер должен проверять, сменил ли герой цель или нет. Точно не напишу - я с мобильного. 2 тригер: С: Получил приказ атаковать У: Получивший приказ юнит - владелец твоего героя и цель приказа не равно ЮН Д: Разблокир. спелы на + и - скор. атаки Удалить их Установить Int равно 0 Что то наподобие этого. Начальное значение Инт равно 0. С каждым лвлом спела увеличивается/уменьшается скорость атаки.Добавлено (06 Февраль 2012, 00:47:14) --------------------------------------------- Не знаю, можно ли такой спел сделать на гуи корректным, но вот как вариант: С: Юнит атакован У: Атакующ. юнит - твой юнит и атакующ.имеет баф твоя аура Д: установ. Int - Int + 1 устан. ЮН - Атакованый юнит Если Int - 1 То дать ЮН спел(основа способности предмета) - скор.атаки Заблокир. спел Дать твоему геру + скор.атак Иначе:Если инт - 2 Добавить + 1 уровень спела на - скорость Доб. ур. + 1 на + скорость Иначе: и т.д. INT-3,4,5. Второй тригер должен проверять, сменил ли герой цель или нет. Точно не напишу - я с мобильного. 2 тригер: С: Получил приказ атаковать У: Получивший приказ юнит - владелец твоего героя и цель приказа не равно ЮН Д: Разблокир. спелы на + и - скор. атаки Удалить их Установить Int равно 0 Что то наподобие этого. Начальное значение Инт равно 0. С каждым лвлом спела увеличивается/уменьшается скорость атаки.
|
|
|
|
FkoFF | Дата: Понедельник, 06 Февраля 2012, 01:12:12 | Сообщение # 3 |
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
| Nyp, какую то муть написал ) Т.е древнейший способ делать неправильно.
Во-первых - второй триггер не требуется, в начале первого триггера с помощью if\then\else можно проверить, является ли атакованный юнит тем же юнитом, что и в переменной, и, если это не так - удалить способность добавляющую и отнимающую скорость атаки у обоих юнитов (юнит из переменной и аттакер). Никакой цифровой переменной вообще не требуется. Если юнит продолжает бить цель - просто повышать уровень снижалки и, аналогично, повышать ск. атаки у аттакера. Проверять лимит уровня этой абилки для одного из персонажей теми же if\then\else и блокировать действие, если достигнут лимит повышения\понижения.
Суть в виде триггера:
AB - базовая способность, аура, не имеет эффектов, просто прокачивается и все. I - способность, повышающая скорость атаки R - способность, снижающая скорость атаки. У способностей I и R - количество уровней прямо зависит от параметров. Разница в показателях между уровнями равна минимальной разнице в повышении и снижении на первом уровне основной способности. Т.е, допустим, за удар срезается на первом уровне по 2 процента скорости атаки и дается по 2 процента. Значит пассивки на основе перчатки скорости (I \ R) с каждым уровнем меняются на 2 процента. Количество уровней зависит от максимального показателя. Например максимум всего этого безобразия - +50% atk.speed и -50% соответственно. В таком просто делишь максимальное число на минимальную разницу - получаешь количество уровней. 50\2 = 25. По 25 уровней у каждой пассивки. Теперь сам триггер.
Еще один момент. Юниты: A - атакующий юнит, B - терпящий юнит. Переменные - всего одна, а именно - по типу юнит (боевая единица), назовем её X. Event: Юнит атакован Condition: Уровень способности AB у A больше 0 Action: if\then\else: if: (сравнение юнитов) B == X then:
for loop integer from 1 to уровень базовой способности if\then\else уровень I у A меньше 24 then: Увеличить I для A Увеличить R для B else
else
удалить способность R для X удалить способность I для A установить X = B добавить способность I для A добавить способность R для B установить уровень способности I для A на (арифметика: Уровень способности I у A + уровень способности AB у А) установить уровень способности R для B на (арифметика: Уровень способности R у B + уровень способности AB у A) endif
Больше ничего делать не надо.
Отвечаю заранее на вопрос - нет, ни при каких обстоятельствах делать наработку я не стану.
|
|
|
|
Novice998 | Дата: Понедельник, 06 Февраля 2012, 08:27:13 | Сообщение # 4 |
8 уровень
Группа: Проверенные
Сообщений: 693
Награды: 0
Репутация: 86
Блокировки:
| Сурово добавлять endif в GUI
|
|
|
|
FkoFF | Дата: Понедельник, 06 Февраля 2012, 08:58:34 | Сообщение # 5 |
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
| Quote (Novice998) Сурово добавлять endif в GUI я гуи ради кодинга последний раз открывал год-полтора назад, ей богу. А это - хоть какой то вариант закрыть ифзен
|
|
|
|