30

» WarCraft 3 / Heavensfall

Серьёзно?)
А в чём проблема то? Свяжитесь с автором, сделайте remade и наслаждайтесь))
30

» WarCraft 3 / Создание неигрового персонажа для РПГ с нуля

Пишите комментарии.
Я сначала думал увидеть код, который поможет удобно создавать диалоги, потом думал что будут советы о том, ка не потеряться в куче диалогов желательно со сслыками на какой-то сервис упрощающий это действо. А так всю статью можно уместить в выражение:
Пишите больше ветвистых диалогов - это круто.
30

» WarCraft 3 / Помогите с тригерами

Расписываюсь в своей некомпетентности, понимаю что это довольно простая задача, но я пока не в силах даже это самостоятельно реализовать.
Для этого люди кучу статей и понаписывали.
можно пожалуйста картой закинуть хоть какой-то пример, буду стараться разобраться
Многим лень создавать с ноля карту, если хотите разобраться, то создайте новую карту, реализуйте там это заклинание и прикрепите к комментарию. И укажите патч ибо здравые люди переходят на lua в последнем патче.
30

» WarCraft 3 / Анимация при срабатывании пассивки

Если его будут бить сразу 5 юнитов или больше, и при этом он ещё и сам атакует?
Обычно всякие щиты эффектом делают
Загруженные файлы
30

» WarCraft 3 / Помогите с тригерами

Можно намного проще и без кривых вэйтов. Заводите integer переменную SECOND и каждую секунду прибавляете ей единицу. При создании юнита X в его Custom Value записываете текущее значение SECOND, а при смерти просто сверяете текущее значение SECOND со значением записанными в Custom Value. Если больше определённого значения то создаёте юнита Y, если ментьше, то юнита Z.
30

» WarCraft 3 / [lua] Фрэймы

а что на счет бафов-дебафов ? и циферок панели здоровья и маны ? Где это взять?
К бафам, цифрам и индикатору дня/ночи доступа нет.
Ещё, если двигать миникарту, то она неправильно курсор отлавливает. Поэтому приходится извращаться.
Загруженные файлы
30

» WarCraft 3 / Герои и Жизнь

Очень заинтересовало! Удивительное соединение сеттинга нашего времени, в виде автомобилей и прочего, а так же легиона из Варкрафта! Будто это некое альтернативное видение мира Варкрафта, где они захватили уже весь Азерот и готовятся к вторжению в наш мир. Бесподобно, 10 из 10.
Забыли тэг <сарказм> поставить))
30

» WarCraft 3 / Кастомный блинк

Мне уже кажется что проблема в клиффе, ибо даже покрытый блокаторами, на нём всё ещё можно создать юнита и закинуть наверх предмет.
Странно, на перемещении предмета библиотека основана и у меня не получалось на клифф закинуть. Сбросьте карту.
30

» WarCraft 3 / Кастомный блинк

Я когда писал заклинание, тоже искал способ найти ближайшую доступную точку для перемещения. В итоге решил делать через перемещение скрытого предмета.
30

» WarCraft 3 / Вопрос по интерфейсу 1.31

Сам задал, сам ответил.
Плохо ответили. Код отсюда
call BlzFrameSetVisible(BlzGetFrameByName("UpperButtonBarFrame",0),true) //Show Quests, Menu, Allies, Log
call BlzFrameSetVisible(BlzGetFrameByName("ResourceBarFrame",0),true) //Show Gold, Lumber, food and Upkeep; also enables /fps /ping /apm
call BlzFrameSetVisible(BlzGetOriginFrame(ORIGIN_FRAME_PORTRAIT,0), true) //show the 3D Face
call BlzFrameSetVisible(BlzGetOriginFrame(ORIGIN_FRAME_HERO_BAR,0), true) //Show the Hero Icons at left top of the screen
call BlzFrameSetVisible(BlzGetOriginFrame(ORIGIN_FRAME_MINIMAP,0), true) //Show MiniMap
call BlzFrameSetVisible(BlzFrameGetParent(BlzGetFrameByName("SimpleInfoPanelUnitDetail",0)),true)//Show the parent of the SimpleInfoPanelUnitDetail will show unit stats and inventory
call BlzFrameSetParent(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_ITEM_BUTTON, 0)), BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON, 0)))//Change parentShip of the Inventory to the command_Buttons Parent. Normaly the Inventory belongs to the SimpleInfoPanelUnitDetail parent, which could be still hidden.
30

