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

cord

contact me → cordtech.ru
Автор темы
Проверенный
558
411
Версия 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 · Просмотры: 56
Последнее редактирование:

Andrinall

Известный
680
532
А что мешало сделать так?
Для чего тут вообще эмуляция 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
 

RoflHaHaWF

Известный
1,092
458
А что мешало сделать так?
Для чего тут вообще эмуляция 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

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

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

RoflHaHaWF

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

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

deleted-user-422095

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

shitman

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