diff options
| author | Alexander Pickering <alexandermpickering@gmail.com> | 2016-05-25 22:06:26 -0400 |
|---|---|---|
| committer | Alexander Pickering <alexandermpickering@gmail.com> | 2016-05-25 22:06:26 -0400 |
| commit | 4adec24c3a2a53f518d817ae8a6ddd0c4c47422c (patch) | |
| tree | adb91a867dfda05f5c2880e19d0111fb657ecb9f /gamemode/structuresystem/loadstructures.lua | |
| parent | 699df0d5df4e7d00a0d2b838b8c851c9b5027cea (diff) | |
| download | gmstranded-4adec24c3a2a53f518d817ae8a6ddd0c4c47422c.tar.gz gmstranded-4adec24c3a2a53f518d817ae8a6ddd0c4c47422c.tar.bz2 gmstranded-4adec24c3a2a53f518d817ae8a6ddd0c4c47422c.zip | |
more work on the structure system
Diffstat (limited to 'gamemode/structuresystem/loadstructures.lua')
| -rw-r--r-- | gamemode/structuresystem/loadstructures.lua | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/gamemode/structuresystem/loadstructures.lua b/gamemode/structuresystem/loadstructures.lua new file mode 100644 index 0000000..858d976 --- /dev/null +++ b/gamemode/structuresystem/loadstructures.lua @@ -0,0 +1,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) |
