конвертация sampGetPlayerColor в RGBA

langerdovers

Участник
Автор темы
96
22
Версия MoonLoader
.026-beta
Как конвертировать цвет из sampGetPlayerColor в удобоваримый вид для imgui.ImVec4
 

|| NN - NoName ||

Известный
1,049
628
можно на костыль поглядеть?
Мне за него слишком стыдно. Но потом я сделал не много по другому. А именно:
Lua:
color = sampGetPlayerColor(arg)
color = string.format('%06X', bit.band(color,  0xFFFFFF))
res = setClipboardText(color)
Сразу перевожу в hex
 
  • Нравится
Реакции: langerdovers

langerdovers

Участник
Автор темы
96
22
Мне за него слишком стыдно. Но потом я сделал не много по другому. А именно:
Lua:
color = sampGetPlayerColor(arg)
color = string.format('%06X', bit.band(color,  0xFFFFFF))
res = setClipboardText(color)
Сразу перевожу в hex
это конечно работает, но мне надо в RGBA, а не HEX.
В любом случае спасибо!
 

Quasper

Известный
834
354
это конечно работает, но мне надо в RGBA, а не HEX.
В любом случае спасибо!
Код FYP'а взят отсюда
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:
a, r, g, b = explode_argb(sampGetPlayerColor(playerId))
color = imgui.ImVec4(r, g, b, a)
 
  • Нравится
Реакции: langerdovers

Tema05

Известный
1,441
399
Извиняюсь, затупил для ImVec4 надо же float, а не тупо RGBA
Lua:
function converct(argb)
    a = bit.band(bit.rshift(argb, 24), 0xFF)
    r = bit.band(bit.rshift(argb, 16), 0xFF)
    g = bit.band(bit.rshift(argb, 8), 0xFF)
    b = bit.band(argb, 0xFF)
    return a/255, r/255, g/255, b/255
end
Ты можешь нормально сказать из какой системы в какую тебе надо?