Помогите сделать скилл
|
|
Aaron | Дата: Вторник, 02 Октября 2012, 05:48:15 | Сообщение # 1 |
7 уровень
Группа: Проверенные
Сообщений: 302
Награды: 0
Репутация: 110
Блокировки:
| Хочу сделать скилл на основе ледяных стрел (так-же с автокастом) , который бы замедлял и наносил урон равный % от здоровья.
Когда ты просишь наработку по системе доты, ты заставляешь Иисуса плакать. Только ГУИ! Только хардкор!
|
|
|
|
Ty3uK | Дата: Вторник, 02 Октября 2012, 12:40:35 | Сообщение # 2 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| отлавливать каст и наносить нужный урон
|
|
|
|
збс | Дата: Вторник, 02 Октября 2012, 12:44:32 | Сообщение # 3 |
5 уровень
Группа: Проверенные
Сообщений: 102
Награды: 0
Репутация: 52
Блокировки:
| Quote (Ty3uK) отлавливать каст и наносить нужный урон Отлавливать наличие баффа при получении урона, снимать бафф и добавлять дамаг.
Я н нфг.
|
|
|
|
sumert | Дата: Вторник, 02 Октября 2012, 12:48:19 | Сообщение # 4 |
10 уровень
Группа: Проверенные
Сообщений: 2330
Награды: 2
Репутация: 1094
Блокировки:
| Quote (збс) Отлавливать наличие баффа при получении урона, снимать бафф Зачем? Ведь Quote (Aaron) который бы замедлял и наносил урон
|
|
|
|
Naturekid | Дата: Вторник, 02 Октября 2012, 13:16:06 | Сообщение # 5 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| Quote (збс) Отлавливать наличие баффа при получении урона, снимать бафф и добавлять дамаг. this только бафф не надо снимать, надо поставить минимальный срок действия и замедлять триггерно.
|
|
|
|
Aaron | Дата: Среда, 03 Октября 2012, 02:30:55 | Сообщение # 6 |
7 уровень
Группа: Проверенные
Сообщений: 302
Награды: 0
Репутация: 110
Блокировки:
| ребят, в голове каша какая-то, можно поподробнее
Когда ты просишь наработку по системе доты, ты заставляешь Иисуса плакать. Только ГУИ! Только хардкор!
|
|
|
|
Smartaros | Дата: Среда, 03 Октября 2012, 02:51:42 | Сообщение # 7 |
9 уровень
Группа: Проверенные
Сообщений: 810
Награды: 0
Репутация: 135
Блокировки:
| надо снимать, лол
|
|
|
|
Aaron | Дата: Среда, 03 Октября 2012, 03:02:30 | Сообщение # 8 |
7 уровень
Группа: Проверенные
Сообщений: 302
Награды: 0
Репутация: 110
Блокировки:
| Smartaros, Quote (Aaron) который бы замедлял и наносил урон равный % от здоровья то есть не надо снимать
Когда ты просишь наработку по системе доты, ты заставляешь Иисуса плакать. Только ГУИ! Только хардкор!
Сообщение отредактировал Aaron - Среда, 03 Октября 2012, 03:02:51 |
|
|
|
Smartaros | Дата: Среда, 03 Октября 2012, 08:03:23 | Сообщение # 9 |
9 уровень
Группа: Проверенные
Сообщений: 810
Награды: 0
Репутация: 135
Блокировки:
| баф
|
|
|
|
Aaron | Дата: Среда, 03 Октября 2012, 08:06:01 | Сообщение # 10 |
7 уровень
Группа: Проверенные
Сообщений: 302
Награды: 0
Репутация: 110
Блокировки:
| можно поподробнее описать, создание данного скила, а то я ничего не понял :/
Когда ты просишь наработку по системе доты, ты заставляешь Иисуса плакать. Только ГУИ! Только хардкор!
|
|
|
|
Naturekid | Дата: Среда, 03 Октября 2012, 15:01:56 | Сообщение # 11 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| Ой ... Тут короче отслеживаем приказ на автокаст и приказ на отключение автокаста, отслеживаем атаку и если герой не имеет сала, печати, пламени обречённости и имеет достаточно маны, а также переменная для отлова включения автокаста = ДА то заносим уровень стрел героя в память и ждём, пока атакуемый получит баф "Ледяная стрела" проверяя каждые 0.25 сек, либо ... если вдруг юнит станет невидимыми или невосприимчивым к магии - то условие расстояние между атакующим и атакуемым будет больше 1500 скажем, чтобы 1 выстрел не ожидал слишком долго. Так вот, когда этот вейт прокнет, который кстати утечен по самое нехочу, - проверяем есть ли баф "Ледяная стрела" у атакуемого и если да - создаём дамми на его позиции и даём ему "замедление", устанавливаем уровень замедления для него на число, занесённое в память, приказываем дамику "Волшебница - замедление" атакуемого юнита. Пишем действие Б.Е. - damage target - хозяин последнего созданного юнита - атакуемого юнита(triggering unit) dealing макс здоровье of triggering unit*0.03... Теперь одиночный каст, т.е. не автокаст. Юнит приводит способность в действие - занести в память цель приказа, по аналогичному типу ждём пока он имеет баф стрелы или ушёл очень далеко. Так же создаём дамми, замеедляем и наносим урон. Честное слово..., это же так просто! ХДХДХД
Добавлено (03 Октября 2012, 15:01:56) --------------------------------------------- Ну вместо утечной дистанции можно что-то типа локального таймера наверное впихнуть. Потому что осень много наштопается утечных точек,
Сообщение отредактировал Naturekid - Среда, 03 Октября 2012, 15:06:15 |
|
|
|
Smartaros | Дата: Среда, 03 Октября 2012, 16:49:02 | Сообщение # 12 |
9 уровень
Группа: Проверенные
Сообщений: 810
Награды: 0
Репутация: 135
Блокировки:
| а не проще проверять таймером всех юнитов вокруг обладателя абилы на баф, если истина то делать действия и снимать баф? Как то разумнее это, без извращений
|
|
|
|
Naturekid | Дата: Среда, 03 Октября 2012, 18:06:18 | Сообщение # 13 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| Smartaros, не пойдёт, ледяные стрелы не у 1 героя могут быть.
|
|
|
|
Ty3uK | Дата: Среда, 03 Октября 2012, 18:07:54 | Сообщение # 14 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| вейт не утечен он кривой
|
|
|
|
Borodach | Дата: Среда, 03 Октября 2012, 18:31:03 | Сообщение # 15 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| Примерно так. Ох уж это ГУИ, намучился пока сделать небольшой пример
Karamba
|
|
|
|
Smartaros | Дата: Среда, 03 Октября 2012, 19:07:13 | Сообщение # 16 |
9 уровень
Группа: Проверенные
Сообщений: 810
Награды: 0
Репутация: 135
Блокировки:
| Naturekid, омг не думаю что у него больше одного героя будет с этой абилой, да и тем более через юнит получил урон так же просто будет, не нужно никакие события с автокастом учитывать, просто при уроне баф проверять
|
|
|
|
Naturekid | Дата: Среда, 03 Октября 2012, 20:42:28 | Сообщение # 17 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| Smartaros, да через получение урона будет лучше... неужели ты в кои-то веки правильную вещь сказал :D
|
|
|
|
Extremator | Дата: Среда, 03 Октября 2012, 21:44:39 | Сообщение # 18 |
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
| вот тебе стрелы Дестра из доты - Arcane Orb (spell).w3x вот тебе триггерный бафф вешающийся по тому же принципу - Sange.w3x
в итоге... можно сделать стрелы которые будут наносит спец.урон и вешать особый бафф с пачкой эффектов...
|
|
|
|
Prokhor-andrew | Дата: Четверг, 04 Октября 2012, 00:08:10 | Сообщение # 19 |
6 уровень
Группа: Пользователи
Сообщений: 215
Награды: 0
Репутация: 0
Блокировки:
| Extremator, как обычно все порешал
(-_-)
|
|
|
|
Aaron | Дата: Четверг, 04 Октября 2012, 06:01:06 | Сообщение # 20 |
7 уровень
Группа: Проверенные
Сообщений: 302
Награды: 0
Репутация: 110
Блокировки:
| Extremator, Спасибо, но вот я только не догнал, нафига атакованного юнита в отряд заносить, если отряд больше нигде не используется?
Когда ты просишь наработку по системе доты, ты заставляешь Иисуса плакать. Только ГУИ! Только хардкор!
|
|
|
|
Extremator | Дата: Четверг, 04 Октября 2012, 09:51:18 | Сообщение # 21 |
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
| Quote (Aaron) нафига атакованного юнита в отряд заносить, если отряд больше нигде не используется?
что бы видеть что юнит уже есть в отряде = для этого юнита уже создан ивент (событие) на получение им урона...
в противном случаи при получении урона триггер будет срабатывать ДВА раза... ...при этом в игре будет висеть ДВА ивента... и... их число будет рости при каждой атаке... это вызовет неописуемые лаги в сетевой игре... ...это основная ошибка гуишников пытающихся отлавливать урон...
на сколько знаю, на жассе, вроде бы можно создавать локальный триггер для этого и потом его затирать... следовательно - группа не нужно
|
|
|
|
Aaron | Дата: Четверг, 04 Октября 2012, 10:04:56 | Сообщение # 22 |
7 уровень
Группа: Проверенные
Сообщений: 302
Награды: 0
Репутация: 110
Блокировки:
| Extremator, а, ну спасибо еще раз
Когда ты просишь наработку по системе доты, ты заставляешь Иисуса плакать. Только ГУИ! Только хардкор!
|
|
|
|
sacar777 | Дата: Четверг, 04 Октября 2012, 11:25:20 | Сообщение # 23 |
7 уровень
Группа: Проверенные
Сообщений: 416
Награды: 0
Репутация: 35
Блокировки:
| Конвертировал в текст, так как в лом было кидать на файлообменник)
Code function Trig_Ice_Arows_Conditions takes nothing returns boolean if ( not ( GetUnitAbilityLevelSwapped('A000', GetAttacker()) >= 1 ) ) then return false endif return true endfunction
function Trig_Ice_Arows_Func001C takes nothing returns boolean if ( not ( UnitHasBuffBJ(GetAttackedUnitBJ(), 'Bcsd') == true ) ) then return false endif return true endfunction
function Trig_Ice_Arows_Actions takes nothing returns nothing if ( Trig_Ice_Arows_Func001C() ) then call UnitDamageTargetBJ( GetAttacker(), GetAttackedUnitBJ(), ( GetUnitLifePercent(GetAttackedUnitBJ()) * 1.00 ), ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL ) else endif endfunction
//=========================================================================== function InitTrig_Ice_Arows takes nothing returns nothing set gg_trg_Ice_Arows = CreateTrigger( ) call TriggerRegisterAnyUnitEventBJ( gg_trg_Ice_Arows, EVENT_PLAYER_UNIT_ATTACKED ) call TriggerAddCondition( gg_trg_Ice_Arows, Condition( function Trig_Ice_Arows_Conditions ) ) call TriggerAddAction( gg_trg_Ice_Arows, function Trig_Ice_Arows_Actions ) endfunction
Ice_Arows название триггера GetUnitLifePercent(GetAttackedUnitBJ()) * 1.00 Тут процент хп *1 ( not ( GetUnitAbilityLevelSwapped('A000', GetAttacker()) >= 1 ) ) then проверка, что бы атакующий юнит имел способность больше чем 0 (прокачена) А000 -ид способности Лед стрелы
Legion
Герои: 10% Ландшафт: 30% Предметы: 10% Баланс:80% Код:70% Общая готовность: 10% Бета Тест карты выявил 4 довольно простых бага.
|
|
|
|