Когда пытаюсь сделать через DarkRP.talkToRange, то не выходит свой цвет поставить. Есть какой нибудь ещё способ?
Собственно код будет?
local function looc(ply, args)
if args == "" then
DarkRP.notify(ply, 1, 4, DarkRP.getPhrase("invalid_x", "argument", ""))
return ""
end
local DoSay = function(text)
if text == "" then
DarkRP.notify(ply, 1, 4, DarkRP.getPhrase("invalid_x", "argument", ""))
return
end
local col = team.GetColor(ply:Team())
DarkRP.talkToRange(ply, '[LOOC] ' .. ply:Name() .. " ", text, GAMEMODE.Config.meDistance or 250)
end
return args, DoSay
end
DarkRP.defineChatCommand('looc', looc)
и где попытка установки цвета?
Оригинальная функция, не поддерживает кастомный цвет.
function DarkRP.talkToRange(ply, PlayerName, Message, size)
local ents = player.GetHumans()
local col = team.GetColor(ply:Team())
local filter = {}
local plyPos = ply:EyePos()
local sizeSqr = size * size
for _, v in ipairs(ents) do
if (v:EyePos():DistToSqr(plyPos) <= sizeSqr) and (v == ply or hook.Run("PlayerCanSeePlayersChat", PlayerName .. ": " .. Message, false, v, ply) ~= false) then
table.insert(filter, v)
end
end
if PlayerName == ply:Nick() then PlayerName = "" end -- If it's just normal chat, why not cut down on networking and get the name on the client
net.Start("DarkRP_Chat")
net.WriteUInt(col.r, 8)
net.WriteUInt(col.g, 8)
net.WriteUInt(col.b, 8)
net.WriteString(PlayerName)
net.WriteEntity(ply)
net.WriteUInt(255, 8)
net.WriteUInt(255, 8)
net.WriteUInt(255, 8)
net.WriteString(Message)
net.Send(filter)
end
ну так мне и нужно сделать так, чтобы поддерживало. Вот и спрашиваю о способах, какие есть кроме talktorange
нужно сделать тогда свою функцию если не хочешь ломать старую.
что вообще кастомное тебе нужно? чем стандартная не угодила
ну смотри, так как я делаю лоок, я хотел бы чтобы надпись была такая - [LOOC] никнейм: сообщение (серого цвета)
DarkRP\gamemode\modules\base\sv_util.lua
фунукция 52 строки
формат RGB. меняй циферки на нужные.
1 лайк