когда я выкладывал мемхак, я надеялся, что люди будут его копать и изучать ASM так же рьяно, как я
Чтобы о существовании твоего мемхака просто узнать нужно усилия приложить. Единственная вменяемая статья, описывающая что это вообще такое и та на хайве.
Proshel_Doty, представь себе некий яд, наносящий урон каждую 1 секунду. Для этого нужен периодический таймер. Но вот проблема, ты хочешь чтобы яд наносил урон, помимо прочего, еще и в момент наложения. Можно было бы написать избыточный код, производящий нанесение урона перед запуском таймера, а можно просто запустить сам таймер с интервалом 0 секунд, а затем перезапускать его изнутри как в твоем втором примере..
Альтернатив от игроков пока не предвидится. После выхода игры, практически вся вспышка энтузиазма быстро охладилась.
Однако, недавно выяснилось, что функционал триггеров (а быть может и чего-то еще) достаточно просто можно расширить. Мож чаво и появится.
Если способность действует по области, то ее круг выделения всегда учитывает физический размер юнита. Можешь заметить, что достаточно коснуться краешком области действия способности юнита, как тот тут же выделяется зеленым. Здесь видно, проверка IsUnitInRangeXY соответствует физическому выделению юнита способностью.
Вот только, как помню, в детстве мы с друзьями залипали в редакторе абсолютно бесплатно,
Ну так мы не друзья. И мы больше не в детстве. Мама с папой (у кого таковые имеются) если вообще помогают, то не обеспечивают. Mexaz:
Так что изменилось-то с тех времён?
В те времена не были так развиты электронные платежи, денег у людей тоже не было. Да и работал ты, в те времена, с куда более легким в освоении продуктом. Ну и смотреть выше. Mexaz:
Али Близзард стал зарплату картоделам платить?
Близзард позволяет собирать пожертвования. Карту ты не продаешь, но за работу какие-то деньги получить можешь. Это, кстати, работает и в WC3, где некоторые встраивают в карту функционал за донат или создают страницу на патреоне. Mexaz:
В чём смысл того, чтобы за это платить?
Смысл в капитализме. Человек вынужден зарабатывать деньги, но вместо зарабатывания денег, он тратит время, чтобы натаскать тебя в каком-то там редакторе. Нужно значит как-то компенсировать убыток.
может у меня комп слабый или я хз, но когда я последний раз перебирал _G были жесткие фризы.
Даже будь оно и так (хотя, как мне кажется, под "перебирал" подразумевается print гигантского массива информации), таблицы из моего примера с типами урона/атаки/оружия создаются единожды, в процессе инициализации карты. В процессе игры обход _G не осуществляется, соответственно и фризов быть не может.
Ищем среди глобальных переменных те, чьи имена начинаются с "WEAPON_TYPE_".
Записываем совпадения в новую таблицу, используя значения этих переменных как ключ, а имена как значение.
При получении урона, достаем из созданной таблицы имя типа урона по типу урона.
do
function string.startsWith(str, sub)
return string.sub(str, 1, string.len(sub)) == sub
end
local weaponTypeNames = {}
for k, v in pairs(_G) do
if k:startsWith("WEAPON_TYPE_") then
weaponTypeNames[v] = k
end
end
_G["WeaponType2String"] = function(wp)
return weaponTypeNames[wp]
end
end
» WarCraft 3 / Дебаггер Lua
Ред. GetLocalPlayer
» WarCraft 3 / Дебаггер Lua
prog:
Ред. GetLocalPlayer
» WarCraft 3 / Объясните как сейчас всё существует
» WarCraft 3 / Объясните как сейчас всё существует
» WarCraft 3 / Разница запуска таймера
» WarCraft 3 / Разница запуска таймера
С точки зрения оптимизации, это один дополнительный вызов функции на каждый тик таймера.
Ред. GetLocalPlayer
» WarCraft 3 / Способности и алгоритмы на заказ
» WarCraft 3 / А возможно ли?
Ред. GetLocalPlayer
» WarCraft 3 / Способности и алгоритмы на заказ
» WarCraft 3 / общий вопрос про jass
» WarCraft 3 / Редакторы карт WarCraft 3
Однако, недавно выяснилось, что функционал триггеров (а быть может и чего-то еще) достаточно просто можно расширить. Мож чаво и появится.
Ред. GetLocalPlayer
» WarCraft 3 / Pick every unit
Ред. GetLocalPlayer
» WarCraft 3 / Добавить функцию в редактор триггеров Reforged Lua
» WarCraft 3 / Добавить функцию в редактор триггеров Reforged Lua
Bergi_Bear:
» WarCraft 3 / Добавить функцию в редактор триггеров Reforged Lua
» WarCraft 3 / как включить локальные файлы в Reforged
» WarCraft 3 / как включить локальные файлы в Reforged
» WarCraft 3 / Добавить функцию в редактор триггеров Reforged Lua
» WarCraft 3 / Карта такая не лагала не лагала, а потом каааак начала лагать!
» Проклятая Тропа: Начало пути / Набираеться команда.
Ред. GetLocalPlayer
» StarCraft 2 / Обучение редактору StarCraft II
Mexaz:
Mexaz:
Mexaz:
Ред. GetLocalPlayer
» WarCraft 3 / [lua] Функция вывода урона
» WarCraft 3 / [lua] Функция вывода урона
Записываем совпадения в новую таблицу, используя значения этих переменных как ключ, а имена как значение.
При получении урона, достаем из созданной таблицы имя типа урона по типу урона.
» WarCraft 3 / Warcraft 3 Reforged: Патч 1.32.9
Ред. GetLocalPlayer
» WarCraft 3 / [lua] Функция вывода урона