Lua OwnChatBubble | Собственный цвет текста над игроком

cord

Хватит спать на мне
Автор темы
Проверенный
572
470
Версия SA-MP
  1. 0.3.7 (R1)
Скрипт позволяет изменить цвет текста над игроком.

Команды:
/setcolor [color]
(Пример: /setcolor b05656)

/setcolor.clist - изменяет цвет текста игрока на его цвет клиста
/setcolor.help - если не поймете, как пользоваться скриптом (включено по умолчанию)


Скриншоты

image.png

/setcolor.clist

image.png

/setcolor [color] (На скрине: 909090)
 

Вложения

  • OwnChatBubble.lua
    2.6 KB · Просмотры: 69
Последнее редактирование:

Andrinall

Известный
702
518
А что мешало сделать так?
Для чего тут вообще эмуляция RPC, если можно просто подменить данные вернув нужные значения?
Lua:
-- global
local mainIni = inicfg.load({
    config = {
        color = "0xffffffff",
        clist = true,
    }
}, directIni)


--main
    sampRegisterChatCommand("setcolor", function(colorr)
        if not colorr:find("^%x+$") then return end
        mainIni.config.color = '0xff'..colorr
        save()
        sampAddChatMessage('Так будут выглядеть сообщения.', tonumber(mainIni.config.color))
    end)


function samp.onPlayerChatBubble(playerId, clr, distance, duration, message)
    if mainIni.config.clist then
        if sampGetPlayerColor(playerId) == 2147483648 then
            hex = tonumber(mainIni.config.color)
        else
            hex = bit.tohex(sampGetPlayerColor(playerId), 6)
        end
        return {playerId, hex, distance, duration, message}
    else
        return {playerId, tonumber(mainIni.config.color), distance, duration, message}
    end
    return false
end
 

xColorized

Известный
1,108
476
А что мешало сделать так?
Для чего тут вообще эмуляция RPC, если можно просто подменить данные вернув нужные значения?
Lua:
-- global
local mainIni = inicfg.load({
    config = {
        color = "0xffffffff",
        clist = true,
    }
}, directIni)


--main
    sampRegisterChatCommand("setcolor", function(colorr)
        if not tonumber('0x'..colorr) then return end
        mainIni.config.color = '0xff'..colorr
        save()
        sampAddChatMessage('Так будут выглядеть сообщения.', tonumber(mainIni.config.color))
    end)


function samp.onPlayerChatBubble(playerId, clr, distance, duration, message)
    if mainIni.config.clist then
        if sampGetPlayerColor(playerId) == 2147483648 then
            hex = tonumber(mainIni.config.color)
        else
            hex = bit.tohex(sampGetPlayerColor(playerId), 6)
        end
        return {playerId, hex, distance, duration, message}
    else
        return {playerId, tonumber(mainIni.config.color), distance, duration, message}
    end
    return false
end
Молчу про то, что можно избавиться от зависимости от samp.events
 

ARMOR

Модератор по раксампу
Модератор
4,933
6,716
Молчу про то, что можно избавиться от зависимости от samp.events
А можно было вообще избавиться от зависимости версий сампа и поставить хук на функцию создания чат баблов.

Как по мне так SAMP.lua должна быть у каждого человека который хочет пользоваться скриптами.
 

xColorized

Известный
1,108
476
А можно было вообще избавиться от зависимости версий сампа и поставить хук на функцию создания чат баблов.

Как по мне так SAMP.lua должна быть у каждого человека который хочет пользоваться скриптами.
Не у всех эта библиотека есть, серьезно)
 
D

deleted-user-422095

Гость
Молчу про то, что можно избавиться от зависимости от samp.events
Боюсь обывателю сложно объяснить будет
Для таких лаунчер аризоны сам устанавливает все либы, остальные сами в состоянии разобраться
 
  • Нравится
Реакции: ARMOR

shitman

Участник
53
29
наконец-то текст на тринити будет не зелёного цвета над головой
 
  • Нравится
Реакции: NSVY