Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- local tab = {} local idx = 1 local wep_loop for _, wep in ipairs(weapons.GetList()) do tab[idx] = wep.ClassName idx = idx + 1 end Entity(1):Give(tab[math.random(0,#tab)])
- --for singleplayer beside sandbox GMs
- ]]
- local tab = {}
- local idx = 1
- local wep_loop for _, wep in ipairs(weapons.GetList()) do
- if wep.Spawnable then
- tab[idx] = wep.ClassName
- idx = idx + 1
- end
- end
- tab[#tab+1] = "weapon_stunstick"
- tab[#tab+1] = "weapon_crowbar"
- tab[#tab+1] = "weapon_pistol"
- tab[#tab+1] = "weapon_357"
- tab[#tab+1] = "weapon_smg1"
- tab[#tab+1] = "weapon_ar2"
- tab[#tab+1] = "weapon_shotgun"
- tab[#tab+1] = "weapon_crossbow"
- tab[#tab+1] = "weapon_rpg"
- function RandomWeapons(ply)
- local tbl_ents_weps = {}
- local tbl_old_pos_wep = {}
- local tbl_old_angles_wep = {}
- for a,b in pairs( ents.GetAll() ) do
- if b:IsWeapon() then
- tbl_ents_weps[a] = b
- end
- end
- for _,wep in pairs( tbl_ents_weps ) do
- if not wep:GetOwner():IsNPC() and wep.Replaced == nil then
- ply_owner = wep:GetOwner()
- tbl_old_pos_wep[_] = wep:GetPos()
- tbl_old_angles_wep[_] = wep:GetAngles()
- local new_weapon_name = tab[math.random(1,#tab)]
- if new_weapon_name == "weapon_smg1" then
- local new_weaponsub1_name = "item_ammo_smg1_grenade"
- local New_ents_weaponsub1 = ents.Create(new_weaponsub1_name)
- for _,pos in pairs( tbl_old_pos_wep ) do
- if New_ents_weaponsub1 then New_ents_weaponsub1:SetPos(pos) end
- end
- for _,angles in pairs( tbl_old_angles_wep ) do
- if New_ents_weaponsub1 then New_ents_weaponsub1:SetAngles(angles) end
- end
- New_ents_weaponsub1:Spawn()
- end
- if new_weapon_name == "weapon_ar2" then
- local new_weaponsub2_name = "item_ammo_ar2_altfire"
- local New_ents_weaponsub2 = ents.Create(new_weaponsub2_name)
- for _,pos in pairs( tbl_old_pos_wep ) do
- if New_ents_weaponsub2 then New_ents_weaponsub2:SetPos(pos) end
- end
- for _,angles in pairs( tbl_old_angles_wep ) do
- if New_ents_weaponsub2 then New_ents_weaponsub2:SetAngles(angles) end
- end
- New_ents_weaponsub2:Spawn()
- end
- local New_ents = ents.Create(new_weapon_name)
- for _,pos in pairs( tbl_old_pos_wep ) do
- New_ents:SetPos(pos)
- end
- for _,angles in pairs( tbl_old_angles_wep ) do
- New_ents:SetAngles(angles)
- end
- SafeRemoveEntity(wep)
- New_ents:Spawn()
- New_ents.Replaced = true
- end
- end
- end
- hook.Add("PlayerSpawn","Engine_hook1",function(ply) timer.Simple( 1, function() RandomWeapons(ply) end ) end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement