Некорректно показывает цвет 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
Есть еще альфа канал, который и отвечает за "насыщенность" ака прозрачность. Да и цвет можно хуком дёрнуть и не придется подбирать
Можете мне помочь ? Устал подбирать) Особо не шарю в луа. Правда нашел этот скрипт, но надо под себя сделать.
 

Fott

Известный
3,400
2,208
Можете мне помочь ? Устал подбирать) Особо не шарю в луа. Правда нашел этот скрипт, но надо под себя сделать.
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
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
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)
Один из этих вариантов точно сработает.
Через фотошоп вывел код цвета - 0x6495ed Но в игре он искажается, можно ли, как-то на уровне кода накинуть прозрачность ?
Как ты говорил, возможно при вытягивание хуком он точно также исказится. Если есть ли возможность, можно попробовать на уровне кода прозрачность накинуть, но я не шарю. (
 

OGJeffrey

Новичок
Автор темы
11
1
SF Integration установи, и будет тебе цвет в консоль.
Ту функу засунул в файл она так же не выводит.
Ошибка
[ML] (error) 123.lua: D:\Games\GTA San Andreas MultiPlayer\moonloader\123.lua:9: '=' expected near 'function'
[ML] (error) 123.lua: Script died due to an error. (0EAB628C)

SAMPFUNCS v5.4.1-final rel.21 (SA-MP 0.3.7-R1)
Compiled: Dec 24 2018 03:13:37

Copyright (c) 2013-2018, BlastHack Team <blast.hk>

Base address: 0x56300000.
Initializing opcodes...
Opcodes initialized successfully. Total opcodes: 382.
Hook "CTimer::GetRealTimeScale" installed.
Hook "CPad::Update" installed.
Hook "CCamera::RenderMotionBlur" installed.
Hook "CScriptThread::AddScriptToQueue" installed.
Hook "CScriptThread::RemoveScriptFromQueue" installed.
Hook "CScriptThread::Process" installed.
Hook "WinMainLoop" installed.
Hook "CLoadingScreen::RenderSplash" installed.
Hook "CVehicle::CVehicle" installed.
Hook "CVehicle::~CVehicle" installed.
Hook "CPed::CPed" installed.
Hook "CPed::~CPed" installed.
samp.dll base addres: 0x03C80000
Hook "SAMP: CNetGame::CNetGame" installed.
Hook "SAMP: CDialog::Close" installed.
Hook "SAMP: QuitGame" installed.
Hook "SAMP: CCmdWindow::ProcessInput" installed.
[ML] (system) Session started.
[ML]
MoonLoader v.026.5-beta loaded.
[ML] Developers: FYP, hnnssy, EvgeN 1137

[ML] Copyright (c) 2016, BlastHack Team
[ML] https://www.blast.hk/moonloader/

[ML] (info) Working directory: D:\Games\GTA San Andreas MultiPlayer\moonloader
[ML] (system) Installing pre-game hooks...
[ML] (system) Hooks installed.
[ML] (system) Loading script 'D:\Games\GTA San Andreas MultiPlayer\moonloader\123.lua'...
[ML] (error) 123.lua: D:\Games\GTA San Andreas MultiPlayer\moonloader\123.lua:9: '=' expected near 'function'
[ML] (error) 123.lua: Script died due to an error. (0EAB628C)
[ML] (system) Loading script 'D:\Games\GTA San Andreas MultiPlayer\moonloader\fnews.lua'...
[ML] (system) fnewst: Loaded successfully.
[ML] (system) Loading script 'D:\Games\GTA San Andreas MultiPlayer\moonloader\SF Integration.lua'...
[ML] (system) SF Integration: Loaded successfully.
[ML] (system) Loading script 'D:\Games\GTA San Andreas MultiPlayer\moonloader\ultracum.lua'...
[ML] (system) ultracum.lua: Loaded successfully.
[ML] (system) Installing post-load hooks...
[ML] (system) Hooks installed.
Direct3DDevice9 hook installed.
Hook "SAMP: RakPeer::HandleRPCPacket" installed.
Initializing SAMP data...
Info initialized.
Pools initialized.
Player pool initialized.
Vehicle pool initialized.
Chat initialized.
Input initialized.
Death list initialized.
Dialog initialized.
Misc data initialized.
Scoreboard initialized.
RakNet initialized.
SAMPFUNCS v5.4.1-final rel.21 (SA-MP 0.3.7-R1) completely loaded!
logDebugMessages
Unknown command 'logDebugMessages'
 
Последнее редактирование: