цвета

svdsevcvsd

Участник
Автор темы
31
1
Как отслеживать, что цвет игрока изменился? И сделать так, чтобы об этом писало в чат.
 

svdsevcvsd

Участник
Автор темы
31
1
Lua:
function onReceiveRpc(id, bs)
    if id == 72 then
        if raknetBitStreamReadInt16(bs) == tonumber(readMemory(sampGetPlayerPoolPtr() + 4, 1, false)) then
            if raknetBitStreamReadInt32(bs) == 572662272 then
                timer =  os.time() + 600
            else
                timer = 0
            end
        end
    end
end
можно чуть-чуть по-подробнее, не совсем понял что тут вообще)
Нужно сделать так чтобы выводилось в чат сообщение о том, что игрок с id 5 например сменил цвет ника
 

hiplice

Активный
105
59
Lua:
local events = require 'lib.samp.events' -- Подгружаем библиотеку с событиями, чтобы не возиться с RPC напрямую

function events.onSetPlayerColor(playerID, color) -- Вызывается каждый раз, когда у любого игрока на сервере меняется цвет
  local result, id = sampGetPlayerIdByCharHandle(PLAYER_PED) -- Получаем id нашего персонажа
  if id == playerID then -- Проверяем, если id того персонажа, у которого изменился цвет совпадает с id нашего персонажа
    sampAddChatMessage("Цвет персонажа изменился.", 16777215) -- Добавляем в чат строчку о том, что изменился цвет. Второй аргумент - цвет (16777215 - FFFFFF (белый) в десятичной системе счисления)
  end
end
 
  • Нравится
Реакции: svdsevcvsd

svdsevcvsd

Участник
Автор темы
31
1
Lua:
local events = require 'lib.samp.events' -- Подгружаем библиотеку с событиями, чтобы не возиться с RPC напрямую

function events.onSetPlayerColor(playerID, color) -- Вызывается каждый раз, когда у любого игрока на сервере меняется цвет
  local result, id = sampGetPlayerIdByCharHandle(PLAYER_PED) -- Получаем id нашего персонажа
  if id == playerID then -- Проверяем, если id того персонажа, у которого изменился цвет совпадает с id нашего персонажа
    sampAddChatMessage("Цвет персонажа изменился.", 16777215) -- Добавляем в чат строчку о том, что изменился цвет. Второй аргумент - цвет (16777215 - FFFFFF (белый) в десятичной системе счисления)
  end
end
а как перевести эти цифры в обычный цвет типа: FFFFFF
 

hiplice

Активный
105
59
Цвет в формате HEX задаётся в шестнадцатеричной системе счисления в формате из 3 каналов(красный, зеленый, синий), по 8 бит на канал.
По сути, число 16777215 - это просто FFFFFF, переведенное в десятичную систему счисления.
 

AnWu

Guardian of Order
Всефорумный модератор
4,699
5,221
Цвет в формате HEX задаётся в шестнадцатеричной системе счисления в формате из 3 каналов(красный, зеленый, синий), по 8 бит на канал.
По сути, число 16777215 - это просто FFFFFF, переведенное в десятичную систему счисления.
проще говоря юзай bit.tohex()
 
  • Нравится
Реакции: hiplice