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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Действие на АОЕ
OverkillsДата: Среда, 26 Марта 2014, 14:38:42 | Сообщение # 1
Группа: Проверенные
Сообщений: 1785
Награды: 0
Репутация: 880
Блокировки:
Проблема заключается в том, что когда юзаешь спелл - первый раз ничего абсолютно не делается( спецэффекты создаются, я о том, что не наносится урон, не замедляет даммик, и не станит даммик. Спелл заключается в том, что наносит по АОЕ врагам урон, станит их, и замедляет ). Второй раз используешь - все нормально. В чем фишка? Как исправить?


Добавлено (26 Марта 2014, 14:38:42)
---------------------------------------------
2 одинаковых ифа, тупанул. но не в этом трабла




Сообщение отредактировал Overkills - Среда, 26 Марта 2014, 14:37:44
 

vov68Дата: Среда, 26 Марта 2014, 15:16:53 | Сообщение # 2
10 уровень
Группа: Проверенные
Сообщений: 1329
Награды: 3
Блокировки:
переменные STUN, SLOW у тебя где задаются?

Зачем делать для других новые карты...
... лучше устроить коту божественный почесон. :)
 

OverkillsДата: Среда, 26 Марта 2014, 15:43:02 | Сообщение # 3
Группа: Проверенные
Сообщений: 1785
Награды: 0
Репутация: 880
Блокировки:
Всмысле?... Это название даммиков.

 

MelodiaДата: Среда, 26 Марта 2014, 15:49:36 | Сообщение # 4
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
Цитата Overkills ()
Всмысле?... Это название даммиков.

Ага. Интересно как понимать Spirit[STUn] - Spirit[название дамика]?


CM wars 1.15
ЭПОХА АНИМИРОВАННЫХ ТРИГГИРАФ ПРЕШЛА
 

vov68Дата: Среда, 26 Марта 2014, 15:50:21 | Сообщение # 5
10 уровень
Группа: Проверенные
Сообщений: 1329
Награды: 3
Блокировки:
Цитата Overkills ()
Это название даммиков.

а я думал это массивы

переменную MUI где обнуляешь?
и ещё - наставь между строчками сообщения разные, чтобы проверить выполняемость условий


Зачем делать для других новые карты...
... лучше устроить коту божественный почесон. :)
 

OverkillsДата: Среда, 26 Марта 2014, 16:21:41 | Сообщение # 6
Группа: Проверенные
Сообщений: 1785
Награды: 0
Репутация: 880
Блокировки:
Цитата vov68 ()
а я думал это массивы

там же пробел
Цитата vov68 ()
переменную MUI где обнуляешь?

забыл. на скорую руку делал

ща проверим

Добавлено (26 Марта 2014, 16:03:22)
---------------------------------------------
Как ни странно, но это пишет. оО

Добавлено (26 Марта 2014, 16:21:41)
---------------------------------------------
ТС решил апнуть темку, которая была заброшена в течении 20 минут.


 

ExtrematorДата: Среда, 26 Марта 2014, 17:15:44 | Сообщение # 7
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
мне кажется ты MUI как-то не так используешь...

задаёшь при касте... потом проверяешь спелл... лол?
дальше пикаешь группу неудобным отрядом - мб в первый раз он никого и не пикает?
размерность массива для группы стоит?

Добавлено (26 Марта 2014, 17:15:44)
---------------------------------------------

Цитата vov68 ()
переменную MUI где обнуляешь?
Штаааааа? Зачем обнулять глобальную переменную?!
 

OverkillsДата: Среда, 26 Марта 2014, 17:21:30 | Сообщение # 8
Группа: Проверенные
Сообщений: 1785
Награды: 0
Репутация: 880
Блокировки:
Цитата Extremator ()
задаёшь при касте... потом проверяешь спелл... лол?

Цитата Overkills ()
2 одинаковых ифа, тупанул. но не в этом трабла

Цитата Extremator ()
дальше пикаешь группу неудобным отрядом - мб в первый раз он никого и не пикает?

А как ты предлагаешь?
Цитата Extremator ()
размерность массива для группы стоит?

+


 

ExtrematorДата: Среда, 26 Марта 2014, 18:01:18 | Сообщение # 9
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
Цитата Overkills ()
А как ты предлагаешь?
отряд
и в него уж тыкаешь иф
если
- условие 1
- условие 2
- условие 3 и т.д.
то
-добавить в группу

. . .

дальше, зачем тебе запоминать в группу с массивом, если ты её тут же очищаешь
сделай группу без массива, в неё занёс, и очистил... всё
 

OverkillsДата: Среда, 26 Марта 2014, 18:21:35 | Сообщение # 10
Группа: Проверенные
Сообщений: 1785
Награды: 0
Репутация: 880
Блокировки:
Убрал массив у группы - вообще ничего не делается. Ни с какого раза.

Добавлено (26 Марта 2014, 18:21:07)
---------------------------------------------
Не, там просто иф кривой был. Все по прежнему - 1 раз не юз.

Добавлено (26 Марта 2014, 18:21:35)
---------------------------------------------

Цитата Extremator ()
отряд
и в него уж тыкаешь иф
если
- условие 1
- условие 2
- условие 3 и т.д.
то
-добавить в группу

Ты имеешь ввиду, чтобы я не делал все 3 ифа в 1 строчку?


 

Q1wAseДата: Среда, 26 Марта 2014, 19:03:18 | Сообщение # 11
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
Юзай локалки.

Добавлено (26 Марта 2014, 19:03:18)
---------------------------------------------
Столько репы у юзера, а мозгов...


 

OverkillsДата: Среда, 26 Марта 2014, 19:04:24 | Сообщение # 12
Группа: Проверенные
Сообщений: 1785
Награды: 0
Репутация: 880
Блокировки:
Q1wAse, отнюдь в мои темы не заходи. Буду писать в шапке темы предупреждение.

 

Q1wAseДата: Среда, 26 Марта 2014, 19:05:09 | Сообщение # 13
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
Да кстати когда спецэффект создаёшь циклом, то одновременно создаёшь 12 точек не удаляя их, отсюда вывод => утечки.

Добавлено (26 Марта 2014, 19:05:09)
---------------------------------------------

Цитата Overkills ()
Q1wAse, отнюдь в мои темы не заходи. Буду писать в шапке темы предупреждение.

ahaha


 

OverkillsДата: Среда, 26 Марта 2014, 19:06:00 | Сообщение # 14
Группа: Проверенные
Сообщений: 1785
Награды: 0
Репутация: 880
Блокировки:
trollface

 

Q1wAseДата: Среда, 26 Марта 2014, 19:12:58 | Сообщение # 15
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
У тебя там такая есть штука где ты делаешь так
variable[udg_Mui+1] = ....
+1 в этом тоже проблема, лучше создай новую переменную с другим именем. А то с таймером если будешь работать никакого муи не будет.

Если не сложно конвертируй GUI в текст и скинь сюда как Jass код.

ну как хочешь..




Сообщение отредактировал Q1wAse - Среда, 26 Марта 2014, 19:17:39
 

OverkillsДата: Среда, 26 Марта 2014, 19:21:24 | Сообщение # 16
Группа: Проверенные
Сообщений: 1785
Награды: 0
Репутация: 880
Блокировки:
Я сейчас немого занят. Ты хотел локальными их сделать, или что?

 

Q1wAseДата: Среда, 26 Марта 2014, 19:23:54 | Сообщение # 17
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
Цитата Overkills ()
Ты хотел локальными их сделать, или что?

нет, хотел узнать почему работает только со 2 каста.


 

OverkillsДата: Среда, 26 Марта 2014, 19:25:30 | Сообщение # 18
Группа: Проверенные
Сообщений: 1785
Награды: 0
Репутация: 880
Блокировки:
Код
function Trig_Spirits_____________________u_Func007002001001001 takes nothing returns boolean
     return ( IsUnitAliveBJ(GetEnumUnit()) == true )
endfunction

function Trig_Spirits_____________________u_Func007002001001002 takes nothing returns boolean
     return ( IsPlayerEnemy(GetOwningPlayer(GetEnumUnit()), GetOwningPlayer(udg_Spirit_Caster[udg_MUI])) == true )
endfunction

function Trig_Spirits_____________________u_Func007002001001 takes nothing returns boolean
     return GetBooleanAnd( Trig_Spirits_____________________u_Func007002001001001(), Trig_Spirits_____________________u_Func007002001001002() )
endfunction

function Trig_Spirits_____________________u_Func007002001002 takes nothing returns boolean
     return ( IsUnitVisible(GetEnumUnit(), GetOwningPlayer(udg_Spirit_Caster[udg_MUI])) == true )
endfunction

function Trig_Spirits_____________________u_Func007002001 takes nothing returns boolean
     return GetBooleanAnd( Trig_Spirits_____________________u_Func007002001001(), Trig_Spirits_____________________u_Func007002001002() )
endfunction

function Trig_Spirits_____________________u_Func007002 takes nothing returns nothing
     if ( Trig_Spirits_____________________u_Func007002001() ) then
         call GroupAddUnitSimple( GetEnumUnit(), udg_Spirit_Group )
     else
         call DoNothing(  )
     endif
