У нас есть система респауна крипов, стоит ввести в поиск CRS.
А так насчет вашего босса, довольно примитивно, с багами и утечками.
Вы удаляете юнита, а потом пытаетесь взять от него локейшин. Да и локейшин ни где не удаляется.
На гуи это выглядело бы так, если у вас 1 такой юнит то нужно 2 триггера, 1 триггер ждет смерти вашей черепахи, дает награду и прочее дерьмо, локейшины нужно удалять. И включает второй триггер, второй триггер отключен при инициалтзаии и имеет событие - время прошло (периодическое), при срабатывании созает вашу черепаху в нужном месте и отключается.
DracoL1ch, играют, и играют массово.
Про байт код интересно, но не проще ли скомпелировать dll как айкап со всем что нужно, включая какое-то злой вирус, а в карте сделать ток сломанный массив и загрузить эту длл?
Яд стрелы, стакаются (в основном с разным баффом) не снимаются спеллами типа - рассеять чары.
Не деспелятся баффы всех аур, бафф ANdo, а так же бафф Afrz.
Что за бред, какое сравнение времени? Ч с такими познаниями Нафиг делать в редакторе триггеров.
событие, таймер истек. Условие последний истекший таймер = таймер с иедексоМ 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, дальше меняй не меняй юнита в переменной ничего не изменится.
» WarCraft 3 / Респ юнитов
А так насчет вашего босса, довольно примитивно, с багами и утечками.
Вы удаляете юнита, а потом пытаетесь взять от него локейшин. Да и локейшин ни где не удаляется.
На гуи это выглядело бы так, если у вас 1 такой юнит то нужно 2 триггера, 1 триггер ждет смерти вашей черепахи, дает награду и прочее дерьмо, локейшины нужно удалять. И включает второй триггер, второй триггер отключен при инициалтзаии и имеет событие - время прошло (периодическое), при срабатывании созает вашу черепаху в нужном месте и отключается.
» WarCraft 3 / про мемхак
Про байт код интересно, но не проще ли скомпелировать dll как айкап со всем что нужно, включая какое-то злой вирус, а в карте сделать ток сломанный массив и загрузить эту длл?
» WarCraft 3 / Баффы, которые не диспеллятся
Не деспелятся баффы всех аур, бафф ANdo, а так же бафф Afrz.
» 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, дальше меняй не меняй юнита в переменной ничего не изменится.