Некорректно показывает цвет Bubble Chat. Нужна помощь

OGJeffrey

Новичок
Автор темы
11
1
Версия MoonLoader
.026-beta
Нужна помощь, показывает цвет некорректно.
Подобрал код цвета как на сервере, но по какой-то непонятной причине,
цвет над головой персонажа отображается немного темнее.
Внизу есть пример на скрине.
Безымянный.png
Безымянный1.png

Lua:
local Tcolor = 0x6495ED -- Цвет Bubble

local function func(arg)
  local id, text = arg:match('(%d+) (.+)')
  if tonumber(id) then
    lua_thread.create(function()
      local BS = raknetNewBitStream()
      raknetBitStreamWriteInt16(BS, id)
      raknetBitStreamWriteInt32(BS, Tcolor, -1)
      raknetBitStreamWriteFloat(BS, 15.0)
      raknetBitStreamWriteInt32(BS, 2000)
      raknetBitStreamWriteInt8(BS, text:len())
      raknetBitStreamWriteString(BS, text)
      raknetEmulRpcReceiveBitStream(59, BS)
      raknetDeleteBitStream(BS)
      sampAddChatMessage(sampGetPlayerNickname(id) .. '['.. id .. '] говорит:{B7AFAF} ' .. text, 0xFFFFFF)
      local _, handle = sampGetCharHandleBySampPlayerId(id)
      taskPlayAnim(handle, 'IDLE_CHAT', 'PED', 4.0, false, false, true, true, 20000)
      local w = text:len() * 150
      if w > 3000 then
        w = 3000
      end
      taskPlayAnim(handle, 'crry_prtial', 'CARRY', 4.0, false, false, false, false, -1)
    end)
  end
end

function main()
  repeat wait(0) until isSampAvailable()
  sampRegisterChatCommand('fchat', func)
  while true do
    wait(0)
  end
end
 
Решение
Можете мне помочь ? Устал подбирать) Особо не шарю в луа. Правда нашел этот скрипт, но надо под себя сделать.
Lua:
local samp = require 'samp.events'
function samp.onPlayerChatBubble(playerId, color, distance, duration, message)
    print(message, color)
end
Этим хуком отслеживаешь цвет и подставляешь его в sampAddChatMessage, или куда там тебе надо. Но скорее всего цвет будет темнее чем надо, как у тебя на скриншоте. Почему так я хуй знает, но если обернуть в
Lua:
bit.tohex(bit.rshift(color, 8), 6)
то все будет норм. Если нет - попробуй просто
Lua:
bit.tohex(color)
Один из этих вариантов точно сработает.

OGJeffrey

Новичок
Автор темы
11
1
как в регулярку вставить знак -
чтобы в чате перед ником было так: - Bomj_Gang
lua:
local id, text = arg:match('(%d+) (.+)')

Ещё проблема с отображением анимации.
Она очень быстро проигрывается
lua:
taskPlayAnim(handle, 'IDLE_CHAT', 'PED', 9.0, false, false, true, true, 20000)
      local w = text:len() * 150
      if w > 3000 then
        w = 3000
      end
      taskPlayAnim(handle, 'crry_prtial', 'CARRY', 9.0, false, false, false, false, -1)