Сейчас 05:08:16 Среда, 22 мая, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Способность Overpower
Способность Overpower
wetalqДата: Суббота, 18 Февраля 2012, 16:38:51 | Сообщение # 1
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 117
Блокировки:
Как сделать способность на Jass через Хеш Таблицу.

Юнит применяет способность, и ему даеться способность повышения скорости атаки, и после нанесения определенного количества ударов, способность удаляеться.

Как сделать просто без MUI глобалками мне понятно, а вот как склеить два события я чето не сображаю)
 

lawsonДата: Суббота, 18 Февраля 2012, 17:00:20 | Сообщение # 2
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (wetalq)
Юнит применяет способность, и ему даеться способность повышения скорости атаки, и после нанесения определенного количества ударов, способность удаляеться.

Элементарно даже без глобалок. Этот скил от урсы из доты, я его сделал с событием юнит атакован и условие что у юнита активирована нужная способность.

Добавлено (18 Февраль 2012, 17:00:20)
---------------------------------------------
Весь код: минум данной системы в том, что если герой даже замахнется но не нанесет урон, ему всеравно засчитается этот удар. Но можешь сделать с событием юниту нанесен урон, тогда будет работать как надо.
Code
function Trig_Ultra_Mask_Conditions takes nothing returns boolean
return GetUnitAbilityLevel(GetAttacker(), 'B00X') > 0
endfunction

function Trig_Ultra_Mask_Actions takes nothing returns nothing
local integer a = LoadInteger(Hash, GetHandleId(GetTriggeringTrigger()), 0)
set a = a + 1
if (a > GetUnitAbilityLevel(GetAttacker(), 'A064') + 4) then
call UnitRemoveAbility(GetAttacker(), 'B00X')
set a = 0
endif
call SaveInteger(Hash, GetHandleId(GetTriggeringTrigger()), 0, a)
endfunction

//===========================================================================
function InitTrig_Ultra_Mask takes nothing returns nothing
        set gg_trg_Ultra_Mask = CreateTrigger(  )
        call TriggerRegisterAnyUnitEventBJ( gg_trg_Ultra_Mask, EVENT_PLAYER_UNIT_ATTACKED )
        call TriggerAddCondition( gg_trg_Ultra_Mask, Condition( function Trig_Ultra_Mask_Conditions ) )
        call TriggerAddAction( gg_trg_Ultra_Mask, function Trig_Ultra_Mask_Actions )
endfunction

B00X - бафф от способности.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Суббота, 18 Февраля 2012, 17:03:45
 

wetalqДата: Суббота, 18 Февраля 2012, 17:05:48 | Сообщение # 3
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 117
Блокировки:
Quote (lawson)
Весь код: минум данной системы в том, что если герой даже замахнется но не нанесет урон, ему всеравно засчитается этот удар. Но можешь сделать с событием юниту нанесен урон, тогда будет работать как надо.


ну это я знаю, я что то даже не подумал что GetHandleId взять триггер, спасибо
 

SirNikolasДата: Суббота, 18 Февраля 2012, 17:28:35 | Сообщение # 4
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (lawson)
GetHandleId(GetTriggeringTrigger())
Зачем???
Это не MUI-способность.


 

lawsonДата: Суббота, 18 Февраля 2012, 19:37:47 | Сообщение # 5
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (SirNikolas)
Это не MUI-способность.

Я знаю. Если брать хеэндл с глобального триггера то да, к тому же у меня только один герой с таким скилом.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

wetalqДата: Суббота, 18 Февраля 2012, 20:29:31 | Сообщение # 6
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 117
Блокировки:
Quote (SirNikolas)
Это не MUI-способность.


а как тогда сделать MUI ?

только не пишите способ типо дать много уровней способности которая дает ас, и при каждой атаке уменшать её уровень
 

oleg_best_olegДата: Суббота, 18 Февраля 2012, 20:46:55 | Сообщение # 7
Группа: Заблокированные
Сообщений: 1726
Награды: 0
Репутация: 654
Блокировки:
Чем не подходит такой вариант ?
Триггер №1

Событие: Юнит приводит способность в действие
Условие: Применяемая способность равно OverPower
Действие: Установить OP_Attacks[Номер владелец атакующий юнит] = 2 + 1 * Уровень способности OverPower у переключающий юнит
Триггер №2

Событие: Юнит атакован
Условие: OP_Attacks[Номер владелец атакующий юнит] больше 0
Действие: Установить OP_Attacks[Номер владелец атакующий юнит] = OP_Attacks[Номер владелец атакующий юнит] + 1

Вариант MUI для всех игроков, но только для одного героя каждому.
 

lawsonДата: Суббота, 18 Февраля 2012, 22:13:50 | Сообщение # 8
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (wetalq)
только не пишите способ типо дать много уровней способности которая дает ас, и при каждой атаке уменшать её уровень

Пиши инт в хендл атакующего == муи!
oleg_best_oleg, А эт то зачем?


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Суббота, 18 Февраля 2012, 22:14:56
 

wetalqДата: Суббота, 18 Февраля 2012, 23:56:13 | Сообщение # 9
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 117
Блокировки:
oleg_best_oleg,
Quote (wetalq)
Как сделать способность на Jass через Хеш Таблицу.


lawson, попробую
 

SirNikolasДата: Воскресенье, 19 Февраля 2012, 11:41:03 | Сообщение # 10
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (oleg_best_oleg)
Вариант MUI для всех игроков
Это называется MPI - Multi-Player Instantability.


 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Способность Overpower
  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz