Бессмертный юнит
|
|
Srezi | Дата: Четверг, 12 Декабря 2013, 20:16:49 | Сообщение # 1 |
7 уровень
Группа: Проверенные
Сообщений: 414
Награды: 0
Репутация: 116
Блокировки:
| Аналог спелла Dazzle. Дота. Сам спелл: "Shallow Grave" Shallow Grave prevents any damage from killing the targetted hero. Смысл спелла таков: Юнит не может умереть в течение N-ого времени. Любой урон, который мог бы убить/добить юнита, оставляет ему лишь 1 хп. Пример: Юнит [А] со здоровьем 14/200 получает урон, равных 25ед. 14-25=-11 Здоровье юнита опустилось ниже 0, значит он считается мёртвым, но нам нужно, чтобы он был жив. А значит как то нужно опередить это событие и сделать здоровье юнита равное единице. Буду благодарен, если поможете.
Нет места чести на войне, Враг церемониться не будет, Убей его любым путём, Ведь победителей не судят.
|
|
|
|
[SeKtOR] | Дата: Четверг, 12 Декабря 2013, 20:28:28 | Сообщение # 2 |
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
| Сия код сделает юнита для которого сделано событие на получение урона бессмертным Код globals constant integer hp_abil = 'A000' // Способность на основе талисмана жизни(та который макс хп повышает) со значение 100000(максимальный урон который может получить юнит за раз) endglobals
function RemoveAbil takes nothing returns nothing local timer t = GetExpiredTimer() local integer h = GetHandleId(t) call UnitRemoveAbility(LoadUnitHandle(udg_Hash, h, 1), hp_abil) call FlushChildHashtable(udg_Hash, h) call DestroyTimer(t) set t = null endfunction
function onDamage takes unit damaged, real dmg returns nothing local real life = GetWidgetLife(damaged) local timer t if(dmg > life and dmg > GetUnitState(damaged, UNIT_STATE_MAX_LIFE)) then set t = CreateTimer() call SaveAgentHandle(udg_Hash, GetHandleId(t), damaged) call TimerStart(t, .0, false, function RemoveAbil) call UnitAddAbility(damaged, hp_abil) set t = null else call SetWidgetLife(damaged, life + dmg) endif endfunction
Сообщение отредактировал [SeKtOR] - Четверг, 12 Декабря 2013, 20:40:34 |
|
|
|
Srezi | Дата: Четверг, 12 Декабря 2013, 20:34:01 | Сообщение # 3 |
7 уровень
Группа: Проверенные
Сообщений: 414
Награды: 0
Репутация: 116
Блокировки:
| Благодарю, сейчас же протестирую его
Нет места чести на войне, Враг церемониться не будет, Убей его любым путём, Ведь победителей не судят.
|
|
|
|
[SeKtOR] | Дата: Четверг, 12 Декабря 2013, 20:41:03 | Сообщение # 4 |
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
| *Исправил код писалось по памяти D:
Добавлено (12 Декабря 2013, 20:41:03) --------------------------------------------- Оффтоп:
Сообщение отредактировал [SeKtOR] - Четверг, 12 Декабря 2013, 20:42:01 |
|
|
|
Srezi | Дата: Четверг, 12 Декабря 2013, 20:41:36 | Сообщение # 5 |
7 уровень
Группа: Проверенные
Сообщений: 414
Награды: 0
Репутация: 116
Блокировки:
| Цитата [SeKtOR] ( ) Неужели ты решил новую версию Millenium ORPG делать?
Давно уже делаю)
Нет места чести на войне, Враг церемониться не будет, Убей его любым путём, Ведь победителей не судят.
|
|
|
|
[SeKtOR] | Дата: Четверг, 12 Декабря 2013, 20:42:34 | Сообщение # 6 |
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
| Жаль мой друг не дожил, ему так карта нравилась и он так яро хотел продолжения)
|
|
|
|
Srezi | Дата: Четверг, 12 Декабря 2013, 20:45:06 | Сообщение # 7 |
7 уровень
Группа: Проверенные
Сообщений: 414
Награды: 0
Репутация: 116
Блокировки:
| Цитата [SeKtOR] ( ) Жаль мой друг не дожил, ему так карта нравилась и он так яро хотел продолжения)
хаха, умер что-ли?
Я ошибки в коде сам исправил, теперь пытаюсь настроить всякие фишки, например, чтобы хп могло падать до 1 хп:)
Нет места чести на войне, Враг церемониться не будет, Убей его любым путём, Ведь победителей не судят.
|
|
|
|
[SeKtOR] | Дата: Четверг, 12 Декабря 2013, 20:46:55 | Сообщение # 8 |
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
| Да нет, тут своя история с кучей неожиданных поворотов) Добавлено (12 Декабря 2013, 20:46:55) --------------------------------------------- Исправь Код if(dmg > life and dmg > GetUnitState(damaged, UNIT_STATE_MAX_LIFE)) then на И по сути должно падать до 1 хп как в доте...
|
|
|
|
Srezi | Дата: Четверг, 12 Декабря 2013, 20:46:55 | Сообщение # 9 |
7 уровень
Группа: Проверенные
Сообщений: 414
Награды: 0
Репутация: 116
Блокировки:
| Цитата [SeKtOR] ( ) Да нет, тут своя история с кучей неожиданных поворотов)
ясн.
Чёт твоя штука вообще весь урон блочит:D
Нет места чести на войне, Враг церемониться не будет, Убей его любым путём, Ведь победителей не судят.
|
|
|
|
[SeKtOR] | Дата: Четверг, 12 Декабря 2013, 20:47:08 | Сообщение # 10 |
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
| http://warcraft3ft.info/forum/22-53945-1662973-16-1386866815 Тык тыже просил бессмертного)
Сообщение отредактировал [SeKtOR] - Четверг, 12 Декабря 2013, 20:47:28 |
|
|
|
Srezi | Дата: Четверг, 12 Декабря 2013, 20:47:54 | Сообщение # 11 |
7 уровень
Группа: Проверенные
Сообщений: 414
Награды: 0
Репутация: 116
Блокировки:
| Цитата [SeKtOR] ( ) http://warcraft3ft.info/forum/22-53945-1662973-16-1386866815 Тык тыже просил бессмертного)
ахаха, а полубессмертного?:D
Нет места чести на войне, Враг церемониться не будет, Убей его любым путём, Ведь победителей не судят.
|
|
|
|
[SeKtOR] | Дата: Четверг, 12 Декабря 2013, 20:50:07 | Сообщение # 12 |
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
| Исправь условие и всё должно быть как вы желаете, если нет опиши что не так
Добавлено (12 Декабря 2013, 20:50:07) --------------------------------------------- Кстати оптимизируй в карте мой спелл у жреца(тот который дядьки с мечём и крыльями вроде) на аое хил, я тогда был нупкой и он крайне кривой по реализации), когда он стоит и создаются молнии и всех хилит кто поблизости...
Сообщение отредактировал [SeKtOR] - Четверг, 12 Декабря 2013, 20:50:52 |
|
|
|
Srezi | Дата: Четверг, 12 Декабря 2013, 20:50:28 | Сообщение # 13 |
7 уровень
Группа: Проверенные
Сообщений: 414
Награды: 0
Репутация: 116
Блокировки:
| Цитата [SeKtOR] ( ) Исправь условие и всё должно быть как вы желаете, если нет опиши что не так
Как исправить то условие) я уже 3 часа с этой системой вожусь)
Нет места чести на войне, Враг церемониться не будет, Убей его любым путём, Ведь победителей не судят.
|
|
|
|
[SeKtOR] | Дата: Четверг, 12 Декабря 2013, 20:51:49 | Сообщение # 14 |
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
| Напомни своё имя в скайпе ты у меня до сих пор там есть, но я хз где именно)
|
|
|
|
Srezi | Дата: Четверг, 12 Декабря 2013, 20:51:56 | Сообщение # 15 |
7 уровень
Группа: Проверенные
Сообщений: 414
Награды: 0
Репутация: 116
Блокировки:
| Цитата [SeKtOR] ( ) Кстати оптимизируй в карте мой спелл у жреца(тот который дядьки с мечём и крыльями вроде) на аое хил, я тогда был нупкой и он крайне кривой по реализации), когда он стоит и создаются молнии и всех хилит кто поблизости...
Давно твоего меча нету:D давно всё переделано и переклёпано) давно поправлено и оптимизировано:D
Нет места чести на войне, Враг церемониться не будет, Убей его любым путём, Ведь победителей не судят.
|
|
|
|
[SeKtOR] | Дата: Четверг, 12 Декабря 2013, 20:52:12 | Сообщение # 16 |
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
| А ну ты меня удалил...
|
|
|
|
Srezi | Дата: Четверг, 12 Декабря 2013, 20:52:24 | Сообщение # 17 |
7 уровень
Группа: Проверенные
Сообщений: 414
Награды: 0
Репутация: 116
Блокировки:
| Цитата [SeKtOR] ( ) Напомни своё имя в скайпе ты у меня до сих пор там есть, но я хз где именно)
я имел ввиду про модельку, а скил твой ещё на месте, оба причём.
Скайп Sfrienzail
Нет места чести на войне, Враг церемониться не будет, Убей его любым путём, Ведь победителей не судят.
|
|
|
|
[SeKtOR] | Дата: Четверг, 12 Декабря 2013, 20:54:44 | Сообщение # 18 |
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
| Ну добавил, принимай D:
|
|
|
|
Srezi | Дата: Четверг, 12 Декабря 2013, 20:54:59 | Сообщение # 19 |
7 уровень
Группа: Проверенные
Сообщений: 414
Награды: 0
Репутация: 116
Блокировки:
| Цитата [SeKtOR] ( ) Ну добавил, принимай D:
ок
Нет места чести на войне, Враг церемониться не будет, Убей его любым путём, Ведь победителей не судят.
|
|
|
|
AllOneTheDark | Дата: Суббота, 14 Декабря 2013, 10:27:45 | Сообщение # 20 |
2 уровень
Группа: Проверенные
Сообщений: 30
Награды: 0
Репутация: 15
Блокировки:
| Я вроде делал это так: отслеживал получение урона и устанавливал здоровье получающего урон юнита как *полученный урон + 1*. Правда, если у него максимальное количество ХП меньше получаемого урона, то не действует ._.
|
|
|
|