[SAM] Gban Fix New

:hot_face: :hot_face: :hot_face: :hot_face: :hot_face: :hot_face:

local PayTime = 1 --Аля конфиг --PayTime сколько нужно заплатить за 1 мин (можно дробь)
local TimeMin = 1 --TimeMin минимальное колл времени для доступа к покупки разбана
local math_floor = math.floor
local timer_TimeLeft = timer.TimeLeft
local function MinMAx(t) --округляем в большую сторону  0.1 -> 1 , 5.0001 -> 6  и т.д
    local f = math_floor(t)
    local n = t - f
    return n > 0 and f + 1 or f
end



if CLIENT then
local function Check_time_UnBanPay(pl) -- возвращает true\false и само время до разбана
    local time = MinMAx(timer_TimeLeft('GBanTime') / 60 or 0)
    return time > TimeMin, time
end
    local GC = Color(200, 55, 13)
    local GC2 = Color(255, 255, 255)
    local GCM=Color(16, 210, 60)
    local function PayTimer()
        local y, t = Check_time_UnBanPay()
        if not y then
            timer.Remove('TimerPayUnBan')
            return
        end

        chat.AddText(GC, '[GBan] ', GC2, 'Заплати за разбан ',GCM, PL_MONEY(t * PayTime),GC2, ' введи в консоль UnBanPay')
    end

    hook.Add('GBan.BanLocalPlayer', 'TimerPayUnBan', function(ban)
        if not ban then
            timer.Remove('TimerPayUnBan')
            return
        end

        timer.Create('TimerPayUnBan', 30, 0, PayTimer) -- пока игрок забанен , каждые 30 секунд будем писать ему в чат о платном разбане 
        if not PL_MONEY then return end 
        PayTimer() -- так же делаем первый запуск, ну чтоб сразу игрок знал об этом
    end)
else
    local SteamID=FindMetaTable('Player').SteamID
local function Check_time_UnBanPay(pl) -- возвращает true\false и само время до разбана
    local time = MinMAx(timer_TimeLeft('GBanPlayer'..SteamID(pl)) / 60 or 0)
    return time > TimeMin, time
end
    local IsValid = IsValid
    function UnBanPay_Donate(pl)
        if not IsValid(pl) then --защита от ошибок при вводе с консоли.
            return
        end

        local y, t = Check_time_UnBanPay(pl)
        if not y then return IGS.Notify(pl, 'Остаток веремени слишком мал.') end
        local pay = t * PayTime --конечная цена (время*цена)
        local pl_Bal = pl:GetIGSVar("igs_balance") or 0 --Баланс игрока
        if pay > pl_Bal then return IGS.Notify(pl, 'Не достаточно денег.') end
        pl:AddIGSFunds(-pay, 'UnBan price: ' .. pay, function()
            IGS.Notify(pl, "Вы купили разбан за " .. PL_MONEY(pay))
            GBan.RemoveBanPlayer(pl, 'Console',false) -- false пишет {A} снял бан {T}, true пишет Срок бана {T} закончился!.
        end)
    end

    concommand.Add('UnBanPay', UnBanPay_Donate)
end

1 лайк

помоги форум сдох никто не помогает как убрать подсказки при заходе на сервер в пуш уведомлениях

1 лайк

А зачем писать про свою проблему, не связаное с этой темой, в эту тему?

НУ НИКТО НЕ ПОМОГАЕТ ФОРУМ СДОХ ПОМОГИ А емае

Мб тебе никто не помогает потому что ты уже заебал?

сделай поддержку MYSQL почему ты не видишь в этом смысла? типо ну, св дб засорится же на изи, 1 гб будет весить файл, ты все возможное сделал но майскуел нет, сделай две версии одну для св дб а другую для майскуел, я создаю проект у меня сервер лагать будет от строк

а mysql не засорится? ну ты смешной челик.
у Mysql по мимо всего есть задержка получения данных.
её использовать нужно для объединение БД нескольких серверов.
ну и в оооочень редких случая для бэкапа данных, но вчём проблема сделать авто бэкап?

Чтобы св.дб весил 1гб это нужно очень много всего. Он никогда не будет столько весить

ну бля ну ок пусть при заходе челик будет стоять ждать 10 секунд пока прогрузится база данных и что? у меджека тоже самое надо ждать когда заходишь, я знаю что там сап там выхода нет, но я клоню к тому что майскуел лучше чем в св дб у майскуела нету МБ. и ГБ а у св дб есть

у меня есть sql сервера который работал ~3-4 года.
Так там она весит ~500МБ (±100МБ)
причём она вообще не оптимизированна.
в каждой талице по 70 ТЫСЯЧ значений с 3-6 столбцами.
а ты мне гонишь про это))
ну так тогда сделай под mysql код открытый.(ну или деньгу давай)
Серверу не горячё ни холодно от этого.
Проблемы могут быть если сервер на HDD стоит, но нет сейчас таких хостов(актуальных),
а SSD читают ~560МБ , а вот NWME ещё быстрее в 2-6 раз.

какая деньга, нету деньга есть свечка могу в церкве поставить за твою жизнь

Использование локальной бд вместо MySQL никак не влияет на то, сколько ты втыкаешь на спавне при подключении к серверу. На это влияет то, сколько данных с сервера летит твоему клиенту за раз и насколько оптимизированы клиентские скрипты. Да и к тому же, на сапе как раз таки обязательно нужно использовать MySQL, так уж написан режим. Я не знаю тонкостей того, где располагается бд на хостингах, но запросы к MySQL осуществляются с помощью сети и, соответственно, нагружают ее.

Блять чел на меджике аддонов, что там можно из них дворец построить, это никак не связано с sql, сравни wayzer - работает с 2016-2017(докстер помогай), одна система бана, администрирования и ебать чета на сервер быстро заходит и прогрузка за 2-3 секунды, ты хотя бы думай в плане нагрузки остальной хуйни, я тоже могу поставить себе аддон на 200 пушек, 20 тулов, куча эффектов на 2гб и не ставить админку, ахуеть, почему у меня лагает