Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Вопрос Player State [NL]

можеш подсказать как это работает, на примере ин аира пожалуста
0 - на земле
1 - крауч
2 -фулл крауч(если я не ошибаюсь)

просто чтобы получить in-air нужно написать not localplayer:GetFlag(0)
 
Код:
Expand Collapse Copy
function C_BasePlayer:GetFlag(index)
    return bit.band(self:GetProp("m_fFlags"), bit.lshift(1, index)) ~= 0
end
А не проще и быстрее по фреймам будет сделать тоже самое, но без лишней функции? При запуске скрипта прогетать все флаги сразу, и потом уже в битшифте юзать готовые значения, нежели чем каждый раз заново их делать
 
А не проще и быстрее по фреймам будет сделать тоже самое, но без лишней функции? При запуске скрипта прогетать все флаги сразу, и потом уже в битшифте юзать готовые значения, нежели чем каждый раз заново их делать
можеш показать пример пожалуста, и еще как гетать мувы?
 
0 - на земле
1 - крауч
2 -фулл крауч(если я не ошибаюсь)

просто чтобы получить in-air нужно написать not localplayer:GetFlag(0)
кстати крашит почему-то, не могу понять почему:<, можеш помочь в дс Quasar#7334
 
А не проще и быстрее по фреймам будет сделать тоже самое, но без лишней функции? При запуске скрипта прогетать все флаги сразу, и потом уже в битшифте юзать готовые значения, нежели чем каждый раз заново их делать
Я думал так сделать, но не решил так заморачиваться, тем более мне уже более привычнее написать 0/1/2 чем FL_GROUND и тд
можеш показать пример пожалуста, и еще как гетать мувы?
чтобы гетать мувы, тебе сначала нужно получить свою скорость
вот функция:
Код:
Expand Collapse Copy
function C_BasePlayer:GetVelocity()
    return self:GetProp("m_vecVelocity"):Length2D()
end

потом просто пишешь:
Код:
Expand Collapse Copy
local velocity = localplayer:GetVelocity()
if velocity > 5 -- is move
if velocity < 5 -- is stand


или можно в функцию передать cmd:
Код:
Expand Collapse Copy
function ...(cmd)
    local movelength = math.sqrt(cmd.forwardmove ^ 2 + cmd.sidemove ^ 2)
    if movelength > 5 -- is move
    if movelength < 5 -- is stand
по идеи так должно быть более надёжней
 
Последнее редактирование:
Назад
Сверху Снизу