Advertisement
PixelDerpIsUber2

Untitled

Jun 18th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.45 KB | None | 0 0
  1. --https://github.com/Mokiros/roblox-FE-compatibility
  2. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  3. local Player,game,owner = owner,game
  4. local RealPlayer = Player
  5. do
  6. print("FE Compatibility code V2 by Mokiros")
  7. local RealPlayer = RealPlayer
  8. script.Parent = RealPlayer.Character
  9.  
  10. --Fake event to make stuff like Mouse.KeyDown work
  11. local Disconnect_Function = function(this)
  12. this[1].Functions[this[2]] = nil
  13. end
  14. local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
  15. local FakeEvent_Metatable = {__index={
  16. Connect = function(this,f)
  17. local i = tostring(math.random(0,10000))
  18. while this.Functions[i] do
  19. i = tostring(math.random(0,10000))
  20. end
  21. this.Functions[i] = f
  22. return setmetatable({this,i},Disconnect_Metatable)
  23. end
  24. }}
  25. FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
  26. local function fakeEvent()
  27. return setmetatable({Functions={}},FakeEvent_Metatable)
  28. end
  29.  
  30. --Creating fake input objects with fake variables
  31. local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
  32. FakeMouse.keyUp = FakeMouse.KeyUp
  33. FakeMouse.keyDown = FakeMouse.KeyDown
  34. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  35. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  36. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  37. end}
  38. --Merged 2 functions into one by checking amount of arguments
  39. CAS.UnbindAction = CAS.BindAction
  40.  
  41. --This function will trigger the events that have been :Connect()'ed
  42. local function TriggerEvent(self,ev,...)
  43. for _,f in pairs(self[ev].Functions) do
  44. f(...)
  45. end
  46. end
  47. FakeMouse.TriggerEvent = TriggerEvent
  48. UIS.TriggerEvent = TriggerEvent
  49.  
  50. --Client communication
  51. local Event = Instance.new("RemoteEvent")
  52. Event.Name = "UserInput_Event"
  53. Event.OnServerEvent:Connect(function(plr,io)
  54. if plr~=RealPlayer then return end
  55. FakeMouse.Target = io.Target
  56. FakeMouse.Hit = io.Hit
  57. if not io.isMouse then
  58. local b = io.UserInputState == Enum.UserInputState.Begin
  59. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  60. return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
  61. end
  62. if io.UserInputType == Enum.UserInputType.MouseButton2 then
  63. return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
  64. end
  65. for _,t in pairs(CAS.Actions) do
  66. for _,k in pairs(t.Keys) do
  67. if k==io.KeyCode then
  68. t.Function(t.Name,io.UserInputState,io)
  69. end
  70. end
  71. end
  72. FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  73. UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
  74. end
  75. end)
  76. Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
  77. local Mouse = owner:GetMouse()
  78. local UIS = game:GetService("UserInputService")
  79. local input = function(io,RobloxHandled)
  80. if RobloxHandled then return end
  81. --Since InputObject is a client-side instance, we create and pass table instead
  82. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  83. end
  84. UIS.InputBegan:Connect(input)
  85. UIS.InputEnded:Connect(input)
  86.  
  87. local h,t
  88. --Give the server mouse data every second frame, but only if the values changed
  89. --If player is not moving their mouse, client won't fire events
  90. local HB = game:GetService("RunService").Heartbeat
  91. while true do
  92. if h~=Mouse.Hit or t~=Mouse.Target then
  93. h,t=Mouse.Hit,Mouse.Target
  94. Event:FireServer({isMouse=true,Target=t,Hit=h})
  95. end
  96. --Wait 2 frames
  97. for i=1,2 do
  98. HB:Wait()
  99. end
  100. end]==],script)
  101.  
  102. ----Sandboxed game object that allows the usage of client-side methods and services
  103. --Real game object
  104. local RealGame = game
  105.  
  106. --Metatable for fake service
  107. local FakeService_Metatable = {
  108. __index = function(self,k)
  109. local s = rawget(self,"_RealService")
  110. if s then
  111. return typeof(s[k])=="function"
  112. and function(_,...)return s[k](s,...)end or s[k]
  113. end
  114. end,
  115. __newindex = function(self,k,v)
  116. local s = rawget(self,"_RealService")
  117. if s then s[k]=v end
  118. end
  119. }
  120. local function FakeService(t,RealService)
  121. t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
  122. return setmetatable(t,FakeService_Metatable)
  123. end
  124.  
  125. --Fake game object
  126. local FakeGame = {
  127. GetService = function(self,s)
  128. return rawget(self,s) or RealGame:GetService(s)
  129. end,
  130. Players = FakeService({
  131. LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
  132. },"Players"),
  133. UserInputService = FakeService(UIS,"UserInputService"),
  134. ContextActionService = FakeService(CAS,"ContextActionService"),
  135. RunService = FakeService({
  136. _btrs = {},
  137. RenderStepped = RealGame:GetService("RunService").Heartbeat,
  138. BindToRenderStep = function(self,name,_,fun)
  139. self._btrs[name] = self.Heartbeat:Connect(fun)
  140. end,
  141. UnbindFromRenderStep = function(self,name)
  142. self._btrs[name]:Disconnect()
  143. end,
  144. },"RunService")
  145. }
  146. rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
  147. FakeGame.service = FakeGame.GetService
  148. FakeService(FakeGame,game)
  149. --Changing owner to fake player object to support owner:GetMouse()
  150. game,owner = FakeGame,FakeGame.Players.LocalPlayer
  151. end
  152. --[[
  153. Island Dimension made by Fenrier.
  154. ]]
  155. it=Instance.new
  156. vt=Vector3.new
  157. cf=CFrame.new
  158. euler=CFrame.fromEulerAnglesXYZ
  159. angles=CFrame.Angles
  160. teledebounce=false
  161. teledebounce2=false
  162.  
  163. if workspace.Base:findFirstChild("Tower Model",true) ~= nil then
  164. workspace.Base:findFirstChild("Tower Model",true).Parent = nil
  165. end
  166.  
  167.  
  168. function part(formfactor,parent,reflectance,transparency,brickcolor,name,size,cframe)
  169. local fp = it("Part")
  170. fp.formFactor = formfactor
  171. fp.Parent = parent
  172. fp.Reflectance = reflectance
  173. fp.Transparency = transparency
  174. fp.CanCollide = true
  175. fp.Anchored = true
  176. fp.Locked=true
  177. fp.BrickColor = brickcolor
  178. fp.Name = name
  179. fp.Size = size
  180. fp.CFrame = cframe
  181. fp.BottomSurface="Smooth"
  182. fp.TopSurface="Smooth"
  183. fp:BreakJoints()
  184. return fp
  185. end
  186.  
  187. function mesh(Mesh,part,meshtype,meshid,offset,scale)
  188. local mesh = it(Mesh)
  189. mesh.Parent = part
  190. if Mesh=="SpecialMesh" then
  191. mesh.MeshType = meshtype
  192. mesh.MeshId = meshid
  193. end
  194. mesh.Offset=offset
  195. mesh.Scale=scale
  196. return mesh
  197. end
  198.  
  199. function weld(parent,part0,part1,c0)
  200. local weld = it("Weld")
  201. weld.Parent = parent
  202. weld.Part0 = part0
  203. weld.Part1 = part1
  204. weld.C0 = c0
  205. return weld
  206. end
  207.  
  208. local modelzorz = Instance.new("Model")
  209. modelzorz.Parent = workspace.Base
  210. modelzorz.Name = "Tower Model"
  211. script.Parent=modelzorz
  212.  
  213. local prt1=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part1",vt(2,100,20),cf(100,50,20))
  214. local prt2=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part2",vt(2,100,20),cf(100,50,-20))
  215. local prt3=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part3",vt(2,80,20),cf(100,60,0))
  216. local prt4=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part4",vt(2,100,60),cf(130,50,29)*euler(0,1.57,0))
  217. local prt5=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part5",vt(2,100,60),cf(130,50,-29)*euler(0,1.57,0))
  218. local prt6=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part6",vt(2,100,60),cf(160,50,0))
  219. local prt7=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part7",vt(80,2,80),cf(130,100,0))
  220. local prt8=part(3,modelzorz,0,0,BrickColor.new("Br. yellowish green"),"Part8",vt(20,3,20),cf(150,100,0))
  221. local prt9=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part9",vt(3,3,79.99),cf(91.51,101,0))
  222. local prt10=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part10",vt(3,3,79.99),cf(168.49,101,0))
  223. local prt11=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part11",vt(3,3,79.99),cf(130,101,38.48)*euler(0,1.57,0))
  224. local prt12=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part12",vt(3,3,79.99),cf(130,101,-38.48)*euler(0,1.57,0))
  225. local prt13=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part13",vt(2,20,20),cf(100,110,20))
  226. local prt14=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part14",vt(2,20,20),cf(100,110,-20))
  227. local prt15=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part15",vt(2,20,20),cf(110,110,29)*euler(0,1.57,0))
  228. local prt16=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part16",vt(2,20,20),cf(150,110,29)*euler(0,1.57,0))
  229. local prt17=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part17",vt(2,20,20),cf(160,110,20))
  230. local prt18=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part18",vt(2,20,20),cf(160,110,-20))
  231. local prt19=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part19",vt(2,20,20),cf(110,110,-29)*euler(0,1.57,0))
  232. local prt20=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part20",vt(2,20,20),cf(150,110,-29)*euler(0,1.57,0))
  233. local prt21=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part21",vt(61.9,2,60),cf(130,120,0))
  234. local prt22=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part22",vt(60,2,60),cf(130,128,0))
  235. local prt23=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part23",vt(60,2,60),cf(1500,1500,1500))
  236. local prt24=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part24",vt(2,100,60),prt23.CFrame*cf(-30,50,0))
  237. local prt25=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part25",vt(2,100,60),prt23.CFrame*cf(30,50,0))
  238. local prt26=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part26",vt(2,100,60),prt23.CFrame*cf(0,50,30)*euler(0,1.57,0))
  239. local prt27=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part27",vt(2,100,60),prt23.CFrame*cf(0,50,-30)*euler(0,1.57,0))
  240. local prt28=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part28",vt(20,100,20),prt23.CFrame*cf(0,50,0))
  241. BasicCFrame=prt28.CFrame*cf(0,50,0)
  242. local prt29=part(3,modelzorz,0,0,BrickColor.new("Bright green"),"Part29",vt(199,2,62),BasicCFrame*cf(130.5,0,0))
  243. prt29.Material="Grass"
  244. local prt30=part(3,modelzorz,0,0,BrickColor.new("Bright green"),"Part30",vt(199,2,62),BasicCFrame*cf(-130.5,0,0))
  245. prt30.Material="Grass"
  246. local prt31=part(3,modelzorz,0,0,BrickColor.new("Bright green"),"Part31",vt(460,2,200),BasicCFrame*cf(0,0,131))
  247. prt31.Material="Grass"
  248. local prt32=part(3,modelzorz,0,0,BrickColor.new("Bright green"),"Part32",vt(460,2,200),BasicCFrame*cf(0,0,-131))
  249. prt32.Material="Grass"
  250. local prt33=part(3,modelzorz,0,0,BrickColor.new("Reddish brown"),"Part33",vt(50,2.2,200),BasicCFrame*cf(0,0,-131))
  251. local prt34=part(3,modelzorz,0,0,BrickColor.new("Reddish brown"),"Part34",vt(50,2.2,200),BasicCFrame*cf(0,0,131))
  252. local prt35=part(3,modelzorz,0,0,BrickColor.new("Reddish brown"),"Part35",vt(35,2.2,62),BasicCFrame*cf(-7.5,0,0))
  253. local prt35b=part(3,modelzorz,0,0,BrickColor.new("Reddish brown"),"Part35b",vt(15,2.2,31),BasicCFrame*cf(17.5,0,-15.5))
  254. local prt36=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part36",vt(60,2,30),BasicCFrame*cf(0,-1,-15))
  255. local prt37=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Part37",vt(30,2,30),BasicCFrame*cf(-25,-1,15)*euler(0,1.57,0))
  256. local prt38=part(3,modelzorz,0,0,BrickColor.new("Earth green"),"Part38",vt(220,100,62),BasicCFrame*cf(141,-51,0))
  257. prt38.Material="Slate"
  258. local prt39=part(3,modelzorz,0,0,BrickColor.new("Earth green"),"Part39",vt(220,100,62),BasicCFrame*cf(-141,-51,0))
  259. prt39.Material="Slate"
  260. local prt40=part(3,modelzorz,0,0,BrickColor.new("Earth green"),"Part40",vt(502,100,220),BasicCFrame*cf(0,-51,141))
  261. prt40.Material="Slate"
  262. local prt41=part(3,modelzorz,0,0,BrickColor.new("Earth green"),"Part41",vt(502,100,220),BasicCFrame*cf(0,-51,-141))
  263. prt41.Material="Slate"
  264. local prt42=part(3,modelzorz,0,0.5,BrickColor.new("Bright blue"),"Part42",vt(20,200,20),BasicCFrame*cf(0,100,225))
  265. prt42.CanCollide=false
  266. local prt43=part(3,modelzorz,0,0,BrickColor.new("Dusty Rose"),"Part43",vt(80,5,80),BasicCFrame*cf(0,200,225))
  267. prt43.Material="Wood"
  268. local prt44=part(3,modelzorz,0,0,BrickColor.new("Medium stone grey"),"Part44",vt(40,10,40),BasicCFrame*cf(0,200,225))
  269. local prt45=part(3,modelzorz,0,0,BrickColor.new("Dusty Rose"),"Part45",vt(1,1,80),BasicCFrame*cf(39.5,208,225)*euler(math.rad(math.random(-2,1)+math.random()),math.rad(math.random(-2,1)+math.random()),math.rad(math.random(-2,1)+math.random())))
  270. prt45.Material="Wood"
  271. local prt46=part(3,modelzorz,0,0,BrickColor.new("Dusty Rose"),"Part46",vt(1,1,80),BasicCFrame*cf(-39.5,208,225)*euler(math.rad(math.random(-2,1)+math.random()),math.rad(math.random(-2,1)+math.random()),math.rad(math.random(-2,1)+math.random())))
  272. prt46.Material="Wood"
  273. local prt47=part(3,modelzorz,0,0,BrickColor.new("Dusty Rose"),"Part47",vt(1,80,1),BasicCFrame*cf(0,208,225-39.5)*euler(math.rad(math.random(-2,1)+math.random()),math.rad(math.random(-2,1)+math.random()),1.57+math.rad(math.random(-2,1)+math.random())))
  274. prt47.Material="Wood"
  275. local prt48=part(3,modelzorz,0,0.5,BrickColor.new("Bright blue"),"Part48",vt(20,20,20),prt43.CFrame*cf(0,5,0))
  276. prt48.CanCollide=false
  277. local prt49=part(3,modelzorz,0,0,BrickColor.new("Dusty Rose"),"Part49",vt(1,1,95),prt43.CFrame*cf(12,2,87))
  278. prt49.Material="Wood"
  279. local prt50=part(3,modelzorz,0,0,BrickColor.new("Dusty Rose"),"Part49",vt(1,1,95),prt43.CFrame*cf(-12,2,87))
  280. prt50.Material="Wood"
  281.  
  282. local msh1=mesh("BlockMesh",prt1,"","",vt(0,0,0),vt(1,1,1))
  283. local msh2=mesh("BlockMesh",prt2,"","",vt(0,0,0),vt(1,1,1))
  284. local msh3=mesh("BlockMesh",prt3,"","",vt(0,0,0),vt(1,1,1))
  285. local msh4=mesh("BlockMesh",prt4,"","",vt(0,0,0),vt(1,1,1))
  286. local msh5=mesh("BlockMesh",prt5,"","",vt(0,0,0),vt(1,1,1))
  287. local msh6=mesh("BlockMesh",prt6,"","",vt(0,0,0),vt(1,1,1))
  288. local msh7=mesh("BlockMesh",prt7,"","",vt(0,0,0),vt(1,1,1))
  289. local msh8=mesh("BlockMesh",prt8,"","",vt(0,0,0),vt(1,1,1))
  290. local msh9=mesh("BlockMesh",prt9,"","",vt(0,0,0),vt(1,1,1))
  291. local msh10=mesh("BlockMesh",prt10,"","",vt(0,0,0),vt(1,1,1))
  292. local msh11=mesh("BlockMesh",prt11,"","",vt(0,0,0),vt(1,1,1))
  293. local msh12=mesh("BlockMesh",prt12,"","",vt(0,0,0),vt(1,1,1))
  294. local msh13=mesh("BlockMesh",prt13,"","",vt(0,0,0),vt(1,1,1))
  295. local msh14=mesh("BlockMesh",prt14,"","",vt(0,0,0),vt(1,1,1))
  296. local msh15=mesh("BlockMesh",prt15,"","",vt(0,0,0),vt(1,1,1))
  297. local msh16=mesh("BlockMesh",prt16,"","",vt(0,0,0),vt(1,1,1))
  298. local msh17=mesh("BlockMesh",prt17,"","",vt(0,0,0),vt(1,1,1))
  299. local msh18=mesh("BlockMesh",prt18,"","",vt(0,0,0),vt(1,1,1))
  300. local msh19=mesh("BlockMesh",prt19,"","",vt(0,0,0),vt(1,1,1))
  301. local msh20=mesh("BlockMesh",prt20,"","",vt(0,0,0),vt(1,1,1))
  302. local msh21=mesh("BlockMesh",prt21,"","",vt(0,0,0),vt(1,1,1))
  303. local msh22=mesh("SpecialMesh",prt22,"FileMesh","http://www.roblox.com/asset/?id=1778999",vt(0,0,0),vt(45,10,45))
  304. local msh23=mesh("BlockMesh",prt23,"","",vt(0,0,0),vt(1,1,1))
  305. local msh24=mesh("BlockMesh",prt24,"","",vt(0,0,0),vt(1,1,1))
  306. local msh25=mesh("BlockMesh",prt25,"","",vt(0,0,0),vt(1,1,1))
  307. local msh26=mesh("BlockMesh",prt26,"","",vt(0,0,0),vt(1,1,1))
  308. local msh27=mesh("BlockMesh",prt27,"","",vt(0,0,0),vt(1,1,1))
  309. local msh28=mesh("CylinderMesh",prt28,"","",vt(0,0,0),vt(1,1,1))
  310. local msh42=mesh("CylinderMesh",prt42,"","",vt(0,0,0),vt(1,1,1))
  311. local msh48=mesh("SpecialMesh",prt48,"Sphere","",vt(0,0,0),vt(1,1,1))
  312.  
  313. local basestairprt=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Base Stair Part1",vt(61.9,2,60),cf(130,2,0))
  314. local basestairmsh=mesh("BlockMesh",basestairprt,"","",vt(0,0,0),vt(1,1,1))
  315. local basestairprt2=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Base Stair Part2",vt(20,100,20),cf(130,50,0))
  316. local basestairmsh2=mesh("CylinderMesh",basestairprt2,"","",vt(0,0,0),vt(1,1,1))
  317.  
  318. local teleprt=part(3,modelzorz,0,1,BrickColor.new("Black"),"Teleport Part",vt(61,10,59),cf(130,95,0))
  319. teleprt.CanCollide=false
  320. local teleprt2=part(3,modelzorz,0,1,BrickColor.new("Black"),"Teleport Part2",vt(61,10,59),prt23.CFrame*cf(0,6,0))
  321. teleprt2.CanCollide=false
  322. local teleprt3=part(3,modelzorz,0,1,BrickColor.new("Bright blue"),"Teleport Part3",vt(1000,10,1000),BasicCFrame*cf(0,-300,0))
  323. teleprt3.CanCollide=false
  324.  
  325. local skyboxprt=part(3,modelzorz,0,0,BrickColor.new("Black"),"Skybox",vt(1,1,1),BasicCFrame)
  326. local skyboxmsh=mesh("SpecialMesh",skyboxprt,"FileMesh","http://www.roblox.com/asset/?id=1527559",vt(0,0,0),vt(-1000,-1000,-1000))
  327. skyboxmsh.TextureId="http://www.roblox.com/asset/?id=24824960"
  328. coroutine.resume(coroutine.create(function()
  329. while true do
  330. wait()
  331. skyboxprt.CFrame=skyboxprt.CFrame*angles(math.pi/math.random(4000,6000),math.pi/math.random(4000,6000),math.pi/math.random(4000,6000))
  332. end
  333. end))
  334. for i=1,8 do
  335. local tree1=part(3,modelzorz,0,0,BrickColor.new("Brown"),"Tree1",vt(3,20,3),BasicCFrame*cf(math.random(30,200),10,math.random(-200,200)))
  336. local treemsh1=mesh("CylinderMesh",tree1,"","",vt(0,0,0),vt(1,1,1))
  337. local tree2=part(3,modelzorz,0,0,BrickColor.new("Bright green"),"Tree2",vt(15,15,15),tree1.CFrame*cf(0,30,0))
  338. tree2.Shape=0
  339. tree2.Material="Grass"
  340. tree2.CFrame=tree1.CFrame*cf(0,10,0)
  341. local grass=part(3,modelzorz,0,0,BrickColor.new("Bright green"),"Grass",vt(1,1,1),BasicCFrame*cf(math.random(30,200),2.5,math.random(-200,200)))
  342. local grassmsh=mesh("SpecialMesh",grass,"FileMesh","http://www.roblox.com/asset/?id=1091940",vt(0,0,0),vt(2,2,2))
  343. grassmsh.TextureId="http://www.roblox.com/asset/?id=1091942"
  344. end
  345. for i=1,8 do
  346. local tree1=part(3,modelzorz,0,0,BrickColor.new("Brown"),"Tree1",vt(3,20,3),BasicCFrame*cf(math.random(-200,-30),10,math.random(-200,200)))
  347. local treemsh1=mesh("CylinderMesh",tree1,"","",vt(0,0,0),vt(1,1,1))
  348. local tree2=part(3,modelzorz,0,0,BrickColor.new("Bright green"),"Tree2",vt(15,15,15),tree1.CFrame*cf(0,30,0))
  349. tree2.Shape=0
  350. tree2.Material="Grass"
  351. tree2.CFrame=tree1.CFrame*cf(0,10,0)
  352. local grass=part(3,modelzorz,0,0,BrickColor.new("Bright green"),"Grass",vt(1,1,1),BasicCFrame*cf(math.random(-200,-30),2.5,math.random(-200,200)))
  353. local grassmsh=mesh("SpecialMesh",grass,"FileMesh","http://www.roblox.com/asset/?id=1091940",vt(0,0,0),vt(2,2,2))
  354. grassmsh.TextureId="http://www.roblox.com/asset/?id=1091942"
  355. end
  356.  
  357. con1=teleprt.Touched:connect(function(hit)
  358. if hit.Parent:findFirstChild("Humanoid")~=nil and teledebounce==false and hit.Parent:FindFirstChild("Torso")~=nil then
  359. print("Teleported")
  360. teledebounce=true
  361. hit.Parent.Torso.CFrame=prt23.CFrame*cf(0,5,20)
  362. wait(2)
  363. teledebounce=false
  364. end
  365. end)
  366. con2=teleprt2.Touched:connect(function(hit)
  367. if hit.Parent:findFirstChild("Humanoid")~=nil and teledebounce==false and hit.Parent:FindFirstChild("Torso")~=nil then
  368. print("Teleported")
  369. teledebounce=true
  370. hit.Parent.Torso.CFrame=teleprt.CFrame*cf(0,-5,15)
  371. wait(2)
  372. teledebounce=false
  373. end
  374. end)
  375. con3=prt42.Touched:connect(function(hit)
  376. if hit.Parent:findFirstChild("Humanoid")~=nil and teledebounce2==false and hit.Parent:FindFirstChild("Torso")~=nil then
  377. print("Teleported to Statue Island.")
  378. teledebounce2=true
  379. Torso=hit.Parent.Torso
  380. Torso.Anchored=true
  381. Torso.CFrame=prt42.CFrame*cf(0,-95,0)
  382. wait(2)
  383. numb2=0
  384. for i=0,20 do
  385. wait(0)
  386. Torso.CFrame=prt42.CFrame*cf(0,-95+numb2,0)
  387. numb2=numb2+10
  388. end
  389. Torso.Anchored=false
  390. Torso.Velocity=vt(0,200,0)
  391. wait(2)
  392. teledebounce2=false
  393. end
  394. end)
  395. con4=prt48.Touched:connect(function(hit)
  396. if hit.Parent:findFirstChild("Humanoid")~=nil and teledebounce2==false and hit.Parent:FindFirstChild("Torso")~=nil then
  397. print("Teleported out Statue Island.")
  398. teledebounce2=true
  399. Torso=hit.Parent.Torso
  400. Torso.Anchored=true
  401. Torso.CFrame=prt48.CFrame*cf(0,3,0)
  402. wait(2)
  403. numb2=0
  404. for i=0,20 do
  405. wait(0)
  406. Torso.CFrame=prt48.CFrame*cf(0,3-numb2,0)
  407. numb2=numb2+10
  408. end
  409. Torso.Anchored=false
  410. wait(2)
  411. teledebounce2=false
  412. end
  413. end)
  414. con5=teleprt3.Touched:connect(function(hit)
  415. if hit.Parent:findFirstChild("Humanoid")~=nil and hit.Parent:FindFirstChild("Torso")~=nil then
  416. print("Fallen Teleport")
  417. hit.Parent.Torso.CFrame=teleprt3.CFrame*cf(-1500,-1000,-1500)*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50))
  418. hit.Parent.Humanoid.PlatformStand=true
  419. end
  420. end)
  421.  
  422. for i=0,50 do
  423. prtsize=math.random(1,20)
  424. local prt=part(3,modelzorz,0,0,BrickColor.new("Earth green"),"Brick",vt(prtsize,prtsize,prtsize),BasicCFrame*cf(math.random(-500,500),math.random(-500,500),math.random(-500,500))*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50)))
  425. local msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(1,1,1))
  426. coroutine.resume(coroutine.create(function(Part)
  427. randomnumb=math.random(1,10)+math.random()
  428. wait(randomnumb)
  429. while Part.Parent~=nil do
  430. for i=0,1,0.005 do
  431. wait()
  432. Part.Position=Part.Position+vt(0,-0.2,0)
  433. end
  434. for i=0,1,0.005 do
  435. wait()
  436. Part.Position=Part.Position+vt(0,0.2,0)
  437. end
  438. end
  439. end),prt)
  440. end
  441.  
  442. for i=0,15 do
  443. prtsize=math.random(0,3)+math.random()
  444. local prt=part(3,modelzorz,0,0,BrickColor.new("Bright green"),"Brick",vt(prtsize,prtsize,prtsize),BasicCFrame*cf(math.random(-50,50),math.random(5,170),math.random(200,250))*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50)))
  445. prt.Material="Grass"
  446. coroutine.resume(coroutine.create(function(Part)
  447. randomnumb=math.random(1,10)+math.random()
  448. wait(randomnumb)
  449. while Part.Parent~=nil do
  450. for i=0,1,0.005 do
  451. wait()
  452. Part.Position=Part.Position+vt(0,-0.2,0)
  453. end
  454. for i=0,1,0.005 do
  455. wait()
  456. Part.Position=Part.Position+vt(0,0.2,0)
  457. end
  458. end
  459. end),prt)
  460. end
  461.  
  462. count=0
  463. for i=1,15 do
  464. local prt=part(3,modelzorz,0,0,BrickColor.new("Dusty Rose"),"Part",vt(1,3,1),BasicCFrame*cf(39.5-count,205,225-39.5)*euler(math.rad(math.random(-30,29)+math.random()),math.rad(math.random(-30,29)+math.random()),math.rad(math.random(-30,29)+math.random())))
  465. prt.Material="Wood"
  466. local prt=part(3,modelzorz,0,0,BrickColor.new("Dusty Rose"),"Part",vt(1,3,1),BasicCFrame*cf(39.5,205,225-39.5+count)*euler(math.rad(math.random(-30,29)+math.random()),math.rad(math.random(-30,29)+math.random()),math.rad(math.random(-30,29)+math.random())))
  467. prt.Material="Wood"
  468. local prt=part(3,modelzorz,0,0,BrickColor.new("Dusty Rose"),"Part",vt(1,3,1),BasicCFrame*cf(-39.5,205,225-39.5+count)*euler(math.rad(math.random(-30,29)+math.random()),math.rad(math.random(-30,29)+math.random()),math.rad(math.random(-30,29)+math.random())))
  469. prt.Material="Wood"
  470. count=count+5.64
  471. end
  472.  
  473. count=0
  474. for i=1,15 do
  475. local prt48=part(3,modelzorz,0,0,BrickColor.new("Dusty Rose"),"Part48",vt(20,1,5),prt43.CFrame*cf(0,2,42+count)*euler(math.rad(math.random(-10,9)+math.random()),math.rad(math.random(-10,9)+math.random()),math.rad(math.random(-10,9)+math.random())))
  476. prt48.Material="Wood"
  477. count=count+6
  478. end
  479.  
  480. count=-0.25
  481. for i=0,164 do
  482. local prt=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Stair",vt(2,3,20),basestairprt.CFrame*euler(0,count,0)*cf(0,0.5+(count*12),19))
  483. local msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(1,1,1))
  484. light = Instance.new("PointLight")
  485. light.Brightness = .8
  486. light.Range = 100
  487. light.Parent=prt
  488. count=count+0.05
  489. end
  490. count=0
  491. for i=0,160 do
  492. local prt=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Stair2",vt(2,3,20),prt23.CFrame*euler(0,count,0)*cf(0,0.5+(count*12),19))
  493. local msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(1,1,1))
  494. light = Instance.new("PointLight")
  495. light.Brightness = .8
  496. light.Range = 100
  497. light.Parent=prt
  498. count=count+0.05
  499. end
  500. count=0
  501. for i=0,15 do
  502. local prt=part(3,modelzorz,0,1-count,BrickColor.new("Black"),"Shade",vt(61,1,59),cf(130,70+(count*40),0))
  503. prt.CanCollide=false
  504. local msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(1,1,1))
  505. count=count+0.05
  506. end
  507. count=0
  508. for i=0,15 do
  509. local prt=part(3,modelzorz,0,count,BrickColor.new("Black"),"Shade2",vt(61,1,59),prt23.CFrame*cf(0,count*40,0))
  510. prt.CanCollide=false
  511. local msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(1,1,1))
  512. count=count+0.05
  513. end
  514. count=0
  515. for i=0,15 do
  516. local prt=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Stand",vt(2.99,3,3),cf(91.51,104,38.48-count))
  517. local msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(1,1,1))
  518. count=count+5.13
  519. end
  520. count=0
  521. for i=0,15 do
  522. local prt=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Stand",vt(2.99,3,3),cf(168.49,104,38.48-count))
  523. local msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(1,1,1))
  524. count=count+5.13
  525. end
  526. count=5.13
  527. for i=0,13 do
  528. local prt=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Stand",vt(2.99,3,3),cf(91.51+count,104,38.48))
  529. local msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(1,1,1))
  530. count=count+5.13
  531. end
  532. count=5.13
  533. for i=0,13 do
  534. local prt=part(3,modelzorz,0,0,BrickColor.new("Dark stone grey"),"Stand",vt(2.99,3,3),cf(91.51+count,104,-38.48))
  535. local msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(1,1,1))
  536. count=count+5.13
  537. end
  538. print("Fenrier's Tower Dimension loaded.")
  539. --workspace.Fenrier.Torso.CFrame=teleprt2.CFrame*cf(0,150,0)
  540. -- mediafire
  541. --[[
  542. Copyrighted (C) Fenrier 2013
  543. ]]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement