Darkwater

Untitled

Sep 21st, 2011
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.31 KB | None | 0 0
  1. buildings = {}
  2. built = {}
  3. function addBuilding(t)
  4. buildings[#buildings+1] = t
  5. return #buildings
  6. end
  7.  
  8. BUILDING_RED_CONYARD = addBuilding({
  9. name= "Red Construction Yard",
  10. cost= 5000,
  11. reqs= 1,
  12. models= {
  13. "models/hunter/plates/plate8x16.mdl",
  14. "models/hunter/plates/plate8x8.mdl",
  15. "models/hunter/plates/plate2x8.mdl",
  16. "models/hunter/plates/plate3x5.mdl",
  17. "models/hunter/blocks/cube1x4x025.mdl",
  18. "models/hunter/blocks/cube1x2x025.mdl",
  19. "models/hunter/blocks/cube4x8x025.mdl",
  20. "models/hunter/blocks/cube1x1x025.mdl",
  21. "models/hunter/blocks/cube4x4x025.mdl",
  22. "models/hunter/blocks/cube2x4x025.mdl",
  23. "models/hunter/blocks/cube2x2x025.mdl",
  24. "models/hunter/blocks/cube025x2x025.mdl",
  25. "models/hunter/plates/plate1x1.mdl"
  26. },
  27. props= {
  28. {model= 1, pos= Vector(-190.9312,0.1064,1.2187), ang= Angle(0,0,0)},
  29. {model= 2, pos= Vector(190.6635,190.9072,1.2180), ang= Angle(0,0,0)},
  30. {model= 3, pos= Vector(47.3202,-190.6943,1.2203), ang= Angle(0,0,0)},
  31. {model= 4, pos= Vector(308.3012,-118.5195,1.2217), ang= Angle(0,180,0)},
  32. {model= 5, pos= Vector(373.5316,-94.793,26.443), ang= Angle(90,0,180)},
  33. {model= 6, pos= Vector(284.5868,-231.2129,26.4466), ang= Angle(90,-90,180)},
  34. {model= 7, pos= Vector(373.5233,190.9072,97.6177), ang= Angle(90,0,180)},
  35. {model= 8, pos= Vector(243.0692,-213.4268,26.4473), ang= Angle(90,180,180)},
  36. {model= 9, pos= Vector(190.6635,6.0391,97.6178), ang= Angle(90,90,180)},
  37. {model= 7, pos= Vector(190.6635,373.7852,97.6178), ang= Angle(90,-90,180)},
  38. {model= 7, pos= Vector(-190.9313,373.7832,97.6185), ang= Angle(90,-90,180)},
  39. {model= 7, pos= Vector(-373.8073,190.9043,97.6187), ang= Angle(90,180,180)},
  40. {model= 7, pos= Vector(-373.8092,-190.6934,97.6186), ang= Angle(90,0,180)},
  41. {model= 7, pos= Vector(-190.9308,-373.5449,97.6188), ang= Angle(90,-90,180)},
  42. {model= 10, pos= Vector(47.3202,-373.5625,97.62), ang= Angle(0,0,90)},
  43. {model= 7, pos= Vector(88.8412,-177.8291,97.6181), ang= Angle(90,180,180)},
  44. {model= 11, pos= Vector(320.142,6.0371,145.0676), ang= Angle(-90,90,180)},
  45. {model= 12, pos= Vector(355.7387,11.9707,50.168), ang= Angle(0,90,90)},
  46. {model= 13, pos= Vector(52.2812,-219.3223,39.9738), ang= Angle(45,180,0), spec= "menu-conyard"},
  47. {model= 13, pos= Vector(52.2812,-119.3223,39.9738), ang= Angle(45,180,0), spec= "terminal"}
  48. }
  49. })
  50.  
  51.  
  52. function spawnBuilding(id, pos, ang)
  53. local t = buildings[id]
  54. Log("Building a "..t.name)
  55.  
  56. local i = #built+1
  57. built[i] = {}
  58. for k,v in pairs(t.props) do
  59. local prop = ents.Create("prop_physics")
  60. prop:SetPos(v.pos + pos)
  61. prop:SetAngles(v.ang + ang)
  62. prop:SetModel(t.models[v.model])
  63. prop:Fire("DisableMotion")
  64. prop:Spawn()
  65.  
  66. built[i][k] = prop
  67. if v.spec then
  68. if string.sub(v.spec, 1, 5) == "menu-conyard" then
  69. addMenu(prop, v.spec)
  70. parseMenus(player.GetAll())
  71. end
  72. end
  73. end
  74. end
  75. function addMenu(prop, type)
  76. menus[#menus+1] = {prop=prop,type=type}
  77. end
  78. function parseMenus(ply)
  79. datastream.SteamToClients(ply, "Menus", menus)
  80. end
Advertisement
Add Comment
Please, Sign In to add comment