Доброй ночи, у меня вопрос к знатокам. Можно ли сделать систему для определения типа юнита и его значением. Просто хочу сделать так:
Событие- юнит вошёл в области влияния вражеского юнита
Условие- считать значение входящего(их) юнита(ов)"суммировать значение", и сопоставить его с значением вражеского(ких) юнита(тов) в области " также суммировать значение если юнитов в области несколько".
Действие- Убрать всех юнитов игрока с наименьшим "суммированым значением" в оспариваемой области. При чем убрать туда, куда пожелает владелец проигравших юнитов.
"Значение" в контексте имеется ввиду любое целое число для юнита данного типа.
"Суммированное значение"- значение разных юнитов одного игрока в одной области
Да... Как бы я разобрал всё это у себя в голове, но вот в редакторе ничего внятного не получается. Дело в том что я использую ЧИСТО ТРИГГЕРЫ, так как Мапхак я не осилил(
Прошу простить, и не обессудить. Это вообще- все что я только что рассказывал, возможно сделать именно ТРИГГЕРАМИ?
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
23
Похожие вопросы:

ответ
Сделай тогда так:
code
function Trig_SomeFunction_Conditions takes nothing returns boolean
    if GetSpellAbilityId() == 'SomeSpell' then
        call SomeAction
    endif
    return false
endfunction 

//=========
function InitTrig_SomeFunction takes nothing returns nothing
    set gg_trg_SomeFunction = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_SomeFunction, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( gg_trg_SomeFunction, Condition( function Trig_SomeFunction_Conditions ) )
endfunction
Ты сделаешь проверку в условии и там же запустишь функцию, без лишнего вызова Trig_SomeFunction_Actions . Но это почти одно и то же, что и второй вариант.
Что-то я не понял, что ты подразумеваешь под "порядком" Несколько условий?

Если у тебя несколько условий, то делай градацию, начиная с самого распространенного
code
function Trig_SomeFunction_Conditions takes nothing returns boolean
    if GetSpellAbilityId() == 'SomeSpell' then // Самое распространенное
    if GetUnitState(GetTriggerUnit()) > 100.0 then // Менее распространенное
    if ... then // И т.д. в порядке уменьшения вероятности несрабатывания
        call SomeAction
    endif
    endif
    ....
    return false
endfunction 

//=========
function InitTrig_SomeFunction takes nothing returns nothing
    set gg_trg_SomeFunction = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_SomeFunction, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( gg_trg_SomeFunction, Condition( function Trig_SomeFunction_Conditions ) )
endfunction
ответ
Один ресурс - один вопрос, читайте правила сайта.
ответ
фатал после игры может быть вызван
а) использованием malloc
б) копированием внутриигровых структур (например, структуру сплеша перенес от одного юнита другому, при чистке один раз адрес зачистился, а на втором проходе произошел краш)
в) неизвестным мне образом
ответ
Еще раз, 'Aams' - щит от магии, он дает маг имун и только. 'Aam2' - нейтрализует урон от магии, при этом в цель можно применять заклинания, обрати внимание там другой бафф.
ответ
описанная проблема это движок вара, а не ии. ничего с этим не сделать, на каждого игрока существует лимит юнитов которые нормально управляются, после идут статтеры

28
а в чём проблема, вражеский юнит входит в область, выбрать всех юнитов в этой области и записать их суммарное значение, потом выбрать всех союзных в этой области и тоже записать суммарное значение, в конце просто сравниваешь эти числа
3
а в чём проблема, вражеский юнит входит в область, выбрать всех юнитов в этой области и записать их суммарное значение, потом выбрать всех союзных в этой области и тоже записать суммарное значение, в конце просто сравниваешь эти числа
Я это понимать брат, просто в реализации страдаю. Сколько не пытался выходила балованная хрень. Честно сказать вашу схему ещё не пробовал...

а в чём проблема, вражеский юнит входит в область, выбрать всех юнитов в этой области и записать их суммарное значение, потом выбрать всех союзных в этой области и тоже записать суммарное значение, в конце просто сравниваешь эти числа
Я это понимать, брат, просто в реализации страдаю. Сколько не пытался выходила балованная хрень. Честно сказать вашу схему ещё не пробовал...
38
Предупреждение автору публикации

2 пункта: 10.4 Создание ресурса, название которого не отражает суть вопроса.
3
((цитата
2 пункта: 10.4 Создание ресурса, название которого не отражает суть вопроса.
)) По-моему всё ясно, разве нет. Просто есть люди которые понимают суть вопроса, и люди которые плохо читают
28
JIEGEND, тебе по факту влепили предупреждение, тебе нужно сравнение чисел совокупности юнитов в областях, а не "внимание вопрос"
3
rsfghd:
А, ну тогда приношу свои извинения, я не прав

а в чём проблема, вражеский юнит входит в область, выбрать всех юнитов в этой области и записать их суммарное значение, потом выбрать всех союзных в этой области и тоже записать суммарное значение, в конце просто сравниваешь эти числа
Можно будет если у меня самого не получится, я вам вякну, и ,если вы изволите, поможете мне?
28
JIEGEND, зачем ты вопрос закрыл тогда если не решил проблему ещё, ты можешь написать мне, само собой, но я не любитель всяких систем и уж тем более жанра твоей карты, поэтому детально изучать проблему нет желания, на отдельной карте продемонстрирую если нужно будет
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.