|
|
|
|
Скилл восстановления манны
|
|
Mello007 | Дата: Понедельник, 12 Декабря 2011, 20:45:11 | Сообщение # 1 |
6 уровень
Группа: Проверенные
Сообщений: 204
Награды: 0
Репутация: 51
Блокировки:
| Народ есть такой скилл, который ману восстанавливает применившему скилл а?
|
|
|
|
InvisibleCatэ | Дата: Понедельник, 12 Декабря 2011, 20:46:27 | Сообщение # 2 |
3 уровень
Группа: Пользователи
Сообщений: 40
Награды: 0
Репутация: 8
Блокировки:
| Стандартная способность "Омоложение". В первой строке настройки способности ставишь на Да или Нет (не помню).
|
|
|
|
Mello007 | Дата: Понедельник, 12 Декабря 2011, 20:53:08 | Сообщение # 3 |
6 уровень
Группа: Проверенные
Сообщений: 204
Награды: 0
Репутация: 51
Блокировки:
| InvisibleCatэ, А она восстанавливает по 5 - 10 ед. в секунду? Я забыл сказать, что можно сделать что игрок стоит как бы на месте и манна регенится 5 - 10 ед. в секунду, а скил действует 60 сек, перезарядка 80 сек. Допустим пошел с места и восстановление манны кончилось.
|
|
|
|
oleg_best_oleg | Дата: Понедельник, 12 Декабря 2011, 20:56:32 | Сообщение # 4 |
Группа: Заблокированные
Сообщений: 1726
Награды: 0
Репутация: 654
Блокировки:
| Mello007, Ставишь макс. восстановлено маны на 5 - 10*60 = 300 - 600 и время действия на 60 секунд. А вот на счет дебаффа, если двинулся, имхо тут надо проверять координаты (или что-то там такое), ждём джассеров.
|
|
|
|
Borodach | Дата: Понедельник, 12 Декабря 2011, 21:09:51 | Сообщение # 5 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| Mello007, Проверкой приказов.... Если приказ Move или Smart то удалить бафф
Karamba
|
|
|
|
Ty3uK | Дата: Понедельник, 12 Декабря 2011, 21:35:14 | Сообщение # 6 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| А если его откинули кнокбэком? Добавлено (12 Декабрь 2011, 21:35:14) --------------------------------------------- Или если он использовал спелл со смещением?
|
|
|
|
Q1wAse | Дата: Понедельник, 12 Декабря 2011, 21:39:07 | Сообщение # 7 |
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
| Mello007, может тебе триггерно сделать? При касте спела добавить ману(Установить процент маны\Установить значение) переключающему юниту(кастующему скилл) И всё..
|
|
|
|
Mello007 | Дата: Понедельник, 12 Декабря 2011, 21:46:39 | Сообщение # 8 |
6 уровень
Группа: Проверенные
Сообщений: 204
Награды: 0
Репутация: 51
Блокировки:
| Q1wAse, Можно, распишите пожалуйста по подробнее) А то я в тригерах не ас)
|
|
|
|
Q1wAse | Дата: Вторник, 13 Декабря 2011, 12:13:59 | Сообщение # 9 |
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
| Mello007, ну я тоже не ас)) Но подсказать что та где та на ГУИ смогу)) Событие - юнит применил способность Условие - применяемая способность равна "твоя" Действие - Боевая Единица-Установить ману (значение), установить как мана у (переключающий юнит) + .... <<<===(Сколька тебе надо)
Вот и всё)
|
|
|
|
Ty3uK | Дата: Вторник, 13 Декабря 2011, 12:29:02 | Сообщение # 10 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Code function ManaRegen_Timer takes nothing returns nothing local timer t = GetExpiredTimer() local integer hid = GetHandleId(t) local unit u = LoadUnitHandle(udg_Hash, hid, 0) local real manaregen = LoadReal(udg_Hash, hid, 1) local real current = GetUnitState(u, UNIT_STATE_MANA) if current >= GetUnitState(u, UNIT_STATE_MAX_MANA) then call PauseTimer(t) call DestroyTimer(t) call FlushChildHashtable(udg_Hash, hid) else set current = current + manaregen call SetUnitState(u, UNIT_STATE_MANA, current) endif set u = null set t = null endfunction
function ManaRegen takes unit u, real manaregen returns nothing local timer t = CreateTimer() local integer hid = GetHandleId(t) call SaveAgentHandle(udg_Hash, hid, 0, u) call SaveReal(udg_Hash, hid, 1, manaregen) call TimerStart(t, 1., true, function ManaRegen_Timer) set t = null endfunction Вставляешь в кастом код карты. Вызывается через Личный сценарий так: Code call ManaRegen(GetTriggerUnit(), 5.) если юнит - применивший способность. вместо 5 ставь любое свое число (но точку после него не забудь). Ах да, код требует инициализированной хэштаблицы Hash
Сообщение отредактировал Ty3uK - Вторник, 13 Декабря 2011, 12:31:07 |
|
|
|
Mello007 | Дата: Вторник, 13 Декабря 2011, 21:17:28 | Сообщение # 11 |
6 уровень
Группа: Проверенные
Сообщений: 204
Награды: 0
Репутация: 51
Блокировки:
| Ty3uK, не много все равно не понял.... Вставляешь в кастом код карты - это новый тригер конвертированый в текст да?
|
|
|
|
Novice998 | Дата: Среда, 14 Декабря 2011, 00:31:29 | Сообщение # 12 |
8 уровень
Группа: Проверенные
Сообщений: 693
Награды: 0
Репутация: 86
Блокировки:
| Mello007, на гуи написать несможешь?Сделай хил 0 хп и дальше Quote (Q1wAse) Событие - юнит применил способность Условие - применяемая способность равна "твоя" Действие - Боевая Единица-Установить ману (значение), установить как мана у (переключающий юнит) + .... <<<===(Сколька тебе надо) Но будет минус - нельзя отрегенить ману,когда хп полные. Тогда сделаешь хил на основе канала
Сообщение отредактировал Novice998 - Среда, 14 Декабря 2011, 00:32:12 |
|
|
|
The_Cleric | Дата: Среда, 14 Декабря 2011, 07:50:30 | Сообщение # 13 |
5 уровень
Группа: Проверенные
Сообщений: 113
Награды: 0
Репутация: 23
Блокировки:
| была же тема, решается элементарно без кода. 1 триг юнит приводит способность в действие, дать аура регена маны. 2 триг юнит 3авершил примемение способности, юнит прервал применение способности убрать ауру
|
|
|
|
Ty3uK | Дата: Среда, 14 Декабря 2011, 09:17:47 | Сообщение # 14 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Твой гуи- это тоже код, но более убогий. Так что лучше- тру код сразу на жассе или говнокод на гуи?
|
|
|
|
Novice998 | Дата: Среда, 14 Декабря 2011, 09:26:21 | Сообщение # 15 |
8 уровень
Группа: Проверенные
Сообщений: 693
Награды: 0
Репутация: 86
Блокировки:
| Quote (Ty3uK) Твой гуи- это тоже код, но более убогий. Так что лучше- тру код сразу на жассе или говнокод на гуи? +1,но если человек на гуи реген маны не может написать,то тогда он в твоём коде и одной строки непоймёт...
|
|
|
|
Ty3uK | Дата: Среда, 14 Декабря 2011, 10:23:16 | Сообщение # 16 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Novice998, я ему в аське вчера все вполне понятно объяснил. Суть кода ему не нужна, надо только знать, как эту функу вызывать Вот измененный пример, сбивающий реген маны при малейшем изменении положения: Code function ManaRegen_Timer takes nothing returns nothing local timer t = GetExpiredTimer() local integer hid = GetHandleId(t) local unit u = LoadUnitHandle(udg_Hash, hid, 0) local real manaregen = LoadReal(udg_Hash, hid, 1) local real x = LoadReal(udg_Hash, hid, 2) local real y = LoadReal(udg_Hash, hid, 3) local real current = GetUnitState(u, UNIT_STATE_MANA) if current >= GetUnitState(u, UNIT_STATE_MAX_MANA) or GetWidgetX(u) != x or GetWidgetY(u) != y then call PauseTimer(t) call DestroyTimer(t) call FlushChildHashtable(udg_Hash, hid) else set current = current + manaregen call SetUnitState(u, UNIT_STATE_MANA, current) endif set u = null set t = null endfunction
function ManaRegen takes unit u, real manaregen returns nothing local timer t = CreateTimer() local integer hid = GetHandleId(t) call SaveAgentHandle(udg_Hash, hid, 0, u) call SaveReal(udg_Hash, hid, 1, manaregen) call SaveReal(udg_Hash, hid, 2, GetWidgetX(u)) call SaveReal(udg_Hash, hid, 3, GetWidgetY(u)) call TimerStart(t, 1., true, function ManaRegen_Timer) set t = null endfunction Вызывается так же
Сообщение отредактировал Ty3uK - Среда, 14 Декабря 2011, 10:55:02 |
|
|
|
|
|
|
|
|
|
|