30

» WarCraft 3 / [Lua] Поворачиваем башню танка за курсором

а нельзя ли сделать без даймика, мб модель танка сделать?
Можно поэксперементировать с направлением на себя или одним даммиком на всех.
30

» WarCraft 3 / [Lua] Поворачиваем башню танка за курсором

можете добавить проверку на 0.0, ибо когда мышь на интерфейсе либо в недоступной зоне, то отправляются нули
на 7й секунде видео это видно
Это же демо пример, а не полноценная система. Можно ж ещё например попробовать создать одного даммика, ориентировать всех на него и с помощью матемагии манипулировать оффсетами.
30

» WarCraft 3 / [Lua] Поворачиваем башню танка за курсором

Что если не использовать даммика, а заставить юнита смотреть на себя и манипулировать offset?
---@param whichUnit unit
---@param whichBone string
---@param lookAtTarget unit
---@param offsetX real
---@param offsetY real
---@param offsetZ real
function SetUnitLookAt(whichUnit, whichBone, lookAtTarget, offsetX, offsetY, offsetZ) end
30

» WarCraft 3 / Не работает рандом в рефордже?

Еще стоит попробовать поставить галку фиксированного сида, потом снять её.
Может галка вообще инвертированая.
30

» WarCraft 3 / FourCC как собрать integer обратно?

Принятый ответ
print(('>I4'):unpack('hfoo')) --> 1751543663
print(('>I4'):pack(1751543663)) --> hfoo
30

» WarCraft 3 / "Лучший" Jass обработчик

То что нужно, спасибо! Только немного переписать на vjass и дать сюда ссылку в случае чего.
И нужно замерить производительно 100500 сохранённых функций и 100500 if/elseif. Оплимит не даст соврать. Которого кстати в lua нет)
30

» WarCraft 3 / "Лучший" Jass обработчик

Но я не уверен, что это серьезная преграда т.к. многие таблицы можно было бы объединить но да, тут начинаются костыли
Только вот зачем заниматься костылеписанием, если разрабы предоставили нормальный ЯП, в котором можно комфортно работать. Чего только стоят замыкания, которые избавляют от муторного сохранения информации на id таймера.
30

» WarCraft 3 / "Лучший" Jass обработчик

Сказать то и теоретически обосновать можно, но реальных подсчетов никто не провести не может.
Да запросто, например на lua я могу создать больше 256 таблиц.
30

» WarCraft 3 / "Лучший" Jass обработчик

Если блоков мало то да, но если вырастить их до 100 то не факт, а тут фиксированное время применения.
Если вложенные ифы не помещаются в экран, то пора задуматься.
30

» WarCraft 3 / [lua] Создание файлов из под вар3 ?

Печально, по всей видимости wc3 научная мысль дальше этой библиотеки основанной на предзагрузке не продвинулась :(
Печально что рандомная карта может загадить систему вирусами?
30

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

Кароче сборщик мусора подгребает твой триггер
Странно, почему сборщик не подгребает мои триггеры?
30

» WarCraft 3 / Кампания: Другая Сторона Альянс

если хотите чтоб научил из чужой кампании перекидывать карты и редактировать отпишите в лс
А не проще ли написать статью, вместо копипасты каждому в лс?
30

» WarCraft 3 / Как оценить фпс в мультиплеере?

Таймер варика нельзя ни создать, ни стартовать локально.
Зато локально можно создавать текстаги, осталось только придумать как то использовать.
30

» WarCraft 3 / Нестандартный проклятый рудник становится стандартным

Сделал копию стандартного проклятого рудника, проблемы не обнаружил.
А проблемы то есть
Загруженные файлы
30

» WarCraft 3 / Нестандартный проклятый рудник становится стандартным

Сказали без триггеров - пытайтесь помочь без триггеров
Смотрим внимательно сюда и пытаемся без триггеров добавить туда другие равкоды
function CreateUnitAtLocSaveLast(id, unitid, loc, face)
	if (unitid == FourCC('ugol')) then
		bj_lastCreatedUnit = CreateBlightedGoldmine(id, GetLocationX(loc), GetLocationY(loc), face)
	else
		bj_lastCreatedUnit = CreateUnitAtLoc(id, unitid, loc, face)
	end
	
	return bj_lastCreatedUnit
end
30

» WarCraft 3 / [Lua] Преобразование предметов

Теже грабли, только на lua. Почему никто не делает работу с зарядами?

for i = 0, 6 do
	if GetItemTypeId(UnitItemInSlot(unit, i)) == id then
		RemoveItem(UnitItemInSlot(unit, i))
	end
end
у героя шесть слотов инвентаря, так сложно посмотреть в константах bj_MAX_PLAYER_SLOTS?

for i = 0, 11 do
	TriggerRegisterPlayerUnitEvent(ItemTransfigurationSystem, Player(i), EVENT_PLAYER_UNIT_PICKUP_ITEM)
end
В игре 24 игрока, что также можно узнать из bj_MAX_PLAYER_SLOTS