├── Client
└── Client.lua
├── Config.lua
├── README.md
├── Server
└── Server.lua
└── fxmanifest.lua
/Client/Client.lua:
--------------------------------------------------------------------------------
1 | local ActiveRecoil = false
2 |
3 | Citizen.CreateThread(function()
4 |
5 | if Config.CustomDamage then
6 | for k, v in pairs(Config.Weapons) do
7 |
8 | SetWeaponDamageModifier(k, v.Damage)
9 |
10 | end
11 | end
12 |
13 | if Config.ClassicRecoil then
14 | for k,v in pairs(Config.Weapons) do
15 |
16 | SetWeaponRecoilShakeAmplitude(GetHashKey(k), Config.Weapons[k].ClassicRecoil)
17 |
18 | end
19 | end
20 |
21 | if Config.RealisticFlashLight then
22 |
23 | SetFlashLightKeepOnWhileMoving(true)
24 |
25 | end
26 |
27 | end)
28 |
29 |
30 | Citizen.CreateThread(function()
31 |
32 | while (Config.HideCrossHair) do
33 |
34 | Citizen.Wait(1)
35 |
36 | local sleep = true
37 |
38 | if IsPedArmed(PlayerPedId(), 6) then
39 | sleep = false
40 | HideHudComponentThisFrame(14)
41 | end
42 |
43 | if sleep then
44 | Wait(1000)
45 | end
46 | end
47 |
48 |
49 | end)
50 |
51 | Citizen.CreateThread(function()
52 |
53 | while (Config.DisableHeadShots) do
54 |
55 | Citizen.Wait(5000)
56 |
57 | SetPedSuffersCriticalHits(PlayerPedId(), false)
58 |
59 | end
60 |
61 | end)
62 |
63 | Citizen.CreateThread(function()
64 |
65 | while (Config.RemovePistolWhipping) do
66 |
67 | Citizen.Wait(15)
68 | local sleep = true
69 |
70 | if IsPedArmed(PlayerPedId(), 6) then
71 | sleep = false
72 |
73 | DisableControlAction(1, 140, true)
74 | DisableControlAction(1, 141, true)
75 | DisableControlAction(1, 142, true)
76 |
77 | end
78 |
79 | if sleep then
80 | Wait(1000)
81 | end
82 |
83 | end
84 |
85 | end)
86 |
87 | Citizen.CreateThread(function()
88 |
89 | while (Config.DrunkRecoil) do
90 |
91 | Citizen.Wait(150)
92 | local sleep = true
93 |
94 | if IsPedArmed(PlayerPedId(), 6) then
95 | sleep = false
96 |
97 | local CurrentWeapon = nil
98 | local _, Weapon = GetCurrentPedWeapon(PlayerPedId())
99 |
100 | for k in pairs(Config.Weapons) do
101 | local key = GetHashKey(k)
102 |
103 | if key == Weapon then
104 | CurrentWeapon = k
105 | end
106 |
107 | end
108 |
109 | if CurrentWeapon ~= nil then
110 |
111 | local Player = PlayerId()
112 | local PlayerPed = PlayerPedId()
113 |
114 | if IsPlayerFreeAiming(Player) or IsPedShooting(PlayerPed) and Config.Weapons[CurrentWeapon].DrunkRecoil ~= 0 then
115 |
116 | if not ActiveRecoil then
117 | ActiveRecoil = true
118 | ShakeGameplayCam("DRUNK_SHAKE", Config.Weapons[CurrentWeapon].DrunkRecoil)
119 | end
120 | else
121 |
122 | if ActiveRecoil then
123 |
124 | ActiveRecoil = false
125 | Wait(150)
126 | ShakeGameplayCam("DRUNK_SHAKE", 0.0)
127 |
128 | end
129 |
130 | end
131 | else
132 | sleep = true
133 | end
134 | end
135 |
136 | if sleep then
137 | Wait(1000)
138 | end
139 |
140 | end
141 |
142 | end)
143 |
144 |
145 |
146 |
--------------------------------------------------------------------------------
/Config.lua:
--------------------------------------------------------------------------------
1 | Config = {}
2 |
3 | Config.Updater = true
4 |
5 | Config.ClassicRecoil = true
6 | Config.DrunkRecoil = true
7 |
8 | Config.CustomDamage = true
9 |
10 | Config.RealisticFlashLight = false -- Keep flashlight tured on when player dont aiming.
11 | Config.HideCrossHair = false -- Show crosshair.
12 | Config.DisableHeadShots = false -- Disable headshot damage.
13 | Config.RemovePistolWhipping = false -- Disable press R in player close to hit them.
14 |
15 | Config.Weapons = {
16 |
17 | ["WEAPON_PISTOL"] = {
18 |
19 | Damage = 0.5,
20 |
21 | ClassicRecoil = 2.0,
22 | DrunkRecoil = 0.6,
23 |
24 | },
25 |
26 | ["WEAPON_PISTOL_MK2"] = {
27 |
28 | Damage = 0.6,
29 |
30 | ClassicRecoil = 2.0,
31 | DrunkRecoil = 0.6,
32 |
33 | },
34 |
35 | ["WEAPON_COMBATPISTOL"] = {
36 |
37 | Damage = 0.7,
38 |
39 | ClassicRecoil = 2.0,
40 | DrunkRecoil = 0.6,
41 |
42 | },
43 |
44 | ["WEAPON_APPISTOL"] = {
45 |
46 | Damage = 0.45,
47 |
48 | ClassicRecoil = 2.0,
49 | DrunkRecoil = 0.6,
50 |
51 | },
52 |
53 | ["WEAPON_STUNGUN"] = {
54 |
55 | Damage = 0.1,
56 |
57 | ClassicRecoil = 2.0,
58 | DrunkRecoil = 0.6,
59 |
60 | },
61 |
62 | ["WEAPON_PISTOL50"] = {
63 |
64 | Damage = 0.6,
65 |
66 | ClassicRecoil = 2.0,
67 | DrunkRecoil = 0.6,
68 |
69 | },
70 |
71 | ["WEAPON_SNSPISTOL"] = {
72 |
73 | Damage = 0.45,
74 |
75 | ClassicRecoil = 2.0,
76 | DrunkRecoil = 0.6,
77 |
78 | },
79 |
80 | ["WEAPON_SNSPISTOL_MK2"] = {
81 |
82 | Damage = 0.5,
83 |
84 | ClassicRecoil = 2.0,
85 | DrunkRecoil = 0.6,
86 |
87 | },
88 |
89 | ["WEAPON_HEAVYPISTOL"] = {
90 |
91 | Damage = 0.6,
92 |
93 | ClassicRecoil = 2.0,
94 | DrunkRecoil = 0.6,
95 |
96 | },
97 |
98 | ["WEAPON_VINTAGEPISTOL"] = {
99 |
100 | Damage = 0.55,
101 |
102 | ClassicRecoil = 2.0,
103 | DrunkRecoil = 0.6,
104 |
105 | },
106 |
107 | ["WEAPON_REVOLVER"] = {
108 |
109 | Damage = 1.0,
110 |
111 | ClassicRecoil = 2.0,
112 | DrunkRecoil = 0.6,
113 |
114 | },
115 |
116 | ["WEAPON_REVOLVER_MK2"] = {
117 |
118 | Damage = 1.0,
119 |
120 | ClassicRecoil = 2.0,
121 | DrunkRecoil = 0.6,
122 |
123 | },
124 |
125 | ["WEAPON_DOUBLEACTION"] = {
126 |
127 | Damage = 0.65,
128 |
129 | ClassicRecoil = 2.0,
130 | DrunkRecoil = 0.6,
131 |
132 | },
133 |
134 | ["WEAPON_CERAMICPISTOL"] = {
135 |
136 | Damage = 0.5,
137 |
138 | ClassicRecoil = 2.0,
139 | DrunkRecoil = 0.6,
140 |
141 | },
142 |
143 | ["WEAPON_MICROSMG"] = {
144 |
145 | Damage = 0.73,
146 |
147 | ClassicRecoil = 2.0,
148 | DrunkRecoil = 0.6,
149 |
150 | },
151 |
152 | ["WEAPON_SMG"] = {
153 |
154 | Damage = 0.79,
155 |
156 | ClassicRecoil = 2.0,
157 | DrunkRecoil = 0.6,
158 |
159 | },
160 |
161 | ["WEAPON_SMG_MK2"] = {
162 |
163 | Damage = 0.81,
164 |
165 | ClassicRecoil = 2.0,
166 | DrunkRecoil = 0.6,
167 |
168 | },
169 |
170 | ["WEAPON_COMBATPDW"] = {
171 |
172 | Damage = 0.84,
173 |
174 | ClassicRecoil = 2.0,
175 | DrunkRecoil = 0.6,
176 |
177 | },
178 |
179 | ["WEAPON_ASSAULTSMG"] = {
180 |
181 | Damage = 0.55,
182 |
183 | ClassicRecoil = 2.0,
184 | DrunkRecoil = 0.6,
185 |
186 | },
187 |
188 | ["WEAPON_MACHINEPISTOL"] = {
189 |
190 | Damage = 0.45,
191 |
192 | ClassicRecoil = 2.0,
193 | DrunkRecoil = 0.6,
194 |
195 | },
196 |
197 | ["WEAPON_ASSAULTRIFLE"] = {
198 |
199 | Damage = 0.5,
200 |
201 | ClassicRecoil = 2.0,
202 | DrunkRecoil = 0.6,
203 |
204 | },
205 |
206 | ["WEAPON_ASSAULTRIFLE_MK2"] = {
207 |
208 | Damage = 0.65,
209 |
210 | ClassicRecoil = 2.0,
211 | DrunkRecoil = 0.6,
212 |
213 | },
214 |
215 | ["WEAPON_CARBINERIFLE"] = {
216 |
217 | Damage = 0.65,
218 |
219 | ClassicRecoil = 2.0,
220 | DrunkRecoil = 0.6,
221 |
222 | },
223 |
224 | ["WEAPON_CARBINERIFLE_MK2"] = {
225 |
226 | Damage = 0.69,
227 |
228 | ClassicRecoil = 2.0,
229 | DrunkRecoil = 0.6,
230 |
231 | },
232 |
233 | ["WEAPON_BULLPUPRIFLE"] = {
234 |
235 | Damage = 0.4,
236 |
237 | ClassicRecoil = 2.0,
238 | DrunkRecoil = 0.6,
239 |
240 | },
241 |
242 | ["WEAPON_COMPACTRIFLE"] = {
243 |
244 | Damage = 0.5,
245 |
246 | ClassicRecoil = 2.0,
247 | DrunkRecoil = 0.6,
248 |
249 | },
250 |
251 | ["WEAPON_PUMPSHOTGUN"] = {
252 |
253 | Damage = 0.2,
254 |
255 | ClassicRecoil = 2.0,
256 | DrunkRecoil = 0.6,
257 |
258 | },
259 |
260 | ["WEAPON_SAWNOFFSHOTGUN"] = {
261 |
262 | Damage = 0.95,
263 |
264 | ClassicRecoil = 2.0,
265 | DrunkRecoil = 0.6,
266 |
267 | },
268 |
269 | ["WEAPON_BULLPUPSHOTGUN"] = {
270 |
271 | Damage = 1.2,
272 |
273 | ClassicRecoil = 2.0,
274 | DrunkRecoil = 0.6,
275 |
276 | },
277 |
278 | ["WEAPON_ASSAULTSHOTGUN"] = {
279 |
280 | Damage = 0.1,
281 |
282 | ClassicRecoil = 2.0,
283 | DrunkRecoil = 0.6,
284 |
285 | },
286 |
287 | ["WEAPON_MUSKET"] = {
288 |
289 | Damage = 0.5,
290 |
291 | ClassicRecoil = 2.0,
292 | DrunkRecoil = 0.6,
293 |
294 | },
295 |
296 | ["WEAPON_HEAVYSHOTGUN"] = {
297 |
298 | Damage = 0.35,
299 |
300 | ClassicRecoil = 2.0,
301 | DrunkRecoil = 0.6,
302 |
303 | },
304 |
305 | ["WEAPON_DBSHOTGUN"] = {
306 |
307 | Damage = 1.5,
308 |
309 | ClassicRecoil = 2.0,
310 | DrunkRecoil = 0.6,
311 |
312 | },
313 |
314 | ["WEAPON_PUMPSHOTGUN_MK2"] = {
315 |
316 | Damage = 1.0,
317 |
318 | ClassicRecoil = 2.0,
319 | DrunkRecoil = 0.6,
320 |
321 | },
322 |
323 | ["WEAPON_MILITARYRIFLE"] = {
324 |
325 | Damage = 0.45,
326 |
327 | ClassicRecoil = 2.0,
328 | DrunkRecoil = 0.6,
329 |
330 | },
331 |
332 |
333 |
334 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Standlone recoil script for your server!
6 | 7 | 8 | ### 9 | 10 |Drunk Recoil
Classic Recoil
Custom Damaga
Hide CrossHair
Disable HeadShots Damage
Remove Pistol Whipping
Drunk recoil script is not ours, we only edited It for better optimalization and added new features. Original author is unknown, so if this is your code, please, contant us on the discord, thank you!
23 | 24 | 25 | ### 26 | 27 |https://discord.respectdevelopment.eu
34 | 35 | ### 36 | -------------------------------------------------------------------------------- /Server/Server.lua: -------------------------------------------------------------------------------- 1 | if Config.Updater then 2 | PerformHttpRequest("https://raw.githubusercontent.com/respectdevelopment/versions/main/Recoil", function(err, Version, headers) 3 | 4 | local ScriptVersion = GetResourceMetadata(GetCurrentResourceName(), "version") 5 | 6 | if ScriptVersion == Version then 7 | print("^2[INFO] rd_FractionVehicleShop have latest version!") 8 | else 9 | print("^3[UPDATE] Update for rd_Recoil is avaible! ("..ScriptVersion.. " -> " ..Version.. ")") 10 | print("^3[UPDATE] https://github.com/respectdevelopment/rd_recoil") 11 | end 12 | end) 13 | end -------------------------------------------------------------------------------- /fxmanifest.lua: -------------------------------------------------------------------------------- 1 | -- {{FX Information}} -- 2 | fx_version 'cerulean' 3 | game 'gta5' 4 | 5 | -- {{Resource Information}} -- 6 | author 'Respect Development' 7 | description 'Recoil Script' 8 | version '2.0' 9 | 10 | -- {{Manifest}} -- 11 | lua54 'yes' 12 | 13 | shared_scripts { 14 | 15 | 'Config.lua' 16 | 17 | } 18 | 19 | client_scripts { 20 | 21 | 'Client/Client.lua', 22 | 23 | } 24 | 25 | server_scripts { 26 | 27 | 'Server/Server.lua', 28 | 29 | } 30 | 31 | --------------------------------------------------------------------------------