|
|
|
|
Действие на АОЕ
|
|
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[название дамика]?
|
|
|
|
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, отнюдь в мои темы не заходи. Буду писать в шапке темы предупреждение.
|
|
|
|
Overkills | Дата: Среда, 26 Марта 2014, 19:06:00 | Сообщение # 14 |
Группа: Проверенные
Сообщений: 1785
Награды: 0
Репутация: 880
Блокировки:
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|