Как реализовать чтобы когда человек нажимает на Insert чтобы админам писало по типу что возможно у этого игрока читы
это понятно проблема в том как это отправлять
вставлять в CL .lua
--Клиент часть!
local IstTime = 0
hook.Add("Think","Ist",function()
if not input.IsKeyDown( 72 ) then return end
if IstTime > CurTime() then return end
IstTime=CurTime()+5
net.Start("Ist")
net.SendToServer()
end)
вставлять в SV .lua
util.AddNetworkString("Ist")
net.Receive("Ist",function(len,pl)
if not IsValid(pl) then return end
if pl.IstTime == nil then pl.IstTime = 0 end
if pl.IstTime > CurTime() then return end
pl.IstTime = CurTime()+5
for k,v in ipairs(player.GetAll()) do
if not v:IsAdmin() or (v == pl) then continue end -- изменить на свой тип админки.
v:ChatPrint(string.format("Игрок %s(%s) нажал на Insert", pl:Name(),pl:SteamID()))--изменить на свой способ отправки сообщения
end
end)
Так как ты не указал Режим&Сборка, Админ систему то:
Тебе нужно самому изменить тип проверки на админа, отправки сообщения(иначе будет просто синий цвет)
по желаюнию добавить иммунитет для админов
Этот скрипт также будет кикать игроков, из-за net-overflow
так как сообщение будет отправляться каждый тик при зажатом INSERT.
Забыл добавить, добавил проверку
для DarkRP Serverguard, можешь написать?
local IstTime = 0
--Клиент часть!
-- в ESC не работает на клавиатуре
hook.Add("PlayerButtonDown", "Ist", function(pl, cmd)
if cmd ~= 72 then return end
if IstTime > CurTime() then return end
IstTime = CurTime() + 5
net.Start("Ist")
net.SendToServer()
end)
--Sv часть
util.AddNetworkString("Ist")
net.Receive("Ist", function(len, pl)
if not IsValid(pl) then return end
if pl.IstTime == nil then
pl.IstTime = 0
end
if pl.IstTime > CurTime() then return end
pl.IstTime = CurTime() + 5
local pla=player.GetAll()
for i=1,#pla do
if serverguard.player:GetImmunity(pla[i]) < 100 then continue end --за место 100 поставить значение "младшей админки"
if pl == pla[i] then continue end -- зачем админу знать что он нажал на инсерт
serverguard.Notify(pla[i], SERVERGUARD.NOTIFY.RED, string.format("Игрок %s(%s) нажал на Insert", pl:Name(), pl:SteamID()))
end
end)
Либо сразу только серверная сторона.
-- в ESC не работает на клавиатуре
hook.Add("PlayerButtonDown", "Ist", function(pl, cmd)
if cmd ~= 72 then return end
if pl.IstTime == nil then
pl.IstTime = 0
end
if pl.IstTime > CurTime() then return end
pl.IstTime = CurTime() + 5
local pla = player.GetAll()
for i = 1, #pla do
if serverguard.player:GetImmunity(pla[i]) < 100 then continue end --за место 100 поставить значение "младшей админки"
if pl == pla[i] then continue end -- зачем админу знать что он нажал на инсерт
serverguard.Notify(pla[i], SERVERGUARD.NOTIFY.RED, string.format("Игрок %s(%s) нажал на Insert", pl:Name(), pl:SteamID()))
end
end)
Спасибо дружище