blob: 858d97648e3c66bd1fe4d097085aae9f85a5fe34 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
print("Loading structures!")
GMS = GMS or {}
GMS.Structures = GMS.Structures or {}
GMS.UniqueStructures = {}
function registerStructure(tbl)
assert(tbl.Name != nil, "Structure's name is nil!")
GMS.Structures[tbl.Name] = tbl
end
concommand.Add("gms_spawnstructure",function(ply,cmd,args)
if !ply:IsDeveloper() then return end
assert(args[1] != "","Failed to find structure name")
assert(GMS.Structures[args[1]] != nil, "Structure \"" .. args[1] .. "\" does not exist!")
local tr = ply:GetEyeTrace()
local e = ents.Create("gms_generic_structure")
local tbl = GMS.Structures[args[1]]
if tbl.uniquedata then
tbl = table.Copy(tbl)
GMS.UniqueStructures[e:EntIndex()] = tbl
end
for k,v in pairs(tbl) do
print("Setting " .. k .. " to")
print(v)
e[k] = v
end
e:Spawn()
e:SetPos(tr.HitPos)
SPropProtection.PlayerMakePropOwner( ply, e )
--e:SetNWString("Owner",ply:Nick())
end)
|