30

» WarCraft 3 / [lua] Дамми каст

Ману у дамми можно занулить, а требования способности менять в коде.
Если уже можно настроить в редакторе, почему это не сделать.
Опыт не нужно трогать, юнит же неуязвим.
Это же очки статистики в послеигровом меню, зачем лишний раз их накапливать.
Вместо .mdl можно поставить просто _.
Сколько не видел даммиков, везде .mdl, решил не ломать традицию
Укажи поля CastPoint, Fly Height, Movement Type, Collision Size. Они тоже важны.
Они у исходного юнита уже правильно выставлены.
30

» WarCraft 3 / Спелл на замедление и ускорение.

Ответ: "Мда. Иди читай про N" и минусы. Я просто не понимаю. Зачем?.
Потому что вместо того, чтоб прочитать пару статей и внимательно посмотреть в условия триггера, вы сразу создаёте вопрос.
Загруженные файлы
30

» WarCraft 3 / Иконки атаки и движения

Хэх, не всё так просто оказалось, но эти кнопки можно просто засунуть за монитор))
do
	local InitGlobalsOrigin = InitGlobals
	function InitGlobals()
		InitGlobalsOrigin()
		BlzHideOriginFrames(true)
		BlzFrameSetAllPoints(BlzGetOriginFrame(ORIGIN_FRAME_WORLD_FRAME, 0), BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0))
		
		for i = 0, 11 do
			local btn = BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON, i)
			BlzFrameClearAllPoints(btn)
			BlzFrameSetAbsPoint(btn, FRAMEPOINT_TOP, 0, 0)
		end
	end
end
Загруженные файлы
30

» WarCraft 3 / Иконки атаки и движения

Можно просто скрыть их фрэймы
for i = 0, 11 do
	BlzFrameSetVisible(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON, i), false)
end
30

» WarCraft 3 / Продолжение разработки карты

Принятый ответ
Честно пишу, до того, как к вам обратиться я почитал у вас на сайте различные вопросы и статьи о Редактором карт.
Видимо плохо читали:
10.1 Размещение нескольких вопросов в одном ресурсе.
Нужна помощь с модельками. Не могу найти эти модельки.
Попросите у автора карты.
Не могу разобраться с триггером.
За улучшение "Улучшеные топоры" у Альянса вы наверно не знаете?
Способность Благодать
Я её даже триггерно реализовал и статью написал, где какраз благодать и используется. Можете подправить под свои нужны.
30

» WarCraft 3 / Dead By Nightlight

И мне важно, что бы каркас был крепок.
Обожаю безымянные триггеры и говорящие пути в импорте
30

» WarCraft 3 / Можно ли получить список способностей определённого предмета?131

Set\get field починили?
Починили, но к некоторым полям не добраться. Например к стоимости предмета или пути к иконкам.
30

» WarCraft 3 / Как нанести урон триггерно?

Я имею ввиду на 1.26
К сожалению, на 1.26 тоже нужно редактор открывать
Загруженные файлы
30

» WarCraft 3 / Как нанести урон триггерно?

Принятый ответ
Для начала можно просто открыть редактор
Загруженные файлы
30

» WarCraft 3 / Дроп с респавнящегося крипа

Недавно писал систему лута для боссов с настройкой по равкоду юнитов
//! nocjass
//! zinc
library BossLootSystemSetting requires BossLootSystem {
    function onInit(){
        BossLoot
            .create('Hpal')
            .addItem('ratc', 100, "Когти +12", gg_snd_ArthasPissed1)
            .addItem('rat6', 75, null, null)
            .addItem('rat9', 50, null, null)
        ;
    }
}
//! endzinc
//! endnocjass
addItem('равкод', шанс, текстаг, звук)
Загруженные файлы
30

» WarCraft 3 / Перехват рандома в варкрафте

достаточно получить GetRandomSeed при старте карты
Насколько я помню, есть только функция SetRandomSeed().
Зачем стандартную функцию переписывать, когда вместо неё можно просто число своё поставить?
Может человек карту хакнуть хочет чтоб на рандоме тащить?
после внедрения библиотеки в процесс игры
30

» WarCraft 3 / Перехват рандома в варкрафте

Перепишите функцию и не мучайтесь
function GetRandomInt()
	return udg_MyRandomNumber
end 
30

» WarCraft 3 / [lua] Все споcобы перебрать группу юнитов

Дополнение: а что по поводу перебора юнитов вообще без группы, допустим если юниты будет в массиве или в таблице?
то уже работа с массивами, а не с группой.
Назар снял его с публикации =(
Всего-то статью переделывал. Теперь можно дальше рассуждать о её бесполезности))
30

» WarCraft 3 / [lua] Все споcобы перебрать группу юнитов

Также стоит проводить тесты параллельно, ПОСЛЕ старта игры, а не во время инициализации.
А какая собственно разница?
30

» WarCraft 3 / [lua] Все споcобы перебрать группу юнитов

Что-то более похожее на реальные условия в карте - много переборов маленьких групп. Заодно и доля занимаемая самим перебором в сравнении с вызовом нативок возрастет.
Будет время дополню тесты.
Нет никакой разницы каким вы способом будете перебираться своих 20 юнитов
Кому нет, тот и не будет читать, а мне вот есть разница, поэтому и начал тестировать.
30

» WarCraft 3 / [lua] Все споcобы перебрать группу юнитов

Однократный перебор двух тысяч юнитов не самый показательный тест, имхо.
Какой тест будет показательным?
Плюс не стоит забывать про трюк с заносом нативок в локалки
Нужно всё от тестировать, даже итератор, который я правда ещё не написал(
30

» WarCraft 3 / [lua] Все споcобы перебрать группу юнитов

Можно подробности?
Если в кратце, то функция является объектом, на создание которого и выделяется память. Так же все переменные из области видимости попадают в замыкание, на которое тоже нужна память.
Формулировка не совсем верная, ведь именованная локальная функция тоже получит замыкание на свою область видимости - замыкания никак не связаны с анонимностью и именованностью.
Дополнил
Обычно в функцию перебора юнитов нужно передать дополнительные аргументы, например кастера способности. Анонимная функция получит его в замыкании из своей области видимости:
local caster = 'caster'
ForGroup(whichGroup, function()
	print(caster) --> переменная доступна и будет выведено "caster"
end)
Именованные функции используют для того, что вызывать их из разного места кода, и потому часто случается такая ситуация
ForGroupFunc = function() -- функция глобальна для использования из разных участков кода
	print(caster) --> здесь переменная не видна ибо в области видимости функции  её нет и будет выведено "nil"
end
		
local caster = 'caster' -- чтоб передать эту переменную в функцию, нужно её сделать глобальной
ForGroup(whichGroup, ForGroupFunc)
30

» WarCraft 3 / Утекает ли плавающий текст?

ScopteRectuS:
Его можно создать ~100 раз на одного игрока, дальше они перестанут создаваться. Поэтому их лучше удалять. call DestroyTextTag( имя_переменной).
Он и сам удалится, если указать время жизни:
call SetTextTagLifespan(tt, 10)
call SetTextTagPermanent(tt, false)
set tt = null
30

» Гильдия «Черамор» / Библиотека Lua-Warcraft3

Что за тупое именование функций NzrRound(n)? Назвали бы math.round и не мучались.
Писать EmmyDoc к аргументам и возвращаемым значениям признак хорошего тона, можете посмотреть как сделано здесь.
30

» Warcraft III: Fall of Dalaran / Warcraft III: Fall of Dalaran

Где ошибки(у тебя самого их куча была))
Нехорошо ad hominem использовать.
Лор WoW'а будет затронут НИКАК, все будет проходит по собственному сюжету!
Мягкий знак где потеряли?
И т.д (сами узнаете в кампаний(если она выйдет)
Может всётаки в кампаниИ?
Если у вас вопросы по проекту или хотите помочь проекту.
Я не повторяюсь повторяюсь?
В многих людей это не так, многие даже не успевают прочитать, авторы стараются сделать так, чтобы всем было нормально.
Ну так пропуск одной реплики и решает ту проблему:
  • кто быстро читает, тот пропустит
  • кто медленно читает, то новая реплика не стартанёт, пока игрок не нажмёт кнопку
30

» Warcraft III: Fall of Dalaran / Warcraft III: Fall of Dalaran

Доп. Кампания на одну главу?
Ну там же в общей готовности 20% указано и готова одна глава, путём нехитрой математики, можно посчитать, что количество глав пять)
Некоторые слова с ошибкой в ресурсе.
Так в особенностях не указано: без ошибок, значит всё норм)
Пропуск роликов это круто.
Когда уже выпустят кампанию, где есть пропуск одной реплики? Моя средняя скорость чтения ~250 слов/минута и меня бесит ждать, когда текст я прочитал. Теряется нить повествования и прочие умные слова.
Ну если кампании ещё нет, то автор уже долго делает, а если долго делает значит, что получится прикольно).
Эти два фактора никак не коррелируют(
30

» WarCraft 3 / Lua в текущих реалиях

Совсем уж тупые ошибки IDE подсвечивает, а если вы не можете сразу писать рабочий код, то заворачивайте его в pcall.
30

» WarCraft 3 / [lua] Предотвращаем создание утечек GUI

Работы здесь еще целая гора, конечно, до момента когда любой гуи код не будет ломаться при добавлении этой либы
В идеале конечно, насобирать базовых приёмов гуишников и тестить на них, но опыта промышленного тыкания менюшек у меня нет((