0
9
8 лет назад
0

» WarCraft 3 / Не работает кусок кода

ок
Для вызова лучницы -a на английской раскладке (Ей присваивается переменная, запоминаются статы и т.д.). У неё единственная абилка, это и есть беда.
Загруженные файлы
0
9
8 лет назад
0

» WarCraft 3 / Не работает кусок кода

Мде. По прежнему не хочет юзать нормально третий триггер
Загруженные файлы
0
9
8 лет назад
0

» WarCraft 3 / Не работает кусок кода

Б###ь, точняк
0
9
8 лет назад
0

» WarCraft 3 / Не работает кусок кода

На первом скриншоте
Инициализируется
Тут заполняется юнитами
Загруженные файлы
0
9
8 лет назад
0

» WarCraft 3 / Не работает кусок кода

Поставил. он по прежнему отказывается работать. Во втором триггере исправил переменную юнита, с udg_Archeress на udg_HeroArcheress
0
9
8 лет назад
Отредактирован WakVellios
0

» WarCraft 3 / Не работает кусок кода

Прописана в вызывающем триггере. Вообщем точнее:
Есть инициализация глобалок. Это триггер номер 1.
Есть триггер применения способности 2.
И триггер на нанесение периодического урона 3.
Проверял глобалки, они с нормальными значениями, 2 триггер создает дамми, нормально присваивает ему переменную. Третий триггер который я собственно и не могу разобрать, запускается, и все на этом. Как дело долшло до выбора группы целей, он замыкается в себе и вырубается.
Загруженные файлы
0
9
8 лет назад
0

» WarCraft 3 / Не работает кусок кода