» WarCraft 3 / Генератор псевдослучайных чисел

Эмм ну качество рандома лечится иначе, достаточно подсунуть Random Seed порандомнее, а не заранее заготовленное число.
Как его получить, очень просто - вейты....
Можно и без вэйтов))
math.randomseed( os.time() )
30

» WarCraft 3 / Пассивка - восстановление маны в проценте

И зачем создавать 100500 способностей, если можно сделать несколько уровней?
Зачем создавать 100500 уровней если можно править одно поле?)
30

» WarCraft 3 / Плавающий текст (texttag) черет туман войны

Вопрос ведь был: есть ли такая функция.
---@param x real
---@param y real
---@param whichPlayer player
---@return boolean
function IsVisibleToPlayer(x, y, whichPlayer) end
30

» WarCraft 3 / запустить таймер из таймера

ну допустим мне его надо запаузить, а потом возобновить другим таймером
Так используйте функции
PauseTimer()
ResumeTimer()
30

» WarCraft 3 / запустить таймер из таймера

Создавал погодные эффекты, по этому всегда нужно было иметь разное время таймера после его перезапуска.
И вот зачем городить такие костыли, если вс решается довольно таки просто?
do
	local InitGlobalsOrigin = InitGlobals
	function InitGlobals()
		InitGlobalsOrigin()
		local i = math.random(5, 10)
		TimerStart(CreateTimer(), 1, true, function()
			i = i - 1
			if i == 0 then
				print('Смена эффекта')
				i = math.random(5, 10)
			end
		end)
	end
end
30

» WarCraft 3 / запустить таймер из таймера

Так я ж говорил, нужно просто вызывать таймер таймером
TimerStart(CreateTimer(), 1, false, function()
	print(1)
	TimerStart(CreateTimer(), 1, false, function()
		print(2)
		DestroyTimer(GetExpiredTimer())
	end)
	DestroyTimer(GetExpiredTimer())
end)
30

» WarCraft 3 / запустить таймер из таймера

Эммм....обьяснить сможешь ?
Всё просто, каждую секунду мы инкриментим i. Код можно представить так:
local i = 0 -- начинаем с нуля
TimerStart(CreateTimer(), 1, true, function()
	i = i + 1 -- увеличиваем счётчик
	if i == 5 then
		print('Прошло 5 секунд')
	elseif i == 13 then
		print('Прошло 13 секунд')
		PauseTimer(GetExpiredTimer())
		DestroyTimer(GetExpiredTimer())
	end
end)
И еще хотелось бы узнать есть ли разница между вот TimerStart(t,1,true,и вот эта вот функция допустим до 60 сек.) или TimerStart(t,60,false,function())
Всё зависит от задач, но в кратце можно объяснить так:
local i = 13
TimerStart(CreateTimer(), 1, false, function()
	print(i) --> 13
end)
local function myfunc()
	print(i) --> nil
end
local i = 13
TimerStart(CreateTimer(), 1, false, myfunc)
30

» WarCraft 3 / запустить таймер из таймера

Зачем такие сложности то?
do
	local i, a, b = 0, math.random(5, 10), math.random(5, 10)
	
	TimerStart(CreateTimer(), 1, true, function()
		i = i + 1
		if i == a then
			print('a')
		elseif i == a + b then
			print('b')
			PauseTimer(GetExpiredTimer())
			DestroyTimer(GetExpiredTimer())
		end
	end)
end
30

» WarCraft 3 / Огненный Дракон

Призываю Назара, он покажет на сколько короче и проще код на lua без хештаблиц...
Я прошлую способность этого автора переписал на zinc попутно оптимизировав и оставил критику. Но автор вместо того, чтоб её поправить, выложил такуюже кривую следующу.
30

» Администрация XGM / Лейба о файлах комментария

уверен?
В моём предыдущем комментарии ж такая лэйба. Перед отправлением комментария просто загрузите и удалите файл.
30

» Администрация XGM / Лейба о файлах комментария

Как я понял, я смог удалить файл из комментариев только потому, что я модератор.
Не обязательно быть модератором. Загружаешь файл в комментарии и потом удаляешь его.
30

» WarCraft 3 / lua и его странная математика

Потому что вы впервые столкнулись с double.
print(0.1+0.2==0.3) --> false
Почитать можете здесь. Примеры на других языках здесь.