54 lines
1.9 KiB
Lua
54 lines
1.9 KiB
Lua
|
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
|