Advertisement
Guest User

Untitled

a guest
May 22nd, 2018
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.14 KB | None | 0 0
  1. assert(workspace:FindFirstChild("Generator")~=nil,"There is no Generator model!")
  2.  
  3.  
  4. gs = {}
  5.  
  6. trainers = {"Player", "Player", "Player"}
  7.  
  8. function globalScript(s)
  9. yes = false
  10. for i = 1,#gs do
  11. if s.Name == gs[i] then
  12. yes = true
  13. break
  14. end
  15. end
  16. return yes
  17. end
  18.  
  19. game.Players.PlayerAdded:connect(function(player)
  20. for i=1,#trainers do
  21. if trainers[i]==player.Name then
  22. player.Chatted:connect(onDoorSpeak)
  23. break
  24. end
  25. end
  26. end)
  27.  
  28. game.Players.PlayerAdded:connect(function(player)
  29. if player:GetRankInGroup(911950) >= 13 then
  30. trainers[#trainers+1] = player.Name
  31. end
  32. for i=1,#trainers do
  33. if trainers[i]==player.Name then
  34. player.Chatted:connect(onDoorSpeak)
  35. break
  36. end
  37. end
  38. end)
  39.  
  40.  
  41.  
  42. function checkEnv()
  43. yes = false
  44. for _,v in pairs(workspace:GetChildren()) do
  45. if v:FindFirstChild("Environment") then
  46. yes = true
  47. end
  48. end
  49. return yes
  50. end
  51.  
  52. envtools = {
  53. ["nil"] = {};
  54. ["team"] = {"ATK"};
  55. ["sword"] = {"Sword"};
  56. ["gun"] = {"Carbine"};
  57. ["both"] = {"Sword", "Carbine-(30)"};
  58. }
  59.  
  60. tloc = {"Backpack","StarterGear"}
  61.  
  62. function resetTools(Player)
  63. for _,btool in pairs(Player.Backpack:GetChildren()) do
  64. btool:Remove()
  65. end
  66. for _,stool in pairs(Player.StarterGear:GetChildren()) do
  67. stool:Remove()
  68. end
  69. end
  70.  
  71. function loadTools(start)
  72. for _,v in pairs(game.Players:GetPlayers()) do
  73. resetTools(v)
  74. for key,val in pairs(envtools) do
  75. if string.lower(key) == string.lower(start) then
  76. for _,tool in pairs(val) do
  77. if game.Lighting:FindFirstChild(tool) then
  78. local t = game.Lighting:FindFirstChild(tool)
  79. for i = 1,#tloc do
  80. t:Clone().Parent = v[tloc[i]]
  81. wait()
  82. end
  83. end
  84. end
  85. end
  86. end
  87. end
  88. end
  89.  
  90. -----------
  91.  
  92. function Select(Brick,Color)
  93. s = Instance.new("SelectionBox",Brick)
  94. s.Color = BrickColor.new(Color)
  95. s.Adornee = Brick
  96. workspace.Generator.Connection.Part = Brick
  97. workspace.Generator.Connection.Color = BrickColor.new(Color)
  98. end
  99.  
  100. function Deselect(Brick)
  101. if Brick:FindFirstChild("SelectionBox") then
  102. Brick.SelectionBox:Remove()
  103. end
  104. workspace.Generator.Connection.Part = nil
  105. end
  106.  
  107. function start(Environment,Off)
  108. if not Off then
  109. newEnv = Instance.new("Model",workspace)
  110. newEnv.Name = Environment.Name
  111. envTag = Instance.new("NumberValue",newEnv)
  112. envTag.Name = "Environment"
  113. for _,v in pairs(Environment:GetChildren()) do
  114. if v:IsA("BasePart") then
  115. cframe = v.CFrame
  116. newP = v:Clone()
  117. newP.Parent = newEnv
  118. newP.CFrame = cframe
  119. Select(newP,"Earth green")
  120. wait()
  121. Deselect(newP)
  122. elseif v:IsA("Script") then
  123. if globalScript(v) then
  124. newS = v:Clone()
  125. newS.Parent = newEnv
  126. end
  127. end
  128. end
  129. m = Instance.new("Message",workspace)
  130. m.Text = ""..string.upper(Environment.Name).." is finished. Enter when instructed." -- Edit this to whatever you want, or remove it
  131. wait(5)
  132. m:Remove()
  133. elseif Off then
  134. for _,v in pairs(Environment:GetChildren()) do
  135. if v:IsA("BasePart") then
  136. Select(v,"White")
  137. wait()
  138. v:Remove()
  139. end
  140. end
  141. wait(0.1)
  142. Environment:Remove()
  143. end
  144. end
  145.  
  146.  
  147. function onDoorSpeak(msg,recip)
  148.  
  149. keywords = {
  150. sample = {"computer","end","start","ffa1","obby1","obby2","sft","terrain"};
  151. }
  152.  
  153. keyvals = {
  154. ["computer"] = false;
  155. ["end"] = false;
  156. ["start"] = false;
  157. ["ffa1"] = false;
  158. ["obby1"] = false;
  159. ["obby2"] = false;
  160. ["sft"] = false;
  161. ["terrain"] = false;
  162. }
  163.  
  164. for _,v in pairs(keywords) do
  165. for i = 1,#v do
  166. s,e=string.lower(msg):find(v[i])
  167. if s ~= nil and e ~= nil then
  168. if s == e-(v[i]:len()-1) then
  169. keyvals[v[i]]=true
  170. end
  171. end
  172. end
  173. end
  174. wait()
  175. if keyvals["computer"] then
  176. if keyvals["start"] then
  177. if keyvals["ffa1"] and not keyvals["obby1"] and not keyvals["obby2"] and not keyvals["sft"] and not keyvals["terrain"] then
  178. if not checkEnv() then
  179. start(game.Lighting["FFA1"])
  180. loadTools("sword")
  181. end
  182. elseif keyvals["obby1"] and not keyvals["ffa1"] and not keyvals["obby2"] and not keyvals["sft"] and not keyvals["terrain"] then
  183. if not checkEnv() then
  184. start(game.Lighting["Obby1"])
  185. loadTools("nil")
  186. end
  187. elseif keyvals["obby2"] and not keyvals["ffa1"] and not keyvals["obby1"] and not keyvals["sft"] and not keyvals["terrain"] then
  188. if not checkEnv() then
  189. start(game.Lighting["Obby2"])
  190. loadTools("nil")
  191. end
  192. elseif keyvals["sft"] and not keyvals["obby1"] and not keyvals["obby2"] and not keyvals["ffa1"] and not keyvals["terrain"] then
  193. if not checkEnv() then
  194. start(game.Lighting["SFT"])
  195. loadTools("nil")
  196. end
  197. elseif keyvals["terrain"] and not keyvals["obby1"] and not keyvals["obby2"] and not keyvals["sft"] and not keyvals["ffa1"] then
  198. if not checkEnv() then
  199. start(game.Lighting["Terrain"])
  200. loadTools("sword")
  201. end
  202. end
  203. elseif keyvals["end"] then
  204. for i, player in pairs(game.Players:GetPlayers()) do
  205. player.Character.Torso.CFrame = CFrame.new(-17.1, 18.504, 92.101)
  206. end
  207. for _,v in pairs(workspace:GetChildren()) do
  208. if v:FindFirstChild("Environment") then
  209. start(v,true)
  210. loadTools("nil")
  211. end
  212. end
  213. end
  214. end
  215. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement