Хм, 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). Оно как раз сработает когда нужно., при смерти героя с крестом.
bifurcated, в гуи если ты добавил вот так условия столбиком без And или Or то это проевратится в код примерно такого содержания:
если не ( условие1 == истина ) тогда
вернуть false
конецесли
если не ( условие2 == истина ) тогда
вернуть false
конецесли ну и так далее
вернуть true
... Гуи довольно убожественн, советую изучать jass и не морочить голову с кривым гуи + выдумывать 100500 изощрений чтобы сделать так как надо, а не как получится...
Если Or - то триггер сработает если любое из 3 условий вернет true, второй вариант если мне не изменяет память - это аналог And если все условия выполнятся то триггер сработает, если любое из них будет false, то триггер не сработает. В гуи условия - это ужас, конвертируйте в текст ваш триггер и посмотрите сколько там дерьма, это же самое можно было написать в 10 раз короче...
Ha_Do6poM, так и сделать, ты что в глаза долбишся? Как сделано перемещение юнитов в конфетных войнах? Так сложно проверить что это за юниты и откуда они?
Че еще подумалось... может, есть смысл кастомные звуки "прелоадить" - при инициализации карты массово проигрывать с громкостью 0? Или бред и ни на что не повлияет?
Надо же, сам ответил на свой вопрос - подгрузка звуков требует времени, для подгрузки есть целый набор функций preload.
Так что подгружаем все звуки вначале, чтобы не было просадки фпс.
Ну приказывать им следовать за ними, ну а если по хорошему писать ИИ чтобы суммоны всегда потрулировали область вокруг босса а так же нападки на юнитов которые атаковали босса.
» 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 / Пустые строки
» WarCraft 3 / Условия в триггрерах
вернуть false
конецесли
если не ( условие2 == истина ) тогда
вернуть false
конецесли
ну и так далее
вернуть true
...
Гуи довольно убожественн, советую изучать jass и не морочить голову с кривым гуи + выдумывать 100500 изощрений чтобы сделать так как надо, а не как получится...
Ред. quq_CCCP
» WarCraft 3 / Условия в триггрерах
В гуи условия - это ужас, конвертируйте в текст ваш триггер и посмотрите сколько там дерьма, это же самое можно было написать в 10 раз короче...
» WarCraft 3 / Кастомные звуки, много ифзенэлсов мб = лаг
» WarCraft 3 / Как влиет число активных триггеров на загруженность карты?
Ред. quq_CCCP
» WarCraft 3 / Подскажите пожалуйста мгновенно используемые способности
» WarCraft 3 / Что бы крипы на линиях шли как в моба
» WarCraft 3 / Кастомные звуки, много ифзенэлсов мб = лаг
Так что подгружаем все звуки вначале, чтобы не было просадки фпс.
» WarCraft 3 / как добавить новую фракцию
сделать больше ни-ни, это в коде движка прописано.
» WarCraft 3 / Иллиданское превращение
» WarCraft 3 / При замены slk файлов в mpq, в редакторе пишет много ошибок
» WarCraft 3 / Призванные боссом юниты и иже с ними
» WarCraft 3 / Call Preload и запись текста