32

» WarCraft 3 / Пара вопросов

Принятый ответ
  1. можно только модель героя, которая будет прикреплена в качестве спецэффекта к дамми юниту с особыми анимациями.
  2. Удалить и добавить снова, или юзнуть книгу забвения (учитывая что это руна это совсем изи) а затем приказать герою выучить все скиллы кроме нужного тебе, ну или как то иначе.
32

» WarCraft 3 / Abilities Cooldown

Принятый ответ
Есть, ретун баг - но увы, пока не релизнуты примеры говорить об этом можно еще долго.
Есть вариант рисования левого кд на предмете, реализовано у меня в карте.
Так что пока техника.
32

» WarCraft 3 / Утечка при создании юнита

Включите мозги! Я вас спросил в надежде что вы одумаетесь, но нет...
Кароче вы создали юнита, а удалять его кто будет? Ау, юнит точно такой же хендл, который висит в памяти, переменную то вы обнулили а юнита удалить забыли..
Не создает ваш код никаких утечек!
32

» WarCraft 3 / Утечка при создании юнита

Принятый ответ
Ты уверен что это юнит создает утечку? Кол-во хендлов растет, ибо юнит то никуда не делся...
32

» WarCraft 3 / Не работает цикл в jass

Принятый ответ
Лимит операций примерно 4 к. А у тебя тут поболее 16к.
Обойти лимит операций можно только разнеся действия в разные потоки. К примеру для через таймер.
32

» WarCraft 3 / Как удалить !!область!!

Lotus101:
Из-за области создаются утечки? Вверху пишут, что удалять не надо, то есть утечек нет?
Какие утечки? Утечки от локейшинов.
32

» WarCraft 3 / Как удалить !!область!!

darkowlom, еще 1. Подумай внимательно какие координаты будут взяты от несуществующей области.
32

» WarCraft 3 / Как удалить !!область!!

А нахрена удалять область? Если нужно всего лишь отключить триггер спауна (или таймер)
Чувак ты думай что делаешь, ахинею же написал...
32

» WarCraft 3 / Отданный приказ

antonpoganui:
nvc123, предмет-цель
Проверил если GetSpellTargetUnut == null проверяешь потом GetSpellTargetItem если не равен null то цель предмет..
32

» WarCraft 3 / Защита карты

nvc123:
quq_CCCP, мб ты имеешь ввиду не хеш а адрес в таблице
ибо хеш это результат действия хеш функции и для 1 и той же строки он не должен меняться(один из пунктов определения)
Ну функция везде именуется StringHash но она возвращает именно адрес как ты и написал, а не инт от балды. Это нам и нужно, "" - первая строка в карте, а последнюю нужно найти, глядя что по адресу последней строки в карте можно сделать вывод модифицировали ли код или нет?
32

» WarCraft 3 / Как лучше учится созданию карт?

Lotus101, ты что юмора не понимаешь? Лол, защита от копирования - это не для тебя, раз спрашиваешь.
32

» WarCraft 3 / Защита карты

ssbbssc:
quq_CCCP:
кук, ты говорил о проверке размера карты
а как ты запишешь число-размер-ключ, если после сохранения он опять изменится?
Ну ты сначало смотришь на что изменится, а потом сохраняешь с проверкой, что мешает узнать какое оно будет в игре?
32

» WarCraft 3 / Защита карты

Astra:
Смысл по сути тот же что и сравнивать значения заголовков от первой до последней строки через хэш-таблицу. Так и без РБ можно сделать.
Без рб низя залезть в именя функций, хеш от сроки (именно хеш а не всякое гно) можно тока через рб.
32

» WarCraft 3 / Защита карты

Принятый ответ
Tumart:
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 функций сменяется строка по этому адресу, самое главное найти последнюю строку (ну или как я от балды ввел число) хотя я не уверен что прокатит с числом от балды, нужно найти последнюю строку на момент загрузки карты и смотреть её адрес, а после смотреть что будет записано по этому адресу в таблице строк.
32

» WarCraft 3 / Защита карты

Tumart:
Так же гробим архив корейскими тулами, можно еще малость руками - открыть откроют, но не инжектнут.
quq_CCCP, а руками это что конкретно? Я вот делал так: 1. Прогнал W3COpt 2 Прогнал через Тулы Векса 3. Прошелся спазлером, потом патчером после новым мпкушником удалил лист файл полностью.
В хекс редакторе, ищищь нужные байты и меняешь, сначала гадим заголовок, потом отрец значение в хештаблицу архива или как тут уже делали умельны лже war3map.j файл в хештаблицу.
Если кто в танке, то в мпк может быть 100500 файлов разных версий, с одим и тем же именем - особенность фомата, игра всегда берет последний из списка, а мпк редактор первый - это баг публичного софта.
32

» WarCraft 3 / Защита карты

Astra:
Не без известный здесь человек-статья говорит делать проверку на хендлы объектов. Наверное это сейчас единственный нормальный способ. Протектить карту непосредственно с расчетом на то, что не вскроют сам архив - пустая трата времени.
Щяс снова доступен ретурн баг, щяс думаю а получится ли проверить хещтаблицу срок, после депротекта и инжекта поедет таблица строк (ибо в хештаблицу попадают даже имена функций, кастомных разумеется ).
32

» WarCraft 3 / Способность "огненный столб" и фаталы?

Принятый ответ
Огненный столб фаталит как и любые чаннелинги засунутые в сферу замедления, все.
А других причин фаталить этой способности обнаружено не было.
32

» WarCraft 3 / Защита карты

Эмм, я помнится делал - о чем пожалел, проверка длины файла, при перепаковке карта фаталит причем довольно не очевидно почему.
Так же гробим архив корейскими тулами, можно еще малость руками - открыть откроют, но не инжектнут.
32

» WarCraft 3 / Как лучше учится созданию карт?

Lotus101, Нет низя, там стоит защита от копирования, нужно все делать своими руками!
Tumart, что то nvc123, не пишит, с чужой депротектнутой карты можно начинать уже довольно скилловым мапмейкерам, то у некоторых в исходниках черт ногу сломит.
Ну а~Lotus101, читай статьи про примеры построения кода, смотри в открытых картах близзов - там комменты есть. правда требуется инглиш.
32

» WarCraft 3 / Как лучше учится созданию карт?

nvc123:
quq_CCCP, если там есть комменты повсюду и документация в отдельном триггере то проблем особых не будет
но их там скорее всего нету (особенно после всяких оптимизаторов)
поэтому я и упомянул индию
YuliyaQuest, если для тебя карта близов сложно и не понятно то советую бросить мапмейкерство и идти отжимать мобилки
там всё просто и понятно
либо ты отжал либо у тебя
Ну у меня там если и есть комментарии то не сказать чтобы сильно подробные или порой вовсе не про то =)
32

» WarCraft 3 / Как лучше учится созданию карт?

YuliyaQuest:
Карты Близзов?:D Вы смеётесь? Там настолько же все непонятно как и если бы младенец начал решать формулу 11 класса.
Мою карту дать?
32

» WarCraft 3 / Как лучше учится созданию карт?

nvc123, У меня в карте реализована система управления кулдаунов итемов, берем и делаем кд итему сначала, не сбивая никакие приказы, найди и разбери - www.epicwar.com/maps/264886
Думаю даже для асов этого дела будет не шибко просто.
Новичкам лучше начать с чего попроще, карт близзардов, опен проектов.