И почему так сложно заглянуть в документацию?
Для шести значений можно и одномерный массив использовать
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
Особенно видно даже не вглядываясь когда герой летит на большие расстояния со скоростью 2500-3000 ед. в секунду, он будет телепортироваться на дистанции по 90 единиц, это прям очень заметно и глаза режет.
Это из разряда: я хочу перенести героя на противоположный край карты за 1/100500 секунды, но он почему-то не летит плавно.
так это на стороне клиента а есть так серверный который определяет куки даже если украдете =)
Я крал у себя куки и авторизировался на vk и xgm. В куках хранится только токен сессии и он не отличает один браузер от точно такого же второго.
Можете прикрепить к сообщению содержимое C:\Users\<your_username>\AppData\Local\Google\Chrome\User Data\Default\ и посмотрите, как у меня ничего не получится))
С учётом того, что хранить через куки конфиденциальную информацию крайне глупо, тырить куки тоже глупо.
Подменив куки в своём браузере можно например получить авторизированную сессию. А ещё можно угнать файл паролей. Я для теста угнал его у себя и поместив их в хром на другом компе получил автоввод всех сохранённых паролей. Ну а Chrome Password Decrypter мне их прекрасно расшифровал.
Хотел даже статью написать, как это сделать, но мне пригрозили баном на веки вечные.
Формула возвращает длинну от бесконечной прямой линии, которая проходит через [Xa,Ya] [Xb,Yb]. Тобишь нужно ещё сделать проверку на то, что цель находится перед кастером.
Хотя вроде как должен учитываться физический размер.
При 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
Я просто хз что это за команда, но судя по переводу - заставляет кого-то куда-то смотреть
Если посмотреть на параметры, то да заставляет кость повернуться к цели:
---@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)
Обновил софтину, кучу всего улучшил, файлы common.j, blizzard.j, common.ai теперь парсятся без ошибок, синтаксический анализатор в выхлопном луа коде тоже проблем не обнаружил, emmyDoc добавляется куда только можно. Можно проверять
Всё отлично работает, обновил файлы в своей статье.
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
» WarCraft 3 / двумерный массив lua
Для шести значений можно и одномерный массив использовать
» WarCraft 3 / Как сделать так, чтобы магазин не мог ничего продать игроку
Ред. nazarpunk
» WarCraft 3 / Расстояние до цели
» WarCraft 3 / Как сделать рывок в версии 1.26?
» WarCraft 3 / Как сделать рывок в версии 1.26?
» WarCraft 3 / Приведите примеры работы с SetUnitLookAt
Ред. nazarpunk
» WarCraft 3 / Приведите примеры работы с SetUnitLookAt
» WarCraft 3 / Приведите примеры работы с SetUnitLookAt
» WarCraft 3 / Расстояние до цели
Ред. nazarpunk
» WarCraft 3 / Как сделать рывок в версии 1.26?
Ред. nazarpunk
» WarCraft 3 / Приведите примеры работы с SetUnitLookAt
» WarCraft 3 / Как сделать рывок в версии 1.26?
» WarCraft 3 / Приведите примеры работы с SetUnitLookAt
» WarCraft 3 / Расстояние до цели
Ред. nazarpunk
» WarCraft 3 / Урон по линии
Ред. nazarpunk
» WarCraft 3 / Урон по линии
» WarCraft 3 / Приведите примеры работы с SetUnitLookAt
Ред. nazarpunk
» WarCraft 3 / Приведите примеры работы с SetUnitLookAt
» WarCraft 3 / cJass2Lua(v1.12) - Преобразователь кода cJass и JASS в Lua
» WarCraft 3 / [lua] Подсветка кода во внешнем редакторе
» WarCraft 3 / cJass2Lua(v1.12) - Преобразователь кода cJass и JASS в Lua
» WarCraft 3 / cJass2Lua(v1.12) - Преобразователь кода cJass и JASS в Lua
Ред. nazarpunk
» WarCraft 3 / cJass2Lua(v1.12) - Преобразователь кода cJass и JASS в Lua
https://www.xgm.guru/files/100/237543/comments/436948/blizzard.j
https://www.xgm.guru/files/100/237543/comments/436948/common.ai
https://www.xgm.guru/files/100/237543/comments/436948/blizzard.j...
https://www.xgm.guru/files/100/237543/comments/436948/common.ai....
» WarCraft 3 / Поднятие юнита в воздух.
» WarCraft 3 / Reforged на LUA