2

» WarCraft 3 / Передача локальной переменной

Ладно, ребят это уже даже не смешно, пойду почитаю руководство по другим языкам, может по аналогии пойму. Закрываемся.
p.s. quq_CCCP, иди ты задницу а?
2 пункта и 4 часа тишины от Raised: 2.2 (троллинг)
2

» WarCraft 3 / Передача локальной переменной

8gabriel8, вот мне тоже знаний не хватило, потому я пошел сюда и завал вопрос об работке как раз через take и return в ответ что получил, ты видел.
2

» WarCraft 3 / Передача локальной переменной

Строить код так что бы ничего не переносит.... ДА ТЫ ЧТО? СЕРЬЕЗНО? А на кой черт ты мне это пишешь, у тебя глаз нету, прочитать вопрос который я задал уже раз 5 в теме? Или ты правда издеваешься?
2

» WarCraft 3 / Передача локальной переменной

quq_CCCP, радость моя ты издеваешься? Ну прошу же БЕЗ глобальных переменных, используя глобальную у меня и вопросов то не возникнет.
2

» WarCraft 3 / Передача локальной переменной

8gabriel8, да ё моем, я что действительно прозрачным пишу? Причем тут конкретно этот триггер, я в шапке темы задал вопрос о переносе локальной переменной из функции в функцию. А если у меня будет 10 юнитов создано, мне тоже bj_lastCreatedUnit использовать в будущем?
2

» WarCraft 3 / Передача локальной переменной

pro100master, да вообще не важно, я просто хочу получить ответ на вопрос и с примером. Да я только начал это все изучать и наткнулся на такую вот кочку, пришел сюда, задал вопрос, а в ответ получил кучу бессвязного бреда, пару ответов без конкретных примеров, кучку ненужной критики и вопросов не по теме.
Пишу последний раз "пожалуйста дайте ответ на вопрос заданный в начале темы, с примером" - если у вас нет ответа или желания делать пример, пропустите тему мимо.
Этот оффтоп (да спросить зачем юнит или эффект это оффтоп, так как не имеет никакого отношения к вопросу в теме, уже не говоря про то, что я читал..), совершенно мне не помогает.
2

» WarCraft 3 / Передача локальной переменной

Описываю, используется способность, создается юнит, записывается в локальную переменную. Далее вокруг юнита выбираются все войска и заносятся в группу (глобальную переменную).
Выбираются войска из группы которые являются не союзниками кастера, и от лица созданного юнита (а именно от лица локальной переменной) наносится урон по формуле.
Всем союзникам вокруг созданного юнита восстанавливает здоровье по формуле.
Спец эффект вешается на созданного юнита (и тоже заносится в локальную переменную).
quq_CCCP, вот по этому я и прошу, ответить сугубо по вопросу об локальной переменной. Что бы не залезать в дебри. С условиями и прочими действиями я разберусь потом. В случае смерти юнита при таргет способности или пассивного эффекта от триггерного урона, герой встанет. Не знаю уж почему и как, но так и выходит, так что приходится создавать доп юнита, что бы от его лица наносился урон.
2

» WarCraft 3 / Передача локальной переменной

quq_CCCP, боже, пожалуйста, я просто хочу узнать как перенести локальную переменную из одной функции в другую, не используя глобальную, зачем ты меня пытаешься добить дополнительными вопросами? Я еще не дошел до утечек. А юнита создаю, для того, что бы он наносил урон, а не кастер, так как если ставить урон от кастера, сбивается приказ.
Raised:
Что касается перенесения (записи) чего-либо в локальную переменную - тебе нужно объявить переменную в начале функции и записать в нее ссылку объект-участник события. Если тебе необходимо выполнить какие-то действия над объектом, который ты записал в переменную, необходимо воспользоватся связкой (таймер + хеш-таблица).
А можно простой пример? (хоть скриншотом, хоть кодом, как удобно)
2

» WarCraft 3 / Передача локальной переменной

quq_CCCP, прошу (а по поводу переписывания, то при конвертации в текст, ничего особо "нового" не выйдет).

code

function Trig_Dark_Explosion_Copy_Conditions takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'A005' ) ) then
        return false
    endif
    return true
endfunction

function Trig_Dark_Explosion_Copy_Func010Func001C takes nothing returns boolean
    if ( not  ( IsUnitAlly(GetEnumUnit(),GetOwningPlayer(GetSpellAbilityUnit()))!=true ) ) then
        return false
    endif
    return true
endfunction

function Trig_Dark_Explosion_Copy_Func010A takes nothing returns nothing
    if ( Trig_Dark_Explosion_Copy_Func010Func001C() ) then
        call UnitDamageTargetBJ( udg_u_dark1, GetEnumUnit(), ( I2R(GetHeroStatBJ(bj_HEROSTAT_STR, GetSpellAbilityUnit(), true)) * 25.00 ), ATTACK_TYPE_NORMAL, DAMAGE_TYPE_UNIVERSAL )
    else
        call SetUnitLifeBJ(GetEnumUnit(), ( GetUnitStateSwap(UNIT_STATE_LIFE, GetEnumUnit()) + I2R(GetHeroStatBJ(bj_HEROSTAT_STR, GetSpellAbilityUnit(), true))))
    endif
endfunction

function Trig_Dark_Explosion_Copy_Actions takes nothing returns nothing
    local effect e = null
    local unit u = null
    call CreateNUnitsAtLocFacingLocBJ( 1, 'e000', Player(0), GetUnitLoc(GetSpellAbilityUnit()), GetUnitLoc(GetTriggerUnit()) )
    set u = GetLastCreatedUnit()
    call AddSpecialEffectLocBJ(GetUnitLoc(u), "war3mapImported\\DarkNova.mdx")
    set e = GetLastCreatedEffectBJ()
    call SetUnitLifeBJ(GetSpellAbilityUnit(), ( GetUnitStateSwap(UNIT_STATE_LIFE, GetSpellAbilityUnit()) + ( I2R(GetHeroStatBJ(bj_HEROSTAT_STR, GetSpellAbilityUnit(), true)) * 3.00 ) ))
    set udg_ug_dark2=GetUnitsInRangeOfLocAll(650.00, GetUnitLoc(u))
    call ForGroupBJ( udg_ug_dark2, function Trig_Dark_Explosion_Copy_Func010A )
    call DestroyGroup(udg_ug_dark2)
    call DestroyEffect(e)
    call RemoveUnit(u)
endfunction

//===========================================================================
function InitTrig_Dark_Explosion_Copy takes nothing returns nothing
    set gg_trg_Dark_Explosion_Copy = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Dark_Explosion_Copy, EVENT_PLAYER_UNIT_SPELL_CAST )
    call TriggerAddCondition( gg_trg_Dark_Explosion_Copy, Condition( function Trig_Dark_Explosion_Copy_Conditions ) )
    call TriggerAddAction( gg_trg_Dark_Explosion_Copy, function Trig_Dark_Explosion_Copy_Actions )
endfunction
замечание от Raised: Пожалуйста используйте форматирование.
2

» WarCraft 3 / Передача локальной переменной

Raised, мне нужно вместо глобальной udg_u_dark1 переменной использовать локальную u, а ее как то перенести в функцию, не используя глобальную.
Загруженные файлы