30

» WarCraft 3 / двумерный массив lua

И почему так сложно заглянуть в документацию?
Для шести значений можно и одномерный массив использовать
do
	local mytable = {}
	local length  = 6
	
	---@param player player
	---@param num integer
	---@param value any
	function SetPlayerValue(player, num, value)
		mytable[GetPlayerId(player) * length + num - 1] = value
	end
	
	---GetPlayerValue
	---@param player player
	---@param num integer
	---@return any
	function GetPlayerValue(player, num)
		return mytable[GetPlayerId(player) * length + num - 1]
	end
end

GetPlayerValue(GetTriggerPlayer(), 6) --> шестое значение для GetTriggerPlayer
30

» WarCraft 3 / Как сделать так, чтобы магазин не мог ничего продать игроку

Профит! Теперь у тебя есть магазин,который переходит под влияние игрока кторый кликнул и купить из него может только кликнувший игрок.
А потом к магазину подходят два игрока и начинается война кликов))
30

» WarCraft 3 / Расстояние до цели

У меня карта на удержание, работает только против ботов. Цель станится - так что не убежит
Это же гениально - вместо написания нормального заклинания, городится куча костылей. Которая со временем будет наростать снежным комом по парабуле.
30

» WarCraft 3 / Как сделать рывок в версии 1.26?

Особенно видно даже не вглядываясь когда герой летит на большие расстояния со скоростью 2500-3000 ед. в секунду, он будет телепортироваться на дистанции по 90 единиц, это прям очень заметно и глаза режет.
Это из разряда: я хочу перенести героя на противоположный край карты за 1/100500 секунды, но он почему-то не летит плавно.
30

» WarCraft 3 / Как сделать рывок в версии 1.26?

0.03 более чем достаточно, 0.02 край
А как же волшебный тик в 0.03125?))
Ничего никогда не фаталило и не лагало, играл 10х10 так и ничего подобного не было замечено из-за этого, бред)
А сколько таймеров одновременно запускалось?
30

» WarCraft 3 / Приведите примеры работы с SetUnitLookAt

ну а кто лазит твоего пк =)
Здрасте приехали, мемхак из карты может исполнять что угодно на компе юзера.
30

» WarCraft 3 / Приведите примеры работы с SetUnitLookAt

так это на стороне клиента а есть так серверный который определяет куки даже если украдете =)
Я крал у себя куки и авторизировался на vk и xgm. В куках хранится только токен сессии и он не отличает один браузер от точно такого же второго.

Можете прикрепить к сообщению содержимое C:\Users\<your_username>\AppData\Local\Google\Chrome\User Data\Default\ и посмотрите, как у меня ничего не получится))
с паролем страшные вещи, конечно.
Поэтому и ненужно разрешать кому попало лазить по вашей памяти))
30

» WarCraft 3 / Приведите примеры работы с SetUnitLookAt

тебе и придется только http воровать! А через https не украдете даже подмените файлы. Так как в ней строго определяет пользователя
Что-то я не вижу здесь чёткого определения пользователя
И не забывайте, что я могу тупо спереть пароли без всякого гемороя.
Загруженные файлы
30

» WarCraft 3 / Расстояние до цели

Во правильная картинка и все работатет!
Правда через одно место. Эту способность можно абузить, отменяя приказ. Притом вэйт игнорирует паузу игры по сети.
30

» WarCraft 3 / Приведите примеры работы с SetUnitLookAt

Я, конечно, извиняюсь, но как можно своровать куки?
Например так:
C:\Users\$username\AppData\Local\Google\Chrome\User Data\Default.
С учётом того, что хранить через куки конфиденциальную информацию крайне глупо, тырить куки тоже глупо.
Подменив куки в своём браузере можно например получить авторизированную сессию. А ещё можно угнать файл паролей. Я для теста угнал его у себя и поместив их в хром на другом компе получил автоввод всех сохранённых паролей. Ну а Chrome Password Decrypter мне их прекрасно расшифровал.
Хотел даже статью написать, как это сделать, но мне пригрозили баном на веки вечные.
30

» WarCraft 3 / Приведите примеры работы с SetUnitLookAt

