├── AutoZeus.lua ├── Autobuy.lua ├── ChickenDeathSay.lua ├── Chickens.lua ├── DisableFakelagOnKnife.lua ├── DiscordPing.lua ├── EngineRadar.lua ├── FullBright.lua ├── InventoryUnlock.lua ├── LeftHandKnife.lua ├── LegitAA_Indicator.lua ├── LegitAA_OnPing.lua ├── README.md ├── SmartFakelag.lua └── SniperCrosshair.lua /AutoZeus.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Checkbox in Legitbot -> Other -> Extra 3 | ]] 4 | 5 | local ZeusTriggerbot = gui.Checkbox(gui.Reference('Legitbot', 'Other', 'Extra'), 'zeustrigger', 'Zeus Triggerbot', 0) 6 | ZeusTriggerbot:SetDescription('Enable zeus triggerbot.') 7 | 8 | -- Zeus Triggerbot Default Settings 9 | gui.SetValue('lbot.trg.zeus.delay', 0) 10 | gui.SetValue('lbot.trg.zeus.burst', 0) 11 | gui.SetValue('lbot.trg.zeus.hitchance', 80) 12 | gui.SetValue('lbot.trg.zeus.hitbox', '0 1 0 1 1 0 0 0') 13 | 14 | client.AllowListener('item_equip') 15 | callbacks.Register('FireGameEvent', function(Event) 16 | if not gui.GetValue('lbot.master') or not ZeusTriggerbot:GetValue() or Event:GetName() ~= 'item_equip' then 17 | return 18 | end 19 | 20 | local LocalPlayerIndex = client.GetLocalPlayerIndex() 21 | local PlayerIndex = client.GetPlayerIndexByUserID( Event:GetInt('userid') ) 22 | local WeaponType = Event:GetInt('weptype') 23 | 24 | if LocalPlayerIndex == PlayerIndex then 25 | if WeaponType == 8 then 26 | gui.SetValue('lbot.trg.enable', 1) 27 | gui.SetValue('lbot.trg.autofire', 1) 28 | else 29 | gui.SetValue('lbot.trg.enable', 0) 30 | gui.SetValue('lbot.trg.autofire', 0) 31 | end 32 | end 33 | end) -------------------------------------------------------------------------------- /Autobuy.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Autobuy in Misc -> General 3 | ]] 4 | 5 | local Groupbox = gui.Groupbox(gui.Reference('Misc', 'General'), 'Autobuy', 16, 466, 295) 6 | local Autobuy = { 7 | Utility = {}, 8 | Grenades = {} 9 | } 10 | Autobuy.Enable = gui.Checkbox(Groupbox, 'autobuy.enable', 'Enable', 0) 11 | Autobuy.Enable:SetDescription('Enable autobuy.') 12 | 13 | -- Weapons 14 | Autobuy.PrimaryWeapon = gui.Combobox(Groupbox, 'autobuy.primary', 'Primary Weapon', 'Off', 'MAC-10 | MP9', 'MP7 | MP5-SD', 'UMP-45', 'P90', 'PP-Bizon', 'Galil AR | FAMAS', 'AK-47 | M4A4 | M4A1-S', 'SSG 08', 'AUG', 'AWP', 'G3SG1 | SCAR-20', 'Nova', 'XM1014', 'Sawed-Off | MAG-7', 'M249', 'Negev') 15 | Autobuy.SecondaryWeapon = gui.Combobox(Groupbox, 'autobuy.secondary', 'Secondary Weapon', 'Off', 'Glock-18 | P2000 | USP-S', 'Dual Berettas', 'P250', 'CZ75-Auto | Five-SeveN | Tec-9', 'Desert Eagle | R8 Revolver') 16 | 17 | -- Armor 18 | Autobuy.Armor = gui.Combobox(Groupbox, 'autobuy.armor', 'Armor', 'Off', 'Kevlar', 'Kevlar + Helmet') 19 | 20 | -- Utility 21 | Autobuy.Utility.Multibox = gui.Multibox(Groupbox, 'Utility') 22 | Autobuy.Utility.Defuser = gui.Checkbox(Autobuy.Utility.Multibox, 'autobuy.utility.defuser', 'Defuser', 0) 23 | Autobuy.Utility.Taser = gui.Checkbox(Autobuy.Utility.Multibox, 'autobuy.utility.taser', 'Taser', 0) 24 | 25 | -- Grenades 26 | Autobuy.Grenades.Multibox = gui.Multibox(Groupbox, 'Grenades') 27 | Autobuy.Grenades.HEGrenade = gui.Checkbox(Autobuy.Grenades.Multibox, 'autobuy.grenade.hegrenade', 'HE Grenade' , 0) 28 | Autobuy.Grenades.Smoke = gui.Checkbox(Autobuy.Grenades.Multibox, 'autobuy.grenade.smoke', 'Smoke Grenade' , 0) 29 | Autobuy.Grenades.Molotov = gui.Checkbox(Autobuy.Grenades.Multibox, 'autobuy.grenade.molotov', 'Molotov' , 0) 30 | Autobuy.Grenades.Flashbang = gui.Checkbox(Autobuy.Grenades.Multibox, 'autobuy.grenade.flashbang', 'Flashbang' , 0) 31 | Autobuy.Grenades.Decoy = gui.Checkbox(Autobuy.Grenades.Multibox, 'autobuy.grenade.decoy', 'Decoy' , 0) 32 | 33 | -- Menu Objects Handler 34 | callbacks.Register('Draw', function() 35 | local isAutoBuyEnabled = not Autobuy.Enable:GetValue() 36 | Autobuy.PrimaryWeapon:SetInvisible(isAutoBuyEnabled) 37 | Autobuy.SecondaryWeapon:SetInvisible(isAutoBuyEnabled) 38 | Autobuy.Armor:SetInvisible(isAutoBuyEnabled) 39 | Autobuy.Utility.Multibox:SetInvisible(isAutoBuyEnabled) 40 | Autobuy.Grenades.Multibox:SetInvisible(isAutoBuyEnabled) 41 | end) 42 | 43 | local BuyCommands = { 44 | PrimaryWeapon = { 45 | 'buy mac10;', 46 | 'buy mp7;', 47 | 'buy ump45;', 48 | 'buy p90;', 49 | 'buy bizon;', 50 | 'buy galilar;', 51 | 'buy ak47;', 52 | 'buy ssg08;', 53 | 'buy aug;', 54 | 'buy awp;', 55 | 'buy g3sg1;', 56 | 'buy nova;', 57 | 'buy xm1014;', 58 | 'buy sawedoff;', 59 | 'buy m249;', 60 | 'buy negev;' 61 | }, 62 | SecondaryWeapon = { 63 | 'buy glock;', 64 | 'buy elite;', 65 | 'buy p250;', 66 | 'buy tec9;', 67 | 'buy deagle;' 68 | }, 69 | Armor = { 70 | 'buy vest;', 71 | 'buy vesthelm;', 72 | } 73 | } 74 | 75 | callbacks.Register('FireGameEvent', function(Event) 76 | if not Autobuy.Enable:GetValue() or Event:GetName() ~= 'round_prestart' then 77 | return 78 | end 79 | 80 | -- Weapons & Armor 81 | for key, value in pairs(Autobuy) do 82 | if key == 'PrimaryWeapon' or key == 'SecondaryWeapon' or key == 'Armor' then 83 | if Autobuy[key]:GetValue() ~= 0 then 84 | client.Command(BuyCommands[key][Autobuy[key]:GetValue()], true) 85 | end 86 | end 87 | end 88 | 89 | -- Grenades 90 | for key, value in pairs(Autobuy.Grenades) do 91 | if key ~= 'Multibox' then 92 | if Autobuy.Grenades[key]:GetValue() then 93 | local Grenade = string.lower(tostring(tostring(value):gsub("%s+", ""))) 94 | client.Command('buy ' .. Grenade .. ';', true) 95 | end 96 | end 97 | end 98 | 99 | -- Utility 100 | for key, value in pairs(Autobuy.Utility) do 101 | if key ~= 'Multibox' then 102 | if Autobuy.Utility[key]:GetValue() then 103 | client.Command('buy ' .. string.lower(key) .. ';', true) 104 | end 105 | end 106 | end 107 | end) 108 | client.AllowListener('round_prestart') -------------------------------------------------------------------------------- /ChickenDeathSay.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | - Checkbox in Misc -> General -> Extra 3 | ]] 4 | 5 | local WeaponNames = { 6 | ['knife'] = 'Knife', 7 | ['taser'] = 'Taser', 8 | ['glock'] = 'Glock-18', 9 | ['hpk2000'] = 'P2000', 10 | ['usp_silencer'] = 'USP-S', 11 | ['Elite'] = 'Dual Berettas', 12 | ['p250'] = 'P250', 13 | ['cz75a'] = 'CZ75-Auto', 14 | ['fiveseven'] = 'Fiven-SeveN', 15 | ['tec9'] = 'Tec-9', 16 | ['deagle'] = 'Desert Eagle', 17 | ['revolver'] = 'R8 Revolver', 18 | ['mac10'] = 'MAC-10', 19 | ['mp9'] = 'MP9', 20 | ['mp7'] = 'MP7', 21 | ['mp5sd'] = 'MP5-SD', 22 | ['ump45'] = 'UPM-45', 23 | ['p90'] = 'P90', 24 | ['bizon'] = 'PP-Bizon', 25 | ['galilar'] = 'Galil AR', 26 | ['famas'] = 'FAMAS', 27 | ['ak47'] = 'AK-47', 28 | ['m4a1'] = 'M4A4', 29 | ['m4a1_silencer'] = 'M4A1-S', 30 | ['ssg08'] = 'SSG 08', 31 | ['sg556'] = 'SG 553', 32 | ['aug'] = 'AUG', 33 | ['awp'] = 'AWP', 34 | ['g3sg1'] = 'G3SG1', 35 | ['scar20'] = 'SCAR-20', 36 | ['nova'] = 'Nova', 37 | ['xm1014'] = 'XM1014', 38 | ['sawedoff'] = 'Sawed-Off', 39 | ['mag7'] = 'MAG-7', 40 | ['m249'] = 'M249', 41 | ['negev'] = 'Negev', 42 | ['inferno'] = 'Molotov', 43 | ['decoy'] = 'Decoy Grenade', 44 | ['flashbang'] = 'Flashbang', 45 | ['hegrenade'] = 'HE Grenade', 46 | ['smokegrenade'] = 'Smoke Grenade' 47 | } 48 | 49 | local Ref_MiscExtra = gui.Reference('Misc', 'General', 'Extra') 50 | local ChickenDeathSay = gui.Checkbox(Ref_MiscExtra, 'chickendeathsay', 'Chicken Death Say', 0) 51 | ChickenDeathSay:SetDescription('Sends a chat message on chicken death.') 52 | 53 | client.AllowListener('other_death') 54 | callbacks.Register('FireGameEvent', function(Event) 55 | if not gui.GetValue('misc.master') or not ChickenDeathSay:GetValue() then 56 | return 57 | end 58 | 59 | if Event:GetName() == 'other_death' then 60 | local Killer_INT = Event:GetInt('attacker') 61 | local Killer_Name = client.GetPlayerNameByUserID(Killer_INT) 62 | local Weapon = WeaponNames[Event:GetString('weapon')] 63 | 64 | client.ChatSay( string.format("%s murdered a chicken with the %s.", Killer_Name, Weapon) ) 65 | end 66 | end) -------------------------------------------------------------------------------- /Chickens.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Tab in Misc -> Chickens 3 | ]] 4 | 5 | local Tab = gui.Tab(gui.Reference('Misc'), 'chickens', 'Chickens') 6 | local Groupbox = { 7 | General = gui.Groupbox(Tab, 'General', 16, 16, 295), 8 | Extra = gui.Groupbox(Tab, 'Extra', 328, 16, 295) 9 | } 10 | 11 | local Chicken = { 12 | AntiAim = gui.Checkbox(Groupbox.General, 'antiaim', 'Anti-Aim', 0), 13 | Skin = gui.Combobox(Groupbox.General, 'skin', 'Skin', 'White', 'Red'), 14 | Theme = gui.Combobox(Groupbox.General, 'theme', 'Theme', 'Off', 'Party Chicken', 'Ghost Chicken', 'Festive Chicken', 'Easter Chicken', 'Jack-o-Chicken'), 15 | PartyMode = gui.Checkbox(Groupbox.General, 'partymode', 'Party Mode', 0), 16 | Size = gui.Slider(Groupbox.General, "size", 'Size', 1.0, 1.0, 5.0), 17 | DeathSay = gui.Checkbox(Groupbox.Extra, 'deathsay', 'Death Say', 0) 18 | } 19 | 20 | -- Object Descriptions 21 | Chicken.AntiAim:SetDescription('Makes it harder to hit head.') 22 | Chicken.PartyMode:SetDescription('Enables sv_party_mode convar.') 23 | Chicken.Size:SetDescription('Change size of the chicken.') 24 | Chicken.DeathSay:SetDescription('Sends a chat message on chicken death.') 25 | 26 | -- Main 27 | callbacks.Register('Draw', function() 28 | if not gui.GetValue('misc.master') then 29 | return 30 | end 31 | 32 | local Chickens = entities.FindByClass('CChicken') 33 | 34 | for i=1, #Chickens do 35 | Chickens[i]:SetProp('m_nSkin', Chicken.Skin:GetValue()) 36 | Chickens[i]:SetProp('m_nBody', Chicken.Theme:GetValue()) 37 | Chickens[i]:SetProp('m_flModelScale', Chicken.Size:GetValue()) 38 | end 39 | 40 | if Chicken.AntiAim:GetValue() then 41 | for i=1, #Chickens do 42 | Chickens[i]:SetProp('m_nSequence', -509) 43 | end 44 | end 45 | 46 | if Chicken.PartyMode:GetValue() then 47 | client.SetConVar('sv_party_mode', 1, true) 48 | else 49 | client.SetConVar('sv_party_mode', 0, true) 50 | end 51 | end) 52 | 53 | local WeaponNames = { 54 | ['knife'] = 'Knife', 55 | ['taser'] = 'Taser', 56 | ['glock'] = 'Glock-18', 57 | ['hpk2000'] = 'P2000', 58 | ['usp_silencer'] = 'USP-S', 59 | ['Elite'] = 'Dual Berettas', 60 | ['p250'] = 'P250', 61 | ['cz75a'] = 'CZ75-Auto', 62 | ['fiveseven'] = 'Fiven-SeveN', 63 | ['tec9'] = 'Tec-9', 64 | ['deagle'] = 'Desert Eagle', 65 | ['revolver'] = 'R8 Revolver', 66 | ['mac10'] = 'MAC-10', 67 | ['mp9'] = 'MP9', 68 | ['mp7'] = 'MP7', 69 | ['mp5sd'] = 'MP5-SD', 70 | ['ump45'] = 'UPM-45', 71 | ['p90'] = 'P90', 72 | ['bizon'] = 'PP-Bizon', 73 | ['galilar'] = 'Galil AR', 74 | ['famas'] = 'FAMAS', 75 | ['ak47'] = 'AK-47', 76 | ['m4a1'] = 'M4A4', 77 | ['m4a1_silencer'] = 'M4A1-S', 78 | ['ssg08'] = 'SSG 08', 79 | ['sg556'] = 'SG 553', 80 | ['aug'] = 'AUG', 81 | ['awp'] = 'AWP', 82 | ['g3sg1'] = 'G3SG1', 83 | ['scar20'] = 'SCAR-20', 84 | ['nova'] = 'Nova', 85 | ['xm1014'] = 'XM1014', 86 | ['sawedoff'] = 'Sawed-Off', 87 | ['mag7'] = 'MAG-7', 88 | ['m249'] = 'M249', 89 | ['negev'] = 'Negev', 90 | ['inferno'] = 'Molotov', 91 | ['decoy'] = 'Decoy Grenade', 92 | ['flashbang'] = 'Flashbang', 93 | ['hegrenade'] = 'HE Grenade', 94 | ['smokegrenade'] = 'Smoke Grenade' 95 | } 96 | 97 | -- Death Say 98 | client.AllowListener('other_death') 99 | callbacks.Register('FireGameEvent', function(Event) 100 | if not gui.GetValue('misc.master') or not Chicken.DeathSay:GetValue() then 101 | return 102 | end 103 | if Event:GetName() == 'other_death' then 104 | local Killer_INT = Event:GetInt('attacker') 105 | local Killer_Name = client.GetPlayerNameByUserID(Killer_INT) 106 | local Weapon = WeaponNames[Event:GetString('weapon')] 107 | client.ChatSay( string.format("%s murdered a chicken with the %s.", Killer_Name, Weapon) ) 108 | end 109 | end) -------------------------------------------------------------------------------- /DisableFakelagOnKnife.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Checkbox in Misc -> Enhancement -> Fakelag 3 | ]] 4 | 5 | local FakelagOnKnife = gui.Checkbox(gui.Reference('Misc', 'Enhancement', 'Fakelag'), 'onknife', 'Disable Fakelag On Knife', 0) 6 | 7 | client.AllowListener('item_equip') 8 | callbacks.Register('FireGameEvent', function(Event) 9 | if not gui.GetValue('misc.master') or not FakelagOnKnife:GetValue() or Event:GetName() ~= 'item_equip' then 10 | return 11 | end 12 | 13 | local LocalPlayerIndex = client.GetLocalPlayerIndex() 14 | local PlayerIndex = client.GetPlayerIndexByUserID( Event:GetInt('userid') ) 15 | local WeaponType = Event:GetInt('weptype') 16 | 17 | if LocalPlayerIndex == PlayerIndex then 18 | if WeaponType == 0 then 19 | gui.SetValue('misc.fakelag.enable', 0) 20 | else 21 | gui.SetValue('misc.fakelag.enable', 1) 22 | end 23 | end 24 | end) -------------------------------------------------------------------------------- /DiscordPing.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Tab in Misc -> Discord Ping 3 | ]] 4 | 5 | local References = { 6 | Menu = gui.Reference('Menu'), 7 | Misc = gui.Reference('Misc') 8 | } 9 | 10 | local Tab = gui.Tab(References.Misc, 'discordping', 'Discord Ping') 11 | local Groupbox = { 12 | General = gui.Groupbox(Tab, 'General', 16, 16, 295) 13 | } 14 | 15 | local GUIObjects = { 16 | Ping = { 17 | EndMatch = {} 18 | }, 19 | Webhook = {} 20 | } 21 | 22 | -- Master Switch 23 | GUIObjects.MasterSwitch = gui.Checkbox(Groupbox.General, 'enable', 'Enable', 0) 24 | GUIObjects.MasterSwitch:SetDescription('Enable Discord Ping.') -- Set Master Switch Description 25 | 26 | -- Ping Options 27 | GUIObjects.Ping.MultiBox = gui.Multibox(Groupbox.General, 'Send Info') 28 | GUIObjects.Ping.StartMatch = gui.Checkbox(GUIObjects.Ping.MultiBox, 'matchstart', 'At Match Start', 1) 29 | GUIObjects.Ping.EndMatch.Enabled = gui.Checkbox(GUIObjects.Ping.MultiBox, 'matchend', 'At Match End', 0) 30 | GUIObjects.Ping.EndMatch.MultiBox = gui.Multibox(Groupbox.General, 'At Match End') 31 | GUIObjects.Ping.EndMatch.Send = { 32 | Rank = gui.Checkbox(GUIObjects.Ping.EndMatch.MultiBox, 'matchend.rank', 'Send Rank', 1), 33 | Kills = gui.Checkbox(GUIObjects.Ping.EndMatch.MultiBox, 'matchend.kills', 'Send Kills', 1), 34 | Assists = gui.Checkbox(GUIObjects.Ping.EndMatch.MultiBox, 'matchend.assists', 'Send Assists', 0), 35 | Deaths = gui.Checkbox(GUIObjects.Ping.EndMatch.MultiBox, 'matchend.deaths', 'Send Deaths', 1), 36 | MVPs = gui.Checkbox(GUIObjects.Ping.EndMatch.MultiBox, 'matchend.mvps', 'Send MVPs', 0), 37 | Score = gui.Checkbox(GUIObjects.Ping.EndMatch.MultiBox, 'matchend.score', 'Send Score', 0) 38 | } 39 | GUIObjects.Ping.RankShortName = gui.Checkbox(Groupbox.General, 'rankshortname', 'Use Short Names For Rank', 1) 40 | 41 | -- Webhook 42 | GUIObjects.Webhook.Window = gui.Window('misc.discordping.webhook', 'Discord Webhook', 0, 0, 860, 100) 43 | GUIObjects.Webhook.Button = gui.Button(Groupbox.General, 'Webhook', function() 44 | GUIObjects.Webhook.Window:SetActive(not GUIObjects.Webhook.Window:IsActive()) 45 | end) 46 | GUIObjects.Webhook.Text = gui.Editbox(GUIObjects.Webhook.Window, 'text', '') 47 | GUIObjects.Webhook.Window:SetActive(false) -- Disable Window By Default 48 | GUIObjects.Webhook.Button:SetWidth(265) -- Set Webhook Button Width 49 | 50 | -- You can add your webhook here as well so you won't need to add it all the time. 51 | GUIObjects.Webhook.Text:SetValue('') 52 | 53 | -- Menu Objects Handler 54 | callbacks.Register('Draw', function() 55 | GUIObjects.Ping.EndMatch.MultiBox:SetInvisible(not GUIObjects.Ping.EndMatch.Enabled:GetValue()) -- Hide End Match Multibox if it's disabled. 56 | if not References.Menu:IsActive() then -- Hide webhook window if cheat menu is hidden 57 | GUIObjects.Webhook.Window:SetActive(false) 58 | end 59 | end) 60 | 61 | -- Main 62 | local MapNames = { 63 | ['ar_baggage'] = 'Baggage', 64 | ['ar_dizzy'] = 'Dizzy', 65 | ['ar_lunacy'] = 'Lunacy', 66 | ['ar_monastery'] = 'Monastery', 67 | ['ar_shoots'] = 'Shoots', 68 | ['cs_agency'] = 'Agency', 69 | ['cs_assault'] = 'Assault', 70 | ['cs_italy'] = 'Italy', 71 | ['cs_militia'] = 'militia', 72 | ['cs_office'] = 'Office', 73 | ['de_anubis'] = 'Anubis', 74 | ['de_bank'] = 'Bank', 75 | ['de_cache'] = 'Cache', 76 | ['de_cbble'] = 'Cobblestone', 77 | ['de_chlorine'] = 'Chlorine', 78 | ['de_dust2'] = 'Dust II', 79 | ['de_inferno'] = 'Inferno', 80 | ['de_lake'] = 'Lake', 81 | ['de_mirage'] = 'Mirage', 82 | ['de_nuke'] = 'Nuke', 83 | ['de_overpass'] = 'Overpass', 84 | ['de_safehouse'] = 'Safehouse', 85 | ['de_shortdust'] = 'Shortdust', 86 | ['de_shortnuke'] = 'Shortnuke', 87 | ['de_stmarc'] = 'St. Marc', 88 | ['de_sugarcane'] = 'Sugarcane', 89 | ['de_train'] = 'Train', 90 | ['de_vertigo'] = 'Vertigo', 91 | ['dz_blacksite'] = 'Blacksite', 92 | ['dz_junglety'] = 'Junglety', 93 | ['dz_sirocco'] = 'Sirocco', 94 | ['gd_cbble'] = 'Cobblestone', 95 | ['gd_rialto'] = 'Rialto' 96 | } 97 | 98 | local Ranks = { 99 | DangerZone = { 100 | 'Lab Rat I', 101 | 'Lab Rat II', 102 | 'Sprinting Hare I', 103 | 'Sprinting Hare II', 104 | 'Wild Scout I', 105 | 'Wild Scout II', 106 | 'Wild Scout Elite', 107 | 'Hunter Fox I', 108 | 'Hunter Fox II', 109 | 'Hunter Fox III', 110 | 'Hunter Fox Elite', 111 | 'Timber Wolf', 112 | 'Ember Wolf', 113 | 'Wildfire Wolf', 114 | 'The Howling Alpha' 115 | }, 116 | Matchmaking = { 117 | Names = { 118 | 'Silver I', 119 | 'Silver II', 120 | 'Silver III', 121 | 'Silver IV', 122 | 'Silver Elite', 123 | 'Silver Elite Master', 124 | 'Gold Nova I', 125 | 'Gold Nova II', 126 | 'Gold Nova III', 127 | 'Gold Nova Master', 128 | 'Master Guardian I', 129 | 'Master Guardian II', 130 | 'Master Guardian Elite', 131 | 'Distinguished Master Guardian', 132 | 'Legendary Eagle', 133 | 'Legendary Eagle Master', 134 | 'Supreme Master First Class', 135 | 'Global Elite' 136 | }, 137 | ShortNames = { 138 | 'SI', 139 | 'S2', 140 | 'S3', 141 | 'S4', 142 | 'SE', 143 | 'SEM', 144 | 'GN1', 145 | 'GN2', 146 | 'GN3', 147 | 'GNM', 148 | 'MG1', 149 | 'MG2', 150 | 'MGE', 151 | 'DMG', 152 | 'LE', 153 | 'LEM', 154 | 'SMFC', 155 | 'GE' 156 | } 157 | } 158 | } 159 | 160 | local Get = {} 161 | 162 | Get.CompetitiveRank = function(PlayerIndex) 163 | local PlayerRank = entities.GetPlayerResources():GetPropInt('m_iCompetitiveRanking', PlayerIndex) 164 | return (string.find(engine.GetMapName(), 'dz') and (Ranks.DangerZone[PlayerRank] or 'Unranked')) 165 | or (GUIObjects.Ping.RankShortName:GetValue() and (Ranks.Matchmaking.ShortNames[PlayerRank] or 'Unranked')) 166 | or (Ranks.Matchmaking.Names[PlayerRank] or 'Unranked') 167 | end 168 | 169 | Get.GameMode = function() 170 | local GameMode, GameType = tonumber(client.GetConVar('game_mode')), tonumber(client.GetConVar('game_type')) 171 | if GameMode == 0 and GameType == 0 then 172 | return 'Casual' 173 | elseif GameMode == 1 and GameType == 0 then 174 | return 'Competitive' 175 | elseif GameMode == 2 and GameType == 0 then 176 | return 'Wingman' 177 | elseif GameMode == 0 and GameType == 1 then 178 | return 'Arms Race' 179 | elseif GameMode == 1 and GameType == 1 then 180 | return 'Demolition' 181 | elseif GameMode == 2 and GameType == 1 then 182 | return 'Deathmatch' 183 | elseif (GameMode >= 0 or GameMode <= 0) and GameType == 3 then 184 | return 'Custom' 185 | elseif GameMode == 0 and GameType == 4 then 186 | return 'Guardian' 187 | elseif GameMode == 1 and GameType == 4 then 188 | return 'Co-op Strike' 189 | elseif GameMode == 0 and GameType == 6 then 190 | return 'Danger Zone' 191 | end 192 | end 193 | 194 | Get.Team = function(PlayerIndex) 195 | return entities.GetPlayerResources():GetPropInt('m_iTeam', PlayerIndex) 196 | end 197 | 198 | Get.TeamInitials = function(bool) 199 | local MyTeam = Get.Team(client.GetLocalPlayerIndex()) 200 | local EnemyTeam = (MyTeam == 3) and 2 or 3 201 | if bool then 202 | return EnemyTeam == 3 and 'CT' or 'T' 203 | else 204 | return MyTeam == 3 and 'CT' or 'T' 205 | end 206 | end 207 | 208 | Get.MatchStartInfo = function(bool) 209 | local String = '' 210 | 211 | local TotalPlayers = 0 212 | local MyTeam = Get.Team(client.GetLocalPlayerIndex()) 213 | 214 | for PlayerIndex=1, globals.MaxClients() do 215 | local PlayerInfo = client.GetPlayerInfo(PlayerIndex) 216 | if PlayerInfo ~= nil then 217 | local PlayerName = PlayerInfo['Name'] 218 | local PlayerSteamID = PlayerInfo['SteamID'] 219 | local IsPlayerBot = PlayerInfo['IsBot'] 220 | 221 | local PlayerRank = Get.CompetitiveRank(PlayerIndex) 222 | local PlayerTeam = Get.Team(PlayerIndex) 223 | 224 | if PlayerTeam == 2 or PlayerTeam == 3 then 225 | if (PlayerTeam == MyTeam and bool) or (PlayerTeam ~= MyTeam and not bool) then 226 | if IsPlayerBot then 227 | String = String .. [[\n\t● ]] .. PlayerName .. ' (Bot)' 228 | else 229 | if Get.GameMode() == 'Competitive' or Get.GameMode() == 'Wingman' or Get.GameMode() == 'Danger Zone' then 230 | String = String .. [[\n\t● ]] .. '[' .. PlayerName .. '](' .. '' .. ')' .. ' | ' .. PlayerRank 231 | else 232 | String = String .. [[\n\t● ]] .. '[' .. PlayerName .. '](' .. '' .. ')' 233 | end 234 | end 235 | TotalPlayers = TotalPlayers + 1 236 | end 237 | end 238 | end 239 | end 240 | 241 | if TotalPlayers == 0 then 242 | String = String .. [[\n\tN/A]] 243 | end 244 | return String .. [[\n\n]] 245 | end 246 | 247 | Get.MatchEndInfo = function(bool) 248 | local String = '' 249 | local Players = {} 250 | 251 | for PlayerIndex=1, globals.MaxClients() do 252 | if entities.GetPlayerResources():GetPropBool('m_bConnected', PlayerIndex) then 253 | local PlayerTeam = Get.Team(PlayerIndex) 254 | if PlayerTeam == 2 or PlayerTeam == 3 then 255 | local MyTeam = Get.Team(client.GetLocalPlayerIndex()) 256 | local PlayerScore = entities.GetPlayerResources():GetPropInt('m_iScore', PlayerIndex) 257 | if (MyTeam == PlayerTeam and bool) or (MyTeam ~= PlayerTeam and not bool) then 258 | table.insert(Players, { 259 | player = PlayerIndex, 260 | score = PlayerScore 261 | }) 262 | end 263 | end 264 | end 265 | end 266 | 267 | table.sort(Players, function(a,b) 268 | return a.score > b.score 269 | end) 270 | 271 | for _, v in pairs(Players) do 272 | local PlayerIndex = v.player 273 | local PlayerInfo = client.GetPlayerInfo(PlayerIndex) 274 | 275 | local PlayerName = PlayerInfo['Name'] 276 | local PlayerSteamID = PlayerInfo['SteamID'] 277 | local IsPlayerBot = PlayerInfo['IsBot'] 278 | 279 | local PlayerRank = Get.CompetitiveRank(PlayerIndex) 280 | local PlayerKills = entities.GetPlayerResources():GetPropInt('m_iKills', PlayerIndex) 281 | local PlayerAssists = entities.GetPlayerResources():GetPropInt('m_iAssists', PlayerIndex) 282 | local PlayerDeaths = entities.GetPlayerResources():GetPropInt('m_iDeaths', PlayerIndex) 283 | local PlayerMVPs = entities.GetPlayerResources():GetPropInt('m_iMVPs', PlayerIndex) 284 | local PlayerScore = v.score 285 | 286 | if IsPlayerBot then 287 | String = String .. [[\n\t● ]] .. PlayerName .. ' (Bot)' 288 | else 289 | if (GUIObjects.Ping.EndMatch.Send.Rank:GetValue() and (Get.GameMode() == 'Competitive' or Get.GameMode() == 'Wingman' or Get.GameMode() == 'Danger Zone')) then 290 | String = String .. [[\n\t● ]] .. '[' .. PlayerName .. '](' .. '' .. ')' .. ' | ' .. PlayerRank 291 | else 292 | String = String .. [[\n\t● ]] .. '[' .. PlayerName .. '](' .. '' .. ')' 293 | end 294 | end 295 | if GUIObjects.Ping.EndMatch.Send.Kills:GetValue() then 296 | String = String .. ' | ' .. PlayerKills .. ' Kills' 297 | end 298 | if GUIObjects.Ping.EndMatch.Send.Assists:GetValue() then 299 | String = String .. ' | ' .. PlayerAssists .. ' Assists' 300 | end 301 | if GUIObjects.Ping.EndMatch.Send.Deaths:GetValue() then 302 | String = String .. ' | ' .. PlayerDeaths .. ' Deaths' 303 | end 304 | if GUIObjects.Ping.EndMatch.Send.MVPs:GetValue() then 305 | String = String .. ' | ' .. PlayerMVPs .. ' MVPs' 306 | end 307 | if GUIObjects.Ping.EndMatch.Send.Score:GetValue() then 308 | String = String .. ' | ' .. PlayerScore .. ' Score' 309 | end 310 | end 311 | 312 | if (#Players == 0) then 313 | String = String .. [[\n\tn/a]] 314 | end 315 | return String .. [[\n\n]] 316 | end 317 | 318 | callbacks.Register('FireGameEvent', function(Event) 319 | if not gui.GetValue('misc.master') or not GUIObjects.MasterSwitch:GetValue() or GUIObjects.Webhook.Text:GetValue() == '' then 320 | return 321 | end 322 | 323 | -- At Match Start 324 | if GUIObjects.Ping.StartMatch:GetValue() and Event:GetName() == 'round_announce_match_start' then 325 | local MyTeam = Get.Team(client.GetLocalPlayerIndex()) 326 | if MyTeam ~= 2 and MyTeam ~= 3 then 327 | print('DiscordPing: Send Info -> At Match Start: Team not found') 328 | return 329 | end 330 | 331 | local Content = '-------------------------' .. [[\n]] 332 | Content = Content .. '**CS:GO Match Started**' .. [[\n-------------------------\n\n]] 333 | Content = Content .. '**' .. Get.GameMode() .. ' | ' .. (MapNames[engine.GetMapName()] or engine.GetMapName()) .. '**'.. [[\n\n]] 334 | Content = Content .. '**Your Team**: ' .. Get.TeamInitials(false) .. Get.MatchStartInfo(true) 335 | Content = Content .. '**Enemy Team**: ' .. Get.TeamInitials(true) .. Get.MatchStartInfo(false) 336 | 337 | panorama.RunScript([[ 338 | $.AsyncWebRequest(']] .. GUIObjects.Webhook.Text:GetValue() .. [[', { 339 | type: 'POST', 340 | data: { 341 | content: ']] .. Content .. [[' 342 | } 343 | }); 344 | ]]) 345 | end 346 | 347 | -- At Match End 348 | if GUIObjects.Ping.EndMatch.Enabled:GetValue() and Event:GetName() == 'cs_win_panel_match' then 349 | local MyTeam = Get.Team(client.GetLocalPlayerIndex()) 350 | if MyTeam ~= 2 and MyTeam ~= 3 then 351 | print('DiscordPing: Send Info -> At Match End: Team not found') 352 | return 353 | end 354 | 355 | local Content = '--------------------------' .. [[\n]] 356 | Content = Content .. '**CS:GO Match Finished**' .. [[\n--------------------------\n\n]] 357 | Content = Content .. '**' .. Get.GameMode() .. ' | ' .. (MapNames[engine.GetMapName()] or engine.GetMapName()) .. '**'.. [[\n\n]] 358 | Content = Content .. '**Your Team**: ' .. Get.TeamInitials(false) .. Get.MatchEndInfo(true) 359 | Content = Content .. '**Enemy Team**: ' .. Get.TeamInitials(true) .. Get.MatchEndInfo(false) 360 | 361 | panorama.RunScript([[ 362 | function GetGameScore() { 363 | const LocalPlayerTeamNumber = ']] .. tostring( Get.Team(client.GetLocalPlayerIndex()) ) .. [['; 364 | const GameScore = () => { 365 | CTScore = GameStateAPI.GetScoreDataJSO()['teamdata']['CT']['score']; 366 | TScore = GameStateAPI.GetScoreDataJSO()['teamdata']['TERRORIST']['score']; 367 | return LocalPlayerTeamNumber == 2 ? `**Score**: T: ${TScore} | CT: ${CTScore}` : `**Score**: CT: ${CTScore} | T: ${TScore}`; 368 | }; 369 | const GameMode = GameStateAPI.GetGameModeInternalName(false); 370 | return (GameMode != 'gungameprogressive' && GameMode != 'deathmatch' && GameMode != 'survival') ? GameScore() : null; 371 | } 372 | 373 | $.AsyncWebRequest(']] .. GUIObjects.Webhook.Text:GetValue() .. [[', { 374 | type: 'POST', 375 | data: { 376 | content: GetGameScore() ? ']] .. Content .. [[' + GetGameScore() : ']] .. Content .. [[' 377 | } 378 | }); 379 | ]]) 380 | end 381 | end) 382 | 383 | client.AllowListener('round_announce_match_start') 384 | client.AllowListener('cs_win_panel_match') -------------------------------------------------------------------------------- /EngineRadar.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | * All credits goes to "- Luiz" from AIMWARE Forum. All I did is add a on/off button and I take zero credits for this script. 3 | - Checkbox in Visuals -> Other -> Extra 4 | ]] 5 | 6 | local EngineRadar = gui.Checkbox(gui.Reference('Visuals', 'Other', 'Extra'), 'engineradar', 'Engine Radar', 0) 7 | EngineRadar:SetDescription('Display enemies on in-game radar.') 8 | 9 | callbacks.Register('Draw', function() 10 | if EngineRadar:GetValue() then 11 | isEngineRadarOn = 1 12 | else 13 | isEngineRadarOn = 0 14 | end 15 | 16 | for index, Player in pairs(entities.FindByClass('CCSPlayer')) do 17 | Player:SetProp('m_bSpotted', isEngineRadarOn) 18 | end 19 | end) -------------------------------------------------------------------------------- /FullBright.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | - Checkbox in Visuals -> World -> Materials 3 | ]] 4 | 5 | local FullBright = gui.Checkbox(gui.Reference('Visuals', 'World', 'Materials'), "fullbright", "Full Bright", 0) 6 | 7 | callbacks.Register('Draw', function() 8 | local isFullBrightOn = FullBright:GetValue() 9 | local convar_mat_fullbright = client.GetConVar('mat_fullbright') 10 | 11 | if isFullBrightOn and convar_mat_fullbright == '0' then 12 | client.SetConVar('mat_fullbright', 1, true) 13 | elseif not isFullBrightOn and convar_mat_fullbright == '1' then 14 | client.SetConVar('mat_fullbright', 0, true) 15 | end 16 | end) -------------------------------------------------------------------------------- /InventoryUnlock.lua: -------------------------------------------------------------------------------- 1 | panorama.RunScript([[ 2 | LoadoutAPI.IsLoadoutAllowed = () => { 3 | return true; 4 | }; 5 | ]]) -------------------------------------------------------------------------------- /LeftHandKnife.lua: -------------------------------------------------------------------------------- 1 | local Ref_VisualExtra = gui.Reference('Visuals', 'Other', 'Extra') 2 | local LeftHandKnife = gui.Checkbox(Ref_VisualExtra, 'lefthandknife', 'Left Hand Knife', 0) 3 | 4 | callbacks.Register('Draw', function() 5 | if not gui.GetValue('esp.master') or not LeftHandKnife:GetValue() then 6 | return 7 | end 8 | 9 | local LocalPlayer = entities.GetLocalPlayer() 10 | 11 | local WeaponID = LocalPlayer:GetWeaponID() 12 | local WeaponType = LocalPlayer:GetWeaponType() 13 | 14 | if WeaponType == 0 and WeaponID ~= 31 then 15 | client.Command('cl_righthand 0', true) 16 | else 17 | client.Command('cl_righthand 1', true) 18 | end 19 | end) 20 | -------------------------------------------------------------------------------- /LegitAA_Indicator.lua: -------------------------------------------------------------------------------- 1 | function LegitAAIndicator() 2 | 3 | local w, h = draw.GetScreenSize(); 4 | 5 | local LegitAA = gui.GetValue("lbot_antiaim"); 6 | 7 | if ( LegitAA == 0 ) then 8 | draw.Text( 50, h - 464, "Off" ); 9 | elseif ( LegitAA == 90 ) then 10 | draw.Text( 50, h - 464, "Left" ); 11 | elseif ( LegitAA == 270 ) then 12 | draw.Text( 50, h - 464, "Right" ); 13 | else 14 | draw.Text( 50, h - 464, LegitAA ); 15 | end 16 | 17 | draw.Color( 255, 255, 255, 255 ); 18 | draw.Text( 2, h - 464, "Legit AA:" ); 19 | 20 | end 21 | 22 | callbacks.Register("Draw", "LegitAAIndicator", LegitAAIndicator) 23 | -------------------------------------------------------------------------------- /LegitAA_OnPing.lua: -------------------------------------------------------------------------------- 1 | local SetValue = gui.SetValue; 2 | local GetValue = gui.GetValue; 3 | 4 | local LBOT_EXTRA_REF = gui.Reference( "LEGIT", "Extra" ); 5 | 6 | local LBOT_ANTI_AIM_ON_PING = gui.Slider( LBOT_EXTRA_REF, "lua_lbot_antiaim_ping", "Legit Anti-Aim Off On Ping", 0, 0, 120 ); 7 | 8 | local LBOT_ANTI_AIM_MODE = GetValue( "lbot_antiaim_mode" ); 9 | 10 | local function LegitAnitAimOnPing() 11 | 12 | if ( GetValue( "lbot_active" ) and LBOT_ANTI_AIM_MODE ~= 0 ) then 13 | 14 | local LegitAnitAimOnPingValue = math.floor( LBOT_ANTI_AIM_ON_PING:GetValue() ) 15 | 16 | if entities.GetPlayerResources() ~= nil then 17 | 18 | local Ping = entities.GetPlayerResources():GetPropInt( "m_iPing", client.GetLocalPlayerIndex() ); 19 | 20 | if LegitAnitAimOnPingValue > 0 then 21 | if Ping >= LegitAnitAimOnPingValue then 22 | SetValue( "lbot_antiaim_mode", 0 ); 23 | else 24 | SetValue( "lbot_antiaim_mode", LBOT_ANTI_AIM_MODE ); 25 | end 26 | end 27 | 28 | end 29 | 30 | end 31 | 32 | end 33 | 34 | callbacks.Register( "Draw", "Legit Anit-Aim On Ping", LegitAnitAimOnPing ) 35 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # AIMWARE-Lua-Scripts 2 | Lua scripts for AIMWARE hack for Counter Strike: Global Offensive 3 | -------------------------------------------------------------------------------- /SmartFakelag.lua: -------------------------------------------------------------------------------- 1 | local SetValue = gui.SetValue 2 | local GetValue = gui.GetValue 3 | 4 | local MENU = gui.Reference( "MENU" ); 5 | 6 | local MSC_FAKELAG_REF = gui.Reference( "MISC", "ENHANCEMENT", "Fakelag" ); 7 | local FAKELAG_WND_CHECKBOX = gui.Checkbox ( MSC_FAKELAG_REF, "lua_fakelag_wnd", "Advance Fakelag Configuration", 0 ); 8 | 9 | local x, y = GetValue( "wnd_menu" ); 10 | local FAKELAG_WINDOW = gui.Window( "lua_wnd_fakelag", "Advance Fakelag Configuration", x+816, y+168, 400, 400+32 ); 11 | 12 | local MASTER_SWITCH = gui.Checkbox( FAKELAG_WINDOW, "lua_fakelag", "Master Switch", 0 ); 13 | 14 | local SMARTMODE_GROUPBOX = gui.Groupbox( FAKELAG_WINDOW, "Fakelag Smart Mode", 16, 48, 200 - 32, 400 - 64 ); 15 | local FAKELAG_EXTRA_GROUPBOX = gui.Groupbox( FAKELAG_WINDOW, "Fakelag Extra", (200-32)+32, 48, 200 - 16, 400 - 64 ); 16 | 17 | local FAKELAG_SMART_MODE = gui.Checkbox( SMARTMODE_GROUPBOX, "lua_fakelag_smartmode_enable", "Enable", 0 ); 18 | local FAKELAG_SMART_MODE_STANDING = gui.Combobox( SMARTMODE_GROUPBOX, "lua_fakelag_standing", "While Standing", "Off", "Factor", "Switch", "Adaptive", "Random", "Peek", "Rapid Peek" ); 19 | local FAKELAG_SMART_MODE_STANDING_FACTOR = gui.Slider( SMARTMODE_GROUPBOX, "lua_fakelag_standing_factor", "Factor", 15, 1, 62 ); 20 | local FAKELAG_SMART_MODE_MOVING = gui.Combobox( SMARTMODE_GROUPBOX, "lua_fakelag_moving", "While Moving", "Off", "Factor", "Switch", "Adaptive", "Random", "Peek", "Rapid Peek" ); 21 | local FAKELAG_SMART_MODE_MOVING_FACTOR = gui.Slider( SMARTMODE_GROUPBOX, "lua_fakelag_moving_factor", "Factor", 15, 1, 62 ); 22 | local FAKELAG_SMART_MODE_INAIR = gui.Combobox( SMARTMODE_GROUPBOX, "lua_fakelag_inair", "While In Air", "Off", "Factor", "Switch", "Adaptive", "Random", "Peek", "Rapid Peek" ); 23 | local FAKELAG_SMART_MODE_INAIR_FACTOR = gui.Slider( SMARTMODE_GROUPBOX, "lua_fakelag_inair_factor", "Factor", 15, 1, 62 ); 24 | 25 | local FAKELAG_EXTRA = gui.Checkbox( FAKELAG_EXTRA_GROUPBOX, "lua_fakelag_extra_enable", "Enable", 0 ); 26 | local FAKELAG_ON_KNIFE = gui.Checkbox( FAKELAG_EXTRA_GROUPBOX, "lua_fakelag_knife", "Disable On Knife", 0 ); 27 | local FAKELAG_ON_PISTOL = gui.Checkbox( FAKELAG_EXTRA_GROUPBOX, "lua_fakelag_pistol", "Disable On Pistol", 0 ); 28 | local FAKELAG_ON_REVOLVER = gui.Checkbox( FAKELAG_EXTRA_GROUPBOX, "lua_fakelag_revolver", "Disable On Revolver", 0 ); 29 | local FAKELAG_ON_SLOWWALK = gui.Checkbox( FAKELAG_EXTRA_GROUPBOX, "lua_fakelag_slowwalk", "Disable On Slow Walk", 0 ); 30 | local FAKELAG_ON_TASER = gui.Checkbox( FAKELAG_EXTRA_GROUPBOX, "lua_fakelag_taser", "Disable On Taser", 0 ); 31 | local FAKELAG_ON_PING = gui.Checkbox( FAKELAG_EXTRA_GROUPBOX, "lua_fakelag_ping", "Disable On Ping", 0 ) 32 | local FAKELAG_ON_PING_AMOUNT = gui.Slider( FAKELAG_EXTRA_GROUPBOX, "lua_fakelag_ping_amount", "On Ping Amount", 120, 0, 1000 ); 33 | 34 | local Ping = 0 35 | local Time = 0 36 | 37 | callbacks.Register( 'Draw', function() 38 | 39 | if FAKELAG_WND_CHECKBOX:GetValue() and MENU:IsActive() then 40 | FAKELAG_WINDOW:SetActive(1) 41 | else 42 | FAKELAG_WINDOW:SetActive(0) 43 | end 44 | 45 | if not MASTER_SWITCH:GetValue() then 46 | return 47 | end 48 | 49 | if entities.GetLocalPlayer() == nil then 50 | return 51 | end 52 | 53 | local LocalPlayerEntity = entities.GetLocalPlayer(); 54 | local WeaponID = LocalPlayerEntity:GetWeaponID(); 55 | local WeaponType = LocalPlayerEntity:GetWeaponType(); 56 | 57 | if ( WeaponType == 0 and WeaponID ~= 31 ) then Knife = true else Knife = false end 58 | if ( WeaponType == 1 and WeaponID ~= 64 ) then Pistol = true else Pistol = false end 59 | if WeaponID == 31 then Taser = true else Taser = false end 60 | if WeaponID == 64 then Revolver = true else Revolver = false end 61 | 62 | end 63 | ) 64 | 65 | local function FakelagExtra() 66 | 67 | if not MASTER_SWITCH:GetValue() then 68 | return 69 | end 70 | 71 | if not FAKELAG_EXTRA:GetValue() then 72 | return 73 | end 74 | 75 | if ( FAKELAG_ON_KNIFE:GetValue() and Knife ) or -- On Knife 76 | ( FAKELAG_ON_TASER:GetValue() and Taser ) or -- On Taser 77 | ( FAKELAG_ON_PISTOL:GetValue() and Pistol ) or -- On Pistol 78 | ( FAKELAG_ON_REVOLVER:GetValue() and Revolver ) then -- On Revolver 79 | SetValue( "msc_fakelag_enable", 0 ); 80 | else 81 | SetValue( "msc_fakelag_enable", 1 ); 82 | end 83 | 84 | end 85 | 86 | local function FakelagOnPing() 87 | 88 | if not MASTER_SWITCH:GetValue() then 89 | return 90 | end 91 | 92 | if not FAKELAG_EXTRA:GetValue() then 93 | return 94 | end 95 | 96 | if not FAKELAG_ON_PING:GetValue() then 97 | return 98 | end 99 | 100 | if entities.GetPlayerResources() ~= nil then 101 | Ping = entities.GetPlayerResources():GetPropInt( "m_iPing", client.GetLocalPlayerIndex() ); 102 | end 103 | 104 | FakelagOnPingAmount = math.floor( FAKELAG_ON_PING_AMOUNT:GetValue() ) 105 | 106 | if ( Ping >= FakelagOnPingAmount ) or 107 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_KNIFE:GetValue() and Knife ) or 108 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_TASER:GetValue() and Taser ) or 109 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_PISTOL:GetValue() and Pistol ) or 110 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_REVOLVER:GetValue() and Revolver ) then 111 | SetValue( "msc_fakelag_enable", 0 ); 112 | else 113 | SetValue( "msc_fakelag_enable", 1 ); 114 | end 115 | 116 | end 117 | 118 | local function FakelagOnSlowWalk() 119 | 120 | if not MASTER_SWITCH:GetValue() then 121 | return 122 | end 123 | 124 | if not FAKELAG_EXTRA:GetValue() then 125 | return 126 | end 127 | 128 | if GetValue( "msc_slowwalk" ) ~= 0 then 129 | SlowWalkFakelagOff = input.IsButtonDown( GetValue( "msc_slowwalk" ) ) 130 | end 131 | 132 | if FAKELAG_ON_SLOWWALK:GetValue() and GetValue( "msc_slowwalk" ) ~= 0 then 133 | if ( SlowWalkFakelagOff ) or 134 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_KNIFE:GetValue() and Knife ) or 135 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_TASER:GetValue() and Taser ) or 136 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_PISTOL:GetValue() and Pistol ) or 137 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_REVOLVER:GetValue() and Revolver ) or 138 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_PING:GetValue() and Ping >= FakelagOnPingAmount ) then 139 | SetValue( "msc_fakelag_enable", 0 ); 140 | else 141 | SetValue( "msc_fakelag_enable", 1 ); 142 | end 143 | end 144 | 145 | end 146 | 147 | local function FakelagSmartMode() 148 | 149 | if not MASTER_SWITCH:GetValue() then 150 | return 151 | end 152 | 153 | if not FAKELAG_SMART_MODE:GetValue() then 154 | return 155 | end 156 | 157 | local FAKELAG_STANDING = FAKELAG_SMART_MODE_STANDING:GetValue(); 158 | local FAKELAG_MOVING = FAKELAG_SMART_MODE_MOVING:GetValue(); 159 | local FAKELAG_INAIR = FAKELAG_SMART_MODE_INAIR:GetValue(); 160 | 161 | local FAKELAG_STANDING_FACTOR = math.floor( FAKELAG_SMART_MODE_STANDING_FACTOR:GetValue() ) 162 | local FAKELAG_MOVING_FACTOR = math.floor( FAKELAG_SMART_MODE_MOVING_FACTOR:GetValue() ) 163 | local FAKELAG_INAIR_FACTOR = math.floor( FAKELAG_SMART_MODE_INAIR_FACTOR:GetValue() ) 164 | 165 | if entities.GetLocalPlayer() ~= nil then 166 | 167 | local LocalPlayerEntity = entities.GetLocalPlayer(); 168 | local fFlags = LocalPlayerEntity:GetProp( "m_fFlags" ); 169 | 170 | local VelocityX = LocalPlayerEntity:GetPropFloat( "localdata", "m_vecVelocity[0]" ); 171 | local VelocityY = LocalPlayerEntity:GetPropFloat( "localdata", "m_vecVelocity[1]" ); 172 | 173 | local Velocity = math.sqrt( VelocityX^2 + VelocityY^2 ); 174 | 175 | -- Standing 176 | if ( Velocity == 0 and ( fFlags == 257 or fFlags == 261 or fFlags == 263 ) ) then 177 | Standing = true 178 | else 179 | Standing = false 180 | end 181 | 182 | -- Moving 183 | if ( Velocity > 0 and ( fFlags == 257 or fFlags == 261 or fFlags == 263 ) ) then 184 | Moving = true 185 | else 186 | Moving = false 187 | end 188 | 189 | -- In Air 190 | if fFlags == 256 or fFlags == 262 then 191 | InAir = true 192 | Time = globals.CurTime(); 193 | else 194 | InAir = false 195 | end 196 | end 197 | 198 | if Standing and Time + 0.2 < globals.CurTime() then 199 | if ( FAKELAG_STANDING == 0 ) or 200 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_KNIFE:GetValue() and Knife ) or 201 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_TASER:GetValue() and Taser ) or 202 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_PISTOL:GetValue() and Pistol ) or 203 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_REVOLVER:GetValue() and Revolver ) or 204 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_PING:GetValue() and Ping >= FakelagOnPingAmount ) or 205 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_SLOWWALK:GetValue() and GetValue( "msc_slowwalk" ) ~= 0 and SlowWalkFakelagOff ) then 206 | SetValue( "msc_fakelag_enable", 0 ); 207 | else 208 | SetValue( "msc_fakelag_enable", 1 ); 209 | end 210 | if FAKELAG_STANDING > 0 then 211 | STANDING_MODE = ( FAKELAG_STANDING - 1 ) 212 | end 213 | SetValue( "msc_fakelag_mode", STANDING_MODE ); 214 | SetValue( "msc_fakelag_value", FAKELAG_STANDING_FACTOR ); 215 | end 216 | 217 | if Moving and Time + 0.2 < globals.CurTime() then 218 | if ( FAKELAG_MOVING == 0 ) or 219 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_KNIFE:GetValue() and Knife ) or 220 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_TASER:GetValue() and Taser ) or 221 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_PISTOL:GetValue() and Pistol ) or 222 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_REVOLVER:GetValue() and Revolver ) or 223 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_PING:GetValue() and Ping >= FakelagOnPingAmount ) or 224 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_SLOWWALK:GetValue() and GetValue( "msc_slowwalk" ) ~= 0 and SlowWalkFakelagOff ) then 225 | SetValue( "msc_fakelag_enable", 0 ); 226 | else 227 | SetValue( "msc_fakelag_enable", 1 ); 228 | end 229 | if FAKELAG_MOVING > 0 then 230 | MOVING_MODE = ( FAKELAG_MOVING - 1 ) 231 | end 232 | SetValue( "msc_fakelag_mode", MOVING_MODE ); 233 | SetValue( "msc_fakelag_value", FAKELAG_MOVING_FACTOR ); 234 | end 235 | 236 | if InAir then 237 | if ( FAKELAG_INAIR == 0 ) or 238 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_KNIFE:GetValue() and Knife ) or 239 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_TASER:GetValue() and Taser ) or 240 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_PISTOL:GetValue() and Pistol ) or 241 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_REVOLVER:GetValue() and Revolver ) or 242 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_PING:GetValue() and Ping >= FakelagOnPingAmount ) or 243 | ( FAKELAG_EXTRA:GetValue() and FAKELAG_ON_SLOWWALK:GetValue() and GetValue( "msc_slowwalk" ) ~= 0 and SlowWalkFakelagOff ) then 244 | SetValue( "msc_fakelag_enable", 0 ); 245 | else 246 | SetValue( "msc_fakelag_enable", 1 ); 247 | end 248 | if FAKELAG_INAIR > 0 then 249 | INAIR_MODE = ( FAKELAG_INAIR - 1 ) 250 | end 251 | SetValue( "msc_fakelag_mode", INAIR_MODE ); 252 | SetValue( "msc_fakelag_value", FAKELAG_INAIR_FACTOR ); 253 | end 254 | 255 | end 256 | 257 | callbacks.Register( 'Draw', FakelagExtra ) 258 | callbacks.Register( 'Draw', FakelagOnPing ) 259 | callbacks.Register( 'Draw', FakelagOnSlowWalk ) 260 | callbacks.Register( 'Draw', FakelagSmartMode ) 261 | -------------------------------------------------------------------------------- /SniperCrosshair.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Checkbox in Visuals -> Other -> Extra 3 | ]] 4 | 5 | local SniperCrosshair = gui.Checkbox(gui.Reference('Visuals', 'Other', 'Extra'), 'snipercrosshair', 'Sniper Crosshair', 0) 6 | SniperCrosshair:SetDescription('Display in-game crosshair for snipers.') 7 | 8 | client.AllowListener('item_equip') 9 | callbacks.Register('FireGameEvent', function(Event) 10 | if not gui.GetValue('esp.master') or not SniperCrosshair:GetValue() or Event:GetName() ~= 'item_equip' then 11 | if not SniperCrosshair:GetValue() and client.GetConVar('weapon_debug_spread_show') == '3' then 12 | client.SetConVar('weapon_debug_spread_show', 0, true) 13 | return 14 | end 15 | return 16 | end 17 | 18 | local LocalPlayerIndex = client.GetLocalPlayerIndex() 19 | local PlayerIndex = client.GetPlayerIndexByUserID( Event:GetInt('userid') ) 20 | local WeaponType = Event:GetInt('weptype') 21 | 22 | if LocalPlayerIndex == PlayerIndex then 23 | if WeaponType == 5 then 24 | client.SetConVar('weapon_debug_spread_show', 3, true) 25 | else 26 | client.SetConVar('weapon_debug_spread_show', 0, true) 27 | end 28 | end 29 | end) --------------------------------------------------------------------------------