Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Build 34
- --[[Tips:
- Want to change colors for crosshairs? Find the MB.ch variables, change the numbers.
- The MB.ch["1"] variables are the big crosshair. ["2"] is the smaller square
- r = red (0-255)
- g = green (0-255)
- b = blue (0-255)
- a = alpha [transparency] (0-255) 255 = not transparent
- ]]
- local MB = {}
- if string.find(string.lower(GAMEMODE.Name),"terror") then MB.TTT = true else MB.TTT = false end
- if string.find(string.lower(GAMEMODE.Name),"darkrp") then MB.DRP = true else MB.DRP = false end
- MB.lp = LocalPlayer
- MB.chars = {}
- MB.chars["1"] = "a"
- MB.chars['2'] = "b"
- MB.chars['3'] = "c"
- MB.chars['4'] = "d"
- MB.chars['5'] = "e"
- MB.chars['6'] = "f"
- MB.chars['7'] = "g"
- MB.chars['8'] = "h"
- MB.chars['9'] = "i"
- MB.chars['10'] = "j"
- MB.chars['11'] = "k"
- MB.chars['12'] = "l"
- MB.chars['13'] = "m"
- MB.chars['14'] = "n"
- MB.chars['15'] = "o"
- MB.chars['16'] = "p"
- MB.chars['17'] = "q"
- MB.chars['18'] = "r"
- MB.chars['19'] = "s"
- MB.chars['20'] = "t"
- MB.chars['21'] = "u"
- MB.chars['22'] = "v"
- MB.chars['23'] = "w"
- MB.chars['24'] = "x"
- MB.chars['25'] = "y"
- MB.chars['26'] = "z"
- MB.chars['27'] = "1"
- MB.chars['28'] = "2"
- MB.chars['29'] = "3"
- MB.chars['30'] = "4"
- MB.chars['31'] = "5"
- MB.chars['32'] = "6"
- MB.chars['33'] = "7"
- MB.chars['34'] = "8"
- MB.chars['35'] = "9"
- MB.chars['36'] = "0"
- MB.chars['37'] = "!"
- MB.chars['38'] = "@"
- MB.chars['39'] = "_"
- MB.chars['40'] = "-"
- MB.chars['41'] = "="
- MB.chars['42'] = "+"
- MB.chars['43'] = "."
- MB.chars['44'] = "*"
- MB.chars['45'] = "("
- MB.chars['46'] = ")"
- MB.ch = {}
- MB.ch["bool"] = true
- MB.ch["1"] = {}
- MB.ch["1"]["r"] = 213
- MB.ch["1"]["g"] = 91
- MB.ch["1"]["b"] = 201
- MB.ch["1"]["a"] = 100
- MB.ch["2"] = {}
- MB.ch["2"]["r"] = 169
- MB.ch["2"]["g"] = 10
- MB.ch["2"]["b"] = 153
- MB.ch["2"]["a"] = 185
- MB.hooks = {}
- MB.commands = {}
- MB.timers = {}
- MB.aim = false
- MB.aimnotify = true
- MB.meep = true
- MB.meepbot = false
- MB.targ = nil
- MB.allwep = {}
- MB.traitorz = {}
- MB.witnesses = {}
- MB.deadpplz = {}
- MB.mat = CreateMaterial(math.random(1337,13370), "VertexLitGeneric", { ["$basetexture"] = "models/debug/debugwhite", ["$model"] = 1, ["$ignorez"] = 1 } )
- MB.donottrack = {"viewmodel", "weapon_ttt_wtester", "weapon_zm_improvised", "weapon_zm_magnetstick", "weapon_zm_carry", "weapon_ttt_unarmed", "env_fire", "ttt_flame", "ttt_knife_proj", "prop_ragdoll", "trace1", "rope", "func_physbox", "ttt_firegrenade_proj", "ttt_smokegrenade_proj", "ttt_confgrenade_proj"}
- for k, v in pairs(ents.GetAll()) do
- v.isPartOfMap = true
- if not table.HasValue(MB.allwep,v:GetClass()) and v:IsWeapon() and not table.HasValue(MB.donottrack,v:GetClass()) then
- table.insert(MB.allwep,v:GetClass())
- end
- end
- function MB.CreateTimer(timerdesc,timername,timeamt,times,functiontimer)
- timer.Create(timername,timeamt,times,functiontimer)
- local avalue = {}
- avalue["name"] = timername
- avalue["desc"] = timerdesc
- MB.timers[timername] = avalue
- end
- function MB.rs(minl,maxl)
- local result = ""
- for i = 1, math.random(minl,maxl) do
- local num = tostring(math.random(1,46))
- result = result..MB.chars[num]
- end
- return result
- end
- function MB.AddHook(Type,Function)
- local Name = MB.rs(5,25)
- local avalue = {}
- avalue["name"] = Name
- avalue["type"] = Type
- MB.hooks[Name] = avalue
- hook.Add(Type,Name,Function)
- end
- function MB.AddCommand(Number,Name,Function)
- local avalue = {}
- avalue["number"] = Number
- avalue["name"] = Name
- MB.commands[Name] = avalue
- concommand.Add(Number,Function)
- end
- MB.AddCommand(math.random(100000,10000000),"Wallhack.Toggle",function()
- MB.meep = !MB.meep
- end)
- MB.AddCommand(tostring(math.random(1,10000)),"TTT.Toggle.DEBUGUSEONLY",function()
- MB.TTT = !MB.TTT
- end)
- MB.AddCommand("meepbot","WikiAimbot(Modded).ToggleUntilDead",function()
- MB.aim = not MB.aim
- end)
- function MB.MESPCheck(v)
- if MB.TTT then
- if IsValid(v) and v:IsPlayer() and not v:IsNPC() and v:IsTerror() ~= nil and v:IsTerror() and not table.HasValue(MB.deadpplz,v) and v ~= MB.lp() then
- return true
- else
- return false
- end
- else
- if IsValid(v) and v:IsPlayer() and not v:IsNPC() and not table.HasValue(MB.deadpplz,v) and v ~= MB.lp() then
- return true
- else
- return false
- end
- end
- end
- function MB.coordinates(ent)
- local min, max = ent:OBBMins(), ent:OBBMaxs()
- local corners = {
- Vector(min.x, min.y, min.z),
- Vector(min.x, min.y, max.z),
- Vector(min.x, max.y, min.z),
- Vector(min.x, max.y, max.z),
- Vector(max.x, min.y, min.z),
- Vector(max.x, min.y, max.z),
- Vector(max.x, max.y, min.z),
- Vector(max.x, max.y, max.z)
- }
- local minX, minY, maxX, maxY = ScrW() * 2, ScrH() * 2, 0, 0
- for _, corner in pairs(corners) do
- local onScreen = ent:LocalToWorld(corner):ToScreen()
- minX, minY = math.min(minX, onScreen.x), math.min(minY, onScreen.y)
- maxX, maxY = math.max(maxX, onScreen.x), math.max(maxY, onScreen.y)
- end
- return minX, minY, maxX, maxY
- end
- MB.AddHook("Think",function()
- for _,v in pairs (player.GetAll()) do
- if not v:Alive() and v:Health() < 1 and not v:IsNPC() and v:IsPlayer() then
- if not table.HasValue(MB.deadpplz,v) then
- table.insert(MB.deadpplz,v)
- chat.AddText(v:Name().." died somehow!")
- end
- else
- for k,v2 in pairs (MB.deadpplz) do
- if v2 == v then
- table.remove(MB.deadpplz,k)
- end
- end
- end
- end
- local lp = MB.lp()
- local trace = util.GetPlayerTrace(lp)
- local traceRes = util.TraceLine(trace)
- if traceRes.HitNonWorld then
- local target = traceRes.Entity
- if target:Health() > 0 and IsValid(target) and v ~= lp then
- MB.temptarg = target
- end
- end
- if MB.aim and IsValid(MB.targ) and MB.targ:Health() > 0 then
- local targethead = MB.targ:LookupBone("ValveBiped.Bip01_Head1")
- if targethead then
- local targetheadpos,targetheadang = MB.targ:GetBonePosition(targethead)
- if targetheadpos and targetheadang then
- lp:SetEyeAngles((targetheadpos - lp:GetShootPos()):Angle())
- end
- end
- else
- MB.aim = false
- MB.targ = MB.temptarg
- end
- end)
- MB.AddHook("HUDPaint", function()
- if MB.aim and MB.aimnotify then
- if IsValid(MB.targ) and MB.targ then
- draw.DrawText(MB.targ:Name(), "BudgetLabel", 30, ScrH() / 2, Color(255, 255, 255, 255))
- end
- end
- if MB.ch["bool"] then
- surface.SetDrawColor(Color(MB.ch["1"]["r"], MB.ch["1"]["g"], MB.ch["1"]["b"], MB.ch["1"]["a"]))
- surface.DrawRect(ScrW() / 2 - 8, ScrH() / 2 - 8, 16, 16)
- surface.SetDrawColor(Color(MB.ch["2"]["r"], MB.ch["2"]["g"], MB.ch["2"]["b"], MB.ch["2"]["a"]))
- surface.DrawRect(ScrW() / 2 - 4, ScrH() / 2 - 4, 8, 8)
- end
- if MB.meep then
- cam.Start2D()
- for k,v in pairs (player.GetAll()) do
- if MB.MESPCheck(v) then
- --Name Draw start
- local Position = v:GetPos():ToScreen()
- local name = v:Name()
- if MB.TTT then
- if not table.HasValue(MB.traitorz,v) then
- if v:IsDetective() then
- draw.DrawText(name.."\n Detective", "BudgetLabel", Position.x, Position.y, Color(0, 0, 255, 250), 1)
- else
- draw.DrawText(name.."\n Innocent", "BudgetLabel", Position.x, Position.y, Color(0, 255, 0, 250), 1)
- end
- else
- if v:IsDetective() then
- draw.DrawText(name.."\n Detective", "BudgetLabel", Position.x, Position.y, Color(0, 0, 255, 250), 1)
- else
- draw.DrawText(name.."\n Traitor", "BudgetLabel", Position.x, Position.y, Color(255, 0, 0, 250), 1)
- end
- end
- elseif MB.DRP then
- draw.DrawText(name.."\n Health: "..tostring(v:Health()), "BudgetLabel", Position.x, Position.y, team.GetColor(v:Team()), 1)
- else
- draw.DrawText(name.."\n Health: "..tostring(v:Health()), "BudgetLabel", Position.x, Position.y, Color(102, 102, 255, 250 ), 1)
- end
- --Name Draw finish
- end
- end
- cam.End2D()
- end
- end)
- MB.AddHook("RenderScreenspaceEffects", function()
- if MB.meep then
- local lp = MB.lp()
- cam.Start3D(lp:EyePos(), lp:EyeAngles())
- render.SuppressEngineLighting(true)
- render.MaterialOverride(MB.mat)
- for k,v in pairs(player.GetAll()) do
- if MB.MESPCheck(v) then
- --draw people start
- --part 1
- local h = v:Health()
- local green = (2.55 * h) / 255
- local red = (255 - 2.00 * h) / 255
- render.SetColorModulation(red, green, 0, 1)
- render.MaterialOverride(MB.mat)
- v:DrawModel()
- --part 2
- render.MaterialOverride()
- render.SetModelLighting(4, 0.78, 0.19, 0.19)
- v:DrawModel()
- --draw people finish
- --draw guns start
- if IsValid(v:GetActiveWeapon()) then
- render.SetColorModulation(0, 0, 0, 1)
- render.MaterialOverride(MB.mat)
- v:GetActiveWeapon():DrawModel()
- render.SetColorModulation(0, 0, 0, 1)
- render.MaterialOverride()
- v:GetActiveWeapon():DrawModel()
- end
- --draw guns finish
- end
- end
- render.SuppressEngineLighting(false)
- cam.End3D()
- end
- end)
- if MB.TTT then
- MB.AddHook("TTTPrepareRound",function()
- traitorfinder = false
- for k, v in pairs(MB.allwep) do
- table.remove(MB.allwep, k)
- MB.allwep = {}
- end
- MB.targ = nil
- MB.temptarg = nil
- for _,v in pairs(ents.GetAll()) do
- v.isPartOfMap = true
- end
- end)
- MB.AddHook("TTTBeginRound",function()
- traitorfinder = true
- for k, v in pairs(ents.GetAll()) do
- v.isPartOfMap = true
- if not table.HasValue(MB.allwep,v:GetClass()) and v:IsWeapon() and not table.HasValue(MB.donottrack,v:GetClass()) then
- table.insert(MB.allwep,v:GetClass())
- end
- end
- MB.traitorz = {}
- MB.deadpplz = {}
- end)
- end
- MB.AddHook("PostDrawOpaqueRenderables", function()
- if MB.TTT then
- for k, v in pairs(ents.GetAll()) do
- if v and MB.meep and traitorfinder and IsValid(v) then
- if not table.HasValue(MB.allwep,v:GetClass()) and v.CanBuy and not v.isPartOfMap and not v.wasESPTracked and not table.HasValue(MB.donottrack,v:GetClass()) then
- pl = v.Owner
- if MB.MESPCheck(pl) and IsValid(pl) and pl and not pl:IsDetective() then
- v.wasESPTracked = true
- table.insert(MB.traitorz,pl)
- chat.AddText(pl, Color(255,125,0), " has a ",Color(255,0,0),tostring(v:GetPrintName()).."!")
- end
- end
- end
- end
- end
- end)
- MB.AddCommand(math.random(1000,100000),"ShowWindow",function()
- local rows = 2
- local columns = 3
- local extrah = 27
- local extraw = 3
- local totalwidth = 3 + 103 * (columns * 3)
- local totalheight = 27 * (rows + 1)
- local Frame = vgui.Create("DFrame")
- Frame:SetSize(209,totalheight)
- Frame:SetPos(25,25)
- Frame:SetText("MeepBot settings")
- Frame:MakePopup()
- local vguiaimbotb = vgui.Create("DButton",Frame)
- if MB.aimnotify then vguiaimbotb:SetText("Aim notify on") else vguiaimbotb:SetText("Aim notify off") end
- vguiaimbotb:SetPos(extraw,extrah)
- vguiaimbotb:SetWide(100)
- function vguiaimbotb:DoClick()
- MB.aimnotify = !MB.aimnotify
- if MB.aimnotify then self:SetText("Aim notify on") else self:SetText("Aim notify off") end
- end
- local vguimaintoggleb = vgui.Create("DButton",Frame)
- if MB.meep then vguimaintoggleb:SetText("Wallhack on") else vguimaintoggleb:SetText("Wallhack off") end
- vguimaintoggleb:SetPos(extraw,extrah * 2)
- vguimaintoggleb:SetWide(100)
- function vguimaintoggleb:DoClick()
- MB.meep = !MB.meep
- if MB.meep then self:SetText("Wallhack on") else self:SetText("Wallhack off") end
- end
- local vguibindb = vgui.Create("DButton",Frame)
- vguibindb:SetPos(extraw * 2 + 100,extrah * 2)
- vguibindb:SetWide(100)
- vguibindb:SetText("List binds in ~")
- function vguibindb:DoClick()
- for _,v in pairs(MB.commands) do
- MsgN(v["name"].." is "..v["number"])
- end
- end
- local vguiselfdestructb = vgui.Create("DButton",Frame)
- vguiselfdestructb:SetPos(extraw * 2 + 100,extrah)
- vguiselfdestructb:SetWide(100)
- vguiselfdestructb:SetText("Self Destruct")
- function vguiselfdestructb:DoClick()
- for _,v in pairs(MB.hooks) do
- hook.Remove(v["type"],v["name"])
- MsgN(v["name"].." was removed! ("..v["type"]..")")
- end
- for _,v in pairs (MB.timers) do
- timer.Remove(v["name"])
- MsgN(v["desc"].." was removed! ("..v["name"]..")")
- end
- for _,v in pairs (MB.commands) do
- concommand.Remove(v["number"])
- MsgN(v["name"].." was removed! ("..v["number"]..")")
- end
- Frame:SetVisible(false)
- end
- end)
- chat.AddText("Bind a key to: "..MB.commands["ShowWindow"]["number"])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement