2025-06-13 01:23:53 +02:00
Config = { }
Config.UseOldSlingScript = false -- MAKKE THIS TRUE IF YOU WANT TO USE THE OLD VERSION OF THE SCRIPT. VIDEO FOUND HERE: https://youtu.be/Pf-B03cmFtQ
if not Config.UseOldSlingScript then
---------- [Framework] ----------
-- (DONT TOUCH THIS UNLESS YOU HAVE A CUSTOM FRAMEWORK)
if GetResourceState ( ' es_extended ' ) == ' started ' then
Framework = " ESX " -- (ESX) or (QBCore)
elseif GetResourceState ( ' qb-core ' ) == ' started ' then
Framework = " QBCore " -- (ESX) or (QBCore)
end
if Framework == " QBCore " then
Config.CoreName = " qb-core " -- your core name
FWork = exports [ Config.CoreName ] : GetCoreObject ( )
elseif Framework == " ESX " then
Config.CoreName = " es_extended " -- your core name
FWork = exports [ Config.CoreName ] : getSharedObject ( )
end
------------------------------
---------- [INTAGERS] ----------
Config.LoopSpeed = 500 -- How fast the loop to check weapons runs. Lower numbers are lest optimized.
Config.RackMaxWeight = 45000 -- Rack stash weight capacity.
Config.RackSlots = 2 -- Rack stash amount of item slots available.
Config.WeaponLimit = 10 -- Ammount of weapons/items that will show up on the player when they have the item or weapon
Config.AmountOfTimesToCheckIfTheModelIsLoaded = 10 -- This value adjust the amount of times to check to see if a modle is loaded. The check runs every 100 milliseconds
------------------------------
---------- [STRINGS] ----------
Config.WeaponRackCommand = " rack " -- /rack command to rack weapons into any service vehicles
Config.WeaponSettingCommand = " setweapon " -- (GLOBAL POSITION FOR EVERYONE) /setweapon command to begin editing where the weapons/items should sit on the player
Config.PersonalWeponSettingsCommand = " weaponposition " -- (PLAYERS PERSONAL POSITION THAT THEY SET HOW THEY LIKE) You can remove this command from the server.lua
------------------------------
---------- [TABLES] ----------
Config.RackCapableJobs = { -- Jobs that can do the /rack command
" leo " ,
" police " ,
2025-06-29 21:13:49 +02:00
" marshal " ,
2025-06-13 01:23:53 +02:00
}
------------------------------
Config.LangT = {
DeleteFromConfig = " DELETE FROM CONFIG " ,
Change = " CHANGE " ,
ToggleWeapons = " ALL WEAPONS ON/OFF " ,
RotateZ = " ROTATE Z " ,
Up = " UP " ,
Down = " DOWN " ,
Left = " LEFT " ,
Right = " RIGHT " ,
In = " In " ,
Out = " Out " ,
Rotate = " ROTATE " ,
MustBeInVehicle = " You must be in a vehicle " ,
NotPolice = " You are not a police Officer " ,
EmergencyServiceVehicle = " Must be in a emergency service vehicle! " ,
}
-- THE ATTACHMENTS WORK BUT SOME SERVERS HAD CRASHING ISSUES WHEN THEY WERE UNHASHED. YOU CAN UNHASH THEM BUT IF YOU CRASH THEN HASH THEM BACK OUT.
Config.WeaponsOnBack = { -- THE ATTACHMENTS WORK BUT SOME SERVERS HAD CRASHING ISSUES WHEN THEY WERE UNHASHED. YOU CAN UNHASH THEM BUT IF YOU CRASH THEN HASH THEM BACK OUT.
-- Pistols
-- Assault Rifles
[ " weapon_carbinerifle " ] = { -- THE ATTACHMENTS WORK BUT SOME SERVERS HAD CRASHING ISSUES WHEN THEY WERE UNHASHED. YOU CAN UNHASH THEM BUT IF YOU CRASH THEN HASH THEM BACK OUT.
model = " w_ar_carbinerifle " ,
2025-06-29 21:20:45 +02:00
Attachments = {
[ " COMPONENT_CARBINERIFLE_CLIP_01 " ] = { Base = ' WAPClip ' , Component = " W_AR_CARBINERIFLE_MAG1 " } ,
[ " COMPONENT_CARBINERIFLE_CLIP_02 " ] = { Base = ' WAPClip ' , Component = " W_AR_CARBINERIFLE_MAG2 " } ,
[ " COMPONENT_AT_AR_FLSH " ] = { Base = ' WAPFlshLasr ' , Component = " W_AT_AR_FLSH " } ,
[ " COMPONENT_AT_SCOPE_MEDIUM " ] = { Base = ' WAPScop ' , Component = " W_AT_SCOPE_MEDIUM " } ,
[ " COMPONENT_AT_AR_SUPP " ] = { Base = ' WAPSupp ' , Component = " W_AT_AR_SUPP " } ,
[ " COMPONENT_AT_AR_AFGRIP " ] = { Base = ' WAPGrip ' , Component = " W_AT_AR_AFGRIP " } ,
}
2025-06-13 01:23:53 +02:00
} ,
[ " weapon_carbinerifle_mk2 " ] = {
model = " w_ar_carbineriflemk2 " ,
-- Attachments = {
-- ["COMPONENT_CARBINERIFLE_MK2_CLIP_01"] = {Base = 'WAPClip', Component = "w_ar_carbineriflemk2_mag1"},
-- ["COMPONENT_CARBINERIFLE_MK2_CLIP_02"] = {Base = 'WAPClip', Component = "w_ar_carbineriflemk2_mag2"},
-- ["COMPONENT_AT_AR_FLSH"] = {Base = 'WAPFlshLasr', Component = "W_AT_AR_FLSH"},
-- ["COMPONENT_AT_SIGHTS"] = {Base = 'WAPScop', Component = "w_at_sights_1"},
-- ["COMPONENT_AT_AR_SUPP"] = {Base = 'WAPSupp', Component = "W_AT_AR_SUPP"},
-- ["COMPONENT_AT_MUZZLE_01"] = {Base = 'WAPSupp', Component = "w_at_muzzle_1"},
-- ["COMPONENT_AT_AR_AFGRIP_02"] = {Base = 'WAPGrip', Component = "w_at_afgrip_2"},
-- ["COMPONENT_CARBINERIFLE_MK2_CAMO"] = {Base = 'Cosmetic', Component = "w_at_cr_camo1"},
-- }
} ,
[ " weapon_specialcarbine " ] = {
model = " w_ar_specialcarbine " ,
2025-06-29 21:20:45 +02:00
Attachments = {
[ " COMPONENT_SPECIALCARBINE_CLIP_01 " ] = { Base = ' WAPClip ' , Component = " w_ar_specialcarbine_mag1 " } ,
[ " COMPONENT_SPECIALCARBINE_CLIP_02 " ] = { Base = ' WAPClip ' , Component = " w_ar_specialcarbine_mag2 " } ,
[ " COMPONENT_SPECIALCARBINE_CLIP_03 " ] = { Base = ' WAPClip ' , Component = " w_ar_specialcarbine_boxmag " } ,
[ " COMPONENT_AT_AR_FLSH " ] = { Base = ' WAPFlshLasr ' , Component = " W_AT_AR_FLSH " } ,
[ " COMPONENT_AT_SCOPE_MEDIUM " ] = { Base = ' WAPScop ' , Component = " w_at_scope_medium " } ,
[ " COMPONENT_AT_AR_SUPP_02 " ] = { Base = ' WAPSupp ' , Component = " w_at_ar_supp_02 " } ,
[ " COMPONENT_AT_AR_AFGRIP " ] = { Base = ' WAPGrip ' , Component = " W_AT_AR_AFGRIP " } ,
[ " COMPONENT_SPECIALCARBINE_VARMOD_LOWRIDER " ] = { Base = ' Cosmetic ' , Component = " w_ar_specialcarbine_luxe " } ,
}
2025-06-13 01:23:53 +02:00
} ,
[ " weapon_advancedrifle " ] = {
model = " w_ar_advancedrifle " ,
-- Attachments = {
-- ["COMPONENT_ADVANCEDRIFLE_CLIP_01"] = {Base = 'WAPClip', Component = "w_ar_advancedrifle_mag1"},
-- ["COMPONENT_ADVANCEDRIFLE_CLIP_02"] = {Base = 'WAPClip', Component = "w_ar_advancedrifle_mag2"},
-- ["COMPONENT_AT_AR_FLSH"] = {Base = 'WAPFlshLasr', Component = "W_AT_AR_FLSH"},
-- ["COMPONENT_AT_SCOPE_SMALL"] = {Base = 'WAPScop', Component = "w_at_scope_small"},
-- ["COMPONENT_AT_AR_SUPP"] = {Base = 'WAPSupp', Component = "w_at_ar_supp"},
-- }
} ,
-- Sub Machine Guns
[ " weapon_assaultsmg " ] = {
model = " w_sb_assaultsmg " ,
2025-06-29 21:20:45 +02:00
Attachments = {
[ " COMPONENT_ASSAULTSMG_CLIP_01 " ] = { Base = ' WAPClip ' , Component = " W_SB_ASSAULTSMG_Mag1 " } ,
[ " COMPONENT_ASSAULTSMG_CLIP_02 " ] = { Base = ' WAPClip ' , Component = " W_SB_ASSAULTSMG_Mag2 " } ,
[ " COMPONENT_AT_AR_FLSH " ] = { Base = ' WAPFlshLasr ' , Component = " W_AT_AR_FLSH " } ,
[ " COMPONENT_AT_SCOPE_MACRO " ] = { Base = ' WAPScop ' , Component = " w_at_scope_macro " } ,
[ " COMPONENT_AT_AR_SUPP_02 " ] = { Base = ' WAPSupp ' , Component = " w_at_ar_supp_02 " } ,
}
2025-06-13 01:23:53 +02:00
} ,
[ " weapon_smg " ] = {
model = " w_sb_smg " ,
2025-06-29 21:20:45 +02:00
Attachments = {
[ " COMPONENT_SMG_CLIP_01 " ] = { Base = ' WAPClip ' , Component = " w_sb_smg_mag1 " } ,
[ " COMPONENT_SMG_CLIP_02 " ] = { Base = ' WAPClip ' , Component = " w_sb_smg_mag2 " } ,
[ " COMPONENT_SMG_CLIP_03 " ] = { Base = ' WAPClip ' , Component = " w_sb_smg_boxmag " } ,
[ " COMPONENT_AT_AR_FLSH " ] = { Base = ' WAPFlshLasr ' , Component = " W_AT_AR_FLSH " } ,
[ " COMPONENT_AT_SCOPE_MACRO_02 " ] = { Base = ' WAPScop_2 ' , Component = " w_at_scope_macro_2 " } ,
[ " COMPONENT_AT_PI_SUPP " ] = { Base = ' WAPSupp ' , Component = " w_at_pi_supp " } ,
}
2025-06-13 01:23:53 +02:00
} ,
[ " weapon_smg_mk2 " ] = {
model = " w_sb_smgmk2 " ,
-- Attachments = {
-- ["COMPONENT_SMG_MK2_CLIP_01"] = {Base = 'WAPClip', Component = "w_sb_smgmk2_mag1"},
-- ["COMPONENT_SMG_MK2_CLIP_02"] = {Base = 'WAPClip', Component = "w_sb_smgmk2_mag2"},
-- ["COMPONENT_AT_AR_FLSH"] = {Base = 'WAPFlshLasr', Component = "W_AT_AR_FLSH"},
-- ["COMPONENT_AT_SIGHTS"] = {Base = 'WAPScop', Component = "w_at_sights_1"},
-- ["COMPONENT_AT_SCOPE_SMALL"] = {Base = 'WAPScop', Component = "w_at_scope_small"},
-- ["COMPONENT_AT_AR_AFGRIP_02"] = {Base = 'WAPGrip', Component = "w_at_afgrip_2"},
-- }
} ,
2025-06-29 21:20:45 +02:00
[ " weapon_combatpdw " ] = {
model = " weapon_combatpdw " ,
Attachments = {
[ " COMPONENT_SMG_MK2_CLIP_01 " ] = { Base = ' WAPClip ' , Component = " w_sb_smgmk2_mag1 " } ,
[ " COMPONENT_SMG_MK2_CLIP_02 " ] = { Base = ' WAPClip ' , Component = " w_sb_smgmk2_mag2 " } ,
[ " COMPONENT_AT_AR_FLSH " ] = { Base = ' WAPFlshLasr ' , Component = " W_AT_AR_FLSH " } ,
[ " COMPONENT_AT_SIGHTS " ] = { Base = ' WAPScop ' , Component = " w_at_sights_1 " } ,
[ " COMPONENT_AT_SCOPE_SMALL " ] = { Base = ' WAPScop ' , Component = " w_at_scope_small " } ,
[ " COMPONENT_AT_AR_AFGRIP_02 " ] = { Base = ' WAPGrip ' , Component = " w_at_afgrip_2 " } ,
}
} ,
2025-06-13 01:23:53 +02:00
-- Sniper Rifles
[ " weapon_musket " ] = { model = " w_ar_musket " } ,
[ " weapon_sniperrifle " ] = {
model = " w_sr_sniperrifle " ,
-- Attachments = {
-- ["COMPONENT_SNIPERRIFLE_CLIP_01"] = {Base = 'WAPClip', Component = "w_sr_sniperrifle_mag1"},
-- ["COMPONENT_AT_SCOPE_LARGE"] = {Base = 'WAPScop', Component = "w_at_scope_large"},
-- ["COMPONENT_AT_SCOPE_MAX"] = {Base = 'WAPScop', Component = "w_at_scope_max"},
-- ["COMPONENT_AT_AR_SUPP_02"] = {Base = 'WAPSupp', Component = "w_at_ar_supp_02"},
-- }
} ,
-- Shotguns
[ " weapon_sawnoffshotgun " ] = { model = " w_sg_sawnoff " } ,
2025-06-29 21:13:49 +02:00
[ " weapon_combatshotgun " ] = {
model = " w_sg_combatshotgun " ,
2025-06-13 01:23:53 +02:00
-- Attachments = {
-- ["COMPONENT_ASSAULTSHOTGUN_CLIP_01"] = {Base = 'WAPClip', Component = "w_sg_assaultshotgun_mag1"},
-- ["COMPONENT_ASSAULTSHOTGUN_CLIP_02"] = {Base = 'WAPClip', Component = "w_sg_assaultshotgun_mag2"},
-- ["COMPONENT_AT_AR_FLSH"] = {Base = 'WAPFlshLasr', Component = "W_AT_AR_FLSH"},
-- ["COMPONENT_AT_AR_SUPP"] = {Base = 'WAPSupp', Component = "w_at_ar_supp"},
-- ["COMPONENT_AT_AR_AFGRIP"] = {Base = 'WAPGrip', Component = "w_at_ar_afgrip"},
-- }
} ,
[ " weapon_bullpupshotgun " ] = {
model = " w_sg_bullpupshotgun " ,
-- Attachments = {
-- ["COMPONENT_AT_AR_FLSH"] = {Base = 'WAPFlshLasr', Component = "W_AT_AR_FLSH"},
-- ["COMPONENT_AT_AR_SUPP_02"] = {Base = 'WAPSupp', Component = "w_at_ar_supp_02"},
-- ["COMPONENT_AT_AR_AFGRIP"] = {Base = 'WAPGrip', Component = "w_at_ar_afgrip"},
-- }
} ,
[ " weapon_pumpshotgun " ] = {
model = " w_sg_pumpshotgun " ,
-- Attachments = {
-- ["COMPONENT_AT_AR_FLSH"] = {Base = 'WAPFlshLasr', Component = "W_AT_AR_FLSH"},
-- ["COMPONENT_AT_SR_SUPP"] = {Base = 'WAPSupp', Component = "W_AT_AR_SUPP"},
-- }
} ,
[ " weapon_heavyshotgun " ] = {
model = " w_sg_heavyshotgun " ,
-- Attachments = {
-- ["COMPONENT_HEAVYSHOTGUN_CLIP_01"] = {Base = 'WAPClip', Component = "w_sg_heavyshotgun_mag1"},
-- ["COMPONENT_HEAVYSHOTGUN_CLIP_02"] = {Base = 'WAPClip', Component = "w_sg_heavyshotgun_mag2"},
-- ["COMPONENT_HEAVYSHOTGUN_CLIP_03"] = {Base = 'WAPClip', Component = "w_sg_heavyshotgun_boxmag"},
-- ["COMPONENT_AT_AR_FLSH"] = {Base = 'WAPFlshLasr', Component = "W_AT_AR_FLSH"},
-- ["COMPONENT_AT_AR_SUPP_02"] = {Base = 'WAPSupp', Component = "w_at_ar_supp_02"},
-- ["COMPONENT_AT_AR_AFGRIP"] = {Base = 'WAPGrip', Component = "w_at_ar_afgrip"},
-- }
} ,
2025-06-29 21:20:45 +02:00
[ " weapon_huntingrifle " ] = {
model = " weapon_huntingrifle " ,
-- Attachments = {
-- ["COMPONENT_HEAVYSHOTGUN_CLIP_01"] = {Base = 'WAPClip', Component = "w_sg_heavyshotgun_mag1"},
-- ["COMPONENT_HEAVYSHOTGUN_CLIP_02"] = {Base = 'WAPClip', Component = "w_sg_heavyshotgun_mag2"},
-- ["COMPONENT_HEAVYSHOTGUN_CLIP_03"] = {Base = 'WAPClip', Component = "w_sg_heavyshotgun_boxmag"},
-- ["COMPONENT_AT_AR_FLSH"] = {Base = 'WAPFlshLasr', Component = "W_AT_AR_FLSH"},
-- ["COMPONENT_AT_AR_SUPP_02"] = {Base = 'WAPSupp', Component = "w_at_ar_supp_02"},
-- ["COMPONENT_AT_AR_AFGRIP"] = {Base = 'WAPGrip', Component = "w_at_ar_afgrip"},
-- }
} ,
[ " weapon_crossbow " ] = {
model = " weapon_crossbow " ,
-- Attachments = {
-- ["COMPONENT_HEAVYSHOTGUN_CLIP_01"] = {Base = 'WAPClip', Component = "w_sg_heavyshotgun_mag1"},
-- ["COMPONENT_HEAVYSHOTGUN_CLIP_02"] = {Base = 'WAPClip', Component = "w_sg_heavyshotgun_mag2"},
-- ["COMPONENT_HEAVYSHOTGUN_CLIP_03"] = {Base = 'WAPClip', Component = "w_sg_heavyshotgun_boxmag"},
-- ["COMPONENT_AT_AR_FLSH"] = {Base = 'WAPFlshLasr', Component = "W_AT_AR_FLSH"},
-- ["COMPONENT_AT_AR_SUPP_02"] = {Base = 'WAPSupp', Component = "w_at_ar_supp_02"},
-- ["COMPONENT_AT_AR_AFGRIP"] = {Base = 'WAPGrip', Component = "w_at_ar_afgrip"},
-- }
} ,
2025-06-13 01:23:53 +02:00
-- Melee Weapons
[ " weapon_machete " ] = { model = " w_me_machette_lr " } ,
[ " weapon_bat " ] = { model = " w_me_bat " } ,
2025-06-29 21:20:45 +02:00
[ " weapon_hatchet " ] = { model = " weapon_hatchet " } ,
2025-06-13 01:23:53 +02:00
-- Items
[ " cokebaggy " ] = { model = " bkr_prop_coke_cutblock_01 " } ,
[ " markedbills " ] = { model = " prop_money_bag_01 " } ,
[ " meth " ] = { model = " hei_prop_pill_bag_01 " } ,
[ " weed_brick " ] = { model = " bkr_prop_weed_drying_02a " } ,
[ " fishingrod " ] = { model = " prop_fishing_rod_02 " } ,
[ " fishingrod2 " ] = { model = " prop_fishing_rod_01 " } ,
[ " fishingrod3 " ] = { model = " prop_fishing_rod_01 " } ,
-- Addon weapons
-- ["weapon_katana"] = { model = "w_me_katana"},
-- ["weapon_remington"] = { model = "w_sg_remington" },
-- ["weapon_mp5"] = { model = "w_sb_mp5" },
-- ["weapon_huntingrifle"] = { model = "w_sr_huntingrifle" },
}
------------------------------
------------------------------
--## DONT CHANGE ANY OF THESE ##--
Config.FrameworkFunctions = {
-- Client-side trigger callback
TriggerCallback = function ( ... )
if Framework == ' QBCore ' then
FWork.Functions . TriggerCallback ( ... )
else
FWork.TriggerServerCallback ( ... )
end
end ,
-- Server-side register callback
CreateCallback = function ( ... )
if Framework == ' QBCore ' then
FWork.Functions . CreateCallback ( ... )
else
FWork.RegisterServerCallback ( ... )
end
end ,
GetPlayer = function ( )
local self = { }
if Framework == ' QBCore ' then
player = FWork.Functions . GetPlayerData ( )
self.PlayerData = { job = { name = player.job . name } }
return self
else
player = FWork.GetPlayerData ( )
self.PlayerData = { job = { name = player.job . name } }
return self
end
return nil
end ,
}
------------------------------
------------------------------
end