30

» WarCraft 3 / Система отлова нанесённого урона

ScorpioT1000, ну я, например, слабый программист, поэтому сделал как проще и понятнее =)
30

» WarCraft 3 / Система отлова нанесённого урона

ScorpioT1000, у него эвент урона регистрируется только одному триггеру, остальные работают по изменению переменной.
Хотя в целом не лучше и не хуже.
В общем он типа понтанулся тем, что не надо фогруп делать каждому триггеру, ведь "ОНО В ДИНАМИКЕ ЗАЛАГАЕТ", лолд.
30

» WarCraft 3 / Система отлова нанесённого урона

мы будет писать ивенты на всех всех мобов на карте даже когда герои небудут их бить
Эвенты пишутся 1 раз за игру, мастер кода.
дальнейшие твои сообщения будут удаляться в силу твоей некомпетентности.
30

» WarCraft 3 / Система отлова нанесённого урона

О, Господи, почему?!
quq_CCCP, ты тупой, как пробка от вина, ставшего уксусом от того, что купивший его человек думал, что оно станет лучше через десять лет, так как был очень тупым.
На карте есть юниты, много юнитов. Каждый из них может нанести урон любому другому, и чтобы этот урон поймать, надо быть готовым к тому, что КТО УГОДНО получит урон.
30

» WarCraft 3 / Система отлова нанесённого урона

фильтацию твоя система не поддерживает.
*facepalm*
Мне фильтр не нужен - я его не напиал. Офк это сложно, пять строчек добавить, вплоть до "не поддерживается".
Всё ясно с тобой в общем. Изображай, что всё, что не твоё - лажа дальше. С=
30

» WarCraft 3 / Система отлова нанесённого урона

Я уже свою точку зрения подтвердил своей альтернативной системой, которая полностью реализует то о чем я говорил.
Да ладно? "Твоя система говно, эта лучше" - плохой способ подтвердить.
Чем ж она перегружена?
Ты её как хм... ну в общем очень неаккуратно написал.
30

» WarCraft 3 / Система отлова нанесённого урона

Пф, я - не ты, чтобы срач ради факта разводить. Система, по крайней мере на первый взгляд, рабочая, хотя и несколько перегруженная, Косяков вроде множественных ссылок события на одного юнита нету, к чему париться?
Сам бы я её такую не использовал точно, но вполне мог бы заюзать идею про событие переменной. Единственная проблема здесь - я не смогу в вызываемой функции использовать GetEventDamageSource() и GetTriggerUnit(), но это больше косметическое, дело привычки. Хотя можно просто дефайном заменить define GetEventDamageSource() = Source, не убудет.
Может быть, её добавить в первый пост?)
30

» WarCraft 3 / Система отлова нанесённого урона

И после этого ты говоришь, что у меня слабая архитектура. Ridiculous.
Хотя идея неплохая как таковая, а функцию эту лично я активно использую для других целей.
30

» WarCraft 3 / Система отлова нанесённого урона

сейчас не 2002, когда можно было делать "лишь бы работало", сейчас критично важно писать высокопроизводительные библиотеки
железо 2002 года
железо 2013 года
Хо-ро-шо.
нативная функция для этого есть
Как же она называется? Ну-же!
30

» WarCraft 3 / Система отлова нанесённого урона

уф.
1 юнит - 1 ивент.
Каждый юнит на карте должен иметь этот ивент (за явными исключениями вроде ДГУИ) для полноценной работы системы. Так или иначе, тебе придётся пройтись по каждому юниту, чтобы каждый получил этот ивент. Ты не можешь создать свою переменную типа "event", нету нативных функций для этого.
Советую закончить этот спор, ты ведёшь его очень слабо, предоставляя аргументы по принципу "новое - хорошо забытое старое". Количество триггеров, которые работают с этим событием - это только выбор создателя карты. У меня все способности на одном, а счётчики для кое каких систем - на другом. Итого их два, и мне норм.
Кет:
споришь о сферическом коне в вакууме
Порноактёры меряются длинной МПХ, но Файону здесь не повезло, и он пытается хоть в чём-нибудь выпендриться.
30

» WarCraft 3 / Система отлова нанесённого урона

Clamp:
Один раз за всю игру эта регистрация проходит /о
А это что тогда по твоему? ._.
код
Я тебе сказал "А", ты мне ответил "это не А, это Б", я ткнул, что "я сказал А", ты ответил "кэп?"

