можно только модель героя, которая будет прикреплена в качестве спецэффекта к дамми юниту с особыми анимациями.
Удалить и добавить снова, или юзнуть книгу забвения (учитывая что это руна это совсем изи) а затем приказать герою выучить все скиллы кроме нужного тебе, ну или как то иначе.
Есть, ретун баг - но увы, пока не релизнуты примеры говорить об этом можно еще долго.
Есть вариант рисования левого кд на предмете, реализовано у меня в карте.
Так что пока техника.
Включите мозги! Я вас спросил в надежде что вы одумаетесь, но нет...
Кароче вы создали юнита, а удалять его кто будет? Ау, юнит точно такой же хендл, который висит в памяти, переменную то вы обнулили а юнита удалить забыли..
Не создает ваш код никаких утечек!
Лимит операций примерно 4 к. А у тебя тут поболее 16к.
Обойти лимит операций можно только разнеся действия в разные потоки. К примеру для через таймер.
quq_CCCP, мб ты имеешь ввиду не хеш а адрес в таблице
ибо хеш это результат действия хеш функции и для 1 и той же строки он не должен меняться(один из пунктов определения)
Ну функция везде именуется StringHash но она возвращает именно адрес как ты и написал, а не инт от балды. Это нам и нужно, "" - первая строка в карте, а последнюю нужно найти, глядя что по адресу последней строки в карте можно сделать вывод модифицировали ли код или нет?
quq_CCCP, а можно поподробнее? И это защитит карту от инжекта?
Подробно - это сделай за меня?
Суть:
call BJDebugMsg( I2Sx( 100500 ) )
Выдаст разные значения в депротектнутой и нормальной картах, пока это теория но возьмите и проверьте. I2Sx - фольклорная функция ретурн бага, суть преобразует хеш от строки в строку. именно хеш а не инт. т.е адрес в таблице строк на строку. вот RetunrBug ( www.hiveworkshop.com/threads/accessing-memory-from-the-script-it... ) функция в либе Typecast - I2SH
Ну кароче проверил:
function Trig_J_Test_Actions takes nothing returns nothing
local integer i = 486
local string str = null
set str = S2S( I2SH( i ) )
call BJDebugMsg( str )
set str = null
endfunction
//===========================================================================
function InitTrig_J_Test takes nothing returns nothing
set gg_trg_J_Test = CreateTrigger( )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_J_Test, Player(0) )
call TriggerAddAction( gg_trg_J_Test, function Trig_J_Test_Actions )
endfunction
При добавлении, удалении 3 функций сменяется строка по этому адресу, самое главное найти последнюю строку (ну или как я от балды ввел число) хотя я не уверен что прокатит с числом от балды, нужно найти последнюю строку на момент загрузки карты и смотреть её адрес, а после смотреть что будет записано по этому адресу в таблице строк.
Так же гробим архив корейскими тулами, можно еще малость руками - открыть откроют, но не инжектнут. quq_CCCP, а руками это что конкретно? Я вот делал так: 1. Прогнал W3COpt 2 Прогнал через Тулы Векса 3. Прошелся спазлером, потом патчером после новым мпкушником удалил лист файл полностью.
В хекс редакторе, ищищь нужные байты и меняешь, сначала гадим заголовок, потом отрец значение в хештаблицу архива или как тут уже делали умельны лже war3map.j файл в хештаблицу. Если кто в танке, то в мпк может быть 100500 файлов разных версий, с одим и тем же именем - особенность фомата, игра всегда берет последний из списка, а мпк редактор первый - это баг публичного софта.
Не без известный здесь человек-статья говорит делать проверку на хендлы объектов. Наверное это сейчас единственный нормальный способ. Протектить карту непосредственно с расчетом на то, что не вскроют сам архив - пустая трата времени.
Щяс снова доступен ретурн баг, щяс думаю а получится ли проверить хещтаблицу срок, после депротекта и инжекта поедет таблица строк (ибо в хештаблицу попадают даже имена функций, кастомных разумеется ).
Эмм, я помнится делал - о чем пожалел, проверка длины файла, при перепаковке карта фаталит причем довольно не очевидно почему.
Так же гробим архив корейскими тулами, можно еще малость руками - открыть откроют, но не инжектнут.
Lotus101, Нет низя, там стоит защита от копирования, нужно все делать своими руками! Tumart, что то nvc123, не пишит, с чужой депротектнутой карты можно начинать уже довольно скилловым мапмейкерам, то у некоторых в исходниках черт ногу сломит.
Ну а~Lotus101, читай статьи про примеры построения кода, смотри в открытых картах близзов - там комменты есть. правда требуется инглиш.
quq_CCCP, если там есть комменты повсюду и документация в отдельном триггере то проблем особых не будет
но их там скорее всего нету (особенно после всяких оптимизаторов)
поэтому я и упомянул индию YuliyaQuest, если для тебя карта близов сложно и не понятно то советую бросить мапмейкерство и идти отжимать мобилки
там всё просто и понятно
либо ты отжал либо у тебя
Ну у меня там если и есть комментарии то не сказать чтобы сильно подробные или порой вовсе не про то =)
nvc123, У меня в карте реализована система управления кулдаунов итемов, берем и делаем кд итему сначала, не сбивая никакие приказы, найди и разбери - www.epicwar.com/maps/264886
Думаю даже для асов этого дела будет не шибко просто.
Новичкам лучше начать с чего попроще, карт близзардов, опен проектов.
Ред. quq_CCCP
» WarCraft 3 / Пара вопросов
» WarCraft 3 / Помогите пожалуйста.
» WarCraft 3 / Abilities Cooldown
Есть вариант рисования левого кд на предмете, реализовано у меня в карте.
Так что пока техника.
Ред. quq_CCCP
» WarCraft 3 / Утечка при создании юнита
Кароче вы создали юнита, а удалять его кто будет? Ау, юнит точно такой же хендл, который висит в памяти, переменную то вы обнулили а юнита удалить забыли..
Не создает ваш код никаких утечек!
» WarCraft 3 / Утечка при создании юнита
» WarCraft 3 / Не работает цикл в jass
Обойти лимит операций можно только разнеся действия в разные потоки. К примеру для через таймер.
» WarCraft 3 / Ну как? Повернуть этого чертого Тралла!!!
» WarCraft 3 / Как удалить !!область!!
» WarCraft 3 / Как удалить !!область!!
» WarCraft 3 / Как удалить !!область!!
Чувак ты думай что делаешь, ахинею же написал...
» WarCraft 3 / Отданный приказ
» WarCraft 3 / Защита карты
» WarCraft 3 / Как лучше учится созданию карт?
» WarCraft 3 / Защита карты
» WarCraft 3 / Защита карты
Ред. quq_CCCP
» WarCraft 3 / Защита карты
Суть:
I2Sx - фольклорная функция ретурн бага, суть преобразует хеш от строки в строку. именно хеш а не инт. т.е адрес в таблице строк на строку.
вот RetunrBug ( www.hiveworkshop.com/threads/accessing-memory-from-the-script-it... )
функция в либе Typecast - I2SH
Ну кароче проверил:
» WarCraft 3 / Защита карты
Если кто в танке, то в мпк может быть 100500 файлов разных версий, с одим и тем же именем - особенность фомата, игра всегда берет последний из списка, а мпк редактор первый - это баг публичного софта.
» WarCraft 3 / Защита карты
» WarCraft 3 / Способность "огненный столб" и фаталы?
А других причин фаталить этой способности обнаружено не было.
» WarCraft 3 / Защита карты
» WarCraft 3 / Защита карты
Так же гробим архив корейскими тулами, можно еще малость руками - открыть откроют, но не инжектнут.
» WarCraft 3 / Как лучше учится созданию карт?
Tumart, что то nvc123, не пишит, с чужой депротектнутой карты можно начинать уже довольно скилловым мапмейкерам, то у некоторых в исходниках черт ногу сломит.
Ну а~Lotus101, читай статьи про примеры построения кода, смотри в открытых картах близзов - там комменты есть. правда требуется инглиш.
» WarCraft 3 / Как лучше учится созданию карт?
» WarCraft 3 / Как лучше учится созданию карт?
» WarCraft 3 / Как лучше учится созданию карт?
Думаю даже для асов этого дела будет не шибко просто.
Новичкам лучше начать с чего попроще, карт близзардов, опен проектов.