endfunction

function Trig_Spirits_____________________u_Func008Func007Func002C takes nothing returns boolean
     if ( not ( IsUnitVisible(GetEnumUnit(), Player(PLAYER_NEUTRAL_PASSIVE)) == true ) ) then
         return false
     endif
     return true
endfunction

function Trig_Spirits_____________________u_Func008Func007A takes nothing returns nothing
     call SetPlayerAllianceStateBJ( GetOwningPlayer(udg_Spirit_Caster[udg_MUI]), Player(PLAYER_NEUTRAL_PASSIVE), bj_ALLIANCE_NEUTRAL_VISION )
     if ( Trig_Spirits_____________________u_Func008Func007Func002C() ) then
         call UnitShareVisionBJ( true, GetEnumUnit(), GetOwningPlayer(udg_Spirit_Caster[udg_MUI]) )
         call IssueTargetOrderBJ( udg_Spirit_Dummy[udg_MUI], "thunderbolt", GetEnumUnit() )
         call UnitDamageTargetBJ( udg_Spirit_Caster[udg_MUI], GetEnumUnit(), ( 125.00 * I2R(GetUnitAbilityLevelSwapped('A000', udg_Spirit_Caster[udg_MUI])) ), ATTACK_TYPE_HERO, DAMAGE_TYPE_UNIVERSAL )
         call IssueTargetOrderBJ( udg_Spirit_Dummy[( udg_MUI + 1 )], "slow", GetEnumUnit() )
         call UnitShareVisionBJ( false, GetEnumUnit(), GetOwningPlayer(udg_Spirit_Caster[udg_MUI]) )
     else
     endif
     call SetPlayerAllianceStateBJ( GetOwningPlayer(udg_Spirit_Caster[udg_MUI]), Player(PLAYER_NEUTRAL_PASSIVE), bj_ALLIANCE_NEUTRAL )
endfunction

function Trig_Spirits_____________________u_Func008C takes nothing returns boolean
     if ( not ( IsUnitGroupEmptyBJ(udg_Spirit_Group) == false ) ) then
         return false
     endif
     return true
endfunction

function Trig_Spirits_____________________u_Actions takes nothing returns nothing
     set udg_MUI = ( udg_MUI + 1 )
     set udg_Spirit_Caster[udg_MUI] = GetSpellAbilityUnit()
     set udg_Spirit_Location[udg_MUI] = GetUnitLoc(udg_Spirit_Caster[udg_MUI])
     set bj_forLoopAIndex = 1
     set bj_forLoopAIndexEnd = 12
     loop
         exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
         call AddSpecialEffectLocBJ( PolarProjectionBJ(udg_Spirit_Location[udg_MUI], 500.00, ( 30.00 * I2R(GetForLoopIndexA()) )), "Abilities\\Spells\\Undead\\AnimateDead\\AnimateDeadTarget.mdl" )
         call DestroyEffectBJ( GetLastCreatedEffectBJ() )
         set bj_forLoopAIndex = bj_forLoopAIndex + 1
     endloop
     set bj_wantDestroyGroup = true
     call ForGroupBJ( GetUnitsInRangeOfLocAll(500.00, udg_Spirit_Location[udg_MUI]), function Trig_Spirits_____________________u_Func007002 )
     if ( Trig_Spirits_____________________u_Func008C() ) then
         call CreateNUnitsAtLoc( 1, 'h001', GetOwningPlayer(udg_Spirit_Caster[udg_MUI]), udg_Spirit_Location[udg_MUI], GetRandomDirectionDeg() )
         set udg_Spirit_Dummy[udg_MUI] = GetLastCreatedUnit()
         call UnitApplyTimedLifeBJ( 3.14, 'BTLF', udg_Spirit_Dummy[udg_MUI] )
         call CreateNUnitsAtLoc( 1, 'h002', GetOwningPlayer(udg_Spirit_Caster[udg_MUI]), udg_Spirit_Location[udg_MUI], GetRandomDirectionDeg() )
         set udg_Spirit_Dummy[( udg_MUI + 1 )] = GetLastCreatedUnit()
         call UnitApplyTimedLifeBJ( 3.14, 'BTLF', udg_Spirit_Dummy[( udg_MUI + 1 )] )
         call ForGroupBJ( udg_Spirit_Group, function Trig_Spirits_____________________u_Func008Func007A )
         call GroupClear( udg_Spirit_Group )
     else
     endif
     call RemoveLocation(udg_Spirit_Location[udg_MUI])
     set udg_MUI = 0
endfunction


 

