dobrograd-13-06-2022/garrysmod/addons/util-other/lua/autorun/content-check.lua

54 lines
1.9 KiB
Lua
Raw Normal View History

2023-11-16 15:01:19 +05:00
local unwantedAddons = octolib.array.toKeys({
'2437373117', -- gta4 cars
'2429099714', -- gta4 cars - shared
'2468527592', -- gta4 cars - hq
'757604550', -- wos
'2143558752', -- xdreanims
})
if SERVER then
local addonsText = {
'Кажется, у тебя установлены аддоны, которые могут конфликтовать с нашими: вероятнее всего, некоторый контент будет отображаться неправильно',
'Чтобы исправить эту проблему, отпишись от этих аддонов:',
}
hook.Add('dbg-char.spawn', 'dbg.contentCheck', function(ply)
if ply.contentWarned then return end
ply.contentWarned = true
timer.Simple(5, function()
if not IsValid(ply) then return end
netstream.Request(ply, 'dbg.contentCheck'):Then(function(res)
if not istable(res) then return end
if res.addons[1] then
for _, text in ipairs(addonsText) do
octochat.talkTo(ply, color_red, text)
end
for _, addonName in ipairs(res.addons) do
octochat.talkTo(ply, Color(250,250,200), '' .. addonName)
end
end
if res.lowpoly ~= 0 then
octochat.talkTo(ply, color_red, (res.addons[1] and 'Также, у' or 'У') .. 'станови качество моделей на "Высокое" в настройках графики игры, чтобы исправить отображение автомобилей. Эта настройка незначительно влияет на производительность')
end
end)
end)
end)
else
netstream.Listen('dbg.contentCheck', function(reply)
local addons = engine.GetAddons()
local unwanted = {}
for _, v in ipairs(addons) do
if unwantedAddons[v.wsid] then
unwanted[#unwanted + 1] = ('%s (%s)'):format(v.title, v.wsid)
end
end
reply({
addons = unwanted,
lowpoly = GetConVar('r_rootlod'):GetInt(),
})
end)
end