ScorpioT1000:
чтобы после этого анрегать эвент
ну вот, там обычно ставили 3 секунды, и если с момента атаки проходило больше - урон не регистрировался. Урон от способностей, где в поле boolean attack стояло "false", также не учитывался.
30

» WarCraft 3 / Система отлова нанесённого урона

А это что тогда по твоему?
Это триггер в базу пишется, и для каждого триггера это место ровно один раз вызывается -__-
ScorpioT1000:
на событие "юнит атакован" делать то же самое
Я помню, там ещё таймеры зачем-то создавались, чтобы удалить юнита из подборки D:
Bornikkeny:
Та что была создана Скорпом лучше
ссылку же

в целом я запарился, изображай из себя гения дальше, чо :3
30

» WarCraft 3 / Система отлова нанесённого урона

для каждой регистрации перебор всех юнитов
Один раз за всю игру эта регистрация проходит /о
запускаешь целый цикл, для того что бы регнуть для всех триггеров юнита
Лично у меня один триггер на все эти события, а здесь так написано как раз для того, чтобы система была максимально проста для использования. Цель публикации системы не в том, чтобы показать "ололо, я могу", а чтобы её могли использовать те, кто не в состоянии написать.
ScorpioT1000:
только в дгуи юзал около 800 элементов
Исключительный случай, можно просто влепить фильтр, т.к. регистрация урона им бесполезна.
30

» God's word: The True Way / Срыв покровов или немного о готовности

перейду на StarCraft II и мне будет уже пополам на всё, что выходит под WarCraft III
Сейчас ск2 - как ПС: нету игор, только ладдер
30

» WarCraft 3 / Система отлова нанесённого урона

перебор пары тысяч юнитов
даже если ты умудришься засрать свою карту таким количеством войск, то это не повлияет ни на что, ибо инициализация системы длиться секунду, после чего никакой нагрузки она не оказывает.
Ты мог бы и увидеть это в коде, имей хоть какой-нибудь запас интеллекта. Впрочем, тебе простительно.
30

» WarCraft 3 / Система отлова нанесённого урона

если кто то додумается юзать это в большом проекте, то этот человек повесит себе проект
Аргументация?
Ах, прости, я забыл, это не твоя сильная сторона, аргументировать своё мнение.
Мнение СВДНа о ней, который сказал, что она не имеет недостатков (версия с массивом триггеров) я ценю (почему бы? а, он не голословит) заметно больше твоего.
30

» WarCraft 3 / Система отлова нанесённого урона

Нахрен не нужно.
ScorpioT1000:
наработка рядовая, хз зачем вы там срач устроили
Faion, успокойся, смысла во всём этом цирке никакого нету. Все системы состоятельны, и эта ничем не хуже любой другой на тему.
30

» WarCraft 3 / Система отлова нанесённого урона

Ну, вообще там действительно нечему лагать =)
Кстати, версия без проблемы с условием:
Код*
library UnitDamaged initializer InitRect
{
    private region  Region
    private group   Group
    private int     TrigsNum = 0
    private trigger array Trigger
    
    private void Adder()
    {
        int i = 0
        loop
        {
            TriggerRegisterUnitEvent(Trigger[i],GetEnteringUnit(),EVENT_UNIT_DAMAGED)
            exitwhen i==TrigsNum
            i++
        }
        GroupAddUnit(Group,GetEnteringUnit())
    }
    
    private void Registrator()
    {
        TriggerRegisterUnitEvent(Trigger[TrigsNum],GetEnumUnit(),EVENT_UNIT_DAMAGED)
    }
    
    void AnyUnitDamagedEvent(trigger trg)
    {
        Trigger[TrigsNum]=trg
        ForGroup(Group,function Registrator)
        TrigsNum++
    }

    private void InitRect()
    {
        trigger trg = CreateTrigger()
        Group = CreateGroup()
        Region = CreateRegion()
        GroupEnumUnitsInRect(Group,bj_mapInitialPlayableArea,null)
        RegionAddRect(Region, bj_mapInitialPlayableArea)
        TriggerRegisterEnterRegion(trg,Region,null)
        TriggerAddAction(trg,function Adder)
    }
}

*не тестировал, но должно работать