Поиск пакета для скинченджера

palitessa

Новичок
Автор темы
17
1
Версия SA-MP
  1. Другая
Приветствую, я делаю скрипт который скоро будет в открытом доступе, но столкнулся с проблемой. Я хотел добавить функцию скинченджера в мой скрипт, чтобы там работали кастомные скины аризоны, я добавил его сначало через 153 пакет (самповский), вместо скина который нужен появляется CJ, попробовал через 220 пакет, теперь ничего не происходит. Брал суть скинченджера со скрипта Chapo, только с добавлением айди кастомных скинов, прикреплю скрипт. Может знает кто, в чем проблема
 

Вложения

  • ArizonaSkinChangerByChapo.lua
    57.7 KB · Просмотры: 4

palitessa

Новичок
Автор темы
17
1
входящий битстрим:
local playerId = raknetBitStreamReadInt32(bs)  -- ID игрока
local skinId = raknetBitStreamReadInt32(bs)   -- ID скина
перехват 153:
addEventHandler("onReceivePacket", function(id, bs)
    if id == 153 then
        local playerId = raknetBitStreamReadInt32(bs)
        local skinId = raknetBitStreamReadInt32(bs)
        -- Обработка...
    end
    return true
end)
битстрим 220:
local subcode = raknetBitStreamReadInt8(bs)      -- Подкод события (например, 155 = onArizonaSetPlayerAttachedObject)
local browserId = raknetBitStreamReadInt32(bs)   -- ID браузера
local textLen = raknetBitStreamReadInt32(bs)     -- Длина JSON строки
local text = nil
if textLen > 0 and textLen < 100000 then
    text = raknetBitStreamReadCString(bs)        -- JSON с данными события
end
перехват 220:
addEventHandler("onReceivePacket", function(id, bs)
    if id == 220 then
        local subcode = raknetBitStreamReadInt8(bs)
        local browserId = raknetBitStreamReadInt32(bs)
        local textLen = raknetBitStreamReadInt32(bs)
        local text = nil
        if textLen > 0 and textLen < 100000 then
            text = raknetBitStreamReadCString(bs)
        end
        -- Обработка subcode и JSON данных...
    end
    return true
end)

кинь хотя бы функцию, где ты отправляешь/перехватываешь 153 и 220
.
 

pewpewpewpew

Известный
640
187
входящий битстрим:
local playerId = raknetBitStreamReadInt32(bs)  -- ID игрока
local skinId = raknetBitStreamReadInt32(bs)   -- ID скина
перехват 153:
addEventHandler("onReceivePacket", function(id, bs)
    if id == 153 then
        local playerId = raknetBitStreamReadInt32(bs)
        local skinId = raknetBitStreamReadInt32(bs)
        -- Обработка...
    end
    return true
end)
битстрим 220:
local subcode = raknetBitStreamReadInt8(bs)      -- Подкод события (например, 155 = onArizonaSetPlayerAttachedObject)
local browserId = raknetBitStreamReadInt32(bs)   -- ID браузера
local textLen = raknetBitStreamReadInt32(bs)     -- Длина JSON строки
local text = nil
if textLen > 0 and textLen < 100000 then
    text = raknetBitStreamReadCString(bs)        -- JSON с данными события
end
перехват 220:
addEventHandler("onReceivePacket", function(id, bs)
    if id == 220 then
        local subcode = raknetBitStreamReadInt8(bs)
        local browserId = raknetBitStreamReadInt32(bs)
        local textLen = raknetBitStreamReadInt32(bs)
        local text = nil
        if textLen > 0 and textLen < 100000 then
            text = raknetBitStreamReadCString(bs)
        end
        -- Обработка subcode и JSON данных...
    end
    return true
end)


.
откуда ты отправляешь айдишники кастомных скинов?
 

palitessa

Новичок
Автор темы
17
1
откуда ты отправляешь айдишники кастомных скинов?
samp.ide:
function LOAD_LAUNCHER_SKINS()
    local file = getGameDirectory()..'\\SAMP\\SAMP.ide'
    if doesFileExist(file) then
        local F = io.open(file, 'r')
        local Text = F:read('*all')
        F:close()

        for line in Text:gmatch('[^\n]+') do
            if line:find('^peds') then pedline = lineIndex end
            if pedline and line:match('(%d+), (%w+)') then
                local id, model = line:match('(%d+), (%w+)')
                if tonumber(id) > 311 then
                    table.insert(arzskins, {id = tonumber(id), name = '(ARZ) '..model})
                end
            end
        end
    end
end
 

pewpewpewpew

Известный
640
187
samp.ide:
function LOAD_LAUNCHER_SKINS()
    local file = getGameDirectory()..'\\SAMP\\SAMP.ide'
    if doesFileExist(file) then
        local F = io.open(file, 'r')
        local Text = F:read('*all')
        F:close()

        for line in Text:gmatch('[^\n]+') do
            if line:find('^peds') then pedline = lineIndex end
            if pedline and line:match('(%d+), (%w+)') then
                local id, model = line:match('(%d+), (%w+)')
                if tonumber(id) > 311 then
                    table.insert(arzskins, {id = tonumber(id), name = '(ARZ) '..model})
                end
            end
        end
    end
end
lineIndex отсутствует