Q1wAseДата: Среда, 26 Марта 2014, 19:34:28 | Сообщение # 19
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
не понял, триггер без события ?

 

OverkillsДата: Среда, 26 Марта 2014, 19:36:39 | Сообщение # 20
Группа: Проверенные
Сообщений: 1785
Награды: 0
Репутация: 880
Блокировки:
Я только действия скопировал. Зачем тебе событие и условия?...

 

Q1wAseДата: Среда, 26 Марта 2014, 19:38:40 | Сообщение # 21
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
Цитата Overkills ()
Я только действия скопировал. Зачем тебе событие и условия?...

ну я же просил
Цитата Q1wAse ()
конвертируй GUI в текст

В иначе или ещё где не используй ничего не делать, оно не нужно. Лишнее.




Сообщение отредактировал Q1wAse - Среда, 26 Марта 2014, 19:39:24
 

OverkillsДата: Среда, 26 Марта 2014, 19:41:15 | Сообщение # 22
Группа: Проверенные
Сообщений: 1785
Награды: 0
Репутация: 880
Блокировки:
Код
function Trig_Spirits_____________________u_Conditions takes nothing returns boolean
     if ( not ( GetSpellAbilityId() == 'A000' ) ) then
         return false
     endif
     return true
endfunction

function Trig_Spirits_____________________u_Func007002001001001 takes nothing returns boolean
     return ( IsUnitAliveBJ(GetEnumUnit()) == true )
endfunction

function Trig_Spirits_____________________u_Func007002001001002 takes nothing returns boolean
     return ( IsPlayerEnemy(GetOwningPlayer(GetEnumUnit()), GetOwningPlayer(udg_Spirit_Caster[udg_MUI])) == true )
endfunction

function Trig_Spirits_____________________u_Func007002001001 takes nothing returns boolean
     return GetBooleanAnd( Trig_Spirits_____________________u_Func007002001001001(), Trig_Spirits_____________________u_Func007002001001002() )
endfunction

function Trig_Spirits_____________________u_Func007002001002 takes nothing returns boolean
     return ( IsUnitVisible(GetEnumUnit(), GetOwningPlayer(udg_Spirit_Caster[udg_MUI])) == true )
endfunction

function Trig_Spirits_____________________u_Func007002001 takes nothing returns boolean
     return GetBooleanAnd( Trig_Spirits_____________________u_Func007002001001(), Trig_Spirits_____________________u_Func007002001002() )
endfunction

function Trig_Spirits_____________________u_Func007002 takes nothing returns nothing
     if ( Trig_Spirits_____________________u_Func007002001() ) then
         call GroupAddUnitSimple( GetEnumUnit(), udg_Spirit_Group )
     else
         call DoNothing(  )
     endif
endfunction

function Trig_Spirits_____________________u_Func008Func007Func002C takes nothing returns boolean
     if ( not ( IsUnitVisible(GetEnumUnit(), Player(PLAYER_NEUTRAL_PASSIVE)) == true ) ) then
         return false
     endif
     return true
endfunction

function Trig_Spirits_____________________u_Func008Func007A takes nothing returns nothing
     call SetPlayerAllianceStateBJ( GetOwningPlayer(udg_Spirit_Caster[udg_MUI]), Player(PLAYER_NEUTRAL_PASSIVE), bj_ALLIANCE_NEUTRAL_VISION )
     if ( Trig_Spirits_____________________u_Func008Func007Func002C() ) then
         call UnitShareVisionBJ( true, GetEnumUnit(), GetOwningPlayer(udg_Spirit_Caster[udg_MUI]) )
         call IssueTargetOrderBJ( udg_Spirit_Dummy[udg_MUI], "thunderbolt", GetEnumUnit() )
         call UnitDamageTargetBJ( udg_Spirit_Caster[udg_MUI], GetEnumUnit(), ( 125.00 * I2R(GetUnitAbilityLevelSwapped('A000', udg_Spirit_Caster[udg_MUI])) ), ATTACK_TYPE_HERO, DAMAGE_TYPE_UNIVERSAL )
         call IssueTargetOrderBJ( udg_Spirit_Dummy[( udg_MUI + 1 )], "slow", GetEnumUnit() )
         call UnitShareVisionBJ( false, GetEnumUnit(), GetOwningPlayer(udg_Spirit_Caster[udg_MUI]) )
     else
     endif
     call SetPlayerAllianceStateBJ( GetOwningPlayer(udg_Spirit_Caster[udg_MUI]), Player(PLAYER_NEUTRAL_PASSIVE), bj_ALLIANCE_NEUTRAL )
endfunction

