Lua [ARZ] Бег при 20% сытости

Tema05

Известный
1,471
435
Копаю 2 день в попытках вырубить нахуй это отключение спринта при голоде на лаунчере. Это не CPed.m_pPlayerData.m_fMoveSpeed https://github.com/DK22Pac/plugin-sdk/blob/master/plugin_sa/game_sa/CPlayerData.h#L28
В sampev.onApplyPlayerAnimation тоже пусто
Пробовал блокировать входящие аризоновские пакеты (220 это тут id пакета в лаунчере аризоны). Когда голод становится ниже или выше 20 приходят всегда эти 3 пакета:
220 3 27
220 17 window.executeEvent(\'event.arizonahud.playerSatiety\', `[27]`);
Эти 2 приходят при любом изменении голода. После 3 цифра 27 это тоже голод. Хз зачем им 2 пакета. Скорее всего 1 системный, а другой для худа.
Есть ещё 1, который приходит только момент в включения и отключения бега
220 164 0 (когда голод меньше 20 приходит вместо 0 будет 128)
Но он почему-то не блочится внутри onReceivePacket через return false. Перезапись битстрима также не помогает. Или лаунчер читает до того как lua что-то сделает или это не то. Скорее всего 1 вариант. Так как полная блокировка всех пакетов и рпс тоже не помогает избегать изменения возможности бега.
 

constersuonsis

Активный
Автор темы
171
94
Копаю 2 день в попытках вырубить нахуй это отключение спринта при голоде на лаунчере. Это не CPed.m_pPlayerData.m_fMoveSpeed https://github.com/DK22Pac/plugin-sdk/blob/master/plugin_sa/game_sa/CPlayerData.h#L28
В sampev.onApplyPlayerAnimation тоже пусто
Пробовал блокировать входящие аризоновские пакеты (220 это тут id пакета в лаунчере аризоны). Когда голод становится ниже или выше 20 приходят всегда эти 3 пакета:
220 3 27
220 17 window.executeEvent(\'event.arizonahud.playerSatiety\', `[27]`);
Эти 2 приходят при любом изменении голода. После 3 цифра 27 это тоже голод. Хз зачем им 2 пакета. Скорее всего 1 системный, а другой для худа.
Есть ещё 1, который приходит только момент в включения и отключения бега
220 164 0 (когда голод меньше 20 приходит вместо 0 будет 128)
Но он почему-то не блочится внутри onReceivePacket через return false. Перезапись битстрима также не помогает. Или лаунчер читает до того как lua что-то сделает или это не то. Скорее всего 1 вариант. Так как полная блокировка всех пакетов и рпс тоже не помогает избегать изменения возможности бега.
Я все эти варианты перепробовал, лаунчер блочит походу
 

Nekiplay

Участник
44
26
я сутки уже пытаюсь сделать, чет очень плохо работает
Lua:
function onReceivePacket(id, bs) -- cef functions by lainban | https://www.blast.hk/threads/184692/
    if id == 220 then
        raknetBitStreamIgnoreBits(bs, 8)
        if (raknetBitStreamReadInt8(bs) == 17) then
            raknetBitStreamIgnoreBits(bs, 32)
            local str = raknetBitStreamReadString(bs, raknetBitStreamReadInt32(bs))
            if not str:find('updatePlayersCount') then
                str = str:gsub("%{......%}", "")
                str = str:gsub("\n", "")
                
                if str:find('playerSatiety') then
                    local str2 = string.gsub(str, "window%.executeEvent", "")
                    str2 = string.gsub(str2, "('event.arizonahud.playerSatiety'), ", "")
                    str2 = string.gsub(str2, "%(", "")
                    str2 = string.gsub(str2, "%)", "")
                    str2 = string.gsub(str2, "`", "")
                    str2 = string.gsub(str2, "%[", "")
                    str2 = string.gsub(str2, "%];", "")
                    player_info.hunger = tonumber(str2, nil, true)
                end
            end
        end
    end
end
 

constersuonsis

Активный
Автор темы
171
94
Lua:
function onReceivePacket(id, bs) -- cef functions by lainban | https://www.blast.hk/threads/184692/
    if id == 220 then
        raknetBitStreamIgnoreBits(bs, 8)
        if (raknetBitStreamReadInt8(bs) == 17) then
            raknetBitStreamIgnoreBits(bs, 32)
            local str = raknetBitStreamReadString(bs, raknetBitStreamReadInt32(bs))
            if not str:find('updatePlayersCount') then
                str = str:gsub("%{......%}", "")
                str = str:gsub("\n", "")
               
                if str:find('playerSatiety') then
                    local str2 = string.gsub(str, "window%.executeEvent", "")
                    str2 = string.gsub(str2, "('event.arizonahud.playerSatiety'), ", "")
                    str2 = string.gsub(str2, "%(", "")
                    str2 = string.gsub(str2, "%)", "")
                    str2 = string.gsub(str2, "`", "")
                    str2 = string.gsub(str2, "%[", "")
                    str2 = string.gsub(str2, "%];", "")
                    player_info.hunger = tonumber(str2, nil, true)
                end
            end
        end
    end
end
та не, эт я сделал, проблема в другом.
я пытаюсь убрать блокировку анимации, а лаунчеру как будто пофигу
 

Nekiplay

Участник
44
26
та не, эт я сделал, проблема в другом.
я пытаюсь убрать блокировку анимации, а лаунчеру как будто пофигу
Возможно анимка на лаунчере по другому называется или имеет другой ID
Либо SAMP.lua в лаунчере не полноценный

Что за пистолет - аш
1704384778951.png
 

Tema05

Известный
1,471
435
Возможно анимка на лаунчере по другому называется или имеет другой ID
Либо SAMP.lua в лаунчере не полноценный

Что за пистолет - аш
Посмотреть вложение 227285
Да на лаунчере это вообще не связано с анимацией. И SAMP.lua не может быть неполноценным
 

-MaDnEsS-

Известный
194
37
А вот хуй его знает. Какая-то лаунчеровская фигня
Раньше было легко контролировать изменения лаунчера Аризоны, то сейчас разработчики лаунчера продвинутые уже, даже форум БХ чекают. Всем нам стало куда сложнее
 

sakata69

Участник
37
8
Получение голода:
function onReceivePacket(id, bs) -- cef functions by lainban | https://www.blast.hk/threads/184692/
    if id == 220 then
        raknetBitStreamIgnoreBits(bs, 8)
        if (raknetBitStreamReadInt8(bs) == 17) then
            raknetBitStreamIgnoreBits(bs, 32)
            local str = raknetBitStreamReadString(bs, raknetBitStreamReadInt32(bs))
            if not str:find('updatePlayersCount') then
                str = str:gsub("%{......%}", "")
                str = str:gsub("\n", "")
               
                if str:find('playerSatiety') then
                    local str2 = string.gsub(str, "window%.executeEvent", "")
                    str2 = string.gsub(str2, "('event.arizonahud.playerSatiety'), ", "")
                    str2 = string.gsub(str2, "%(", "")
                    str2 = string.gsub(str2, "%)", "")
                    str2 = string.gsub(str2, "`", "")
                    str2 = string.gsub(str2, "%[", "")
                    str2 = string.gsub(str2, "%];", "")
                    player_info.hunger = tonumber(str2, nil, true)
                end
            end
        end
    end
end
Получить через диалог/satiety...