У меня появилась проблема, мой герой наносит урон равный характеристике в области 300 от него. Как зделать что бы он наносил урон только врагам, а не себе и союзникам вместе?

Полагаю, действия "группа игроков" - лишние. Просто пикай юнитов. И не в регионе, а в радиусе. Там должно быть действие "пикнуть юнитов в радиусе, которые соответствуют каким-то условиям". Вот в matching condition и проверяй "правильность" юнита.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
26
много кода
    globals 
        unit ForFilter1
    endglobals
    
    function EnemiesFilter takes nothing returns boolean
        return (IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(ForFilter1)) and GetHp(GetFilterUnit()) > 0.045 and GetUnitAbilityLevel(GetFilterUnit(), 'Avul') == 0)
    endfunction


    function DamageUnitsInRange takes unit source, real x, real y, real range, real damage, attacktype at, int filter_type returns nothing
        local unit victim
        local group g = CreateGroup()
            if filter_type == 1 then 
                call GroupEnumUnitsInRange(g, x, y, range, Filter(function AllFilter)) 
            elseif filter_type == 2 then 
                set ForFilter1 = source 
                call GroupEnumUnitsInRange(g, x, y, range, Filter(function EnemiesFilter)) 
            endif
                loop
                exitwhen FirstOfGroup(g) == null
                    set victim = FirstOfGroup(g)
                    call UnitDamageTarget(source, victim, damage, true, false, at, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_WHOKNOWS)
                    call GroupRemoveUnit(g, victim)
                endloop
            call GroupClear(g)
            call DestroyGroup(g)
        set g = null
        set victim = null
    endfunction
например так
6
Я выбираю юнитов в области 300, врагов игрока, владельца кастующего(triggering). Всем им(выбраным) наносится урон равный переменной-целочисленной(я соврал про хар-ку) умноженый на 5.
Hate, Я пока с Джассом не дружу)
25
Тык
if IsUnitEnemy (u, p) then
//много кода
endif
//u - твой выбранный юнит, р - владелец юнита кастера
23
Господа, это ж банально даже на гуи. Он на нём-то не смог, а вы джасс суёте.
25
Ах, ты с жассом не в ладах.
Тогда так
Тык
Выбрать всех юнитов в области, соответствуют условию (Если юнит (Совпадающий юнит) = Враг игрока (Владелец юнита(caster))
//кастер - юнит применивший заклинание
6
-Группа игроков - Выбрать каждого игрока врага владельца триггерного юнита.
--Отряд Выбрать юнитов выбранных игроков в области 300 на 300 от позиции триггерного юнита
---Создать дамиюнит на позиции триггерного
---Урон цели - нанести выбранным юнитам урон равный целочисленной переменной умноженой на 5, за каждый уровень способности
Как-то так) выделять я не умею( недавно на сайте
23
Darkew, сделай скриншот триггера (уж это-то, я надеюсь, ты умеешь делать?). Скриншот всего триггера: от событий до последнего действия.
6
Вот, первый список дамиюнитов для эффекта
Загруженные файлы
23
Полагаю, действия "группа игроков" - лишние. Просто пикай юнитов. И не в регионе, а в радиусе. Там должно быть действие "пикнуть юнитов в радиусе, которые соответствуют каким-то условиям". Вот в matching condition и проверяй "правильность" юнита.
Принятый ответ
22
Поставь условие(логическое):
Боевая единица-союзника игрока(владелец юнита,применяющего заклинание)=нет
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.