globals
integer HeroArcheressSkillACircle = 0
endglobals
function HeroArcheressSkillAFirst_Damage takes nothing returns nothing
if ( HeroArcheressSkillACircle < HeroArcheressSkillALevel ) then
if ( HeroArcheressSkillACircle == 0 ) then
call PauseUnitBJ( true, GetEnumUnit() )
call DisplayTimedTextToForce( GetPlayersAll(), 1.00, "Стан" )
endif
call UnitDamageTargetBJ( udg_HeroArcheress, GetEnumUnit(), 500, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
set HeroArcheressSkillACircle = HeroArcheressSkillACircle + 1
call TriggerSleepAction (1.00)
call TriggerExecute ( gg_trg_HeroArcheressSkillAFirst )
call DisplayTimedTextToForce( GetPlayersAll(), 1.00, "Урон" )
else
call UnitDamageTargetBJ( udg_HeroArcheress, GetEnumUnit(), 500, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
call TriggerSleepAction (1.00)
call UnitRemoveBuffBJ ( 'B006' , GetEnumUnit() )
call PauseUnitBJ( false , GetEnumUnit() )
call RemoveUnit ( HeroArcheressSkillADammi )
set HeroArcheressSkillACircle = 0
call DisplayTimedTextToForce( GetPlayersAll(), 1.00, "Выход" )
endif
endfunction
function HeroArcheressSkillAFirst_Actions takes nothing returns nothing
call DisplayTimedTextToForce( GetPlayersAll(), 1.00, ("Запуск переменная равна: " + I2S (HeroArcheressSkillACircle) ) )
call ForGroupBJ( HeroArcheressSkillAGroup, function HeroArcheressSkillAFirst_Damage )
endfunction
===========================================================================
function InitTrig_HeroArcheressSkillAFirst takes nothing returns nothing
set gg_trg_HeroArcheressSkillAFirst = CreateTrigger( )
call TriggerAddAction( gg_trg_HeroArcheressSkillAFirst, function HeroArcheressSkillAFirst_Actions )
endfunction
А с наполнением даже так не пашит.
call DisplayTimedTextToForce( GetPlayersAll(), 1.00, ("Запуск переменная равна: " + I2S (HeroArcheressSkillACircle) ) ) единственная адкватно работающая строка
Хотя если где то ошибка с переменными, он должен был хотя бы сказать:
call DisplayTimedTextToForce( GetPlayersAll(), 1.00, "Выход" )
0
9
8 лет назад
0

» WarCraft 3 / Не работает кусок кода

Она глобальная, прировнял к -1, оно так же пропускает тот же кусок кода
function HeroArcheressSkillAFirst_Damage takes nothing returns nothing
if ( HeroArcheressSkillACircle < HeroArcheressSkillALevel ) then
if ( HeroArcheressSkillACircle == 0 ) then
call PauseUnitBJ( true, GetEnumUnit() )
endif
call UnitDamageTargetBJ( udg_HeroArcheress, GetEnumUnit(), 500, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
set HeroArcheressSkillACircle = HeroArcheressSkillACircle + 1
call TriggerSleepAction (1.00)
call TriggerExecute ( gg_trg_HeroArcheressSkillAFirst )
else
call UnitDamageTargetBJ( udg_HeroArcheress, GetEnumUnit(), 500, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
call TriggerSleepAction (1.00)
call UnitRemoveBuffBJ ( 'B006' , GetEnumUnit() )
call PauseUnitBJ( false , GetEnumUnit() )
call RemoveUnit ( HeroArcheressSkillADammi )
endif
endfunction
function HeroArcheressSkillAFirst_Actions takes nothing returns nothing
call ForGroupBJ( HeroArcheressSkillAGroup, function HeroArcheressSkillAFirst_Damage )
endfunction
===========================================================================
function InitTrig_HeroArcheressSkillAFirst takes nothing returns nothing
set gg_trg_HeroArcheressSkillAFirst = CreateTrigger( )
call TriggerAddAction( gg_trg_HeroArcheressSkillAFirst, function HeroArcheressSkillAFirst_Actions )
endfunction
Переписал, в итоге триггер так же запускается, но дальше, как дело доходит до групп игнорит написанное.
0
9
8 лет назад
0

» WarCraft 3 / Не работает кусок кода

globals
integer PlayerNumber = 1, HeroArcheressSkillALevel, HeroArcheressSkillACircle , HeroDefenderSkllBLevel
location ArcheressAbilityTargetPoint
real Bonus
group HeroArcheressSkillAGroup
unit HeroArcheressSkillADammi
endglobals
При инициализации
0
9
8 лет назад
0

» WarCraft 3 / Способность подвешивает варкрафт при первом применение

УРА! Но это гемор...
function Trig_DeBugTrigger0_Actions takes nothing returns nothing
if (PlayerNumber < 7) then
call SetUnitOwner( udg_HeroDefender, ConvertedPlayer(PlayerNumber), true )
call IssueImmediateOrderById( udg_HeroDefender, 852164 )
call TriggerSleepAction( 1.00 )
call UnitResetCooldown( udg_HeroDefender )
set PlayerNumber = ( PlayerNumber + 1 )
call TriggerSleepAction( 1.00 )
call TriggerExecute( gg_trg_DeBugTrigger0 )
else
KillUnit (udg_HeroDefender)
RemoveUnit (udg_HeroDefender)
set udg_HeroDefender = gg_unit_H000_0001
set udg_HeroDefenderStats[0] = GetHeroStatBJ(bj_HEROSTAT_STR, udg_HeroDefender, true)
set udg_HeroDefenderStats[1] = GetHeroStatBJ(bj_HEROSTAT_AGI, udg_HeroDefender, true)
set udg_HeroDefenderStats[2] = GetHeroStatBJ(bj_HEROSTAT_INT, udg_HeroDefender, true)

endif
endfunction
===========================================================================
function InitTrig_DeBugTrigger0 takes nothing returns nothing
set gg_trg_DeBugTrigger0 = CreateTrigger( )
call TriggerAddAction( gg_trg_DeBugTrigger0, function Trig_DeBugTrigger0_Actions )
endfunction
0
9
8 лет назад
0

» WarCraft 3 / Способность подвешивает варкрафт при первом применение

Придется кинематику пихать -_-'
0
9
8 лет назад
0

» WarCraft 3 / Способность подвешивает варкрафт при первом применение

852164
оно же roar и ему пофиг что в характеристика самой способности написано undestruction
0
9
8 лет назад
0

» WarCraft 3 / Способность подвешивает варкрафт при первом применение

Так я пробовала, не помогает.
0
9
8 лет назад
0

» WarCraft 3 / Способность подвешивает варкрафт при первом применение

Оно может и поможет, но я не знаю как заставить юнита выполнить нестандартный приказ...
Вообщем это дико странно, каждому игроку пиходится юзать эту абилку по отдельность, тобишь сли абилку юзнул нейтрально пассивный, лагает только нейтрально пассивный.
0
9
8 лет назад
0

» WarCraft 3 / Способность подвешивает варкрафт при первом применение

5 уровней это много? =)
А если например я пихну её в дамми юнита ни как не относящегося к игре, и не являющегося тем самым глобальным HeroDefender?
0
9
8 лет назад
0

» WarCraft 3 / Как выбрать поочередно каждого юнита в группе юнитов

Вот смотри, у меня есть UnitGroup в ней 6 юнитов, оно не умеет добавлять по одному и не умеет выделять поочередно. Как мне эти 6 юнитов из группы перенести в массив боевых едениц допустим?
Выделять по одному я не могу потому что он добавляет в группу всех юнитов в 300 АОЕ от героя
И они динамические.
А все, с проблемой разобрался, спасибо.
0
9
8 лет назад
0

» WarCraft 3 / Как выбрать поочередно каждого юнита в группе юнитов

Пример привести можно?
0
9
8 лет назад
0

» WarCraft 3 / Как триггерно сделать бонус защиты

Спасибо. Пойду разбираться с хеш таблицами хД