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

JIEGEND, зачем ты вопрос закрыл тогда если не решил проблему ещё, ты можешь написать мне, само собой, но я не любитель всяких систем и уж тем более жанра твоей карты, поэтому детально изучать проблему нет желания, на отдельной карте продемонстрирую если нужно будет
Действительно, я же ещё не разобрался, зачем а отметил как вопрос?.... Ну да ладно. Неужели я рассказывал вам про мою карту что вам подобные проекты неинтересны?
3
rsfghd:
Получилось что-то вроде этого, он.... Дело в том что мне нужно задать в переменной не количество юнитов в области, а какую целочисленность для разных юнитов. Например юнит Рыцарь- значение 2, Пеший- 1, Паровой танк- 4. Чтобы каждый отдельный юнит имел собственною характеристику которая могла суммироваться с союзниками юнитами в одной области. Ведь по другому выходит что Входит в область танк где находится пеший, и в итоге получается ничья( так как в области по одному юниту каждого из игроков)
А мне нужно чтобы ,условно, зашёл в область где стоит вражеский пеший, танк. И в итоге он должен выиграть так как у него должно быть значение-4, что больше чем у пешого-1( 4>1). И эта система должна работать с наложением ( то есть суммированием) если в область заходит не один юнит, а несколько системы должна сложить значение этих нескольких входящих, или уже стоящих в области врагов.
Загруженные файлы
28
JIEGEND, ну так используй проверку на тип юнита, очевидно .-.
если юнит равен рыцарю, добавить +2 к переменной, если юнит пехотинец, +1
и нафиг ты выбираешь всех юнитов в области с действием выбрать всех юнитов в области?
у тебя в области могут быть 100 юнитов и получится, что ты сделал 99 лишних действий, т.е. тебе этот цикл вообще нафиг не нужен
3
rsfghd:
К вашей вашей цитате "нафиг ты выбираешь всех юнитов...". Отвечаю. Так нада. Это на всякий случай. И вообще это только заготовка.

JIEGEND, ну так используй проверку на тип юнита, очевидно .-.
если юнит равен рыцарю, добавить +2 к переменной, если юнит пехотинец, +1
и нафиг ты выбираешь всех юнитов в области с действием выбрать всех юнитов в области?
у тебя в области могут быть 100 юнитов и получится, что ты сделал 99 лишних действий, т.е. тебе этот цикл вообще нафиг не нужен
Чуть сложновато для моего гуманитарного ума.... Можно вас попросить сделать заготовку?
3
rsfghd:
Блин, друг. Это то что мне нужно!!!! Спасибо большое, я бы точно не догадался. Теперь я знаю чуточку больше.... Правда надо будет чуточку доработать, но именно ваша система будет в основе моей карты. Ещё раз Благодарю.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.