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

cord

Хватит спать на мне
Автор темы
Проверенный
569
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 · Просмотры: 72
Последнее редактирование:

Andrinall

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

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

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

xColorized

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

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

deleted-user-422095

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

shitman

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