Потому что новый патч до сих пор не поддерживает без лютого шаманства то, что можно комфортно сделать на мемхаке?
Например создание новых фрэймов?
А доступ к памяти вообще куда важнее пары десятка костыльных функций, данных как подачка.
И почему всем нетерпится лазить по моей памяти и воровать мои куки?
А если говорить про луа, то это надо ждать, пока полноценно рефорджед вылезет и получит первый десяток патчей.
Незнаю на какой барахолке вы покупали луа, но в 1.31 он прекрасно работает.
30

» WarCraft 3 / Расстояние до цели

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

» WarCraft 3 / Урон по линии

что возвращает Perpendicular?
Формула возвращает длинну от бесконечной прямой линии, которая проходит через [Xa,Ya] [Xb,Yb]. Тобишь нужно ещё сделать проверку на то, что цель находится перед кастером.
30

» WarCraft 3 / Урон по линии

Хотя вроде как должен учитываться физический размер.
При GroupEnumUnitsInRange не учитывается физический размер, поэтому нужно при наборе в группу добавлять к радиусу максимальный физ.размер, а уже при переборе проверять функцией IsUnitInRangeXY.

Или вообще выбирать всех юнитов и радиусе урона и считать перпендикуляр от прямой.
function Perpendicular takes real Xa,real Ya,real Xb,real Yb,real Xc,real Yc returns real
    return SquareRoot((Xa - Xc) * (Xa - Xc) + (Ya - Yc) * (Ya - Yc)) * Sin(Atan2(Yc-Ya,Xc-Xa) - Atan2(Yb-Ya,Xb-Xa))
endfunction
30

» WarCraft 3 / Приведите примеры работы с SetUnitLookAt

но оказалось можно сделать больше - поворачивать dummy-снаряды
Почему не перейти на новый патч и не делать снаряды из эффектов?
30

» WarCraft 3 / Приведите примеры работы с SetUnitLookAt

Я просто хз что это за команда, но судя по переводу - заставляет кого-то куда-то смотреть
Если посмотреть на параметры, то да заставляет кость повернуться к цели:
---@param whichUnit unit
---@param whichBone string
---@param lookAtTarget unit
---@param offsetX real
---@param offsetY real
---@param offsetZ real
---@return nothing
function SetUnitLookAt(whichUnit, whichBone, lookAtTarget, offsetX, offsetY, offsetZ) end	-- (native)
30

» WarCraft 3 / cJass2Lua(v1.12) - Преобразователь кода cJass и JASS в Lua

Обновил софтину, кучу всего улучшил, файлы common.j, blizzard.j, common.ai теперь парсятся без ошибок, синтаксический анализатор в выхлопном луа коде тоже проблем не обнаружил, emmyDoc добавляется куда только можно. Можно проверять
Всё отлично работает, обновил файлы в своей статье.
30

» WarCraft 3 / cJass2Lua(v1.12) - Преобразователь кода cJass и JASS в Lua

луа не типизированный язык и будет глупо добавлять правила парсинга объявления типов..))
Тогда IDE не будет подсвечивать типы передаваемых данных в функцию, что не очень удобно.

к тому же придётся каждый return заменить на any.
Загруженные файлы
30

» WarCraft 3 / cJass2Lua(v1.12) - Преобразователь кода cJass и JASS в Lua

Окей, сделаю, не обещаю что будет прям как там, но будет парсить нормально
Будет просто шикарно, особенно если EmmyDoc расставить.
Загруженные файлы
30

» WarCraft 3 / Поднятие юнита в воздух.

do
    local ability = FourCC('Aave')
    local location = Location(0, 0)
    ---@param target unit
    ---@param z real
    function SetUnitZ(target, z)
        UnitAddAbility(target, ability)
        UnitRemoveAbility(target, ability)
        MoveLocation(location, GetUnitX(target), GetUnitY(target))
        SetUnitFlyHeight(target, z - GetLocationZ(location), 0)
    end
end
30

» WarCraft 3 / Reforged на LUA

А где можно посмотреть все альтернативы джассу для LUA?
Например в документации.