Что за бред, какое сравнение времени? Ч с такими познаниями Нафиг делать в редакторе триггеров.
событие, таймер истек. Условие последний истекший таймер = таймер с иедексоМ N где N итератор цикла ы котором идет проверка.
Никак, ваще никак низя повлиять на ии нейтралов. если вы не хотите чтобы нейтралы сами юзали спеллы, сделайте им все спеллы на основе канала.
Ну у так, лучше не использовать слоты нейтралов для своих целей, дурацкий ии нейтралов создает множество проблем.
Чето совершенно непонятно что вам нужно, найти тот таймер и его индекс в массиве, который истек и запустил триггер?
Ну очень просто , перебором в цикле всех таймеров и смотреть кто истек, тот кто истек того индекс вы и получите, считая шаги цикла.
В чем проблема?.
(100+ таймеров и массив по мне идиотия, неужели нельзя было воспользоваться хештаблицей и создавать\удалять таймеры по мере надобности)
Clamp, чему ты учишь этих гуярей, блин! Есть способность 'Afod' (figer of death) рус. - Перст смерти, настрой урон на 0, выбери в качестве анимации молнии - манаберн, установи в поле - Длительность граффики - желаемое время. Вот и все, кастуй на здоровье с помощью даммика или основного героя\юнита для спецэффектов.
Если это код orchid malevolence из доты, то без триггера не обойтись, нужно ловить урон по цели, факт того что цель сдохла или потеряла бафф.
Другое дело что у фрога есть система (написанная кем то умным) которая отключает триггер, заносит его в массив. Отдельный таймер переберает массив раз в N сек и смотрит сколько прошло времени с начала занесения триггера в массив, если больше 60 сек. то удаляет триггер. AntiMage, Что наш юнный IceFrog пытается изобрести в этот раз?
Хм, TCX же открыть и Toadcop онлайн бывает, что мешаело его спросить?
Начет производительности имхо это все очень тяжело, там же реализация собственного движения юнито и снарядов.
Morkoffka, неправильно мыслишь, событие - в данном случае ссылка, которая добавлена в структуру обьекта, тут не челеовек следит за машиной как у тебя, а машина следит что еслить ли человек и заставляет его остановить.
Внутренний обработчик обьекта срабатывая на событие (их множество, их даже больше чем предоставлено в jass) вызывает триггер, глядя на список ссылок обьекта.
Так что что либо поменять нельзя, события не удаляются. Можно удалить триггер и связанный с ним обьект, но никак нельзя удалить событие триггера оставив триггер и\или обьект на котором и весит событие.
Эмм, ничего что морф это чаннелинг переключатель.
И внезапно он кастуется и нужно событие - юнит завершил кастовать.
Вспомни сколько уходит времени на анимацию у медведя друида при превращении.
Перечислены типы данных языка JASS, тут приведены типы данных, логическая, код (тебе рано об этом типе), хендл (ссылка на обьект), целочисленная, вещественная, строка.
handle это обьект, причем не важно юнит, локация, или триггер - это все обькты, они поделены на поддтипы для удобства. События требют только handle (кропе пары отбитых, на тип real но они работают криво, их никто не использует)
Так что статьи в помощь.
И кстати забыл написать, у одного триггера может быть множество событий, условий и действий, причем совершенно разных.
quq_CCCP, да тут незнание основ а ты api и принципы работы триггеров пихаешь
Ну пусть учит, раз задает вопрос по типу - есть или нет такая то функция, смотришь в jass API там все функции языка JASS2 + есть коментарии разработчиков насчет отдельных функций, думаю даже обезьяна поймет, что к чему.
TriggerAddAction ваще никак не связана с событием, это действия триггера, их можно добавлять и удалять одному и тому же триггеру сколько угодно раз.
Вот только не думаю что если вы задаете такие вопросы то сможите осилить динамическую смену действий триггера.
Все функции для работы с триггерами, а так же с их условиями или действиями можно посмотреть jass_API
Простите а что вы вдруг собрались делать что вам вдруг события с переменными нужны или вовсе удалять события.
Есть несколько типов событий, события на конкретный обьект, событие на целую группу обьектов. К примеру есть событие - конкретный юнит отдал приказ без указания цели, а есть похоже событие для всех юнитов конкретного игрока.
Событие крепится к обьекту а не к триггеру, удалить там ничего нельзя.
Для событий нужен обьект, на котором будет висеть событие. Нельзя вот так просто записать 1 раз событие на переменную а потом записывать туда всех юнитов, хрен вам! Нет ну конечно можно написать так TriggerRegisterUnitEvent( trg, udg_TemUnit, EVENT_UNIT_DAMAGED ) но событие повесится на того юнита, что был записан в переменной udg_TempUnit в момент вызова TriggerRegisterUnitEvent, дальше меняй не меняй юнита в переменной ничего не изменится.
Что за идиотия? Блин всех крипов что ты создал - заносишь в группу спецально созданную для подсчета юнитов.
Делаешь триггер с событием - юнит игрока N (нужный тебе игрок) умирает, условие умерший юнит есть в группе для подсчета юнитов.
Действие - удалить юнита из группы, удалить труп (желательно, то просадки фпс в 2017 вам не простят)
Второй триггер раз в 3 сек. смотрит число юнитов в групее, если число меньше 1, то триггер отключается, и запускается таймер на новую волну, когда таймер истечет и начнется спаун, крипов, переодический триггер счетсчик снова включается.
Примитивный как счеты алгоритм.
Щя непонимаю зачем ваще мертвым морфы? Мертвые немогут использовать предметы, они получают сало на все способности.
Есть событие Triggerregisterdeathevent( trig, widgets). Оно как раз сработает когда нужно., при смерти героя с крестом.
» WarCraft 3 / про мемхак
Минусы:
Можем делать практически все что хотим, даже наказывать читеров и ломальщиков карт по полной.
» WarCraft 3 / Таймер-массив
» WarCraft 3 / Таймер-массив
событие, таймер истек. Условие последний истекший таймер = таймер с иедексоМ N где N итератор цикла ы котором идет проверка.
» WarCraft 3 / Отключить ИИ крипам
Ну у так, лучше не использовать слоты нейтралов для своих целей, дурацкий ии нейтралов создает множество проблем.
» WarCraft 3 / Аура ускорения производства
» WarCraft 3 / Аура ускорения производства
» WarCraft 3 / Правильно я удаляю триггер?
» WarCraft 3 / Как в массиве, выбрать все индексы?
Ну очень просто , перебором в цикле всех таймеров и смотреть кто истек, тот кто истек того индекс вы и получите, считая шаги цикла.
В чем проблема?.
(100+ таймеров и массив по мне идиотия, неужели нельзя было воспользоваться хештаблицей и создавать\удалять таймеры по мере надобности)
» WarCraft 3 / Можно ли увеличить длительность эффекта молнии manaburn?
» WarCraft 3 / Правильно я удаляю триггер?
Другое дело что у фрога есть система (написанная кем то умным) которая отключает триггер, заносит его в массив. Отдельный таймер переберает массив раз в N сек и смотрит сколько прошло времени с начала занесения триггера в массив, если больше 60 сек. то удаляет триггер.
AntiMage, Что наш юнный IceFrog пытается изобрести в этот раз?
» WarCraft 3 / Правильно я удаляю триггер?
Ред. quq_CCCP
» WarCraft 3 / Как в TcX у разрушаемых объектов реализован collision box?
» WarCraft 3 / Как в TcX у разрушаемых объектов реализован collision box?
Начет производительности имхо это все очень тяжело, там же реализация собственного движения юнито и снарядов.
» WarCraft 3 / Переключающий юнит - Triggering Unit
» WarCraft 3 / Пустые строки
» WarCraft 3 / События в JASS
Внутренний обработчик обьекта срабатывая на событие (их множество, их даже больше чем предоставлено в jass) вызывает триггер, глядя на список ссылок обьекта.
Так что что либо поменять нельзя, события не удаляются. Можно удалить триггер и связанный с ним обьект, но никак нельзя удалить событие триггера оставив триггер и\или обьект на котором и весит событие.
» WarCraft 3 / Превратиться в медведя
И внезапно он кастуется и нужно событие - юнит завершил кастовать.
Вспомни сколько уходит времени на анимацию у медведя друида при превращении.
Ред. quq_CCCP
» WarCraft 3 / События в JASS
» WarCraft 3 / События в JASS
Событие требует обьект по определению а не переменную.
» WarCraft 3 / События в JASS
» WarCraft 3 / События в JASS
Вот только не думаю что если вы задаете такие вопросы то сможите осилить динамическую смену действий триггера.
Все функции для работы с триггерами, а так же с их условиями или действиями можно посмотреть jass_API
» WarCraft 3 / События в JASS
Есть несколько типов событий, события на конкретный обьект, событие на целую группу обьектов. К примеру есть событие - конкретный юнит отдал приказ без указания цели, а есть похоже событие для всех юнитов конкретного игрока.
Событие крепится к обьекту а не к триггеру, удалить там ничего нельзя.
Для событий нужен обьект, на котором будет висеть событие. Нельзя вот так просто записать 1 раз событие на переменную а потом записывать туда всех юнитов, хрен вам! Нет ну конечно можно написать так TriggerRegisterUnitEvent( trg, udg_TemUnit, EVENT_UNIT_DAMAGED ) но событие повесится на того юнита, что был записан в переменной udg_TempUnit в момент вызова TriggerRegisterUnitEvent, дальше меняй не меняй юнита в переменной ничего не изменится.
» WarCraft 3 / Убить всех крипов в области N
Делаешь триггер с событием - юнит игрока N (нужный тебе игрок) умирает, условие умерший юнит есть в группе для подсчета юнитов.
Действие - удалить юнита из группы, удалить труп (желательно, то просадки фпс в 2017 вам не простят)
Примитивный как счеты алгоритм.
» WarCraft 3 / морф при смерти
Есть событие Triggerregisterdeathevent( trig, widgets). Оно как раз сработает когда нужно., при смерти героя с крестом.
» WarCraft 3 / Пустые строки