Замена нетам

здравствуйте, сколько не искал так и не нашёл.

Есть какая нибудь альтернатива нетам? Чтобы люди используешься луалоадер не могли использовать их( а делать костыли для фиксов, чтобы ещё пол функционала обрубало как то не хочется)

netstream, но по сути это тот же net, только более удобный. Если ты переживаешь что тырят скрипты, то все равно максимум что могут взять это cl и sh части. Также на выходах с net использовать различные проверки, чтобы отсеять постороннее вмешательство. Лично я использую netstream + доп.проверки делаю как на сервере так и на cl чтобы какие данные отправил, такие и пришли, а не такие чтобы ты отправил одни, а “кто-то” перехватил и получил другие.

Да дело в том, что у меня система заказов, которая течение скольких то минут приходит заказ и высвечивается менюшка по типу( принять, отклонить). Менюшка работает через те самые смешные неты. Умельцы нашли изъяну и через этот нет активируют эту менюшку, тем самым накрутив себе дохуя бабла за выполнение заказа, а так же с выбором жертвы.

Я сделал проверку на максимальную сумму заказа, добавил проверку на профу которая может брать эти заказы и сделал кулдаун на принятие заказа( костыль за костылем)

У тебя где обработка данных о заказе идет? Я имею ввиду вот нажал “принять”, потом выполнил, а потом куда идет net(sh, sv или у тебя
все sh файле?)? И я так понял у тебя есть таймер который вызывает данную менюшку, а у тебя он на sv или cl части находится?

Принятие заказа находиться на sv части, сама менюшка на cl

Т.е, сначала идёт таймер с св части который запускает менюшку, после того как игрок нажал принять идёт обратно на sv часть

Ты делаешь проверку валидности игрока в net? Тебе наверное надо сделать проверку по типу:

Ну должно получиться что-то по типу если игрок существует и это он и его команда равна нужной и у него есть флаг(сетевая переменная) что ему отправлено предложение, либо сделать такую проверку что принял ли он заказ? И наверное я бы сделал доп проверку в самом таймере по типу:

--- Допустим что в таймере и у тебя есть таблица с игроками
if (IsValid(ply)) then
    ply:SetNWBool("timerIsComplate", true)
end

И получается что когда они откроют менюшку и нажмут принять, то в серверной части должна быть проверка типа такой:

-- Допустим это в net
if (IsValid(ply) and ply:GetNWBool("timerIsComplate") and ply:Team() == TEAM_T) then
-- Здесь мы получается делаем проверку на то что у игрока есть сетевой bool флаг "timerIsComplate"

А и обязательно нужно сделать таймер (если его нет), в серверной части чтобы этот флаг с игроков этой нужной профессии сбрасывался в false - ply:SetNWBool("timerIsComplate", false)
И получается что они его изменить не смогут никак, т.к он у тебя фигурирует только в SV части и меняться тоже там, а в хуке только получение переменной.

От части это помогло, но с этим таймером вся система выбивается из концепта

Ну вообще можно делать сброс этой сетевой переменной при нажатии на любую из кнопок, когда они отсылаются на сервер там и делать сброс. Рад был чем-то помочь :upside_down_face: