Tobi123, а как сделать динамические описания с ретурн багом?
Хак на запись в память, подробно авторы сего открытия не пишут, боятся вирусов, ну надеюсь поделятся.
Суть в смене хеша строки на другой, чтобы сменить описания для начало придется написать все возможные варианты (необходимо чтобы они попали в таблицу строк) ну а потом сменить хеш строки в описании способности на желаемый.
Возможны баги, да и вовсе засирание памяти строками.
Таймер с малым периодом, сохраняешь х и у Юнита в хештаблицу или глобалки ( если Юнит один) и при каждом тике таймера проверяешь х не равно текущему х или у не равно текущему у и Юнит жив ( это важно) тогда заносишь в хт или глобалки текущий х и у Юнита и снимаешь ману, иначе ничего не делаешь.
Ну и все это дело повторяется каждый тик таймера.
А все нестандартные способности наследуют приказы и эффекты стандартных, другого и быть не может.
Если ты сделал способность на основе 'Дух волка" уже неважно как ты её настроишь и какого юнита она призовет, приказ у неё останется тот же 'spiritwolf'
Изменить приказ на другой, из списка стандартных можно только у 3 способностей - канал, книга заклинаний, поставка ресурсов и то это нужно только для кулдаун идикатора (чтобы при активации способности на одной основе ты не видел кулдаун на всех остальных способностях юнита, сделанных на этой же основе) Эффекты и прочее эта псевдосмена приказа не сменяет, канал останется каналом и не сможет вызывать духа волка а дух волка не сможет пускать ножи во врагов поблизости
Можно, пути из \\ слешей не распознаются ничем.
Так же всякие hex протекторы ну или прямые руки (уже вроде писали) чтобы написать в архив лже хештаблицу с битыми значениями и war3maqp.j
Так же когда я тестил ретурн баг на строках, я находил путь к war3map.j и несколько десятков функций (имеено текст а не байткод) DracoL1ch тоже находил это дело, в теории можно проверить колупали ли код карты тупо проверив находится ли он в папке scripts// (о этом методе мало кто знает), врядли так изи откроют.
Увы готового софта для этого дела у меня нету, в свое время занимался чисто из любопытства всякими протектами - надоело, карту ни на хайв никуда не залить, невидит - вар видит и читает, все это гемор + весрии с 10 получилась работоспособная карта.
Ну тоже аттач, хештаблица + структура чуть быстрее чем хештаблица в целом.
Код раздут на все случаи жизни, думаю тут и половина может не понадобится вовсе...
Просто делаем несколько типовых структур и аттачим их хештаблицой или Xattach (если уж так хочется мега производительности) к таймеру, триггеру, юниту и так далее...
Для написания триггерных скиллов ни 1 из описных вами систем, кроме пожалуй Timer Utils ненужна, ибо 5-7 таймеров за игру будет создано...
Какие то кастом снаряды, системы передвижения и взаимодействия - возможно, скиллы, херо варсы, мили не требуют всего этого изврата.
Dota_2015, Ты сравниваешь теплое с мягким.
TimerUtils - это библиотека ресайкла таймеров (таймеры довольно легкие обьекты, особого понту ресайклить нету, ну чуть чуть повыше производительность если у тебя не 100500 таймеров нужны) а так же примитивный аттач целого числа к хендлу таймера постпредствам хештаблицы что явно ни быстрее, ни лучше хештаблицы в чистом виде...
Потом что там за системы прошу код, лень искать щяс глянем чем же они так отличаются?
В гуях проверка Is unit type classification check - ОГЛУШЕНИЕ (или как то так, забыл уже гуи).
Таймер и прочее ненужное, есть же событие триггера что юнит отдал некий приказ.
Любой скилл.
Дело в том что стан не дает выполнить другой приказ, но событие - Юнит отдал приказ цель точка\объект\без цели сработает в любом случае, потому подойдет любая способность не требующая цели и не сбивающая текущий приказ ( безумие, стремительность, божественный щит и так далее ) и проверять приказ - если юнит отдал приказ активировать безумие и он оглушен (есть такой тип проверки UNIT_TYPE_STUNNED) и триггерено удаляем бафф оглушающих способностей и радуемся...
Пауза хреновая идея только по тому что скрывает панель приказов, в доте это всегда бесило при броске тини.
Так же пауза продляет баффы, останавливая их внутренний таймер что тоже не гуд - во время паузы омоложение лечит до талого, не заканчиваясь.
Увы но негероям можно только менять способность, либо менять целиком юнитов ( как улучшение орды - берсерк), героям можно изменять иконку с помощью способности Aneg Техника.
Vadik29, что тут непонятного? Ретурн баг на code все что тебе нужно запилить 2 функции I2C а так же C2I чтобы превратить код в обычные целые числа а затем снова в код. Тип code не может быть сохранен в хештаблицу и объявлен массивом но с помощью ретурн бага можно записать код как целые числа...
Кароче марш читать старые статьи о ретурн баге!
Суть в локальной и глобальной переменной с одним именем.
Вспомни как редактор добавляет udg_ к названию переменной, можно же сделать локалку с тем же именем и "udg_".
Ну конечно нужно экспериментальный pjass, там описано на инглише в чем заключается ретурн баг, можно без vjass'а склепать ручками юзая глобальные переменные редактора, ну либой как то удобнее.
» WarCraft 3 / структуры
Да и странно почему не обнулсяется, просто по необходимости используй освободившуюся...
Ред. quq_CCCP
» WarCraft 3 / Переменные в варкрафте 3
Суть в смене хеша строки на другой, чтобы сменить описания для начало придется написать все возможные варианты (необходимо чтобы они попали в таблицу строк) ну а потом сменить хеш строки в описании способности на желаемый.
Возможны баги, да и вовсе засирание памяти строками.
» WarCraft 3 / Серия умений
На гуах не очень то удобно ибо нет вменяемых таймеров.
» WarCraft 3 / "Каждый шаг - трата маны"
Ну и все это дело повторяется каждый тик таймера.
» WarCraft 3 / как приказать Юниту использовать Мою Способность?
Если ты сделал способность на основе 'Дух волка" уже неважно как ты её настроишь и какого юнита она призовет, приказ у неё останется тот же 'spiritwolf'
Изменить приказ на другой, из списка стандартных можно только у 3 способностей - канал, книга заклинаний, поставка ресурсов и то это нужно только для кулдаун идикатора (чтобы при активации способности на одной основе ты не видел кулдаун на всех остальных способностях юнита, сделанных на этой же основе)
Эффекты и прочее эта псевдосмена приказа не сменяет, канал останется каналом и не сможет вызывать духа волка а дух волка не сможет пускать ножи во врагов поблизости
» WarCraft 3 / Полная защита карты
Так же всякие hex протекторы ну или прямые руки (уже вроде писали) чтобы написать в архив лже хештаблицу с битыми значениями и war3maqp.j
Так же когда я тестил ретурн баг на строках, я находил путь к war3map.j и несколько десятков функций (имеено текст а не байткод) DracoL1ch тоже находил это дело, в теории можно проверить колупали ли код карты тупо проверив находится ли он в папке scripts// (о этом методе мало кто знает), врядли так изи откроют.
Увы готового софта для этого дела у меня нету, в свое время занимался чисто из любопытства всякими протектами - надоело, карту ни на хайв никуда не залить, невидит - вар видит и читает, все это гемор + весрии с 10 получилась работоспособная карта.
» WarCraft 3 / Вопрос о vjasse
Код раздут на все случаи жизни, думаю тут и половина может не понадобится вовсе...
Просто делаем несколько типовых структур и аттачим их хештаблицой или Xattach (если уж так хочется мега производительности) к таймеру, триггеру, юниту и так далее...
Для написания триггерных скиллов ни 1 из описных вами систем, кроме пожалуй Timer Utils ненужна, ибо 5-7 таймеров за игру будет создано...
Какие то кастом снаряды, системы передвижения и взаимодействия - возможно, скиллы, херо варсы, мили не требуют всего этого изврата.
» WarCraft 3 / Вопрос о vjasse
TimerUtils - это библиотека ресайкла таймеров (таймеры довольно легкие обьекты, особого понту ресайклить нету, ну чуть чуть повыше производительность если у тебя не 100500 таймеров нужны) а так же примитивный аттач целого числа к хендлу таймера постпредствам хештаблицы что явно ни быстрее, ни лучше хештаблицы в чистом виде...
Потом что там за системы прошу код, лень искать щяс глянем чем же они так отличаются?
» WarCraft 3 / Вопрос
Таймер и прочее ненужное, есть же событие триггера что юнит отдал некий приказ.
» WarCraft 3 / Вопрос
Дело в том что стан не дает выполнить другой приказ, но событие - Юнит отдал приказ цель точка\объект\без цели сработает в любом случае, потому подойдет любая способность не требующая цели и не сбивающая текущий приказ ( безумие, стремительность, божественный щит и так далее ) и проверять приказ - если юнит отдал приказ активировать безумие и он оглушен (есть такой тип проверки UNIT_TYPE_STUNNED) и триггерено удаляем бафф оглушающих способностей и радуемся...
» WarCraft 3 / Jass или стандартные триггеры?
» WarCraft 3 / Вопрос о vjasse
» WarCraft 3 / Индикатор здоровья
» WarCraft 3 / Как определить хоста?
» WarCraft 3 / Дамми юниты не xотят кастовать
Так же у вас тут гора утечек, советую сделать иначе.
» WarCraft 3 / Разница SetPlayerStartLocation и ForcePlayerStartLocation
» WarCraft 3 / Stun на не заданное изначально время.PauseUnit вместо оглушения?
Так же пауза продляет баффы, останавливая их внутренний таймер что тоже не гуд - во время паузы омоложение лечит до талого, не заканчиваясь.
» WarCraft 3 / Как определить хоста?
» WarCraft 3 / Как динамически менять иконку
» WarCraft 3 / Возможно ли сохранять вызываемую фунцию
Кароче марш читать старые статьи о ретурн баге!
» WarCraft 3 / Возможно ли сохранять вызываемую фунцию
Вспомни как редактор добавляет udg_ к названию переменной, можно же сделать локалку с тем же именем и "udg_".
Ред. quq_CCCP
» WarCraft 3 / Возможно ли сохранять вызываемую фунцию
» WarCraft 3 / Возможно ли сохранять вызываемую фунцию
Просто массив целочисленных куда записаны ид code.
Вот ссылочка