Библиотека. net.WriteMsg & net.ReadMsg

Является SH файлом.

GarrysMod\garrysmod\lua\autorun

Добавляет 2 функции

CL

net.ReadMsg -возвращает таблицу.

SV

net.WriteMsg-получает аргументы.

Пример использования
if CLIENT then
    net.Receive('TestMsg', function()
        local tms = net.ReadMsg()
        chat.AddText(unpack(tms))
    end)
else
    util.AddNetworkString('TestMsg')
    net.Start('TestMsg')
    net.WriteMsg(Color(255, 255, 255), 'Привет ','Человек')
    net.Broadcast()
end

image

util.AddNetworkString('TestMsg')
local math_random = math.random
-- такая функция поддерживает только символы из ASCII
local function f(str)
    local t = {}
    local s = str
    local st = string.ToTable(s)
    local u = 0
    for i = 1, #st do
        if st[i] == ' ' then
            t[u + i] = ' '
            u = u + 1
            continue
        end

        t[u + i] = Color(math_random(255), math_random(255), math_random(255))
        t[u + i + 1] = st[i]
        u = u + 2
    end
    return unpack(t)
end

net.Start('TestMsg')
net.WriteMsg(f('RGB MSG TEXT'))
net.Broadcast()

image

net_msg.lua

Спасибо, что поделился, но по сути, это велосипед

всё же это более ‘Дешевле’ для сети, и вероятно для больших таблиц ниже нагрузка на CPU.

ты этого никогда не почувствуешь

1 лайк