term.Add('RollbackBan_result', '# откатил все баны за последние # ( # шт )')
term.Add('RollbackBan_error', 'Баны за последние # не найдены!')
ba.cmd.Create( 'backban', function( pl, args )
local db = ba.data.GetDB()
local where = 'ban_time > ' .. os.time() - args.time .. ' AND (unban_time>' .. os.time() .. ' OR unban_time=0)'
db:query( 'SELECT * FROM `ba_bans` WHERE ' .. where, function( data )
if data and #data > 0 then
db:query( 'DELETE FROM `ba_bans` WHERE ' .. where, function( )
ba.notify_all( term.Get( 'RollbackBan_result' ), pl, args.raw.time, #data )
for k, v in pairs( data ) do
ba.bans.Cache[v.steamid] = nil
hook.Call('OnPlayerUnban', ba, v.steamid)
end
end )
else
ba.notify( pl, term.Get"RollbackBan_error", args.raw.time )
end
end)
end )
:AddParam( 'time', 'time' )
:SetFlag( '*' )
:SetHelp( 'Откат банов' )
Я не про откат банов, а когда прописываешь команду на игрока, у него очищаются все баныМогу предоставить вам код с сервера MagicRP, перепишите под свой метод
code:term.Add('RollbackBan_result', '# откатил все баны за последние # ( # шт )') term.Add('RollbackBan_error', 'Баны за последние # не найдены!') ba.cmd.Create( 'backban', function( pl, args ) local db = ba.data.GetDB() local where = 'ban_time > ' .. os.time() - args.time .. ' AND (unban_time>' .. os.time() .. ' OR unban_time=0)' db:query( 'SELECT * FROM `ba_bans` WHERE ' .. where, function( data ) if data and #data > 0 then db:query( 'DELETE FROM `ba_bans` WHERE ' .. where, function( ) ba.notify_all( term.Get( 'RollbackBan_result' ), pl, args.raw.time, #data ) for k, v in pairs( data ) do ba.bans.Cache[v.steamid] = nil hook.Call('OnPlayerUnban', ba, v.steamid) end end ) else ba.notify( pl, term.Get"RollbackBan_error", args.raw.time ) end end) end ) :AddParam( 'time', 'time' ) :SetFlag( '*' ) :SetHelp( 'Откат банов' )