Добавлен Dragonear
Не знаю, возможно ли это реализовать в варкрафте, но мне нужно сделать такую систему, чтобы были способности с зарядами. Например есть способность и у нее есть три заряда, которые можно использовать без кулдауна. Каждый заряд восстанавливается со временем. Может кто знает, как реализовать эту идею. Буду благодарен.
Принятый ответ
Можно сделать через разные способности и уровни способности.
Способность 1 - уровни 1, 2, 3 - с описанием: "..осталось [1, 2, 3] заряда".
Способность 2 - уровень 1 - неактивная способность.
Логическая переменная (назовём её Cooldown).
Таймер - время = времени восстановления заряда
Способность 1 - уровни 1, 2, 3 - с описанием: "..осталось [1, 2, 3] заряда".
Способность 2 - уровень 1 - неактивная способность.
Логическая переменная (назовём её Cooldown).
Таймер - время = времени восстановления заряда
Триггер 1
Событие - Применение способности.
Условие - Применяемая способность = Способность 1
Действие - Установить применившему уровень Способности 1 = уровень Способности 1 минус 1.
Если Cooldown = false, то
Событие - Применение способности.
Условие - Применяемая способность = Способность 1
Действие - Установить применившему уровень Способности 1 = уровень Способности 1 минус 1.
Если Cooldown = false, то
- Запустить таймер
- Установить Cooldown = true
- Удалить Способность 1 и добавить Способность 2
Триггер 2
Событие - Время - таймер истекает.
Действие - Если уровень Способности 1 больше нуля, то
Событие - Время - таймер истекает.
Действие - Если уровень Способности 1 больше нуля, то
- Установить уровень Способности 1 = уровень Способности 1 плюс 1;
- Если уровень Способности 1 = 3, то установить Cooldown = false
- Иначе - удалить герою Способность 2, добавить Способность 1, запустить таймер.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован MpW
можно сделать еще продажу предмета самому себе xgm.guru/forum/showthread.php?t=45020лучше бы напрямую как-то влиять, но к не счастью нет таких нативок. Есть у нас не стандартное решение - взлом памяти - memort hack. Ждем вездесущего драколича, мб он даст интересный ответ. ну ничего подожди немного. сейчас он спит
Отредактирован Maniac_91
Способность 1 - уровни 1, 2, 3 - с описанием: "..осталось [1, 2, 3] заряда".
Способность 2 - уровень 1 - неактивная способность.
Логическая переменная (назовём её Cooldown).
Таймер - время = времени восстановления заряда
Событие - Применение способности.
Условие - Применяемая способность = Способность 1
Действие - Установить применившему уровень Способности 1 = уровень Способности 1 минус 1.
Если Cooldown = false, то
Событие - Время - таймер истекает.
Действие - Если уровень Способности 1 больше нуля, то
Кстати с удалением добавлением способности можно попробовать думаю должно получится...
Способов много, от кривых как у айсфрога меняя описания, до нормальных. Можно менять иконки с помощью 'ANeg'.
Отредактирован EvilPenguin
А кстати лич же сделал функцию смены зарядов на мемхаке, но только для осветительной ракеты.
2 абилки. Одна пустышка пассивная с иконкой твоей абилки (ну чтобы не нажималась)
Вторая твоя активная (имеет 3 уровня= 3 заряда) и каждый раз сбрасывать на 1.Если игрок юзанул эту абилку первого уровня, значит удалить абилку и добавить заместо нее ту пустышку пассивную.
quq_CCCP:
У нас 3 абилки могут отображать счетчик зарядов, совы охотницы, ракеты у осадных гномов и баг с техникой (подходит для пассивок)
Далее тока куча абилок с разными иконками..
ваш вариант вполне пригоден, но как проделать это с учетом того, что такие способности будут у 5 разных игроков. это же нужно создавать очень много триггеров, таймеров и прочее.
Отредактирован Maniac_91
Вот карта. xgm.guru/files/100/184209/comments/344447/Ability_Charges.w3x
Тебе нужно скопировать триггеры и переменные себе в карту.
В карте устанавливай переменную Hero[1...5] = герой игрока 1...5.
Способности - тоже выбери какие нужно. Главное, чтобы не геройские были, а то когда уровень меньше максимального, в скиллменю она высветится для изучения.
Это можно обойти. Если нужна геройская способность, то при изучении запрети её для игрока или удали у героя (не знаю, сработает ли) и добавь активную способность с уровнем 3.
Не нашёл в триггерах условие сравнения таймера (Таймер = Х), поэтому количество триггеров получилось на 4 больше.