function Trig_Spirits_____________________u_Func008C takes nothing returns boolean
     if ( not ( IsUnitGroupEmptyBJ(udg_Spirit_Group) == false ) ) then
         return false
     endif
     return true
endfunction

function Trig_Spirits_____________________u_Actions takes nothing returns nothing
     set udg_MUI = ( udg_MUI + 1 )
     set udg_Spirit_Caster[udg_MUI] = GetSpellAbilityUnit()
     set udg_Spirit_Location[udg_MUI] = GetUnitLoc(udg_Spirit_Caster[udg_MUI])
     set bj_forLoopAIndex = 1
     set bj_forLoopAIndexEnd = 12
     loop
         exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
         call AddSpecialEffectLocBJ( PolarProjectionBJ(udg_Spirit_Location[udg_MUI], 500.00, ( 30.00 * I2R(GetForLoopIndexA()) )), "Abilities\\Spells\\Undead\\AnimateDead\\AnimateDeadTarget.mdl" )
         call DestroyEffectBJ( GetLastCreatedEffectBJ() )
         set bj_forLoopAIndex = bj_forLoopAIndex + 1
     endloop
     set bj_wantDestroyGroup = true
     call ForGroupBJ( GetUnitsInRangeOfLocAll(500.00, udg_Spirit_Location[udg_MUI]), function Trig_Spirits_____________________u_Func007002 )
     if ( Trig_Spirits_____________________u_Func008C() ) then
         call CreateNUnitsAtLoc( 1, 'h001', GetOwningPlayer(udg_Spirit_Caster[udg_MUI]), udg_Spirit_Location[udg_MUI], GetRandomDirectionDeg() )
         set udg_Spirit_Dummy[udg_MUI] = GetLastCreatedUnit()
         call UnitApplyTimedLifeBJ( 3.14, 'BTLF', udg_Spirit_Dummy[udg_MUI] )
         call CreateNUnitsAtLoc( 1, 'h002', GetOwningPlayer(udg_Spirit_Caster[udg_MUI]), udg_Spirit_Location[udg_MUI], GetRandomDirectionDeg() )
         set udg_Spirit_Dummy[( udg_MUI + 1 )] = GetLastCreatedUnit()
         call UnitApplyTimedLifeBJ( 3.14, 'BTLF', udg_Spirit_Dummy[( udg_MUI + 1 )] )
         call ForGroupBJ( udg_Spirit_Group, function Trig_Spirits_____________________u_Func008Func007A )
         call GroupClear( udg_Spirit_Group )
     else
     endif
     call RemoveLocation(udg_Spirit_Location[udg_MUI])
     set udg_MUI = 0
endfunction

//===========================================================================
function InitTrig_Spirits_____________________u takes nothing returns nothing
     set gg_trg_Spirits_____________________u = CreateTrigger(  )
     call TriggerRegisterAnyUnitEventBJ( gg_trg_Spirits_____________________u, EVENT_PLAYER_UNIT_SPELL_EFFECT )
     call TriggerAddCondition( gg_trg_Spirits_____________________u, Condition( function Trig_Spirits_____________________u_Conditions ) )
     call TriggerAddAction( gg_trg_Spirits_____________________u, function Trig_Spirits_____________________u_Actions )
endfunction


Там просто действие в 1 строчку было. А в "Иначе" надо было что-то вставить.


 

Q1wAseДата: Среда, 26 Марта 2014, 19:45:41 | Сообщение # 23
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
У тебя в конце кода вот такая ошибка
udg_MUI = 0
А надо вот так
udg_Mui = udg_Mui - 1
Но оно не влияет не на что если там вейтов нет.

Если вейтов/таймеров нет, то зачем создавать массив из переменных ?
Можно и без него обойтись.
Просто делай без массива.




Сообщение отредактировал Q1wAse - Среда, 26 Марта 2014, 19:47:40
 

OverkillsДата: Среда, 26 Марта 2014, 19:46:18 | Сообщение # 24
Группа: Проверенные
Сообщений: 1785
Награды: 0
Репутация: 880
Блокировки:
Запомню. Только вот:
Цитата Extremator ()
Штаааааа? Зачем обнулять глобальную переменную?!

Добавлено (26 Марта 2014, 19:46:18)
---------------------------------------------
Я просто не знал. Первый раз МУИ делаю. ( Оно, конечно, не столь важно, просто хотелось.


 

Q1wAseДата: Среда, 26 Марта 2014, 19:51:28 | Сообщение # 25
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
выше ты не прочёл



Сообщение отредактировал Q1wAse - Среда, 26 Марта 2014, 19:57:45
 

  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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