XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
LuciFEAR
C++ & JASS Maniac!!!
offline
Опыт: 62
Активность:
Код:
function CheckConditions takes nothing returns boolean
  return (GetSpellAbilityId()=='A000')
endfunction


function FilterUnit takes nothing returns boolean
  return GetUnitStatePercent(GetFilterUnit(),UNIT_STATE_LIFE,UNIT_STATE_MAX_LIFE)<(20+5*GetUnitAbilityLevel(GetTriggerUnit(),'A000'))
endfunction


function Main takes nothing returns nothing
  local player Owner = GetOwningPlayer(GetTriggerUnit())
  local location EnumLoc = GetUnitLoc(GetEnumUnit())
  local unit Dummy
  call CreateUnitAtLoc(Owner,'h001',EnumLoc,bj_UNIT_FACING)
  set Dummy = GetLastCreatedUnit()
  call IssueTargetOrder(Dummy,"move",GetEnumUnit())
  call UnitApplyTimedLifeBJ(GetUnitAbilityLevel(GetTriggerUnit(),'A000')*2,'BTLF',Dummy  )
  call SetUnitInvulnerable(Dummy,true)
  set Owner = null
  set EnumLoc = null
  set Dummy = null
endfunction


function Trig_Enfeel_of_Death_Actions takes nothing returns nothing
  local group lEw=GetUnitsInRectMatching(bj_mapInitialPlayableArea,Condition(function FilterUnit))
  call ForGroupBJ(lEw,function Main)
  call DestroyGroup(lEw)
endfunction

function InitTrig_Enfeel_of_Death takes nothing returns nothing
  set gg_trg_Enfeel_of_Death = CreateTrigger()
  call TriggerRegisterAnyUnitEventBJ(gg_trg_Enfeel_of_Death,EVENT_PLAYER_UNIT_SPELL_EFF  ECT)
  call TriggerAddCondition(gg_trg_Enfeel_of_Death, Condition(function CheckConditions))
  call TriggerAddAction(gg_trg_Enfeel_of_Death, function Trig_Enfeel_of_Death_Actions)
endfunction

Кто знает, почему даммик не исчезает (даже полоса времени не появляется), а вражеские юниты МОГУТ его атаковать (то есть неуязвимым он не делается). Плюс скажите, как сделать, чтобы юнита нельзя было выбрать?

Отредактировано df Hunter, 04.10.2007 в 18:18.
Старый 04.10.2007, 17:18
adic3x

offline
Опыт: 108,439
Активность:
Цитата:
call CreateUnitAtLoc(Owner,'h001',EnumLoc,bj_UNIT_FACING)
set Dummy = GetLastCreatedUnit()


Код:
set Dummy=CreateUnitAtLoc(Owner,'h001',EnumLoc,bj_UNIT_FACING)


Цитата:
Кто знает, почему даммик не исчезает (даже полоса времени не появляется), а вражеские юниты МОГУТ его атаковать

добавь ему способность "москиты" та что у нежити и москитов (не у жука)

ADOLF добавил:
Цитата:
function Main takes nothing returns nothing


Main - вообще не будет жучить, а вот main очень даже... советую изменить имя.
Старый 04.10.2007, 17:34
df Hunter
Нападатель
offline
Опыт: 5,749
Активность:
LuciFEAR
некст раз создавай новые темы
+ юзай тег code для выделения кода

Отредактировано df Hunter, 04.10.2007 в 18:26.
Старый 04.10.2007, 18:19
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 10:32.