sampGetPlayerColor - RGB

Vespan

Чешский луашер
Автор темы
Проверенный
2,118
1,716
Версия MoonLoader
.026-beta
как из sampgetPlayerColor получить в RGB.
 

Vespan

Чешский луашер
Автор темы
Проверенный
2,118
1,716
local color = sampGetPlayerColor(id)
local aa, rr, gg, bb = explode_argb(colors)
local color = join_argb(255, rr, gg, bb)
Lua:
    sampRegisterChatCommand('test2', function(id)
    local color = sampGetPlayerColor(id)
    local aa, rr, gg, bb = explode_argb(color)
    local color = join_argb(255, rr, gg, bb)
        sampAddChatMessage(color..'123', -1)
    end)
не работает .-.
Код:
[16:12:12.464508] (error)    test.lua: D:\GTA\JTAS\moonloader\test.lua:23: attempt to call global 'explode_argb' (a nil value)
stack traceback:
    D:\GTA\JTAS\moonloader\test.lua:23: in function <D:\GTA\JTAS\moonloader\test.lua:21>
[16:12:12.465510] (error)    test.lua: Script died due to an error. (0BD2E5AC)
 

Raymond

Известный
206
90
Lua:
function explode_argb(argb)
  local a = bit.band(bit.rshift(argb, 24), 0xFF)
  local r = bit.band(bit.rshift(argb, 16), 0xFF)
  local g = bit.band(bit.rshift(argb, 8), 0xFF)
  local b = bit.band(argb, 0xFF)
  return a, r, g, b
end


Lua:
function join_argb(a, r, g, b)
  local argb = b  -- b
  argb = bit.bor(argb, bit.lshift(g, 8))  -- g
  argb = bit.bor(argb, bit.lshift(r, 16)) -- r
  argb = bit.bor(argb, bit.lshift(a, 24)) -- a
  return argb
end
end

Используй: sampAddChatMessage("{"..color.."}"..'123', -1)
 
  • Нравится
Реакции: the same и Vespan

Vlaek

Новичок
2
0
Сделал как в темке, но в чат почему-то выводит все белым цветом вот так :
{233701375}123

Lua:
function color(id)
    local color = sampGetPlayerColor(id)
    sampAddChatMessage("color: "..color, -1)
    local aa, rr, gg, bb = explode_argb(color)
    local color = join_argb(255, rr, gg, bb)
    sampAddChatMessage("{"..color.."}"..'123', -1)
end
 

Raymond

Известный
206
90
Сделал как в темке, но в чат почему-то выводит все белым цветом вот так :
{233701375}123

Lua:
function color(id)
    local color = sampGetPlayerColor(id)
    sampAddChatMessage("color: "..color, -1)
    local aa, rr, gg, bb = explode_argb(color)
    local color = join_argb(255, rr, gg, bb)
    sampAddChatMessage("{"..color.."}"..'123', -1)
end
полный код дай
 

Vlaek

Новичок
2
0
полный код дай
Lua:
local sampev, vkeys = require 'lib.samp.events', require 'lib.vkeys'
local main_color = 0xFF0000

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
        sampRegisterChatCommand('color', color)
    while true do
        wait(0)
    end
end

function color(id)
    local color = sampGetPlayerColor(id)
    sampAddChatMessage("color: "..color, -1)
    local aa, rr, gg, bb = explode_argb(color)
    local color = join_argb(255, rr, gg, bb)
    sampAddChatMessage("{"..color.."}"..'123', -1)
end

function explode_argb(argb)
  local a = bit.band(bit.rshift(argb, 24), 0xFF)
  local r = bit.band(bit.rshift(argb, 16), 0xFF)
  local g = bit.band(bit.rshift(argb, 8), 0xFF)
  local b = bit.band(argb, 0xFF)
  return a, r, g, b
end

function join_argb(a, r, g, b)
  local argb = b  -- b
  argb = bit.bor(argb, bit.lshift(g, 8))  -- g
  argb = bit.bor(argb, bit.lshift(r, 16)) -- r
  argb = bit.bor(argb, bit.lshift(a, 24)) -- a
  return argb
end
 

Raymond

Известный
206
90
Lua:
local sampev, vkeys = require 'lib.samp.events', require 'lib.vkeys'
local main_color = 0xFF0000

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
        sampRegisterChatCommand('color', color)
    while true do
        wait(0)
    end
end

function color(id)
    local color = sampGetPlayerColor(id)
    sampAddChatMessage("color: "..color, -1)
    local aa, rr, gg, bb = explode_argb(color)
    local color = join_argb(255, rr, gg, bb)
    sampAddChatMessage("{"..color.."}"..'123', -1)
end

function explode_argb(argb)
  local a = bit.band(bit.rshift(argb, 24), 0xFF)
  local r = bit.band(bit.rshift(argb, 16), 0xFF)
  local g = bit.band(bit.rshift(argb, 8), 0xFF)
  local b = bit.band(argb, 0xFF)
  return a, r, g, b
end

function join_argb(a, r, g, b)
  local argb = b  -- b
  argb = bit.bor(argb, bit.lshift(g, 8))  -- g
  argb = bit.bor(argb, bit.lshift(r, 16)) -- r
  argb = bit.bor(argb, bit.lshift(a, 24)) -- a
  return argb
end
Lua:
local sampev, vkeys = require 'lib.samp.events', require 'lib.vkeys'
local main_color = 0xFF0000

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
        sampRegisterChatCommand('color', color)
    while true do
        wait(0)
    end
end

function color(id)
    color = sampGetPlayerColor(id)
 color = argb_to_rgb(color)
 if color == nil then color = 'FFFFFF' end
 color = string.format("%06X",color)
    sampAddChatMessage("{"..color.."}"..'123', -1)
end

function argb_to_rgb(argb)
    return bit.band(argb, 0xFFFFFF)
end
 
  • Нравится
Реакции: Vlaek