├── 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)
--------------------------------------------------------------------------------