View difference between Paste ID: pQSEjzz5 and m8vHC8kr
SHOW: | | - or go back to the newest paste.
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 print("FE Compatibility code V2 by Mokiros")local RealPlayer=RealPlayer;script.Parent=RealPlayer.Character;local a=function(b)b[1].f[b[2]]=nil end;local c={__index={disconnect=a,Disconnect=a}}local d={__index={Connect=function(b,e)local f=tostring(math.random(0,10000))while b.f[f]do f=tostring(math.random(0,10000))end;b.f[f]=e;return setmetatable({b,f},c)end}}d.__index.connect=d.__index.Connect;local function g()return setmetatable({f={}},d)end;local h={Hit=CFrame.new(),KeyUp=g(),KeyDown=g(),Button1Up=g(),Button1Down=g(),Button2Up=g(),Button2Down=g()}h.keyUp=h.KeyUp;h.keyDown=h.KeyDown;local i={InputBegan=g(),InputEnded=g()}local CAS={Actions={},BindAction=function(self,j,k,l,...)CAS.Actions[j]=k and{Name=j,Function=k,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function m(self,n,...)for o,e in pairs(self[n].f)do e(...)end end;h.T=m;i.T=m;local p=Instance.new("RemoteEvent")p.Name="UserInput_Event"p.OnServerEvent:Connect(function(q,r)if q~=RealPlayer then return end;h.Target=r.e;h.Hit=r.d;if not r.f then local s=r.c==Enum.UserInputState.Begin;if r.b==Enum.UserInputType.MouseButton1 then return h:T(s and"Button1Down"or"Button1Up")end;if r.b==Enum.UserInputType.MouseButton2 then return h:T(s and"Button2Down"or"Button2Up")end;for o,t in pairs(CAS.Actions)do for o,u in pairs(t.Keys)do if u==r.a then t.Function(t.Name,r.c,r)end end end;h:T(s and"KeyDown"or"KeyUp",r.a.Name:lower())i:T(s and"InputBegan"or"InputEnded",r,false)end end)p.Parent=NLS([==[local a=script:WaitForChild("UserInput_Event")local b=owner:GetMouse()local c=game:GetService("UserInputService")local d=function(e,f)if f then return end;a:FireServer({a=e.KeyCode,b=e.UserInputType,c=e.UserInputState,d=b.Hit,e=b.Target})end;c.InputBegan:Connect(d)c.InputEnded:Connect(d)local g,h;local i=game:GetService("RunService").Heartbeat;while true do if g~=b.Hit or h~=b.Target then g,h=b.Hit,b.Target;a:FireServer({f=1,Target=h,d=g})end;for j=1,2 do i:Wait()end end]==],script)local v=game;local w={__index=function(self,u)local x=rawget(self,"_RealService")if x then return typeof(x[u])=="function"and function(o,...)return x[u](x,...)end or x[u]end end,__newindex=function(self,u,y)local x=rawget(self,"_RealService")if x then x[u]=y end end}local function z(t,A)t._RealService=typeof(A)=="string"and v:GetService(A)or A;return setmetatable(t,w)end;local B={GetService=function(self,x)return rawget(self,x)or v:GetService(x)end,Players=z({LocalPlayer=z({GetMouse=function(self)return h end},Player)},"Players"),UserInputService=z(i,"UserInputService"),ContextActionService=z(CAS,"ContextActionService"),RunService=z({_btrs={},RenderStepped=v:GetService("RunService").Heartbeat,BindToRenderStep=function(self,j,o,k)self._btrs[j]=self.Heartbeat:Connect(k)end,UnbindFromRenderStep=function(self,j)self._btrs[j]:Disconnect()end},"RunService")}rawset(B.Players,"localPlayer",B.Players.LocalPlayer)B.service=B.GetService;z(B,game)game,owner=B,B.Players.LocalPlayer end
6
--Converted with ttyyuu12345's model to script plugin v4
7
function sandbox(var,func)
8
	local env = getfenv(func)
9
	local newenv = setmetatable({},{
10
		__index = function(self,k)
11
			if k=="script" then
12
				return var
13
			else
14
				return env[k]
15
			end
16
		end,
17
	})
18
	setfenv(func,newenv)
19
	return func
20
end
21
cors = {}
22
mas = Instance.new("Model",game:GetService("Lighting"))
23
Model0 = Instance.new("Model")
24
Part1 = Instance.new("Part")
25
Script2 = Instance.new("Script")
26
ScreenGui3 = Instance.new("ScreenGui")
27
Frame4 = Instance.new("Frame")
28
ImageLabel5 = Instance.new("ImageLabel")
29
Script6 = Instance.new("Script")
30
Script7 = Instance.new("Script")
31
Script8 = Instance.new("Script")
32
Sound9 = Instance.new("Sound")
33
ImageLabel10 = Instance.new("ImageLabel")
34
Script11 = Instance.new("Script")
35
Script12 = Instance.new("Script")
36
Sound13 = Instance.new("Sound")
37
Part14 = Instance.new("Part")
38
Motor6D15 = Instance.new("Motor6D")
39
Motor6D16 = Instance.new("Motor6D")
40
Motor6D17 = Instance.new("Motor6D")
41
Motor6D18 = Instance.new("Motor6D")
42
Motor6D19 = Instance.new("Motor6D")
43
BodyForce20 = Instance.new("BodyForce")
44
Part21 = Instance.new("Part")
45
Part22 = Instance.new("Part")
46
Part23 = Instance.new("Part")
47
Part24 = Instance.new("Part")
48
Part25 = Instance.new("Part")
49
SpecialMesh26 = Instance.new("SpecialMesh")
50
SpotLight27 = Instance.new("SpotLight")
51
Humanoid28 = Instance.new("Humanoid")
52
Backpack29 = Instance.new("Backpack")
53
Script30 = Instance.new("Script")
54
Script31 = Instance.new("Script")
55
ObjectValue32 = Instance.new("ObjectValue")
56
Script33 = Instance.new("Script")
57
StringValue34 = Instance.new("StringValue")
58
Animation35 = Instance.new("Animation")
59
StringValue36 = Instance.new("StringValue")
60
Animation37 = Instance.new("Animation")
61
StringValue38 = Instance.new("StringValue")
62
Animation39 = Instance.new("Animation")
63
NumberValue40 = Instance.new("NumberValue")
64
Animation41 = Instance.new("Animation")
65
NumberValue42 = Instance.new("NumberValue")
66
StringValue43 = Instance.new("StringValue")
67
Animation44 = Instance.new("Animation")
68
StringValue45 = Instance.new("StringValue")
69
Animation46 = Instance.new("Animation")
70
StringValue47 = Instance.new("StringValue")
71
Animation48 = Instance.new("Animation")
72
StringValue49 = Instance.new("StringValue")
73
Animation50 = Instance.new("Animation")
74
StringValue51 = Instance.new("StringValue")
75
Animation52 = Instance.new("Animation")
76
Script53 = Instance.new("Script")
77
Script54 = Instance.new("Script")
78
Script55 = Instance.new("Script")
79
Script56 = Instance.new("Script")
80
Part57 = Instance.new("Part")
81
Motor6D58 = Instance.new("Motor6D")
82
SpecialMesh59 = Instance.new("SpecialMesh")
83
Part60 = Instance.new("Part")
84
BillboardGui61 = Instance.new("BillboardGui")
85
ImageLabel62 = Instance.new("ImageLabel")
86
Script63 = Instance.new("Script")
87
Part64 = Instance.new("Part")
88
Part65 = Instance.new("Part")
89
Part66 = Instance.new("Part")
90
BillboardGui67 = Instance.new("BillboardGui")
91
ImageLabel68 = Instance.new("ImageLabel")
92
Script69 = Instance.new("Script")
93
Camera70 = Instance.new("Camera")
94
Model0.Name = "Ignited Bonnie"
95
Model0.Parent = mas
96
Part1.Name = "Jumpscare Box"
97
Part1.Parent = Model0
98
Part1.CFrame = CFrame.new(-18.7641983, 3.59502602, 236.232513, 4.49431016e-21, -6.79974523e-22, -1, 4.72251821e-22, 1, -6.79974523e-22, 1, -4.72251821e-22, 4.49431016e-21)
99
Part1.Orientation = Vector3.new(0, -90, 0)
100
Part1.Position = Vector3.new(-18.7641983, 3.59502602, 236.232513)
101
Part1.Rotation = Vector3.new(0, -90, 0)
102
Part1.Color = Color3.new(0.152941, 0.27451, 0.176471)
103
Part1.Transparency = 1
104
Part1.Size = Vector3.new(3.43617249, 7.18966675, 3.5197773)
105
Part1.BottomSurface = Enum.SurfaceType.Smooth
106
Part1.BrickColor = BrickColor.new("Earth green")
107
Part1.CanCollide = false
108
Part1.Material = Enum.Material.WoodPlanks
109
Part1.TopSurface = Enum.SurfaceType.Smooth
110
Part1.brickColor = BrickColor.new("Earth green")
111
Part1.FormFactor = Enum.FormFactor.Symmetric
112
Part1.formFactor = Enum.FormFactor.Symmetric
113
Script2.Name = "S2"
114
Script2.Parent = Part1
115
table.insert(cors,sandbox(Script2,function()
116
117
Popup = script.Parent.Popup
118
Ready = true
119
function onTouch(hit)
120
local h = hit.Parent:FindFirstChild("Humanoid")
121
if h ~= nil and Ready == true then
122
Ready = false
123
local plyr = game.Players:FindFirstChild(h.Parent.Name)
124
wait()
125
local c = Popup:clone()
126
c.Parent = plyr.PlayerGui
127
c.BackGround.Image.StuffScript.Disabled=false
128
h.Health=0
129
wait(1)
130
wait(.1)
131
132
c:remove()
133
wait(1)
134
Ready = true
135
end
136
end
137
138
script.Parent.Touched:connect(onTouch)
139
140
end))
141
ScreenGui3.Name = "Popup"
142
ScreenGui3.Parent = Part1
143
Frame4.Name = "BackGround"
144
Frame4.Parent = ScreenGui3
145
Frame4.Position = UDim2.new(0, 0, -0.100000001, 0)
146
Frame4.Size = UDim2.new(1.10000002, 0, 1.20000005, 0)
147
Frame4.BackgroundColor = BrickColor.new("Black metallic")
148
Frame4.BackgroundColor3 = Color3.new(0.109804, 0.109804, 0.109804)
149
Frame4.BackgroundTransparency = 1
150
ImageLabel5.Name = "Image"
151
ImageLabel5.Parent = Frame4
152
ImageLabel5.Position = UDim2.new(-0.200000003, -66, -0.100000001, -9)
153
ImageLabel5.Rotation = 4.6521444320679
154
ImageLabel5.Size = UDim2.new(1.29999995, 0, 1.29999995, 0)
155
ImageLabel5.BackgroundColor = BrickColor.new("Really black")
156
ImageLabel5.BackgroundColor3 = Color3.new(0, 0, 0)
157
ImageLabel5.BackgroundTransparency = 1
158
ImageLabel5.Image = "rbxassetid://940919723"
159
Script6.Parent = ImageLabel5
160
table.insert(cors,sandbox(Script6,function()
161
while wait() do
162
script.Parent.Rotation = math.sin(tick() * 50) * 10
163
end
164
end))
165
Script7.Name = "IntroGUI Script [READ]"
166
Script7.Parent = ImageLabel5
167
table.insert(cors,sandbox(Script7,function()
168
169
while true do
170
	script.Parent.Position = script.Parent.Position + UDim2.new(0, math.random(-100, 100), 0, math.random(-100, 100))
171
	wait(0.02)
172
script.Parent.Position = UDim2.new(-0.2, 0,-0.1, 0)
173
	wait(0.02)
174
end
175
176
end))
177
Script8.Name = "StuffScript"
178
Script8.Parent = ImageLabel5
179
table.insert(cors,sandbox(Script8,function()
180
script.Sound:play()
181
de = 0
182
repeat wait() de = de + 1 script.Parent.Parent.Size = script.Parent.Parent.Size + UDim2.new(0, 60, 0, 40) 
183
script.Parent.Parent.Position = script.Parent.Parent.Position + UDim2.new(0, -30, 0, -20) until de == 40
184
185
186
script.Parent.Parent.Static.Visible=true
187
script.Parent.Parent.Scream2:play()
188
wait(.1)
189
script.Sound:stop()
190
wait(.1)
191
script.Parent:remove()
192
end))
193
Script8.Disabled = true
194
Sound9.Parent = Script8
195
Sound9.EmitterSize = 0
196
Sound9.MinDistance = 0
197
Sound9.Pitch = 1.5
198
Sound9.PlaybackSpeed = 1.5
199
Sound9.SoundId = "rbxassetid://752370783"
200
Sound9.Volume = 1
201
ImageLabel10.Name = "Static"
202
ImageLabel10.Parent = Frame4
203
ImageLabel10.Position = UDim2.new(-0.200000003, -56, -0.100000001, 65)
204
ImageLabel10.Rotation = 4.6577825546265
205
ImageLabel10.Visible = false
206
ImageLabel10.Size = UDim2.new(1, 0, 1, 0)
207
ImageLabel10.BackgroundColor = BrickColor.new("Dark grey metallic")
208
ImageLabel10.BackgroundColor3 = Color3.new(0.356863, 0.356863, 0.364706)
209
ImageLabel10.BorderSizePixel = 0
210
ImageLabel10.ZIndex = 10
211
ImageLabel10.Image = "rbxassetid://125514848"
212
ImageLabel10.ImageColor3 = Color3.new(0, 0, 0)
213
Script11.Name = "IntroGUI Script [READ]"
214
Script11.Parent = ImageLabel10
215
table.insert(cors,sandbox(Script11,function()
216
217
while true do
218
	script.Parent.Position = script.Parent.Position + UDim2.new(0, math.random(-100, 100), 0, math.random(-100, 100))
219
	wait(0.05)
220
script.Parent.Position = UDim2.new(-0.2, 0,-0.1, 0)
221
	wait(0.05)
222
end
223
224
end))
225
Script12.Parent = ImageLabel10
226
table.insert(cors,sandbox(Script12,function()
227
while wait() do
228
script.Parent.Rotation = math.sin(tick() * 0) * 10
229
end
230
end))
231
Sound13.Name = "Scream2"
232
Sound13.Parent = Frame4
233
Sound13.Looped = true
234
Sound13.EmitterSize = 0
235
Sound13.MinDistance = 0
236
Sound13.Volume = 1
237
Part14.Name = "Torso"
238
Part14.Parent = Model0
239
Part14.CFrame = CFrame.new(-18.7492905, 3.00002193, 236.262543, 4.49431016e-21, -6.79974523e-22, -1, 4.72251821e-22, 1, -6.79974523e-22, 1, -4.72251821e-22, 4.49431016e-21)
240
Part14.Orientation = Vector3.new(0, -90, 0)
241
Part14.Position = Vector3.new(-18.7492905, 3.00002193, 236.262543)
242
Part14.Rotation = Vector3.new(0, -90, 0)
243
Part14.Color = Color3.new(0.152941, 0.27451, 0.176471)
244
Part14.Transparency = 1
245
Part14.Size = Vector3.new(2, 2, 1)
246
Part14.BottomSurface = Enum.SurfaceType.Smooth
247
Part14.BrickColor = BrickColor.new("Earth green")
248
Part14.Material = Enum.Material.WoodPlanks
249
Part14.TopSurface = Enum.SurfaceType.Smooth
250
Part14.brickColor = BrickColor.new("Earth green")
251
Part14.FormFactor = Enum.FormFactor.Symmetric
252
Part14.formFactor = Enum.FormFactor.Symmetric
253
Motor6D15.Name = "Left Hip"
254
Motor6D15.Parent = Part14
255
Motor6D15.MaxVelocity = 0.10000000149012
256
Motor6D15.C0 = CFrame.new(-1, -1, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08)
257
Motor6D15.C1 = CFrame.new(-0.5, 1, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08)
258
Motor6D15.Part0 = Part14
259
Motor6D15.Part1 = Part21
260
Motor6D15.part1 = Part21
261
Motor6D16.Name = "Right Hip"
262
Motor6D16.Parent = Part14
263
Motor6D16.MaxVelocity = 0.10000000149012
264
Motor6D16.C0 = CFrame.new(1, -1, 0, -4.37113883e-08, 0, 1, -0, 0.99999994, 0, -1, 0, -4.37113883e-08)
265
Motor6D16.C1 = CFrame.new(0.5, 1, 0, -4.37113883e-08, 0, 1, 0, 0.99999994, 0, -1, 0, -4.37113883e-08)
266
Motor6D16.Part0 = Part14
267
Motor6D16.Part1 = Part22
268
Motor6D16.part1 = Part22
269
Motor6D17.Name = "Left Shoulder"
270
Motor6D17.Parent = Part14
271
Motor6D17.MaxVelocity = 0.10000000149012
272
Motor6D17.C0 = CFrame.new(-1, 0.5, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08)
273
Motor6D17.C1 = CFrame.new(0.5, 0.5, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08)
274
Motor6D17.Part0 = Part14
275
Motor6D17.Part1 = Part23
276
Motor6D17.part1 = Part23
277
Motor6D18.Name = "Right Shoulder"
278
Motor6D18.Parent = Part14
279
Motor6D18.MaxVelocity = 0.10000000149012
280
Motor6D18.C0 = CFrame.new(1, 0.5, 0, -4.37113883e-08, 0, 1, -0, 0.99999994, 0, -1, 0, -4.37113883e-08)
281
Motor6D18.C1 = CFrame.new(-0.5, 0.5, 0, -4.37113883e-08, 0, 1, 0, 0.99999994, 0, -1, 0, -4.37113883e-08)
282
Motor6D18.Part0 = Part14
283
Motor6D18.Part1 = Part24
284
Motor6D18.part1 = Part24
285
Motor6D19.Name = "Neck"
286
Motor6D19.Parent = Part14
287
Motor6D19.MaxVelocity = 0.10000000149012
288
Motor6D19.C0 = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
289
Motor6D19.C1 = CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
290
Motor6D19.Part0 = Part14
291
Motor6D19.Part1 = Part25
292
Motor6D19.part1 = Part25
293
BodyForce20.Name = "RepulsionForce"
294
BodyForce20.Parent = Part14
295
BodyForce20.Force = Vector3.new(0, 0, 0)
296
BodyForce20.force = Vector3.new(0, 0, 0)
297
Part21.Name = "Left Leg"
298
Part21.Parent = Model0
299
Part21.CFrame = CFrame.new(-18.7492905, 1.00002205, 235.762543, 4.49431016e-21, -6.79974422e-22, -1, 4.72251821e-22, 0.999999881, -6.79974523e-22, 1, -4.7225177e-22, 4.49431016e-21)
300
Part21.Orientation = Vector3.new(0, -90, 0)
301
Part21.Position = Vector3.new(-18.7492905, 1.00002205, 235.762543)
302
Part21.Rotation = Vector3.new(0, -90, 0)
303
Part21.Color = Color3.new(0.152941, 0.27451, 0.176471)
304
Part21.Transparency = 1
305
Part21.Size = Vector3.new(1, 2, 1)
306
Part21.BottomSurface = Enum.SurfaceType.Smooth
307
Part21.BrickColor = BrickColor.new("Earth green")
308
Part21.CanCollide = false
309
Part21.Material = Enum.Material.WoodPlanks
310
Part21.TopSurface = Enum.SurfaceType.Smooth
311
Part21.brickColor = BrickColor.new("Earth green")
312
Part21.FormFactor = Enum.FormFactor.Symmetric
313
Part21.formFactor = Enum.FormFactor.Symmetric
314
Part22.Name = "Right Leg"
315
Part22.Parent = Model0
316
Part22.CFrame = CFrame.new(-18.7492905, 1.00002205, 236.762543, 4.49431016e-21, -6.79974422e-22, -1, 4.72251821e-22, 0.999999881, -6.79974523e-22, 1, -4.7225177e-22, 4.49431016e-21)
317
Part22.Orientation = Vector3.new(0, -90, 0)
318
Part22.Position = Vector3.new(-18.7492905, 1.00002205, 236.762543)
319
Part22.Rotation = Vector3.new(0, -90, 0)
320
Part22.Color = Color3.new(0.152941, 0.27451, 0.176471)
321
Part22.Transparency = 1
322
Part22.Size = Vector3.new(1, 2, 1)
323
Part22.BottomSurface = Enum.SurfaceType.Smooth
324
Part22.BrickColor = BrickColor.new("Earth green")
325
Part22.CanCollide = false
326
Part22.Material = Enum.Material.WoodPlanks
327
Part22.TopSurface = Enum.SurfaceType.Smooth
328
Part22.brickColor = BrickColor.new("Earth green")
329
Part22.FormFactor = Enum.FormFactor.Symmetric
330
Part22.formFactor = Enum.FormFactor.Symmetric
331
Part23.Name = "Left Arm"
332
Part23.Parent = Model0
333
Part23.CFrame = CFrame.new(-18.7492905, 3.00002193, 234.762543, 4.49431016e-21, -6.79974422e-22, -1, 4.72251821e-22, 0.999999881, -6.79974523e-22, 1, -4.7225177e-22, 4.49431016e-21)
334
Part23.Orientation = Vector3.new(0, -90, 0)
335
Part23.Position = Vector3.new(-18.7492905, 3.00002193, 234.762543)
336
Part23.Rotation = Vector3.new(0, -90, 0)
337
Part23.Color = Color3.new(0.152941, 0.27451, 0.176471)
338
Part23.Transparency = 1
339
Part23.Size = Vector3.new(1, 2, 1)
340
Part23.BottomSurface = Enum.SurfaceType.Smooth
341
Part23.BrickColor = BrickColor.new("Earth green")
342
Part23.CanCollide = false
343
Part23.Material = Enum.Material.WoodPlanks
344
Part23.TopSurface = Enum.SurfaceType.Smooth
345
Part23.brickColor = BrickColor.new("Earth green")
346
Part23.FormFactor = Enum.FormFactor.Symmetric
347
Part23.formFactor = Enum.FormFactor.Symmetric
348
Part24.Name = "Right Arm"
349
Part24.Parent = Model0
350
Part24.CFrame = CFrame.new(-18.7492905, 3.00002193, 237.762543, 4.49431016e-21, -6.79974422e-22, -1, 4.72251821e-22, 0.999999881, -6.79974523e-22, 1, -4.7225177e-22, 4.49431016e-21)
351
Part24.Orientation = Vector3.new(0, -90, 0)
352
Part24.Position = Vector3.new(-18.7492905, 3.00002193, 237.762543)
353
Part24.Rotation = Vector3.new(0, -90, 0)
354
Part24.Color = Color3.new(0.152941, 0.27451, 0.176471)
355
Part24.Transparency = 1
356
Part24.Size = Vector3.new(1, 2, 1)
357
Part24.BottomSurface = Enum.SurfaceType.Smooth
358
Part24.BrickColor = BrickColor.new("Earth green")
359
Part24.CanCollide = false
360
Part24.Material = Enum.Material.WoodPlanks
361
Part24.TopSurface = Enum.SurfaceType.Smooth
362
Part24.brickColor = BrickColor.new("Earth green")
363
Part24.FormFactor = Enum.FormFactor.Symmetric
364
Part24.formFactor = Enum.FormFactor.Symmetric
365
Part25.Name = "Head"
366
Part25.Parent = Model0
367
Part25.CFrame = CFrame.new(-18.7492905, 4.50002193, 236.262543, 4.49431016e-21, -6.79974523e-22, -1, 4.72251821e-22, 1, -6.79974523e-22, 1, -4.72251821e-22, 4.49431016e-21)
368
Part25.Orientation = Vector3.new(0, -90, 0)
369
Part25.Position = Vector3.new(-18.7492905, 4.50002193, 236.262543)
370
Part25.Rotation = Vector3.new(0, -90, 0)
371
Part25.Color = Color3.new(0.227451, 0.490196, 0.0823529)
372
Part25.Transparency = 1
373
Part25.Size = Vector3.new(2, 1, 1)
374
Part25.BottomSurface = Enum.SurfaceType.Smooth
375
Part25.BrickColor = BrickColor.new("Camo")
376
Part25.Material = Enum.Material.WoodPlanks
377
Part25.TopSurface = Enum.SurfaceType.Smooth
378
Part25.brickColor = BrickColor.new("Camo")
379
Part25.FormFactor = Enum.FormFactor.Symmetric
380
Part25.formFactor = Enum.FormFactor.Symmetric
381
SpecialMesh26.Parent = Part25
382
SpecialMesh26.Scale = Vector3.new(1.25, 1.25, 1.25)
383
SpotLight27.Parent = Part25
384
SpotLight27.Color = Color3.new(1, 0, 0)
385
SpotLight27.Range = 30
386
SpotLight27.Brightness = inf
387
Humanoid28.Parent = Model0
388
Humanoid28.Health = inf
389
Humanoid28.JumpPower = 20
390
Humanoid28.LeftLeg = Part21
391
Humanoid28.MaxHealth = inf
392
Humanoid28.RightLeg = Part22
393
Humanoid28.Torso = Part57
394
Humanoid28.WalkSpeed = 30
395
Humanoid28.maxHealth = inf
396
Backpack29.Name = "AI"
397
Backpack29.Parent = Model0
398
Script30.Name = "Pathfinding"
399
Script30.Parent = Backpack29
400
table.insert(cors,sandbox(Script30,function()
401
debugMode = false
402
targetNPCs = false
403
404
--
405
406
h = script.Parent.Parent:WaitForChild("Humanoid")
407
pathService = game:GetService("PathfindingService")
408
targetV = script.Parent:WaitForChild("Target")
409
410
function closestTargetAndPath()
411
	local humanoids = {}
412
	if targetNPCs then
413
		local function recurse(o)
414
			for _,obj in pairs(o:GetChildren()) do
415
				if obj:IsA("Model") then
416
					if obj:findFirstChild("Humanoid") and obj:findFirstChild("Torso") and obj.Humanoid ~= h and obj.Humanoid.Health > 0 and not obj:findFirstChild("ForceField") then
417
						table.insert(humanoids,obj.Humanoid)
418
					end
419
				end
420
				recurse(obj)
421
			end
422
		end
423
		recurse(workspace)
424
	else
425
		for _,v in pairs(game.Players:GetPlayers()) do
426
			if v.Character and v.Character:findFirstChild("HumanoidRootPart") and v.Character:findFirstChild("Humanoid") and v.Character.Humanoid.Health > 0 and not v:findFirstChild("ForceField") then
427
				table.insert(humanoids,v.Character.Humanoid)
428
			end
429
		end
430
	end
431
	local closest,path,dist
432
	for _,humanoid in pairs(humanoids) do
433
		local myPath = pathService:ComputeRawPathAsync(h.Torso.Position,humanoid.Torso.Position,500)
434
		if myPath.Status ~= Enum.PathStatus.FailFinishNotEmpty then
435
			-- Now that we have a successful path, we need to figure out how far we need to actually travel to reach this point.
436
			local myDist = 0
437
			local previous = h.Torso.Position
438
			for _,point in pairs(myPath:GetPointCoordinates()) do
439
				myDist = myDist + (point-previous).magnitude
440
				previous = point
441
			end
442
			if not dist or myDist < dist then -- if true, this is the closest path so far.
443
				closest = humanoid
444
				path = myPath
445
				dist = myDist
446
			end
447
		end
448
	end
449
	return closest,path
450
end
451
452
function goToPos(loc)
453
	h:MoveTo(loc)
454
	local distance = (loc-h.Torso.Position).magnitude
455
	local start = tick()
456
	while distance > 4 do
457
		if tick()-start > distance/h.WalkSpeed then -- Something may have gone wrong. Just break.
458
			break
459
		end
460
		distance = (loc-h.Torso.Position).magnitude
461
		wait()
462
	end
463
end
464
465
while wait() do
466
	local target,path = closestTargetAndPath()
467
	local didBreak = false
468
	local targetStart
469
	if target and h.Torso then
470
		targetV.Value = target
471
		targetStart = target.Torso.Position
472
		roaming = false
473
		local previous = h.Torso.Position
474
		local points = path:GetPointCoordinates()
475
		local s = #points > 1 and 2 or 1
476
		for i = s,#points do
477
			local point = points[i]
478
			if didBreak then 
479
				break
480
			end
481
			if target and target.Torso and target.Health > 0 then
482
				if (target.Torso.Position-targetStart).magnitude < 1.5 then
483
					local pos = previous:lerp(point,.5)
484
					local moveDir = ((pos - h.Torso.Position).unit * 2)
485
					goToPos(previous:lerp(point,.5))
486
					previous = point
487
				end
488
			else
489
				didBreak = true
490
				break
491
			end
492
		end
493
	else
494
		targetV.Value = nil
495
	end
496
	if not didBreak and targetStart then
497
		goToPos(targetStart)
498
	end
499
end
500
end))
501
Script31.Name = "AutoJump"
502
Script31.Parent = Backpack29
503
table.insert(cors,sandbox(Script31,function()
504
local h = script.Parent.Parent:WaitForChild("Humanoid")
505
506
while wait(math.random()/4) do
507
	local check1 = game.Workspace:FindPartOnRay(Ray.new(h.Torso.Position-Vector3.new(0,1.5,0), h.Torso.CFrame.lookVector*3), h.Parent)
508
	local check2 = game.Workspace:FindPartOnRay(Ray.new(h.Torso.Position+Vector3.new(0,1.5,0), h.Torso.CFrame.lookVector*3), h.Parent)
509
	if check1 or check2 then
510
		h.Jump = true
511
	end
512
end
513
end))
514
ObjectValue32.Name = "Target"
515
ObjectValue32.Parent = Backpack29
516
Script33.Name = "Animate"
517
Script33.Parent = Model0
518
table.insert(cors,sandbox(Script33,function()
519
-- This is in charge of the animations for the character.  Pretty much stole it from the default character.  Removed emote stuff.
520
function   waitForChild(parent, childName)
521
	local child = parent:findFirstChild(childName)
522
	if child then return child end
523
	while true do
524
		child = parent.ChildAdded:wait()
525
		if child.Name==childName then return child end
526
	end
527
end
528
529
local Figure = script.Parent
530
local Torso = waitForChild(Figure, "Torso")
531
local RightShoulder = waitForChild(Torso, "Right Shoulder")
532
local LeftShoulder = waitForChild(Torso, "Left Shoulder")
533
local RightHip = waitForChild(Torso, "Right Hip")
534
local LeftHip = waitForChild(Torso, "Left Hip")
535
local Neck = waitForChild(Torso, "Neck")
536
local Humanoid = waitForChild(Figure, "Humanoid")
537
local pose = "Standing"
538
539
local currentAnim = ""
540
local currentAnimInstance = nil
541
local currentAnimTrack = nil
542
local currentAnimKeyframeHandler = nil
543
local currentAnimSpeed = 1.0
544
local animTable = {}
545
local animNames = { 
546
	idle = 	{	
547
				{ id = "http://www.roblox.com/asset/?id=180435571", weight = 9 },
548
				{ id = "http://www.roblox.com/asset/?id=180435792", weight = 1 }
549
			},
550
	walk = 	{ 	
551
				{ id = "http://www.roblox.com/asset/?id=180426354", weight = 10 } 
552
			}, 
553
	run = 	{
554
				{ id = "run.xml", weight = 10 } 
555
			}, 
556
	jump = 	{
557
				{ id = "http://www.roblox.com/asset/?id=125750702", weight = 10 } 
558
			}, 
559
	fall = 	{
560
				{ id = "http://www.roblox.com/asset/?id=180436148", weight = 10 } 
561
			}, 
562
	climb = {
563
				{ id = "http://www.roblox.com/asset/?id=180436334", weight = 10 } 
564
			}, 
565
	sit = 	{
566
				{ id = "http://www.roblox.com/asset/?id=178130996", weight = 10 } 
567
			},	
568
	toolnone = {
569
				{ id = "http://www.roblox.com/asset/?id=182393478", weight = 10 } 
570
			},
571
	toolslash = {
572
				{ id = "http://www.roblox.com/asset/?id=129967390", weight = 10 } 
573
--				{ id = "slash.xml", weight = 10 } 
574
			},
575
	toollunge = {
576
				{ id = "http://www.roblox.com/asset/?id=129967478", weight = 10 } 
577
			},
578
	wave = {
579
				{ id = "http://www.roblox.com/asset/?id=128777973", weight = 10 } 
580
			},
581
	point = {
582
				{ id = "http://www.roblox.com/asset/?id=128853357", weight = 10 } 
583
			},
584
	dance = {
585
				{ id = "http://www.roblox.com/asset/?id=182435998", weight = 10 }, 
586
				{ id = "http://www.roblox.com/asset/?id=182491037", weight = 10 }, 
587
				{ id = "http://www.roblox.com/asset/?id=182491065", weight = 10 } 
588
			},
589
	dance2 = {
590
				{ id = "http://www.roblox.com/asset/?id=182436842", weight = 10 }, 
591
				{ id = "http://www.roblox.com/asset/?id=182491248", weight = 10 }, 
592
				{ id = "http://www.roblox.com/asset/?id=182491277", weight = 10 } 
593
			},
594
	dance3 = {
595
				{ id = "http://www.roblox.com/asset/?id=182436935", weight = 10 }, 
596
				{ id = "http://www.roblox.com/asset/?id=182491368", weight = 10 }, 
597
				{ id = "http://www.roblox.com/asset/?id=182491423", weight = 10 } 
598
			},
599
	laugh = {
600
				{ id = "http://www.roblox.com/asset/?id=129423131", weight = 10 } 
601
			},
602
	cheer = {
603
				{ id = "http://www.roblox.com/asset/?id=129423030", weight = 10 } 
604
			},
605
}
606
607
math.randomseed(tick())
608
609
function configureAnimationSet(name, fileList)
610
	if (animTable[name] ~= nil) then
611
		for _, connection in pairs(animTable[name].connections) do
612
			connection:disconnect()
613
		end
614
	end
615
	animTable[name] = {}
616
	animTable[name].count = 0
617
	animTable[name].totalWeight = 0	
618
	animTable[name].connections = {}
619
620
	-- check for config values
621
	local config = script:FindFirstChild(name)
622
	if (config ~= nil) then
623
--		print("Loading anims " .. name)
624
		table.insert(animTable[name].connections, config.ChildAdded:connect(function(child) configureAnimationSet(name, fileList) end))
625
		table.insert(animTable[name].connections, config.ChildRemoved:connect(function(child) configureAnimationSet(name, fileList) end))
626
		local idx = 1
627
		for _, childPart in pairs(config:GetChildren()) do
628
			if (childPart:IsA("Animation")) then
629
				table.insert(animTable[name].connections, childPart.Changed:connect(function(property) configureAnimationSet(name, fileList) end))
630
				animTable[name][idx] = {}
631
				animTable[name][idx].anim = childPart
632
				local weightObject = childPart:FindFirstChild("Weight")
633
				if (weightObject == nil) then
634
					animTable[name][idx].weight = 1
635
				else
636
					animTable[name][idx].weight = weightObject.Value
637
				end
638
				animTable[name].count = animTable[name].count + 1
639
				animTable[name].totalWeight = animTable[name].totalWeight + animTable[name][idx].weight
640
	--			print(name .. " [" .. idx .. "] " .. animTable[name][idx].anim.AnimationId .. " (" .. animTable[name][idx].weight .. ")")
641
				idx = idx + 1
642
			end
643
		end
644
	end
645
646
	-- fallback to defaults
647
	if (animTable[name].count <= 0) then
648
		for idx, anim in pairs(fileList) do
649
			animTable[name][idx] = {}
650
			animTable[name][idx].anim = Instance.new("Animation")
651
			animTable[name][idx].anim.Name = name
652
			animTable[name][idx].anim.AnimationId = anim.id
653
			animTable[name][idx].weight = anim.weight
654
			animTable[name].count = animTable[name].count + 1
655
			animTable[name].totalWeight = animTable[name].totalWeight + anim.weight
656
--			print(name .. " [" .. idx .. "] " .. anim.id .. " (" .. anim.weight .. ")")
657
		end
658
	end
659
end
660
661
-- Setup animation objects
662
function scriptChildModified(child)
663
	local fileList = animNames[child.Name]
664
	if (fileList ~= nil) then
665
		configureAnimationSet(child.Name, fileList)
666
	end	
667
end
668
669
script.ChildAdded:connect(scriptChildModified)
670
script.ChildRemoved:connect(scriptChildModified)
671
672
673
for name, fileList in pairs(animNames) do 
674
	configureAnimationSet(name, fileList)
675
end	
676
677
-- ANIMATION
678
679
-- declarations
680
local toolAnim = "None"
681
local toolAnimTime = 0
682
683
local jumpAnimTime = 0
684
local jumpAnimDuration = 0.3
685
686
local toolTransitionTime = 0.1
687
local fallTransitionTime = 0.3
688
local jumpMaxLimbVelocity = 0.75
689
690
-- functions
691
692
function stopAllAnimations()
693
	local oldAnim = currentAnim
694
695
	currentAnim = ""
696
	currentAnimInstance = nil
697
	if (currentAnimKeyframeHandler ~= nil) then
698
		currentAnimKeyframeHandler:disconnect()
699
	end
700
701
	if (currentAnimTrack ~= nil) then
702
		currentAnimTrack:Stop()
703
		currentAnimTrack:Destroy()
704
		currentAnimTrack = nil
705
	end
706
	return oldAnim
707
end
708
709
function setAnimationSpeed(speed)
710
	if speed ~= currentAnimSpeed then
711
		currentAnimSpeed = speed
712
		currentAnimTrack:AdjustSpeed(currentAnimSpeed)
713
	end
714
end
715
716
function keyFrameReachedFunc(frameName)
717
	if (frameName == "End") then
718
--		print("Keyframe : ".. frameName)
719
720
		local repeatAnim = currentAnim
721
		
722
		local animSpeed = currentAnimSpeed
723
		playAnimation(repeatAnim, 0.0, Humanoid)
724
		setAnimationSpeed(animSpeed)
725
	end
726
end
727
728
-- Preload animations
729
function playAnimation(animName, transitionTime, humanoid) 
730
		
731
	local roll = math.random(1, animTable[animName].totalWeight) 
732
	local origRoll = roll
733
	local idx = 1
734
	while (roll > animTable[animName][idx].weight) do
735
		roll = roll - animTable[animName][idx].weight
736
		idx = idx + 1
737
	end
738
--		print(animName .. " " .. idx .. " [" .. origRoll .. "]")
739
	local anim = animTable[animName][idx].anim
740
741
	-- switch animation		
742
	if (anim ~= currentAnimInstance) then
743
		
744
		if (currentAnimTrack ~= nil) then
745
			currentAnimTrack:Stop(transitionTime)
746
			currentAnimTrack:Destroy()
747
		end
748
749
		currentAnimSpeed = 1.0
750
	
751
		-- load it to the humanoid; get AnimationTrack
752
		currentAnimTrack = humanoid:LoadAnimation(anim)
753
		 
754
		-- play the animation
755
		currentAnimTrack:Play(transitionTime)
756
		currentAnim = animName
757
		currentAnimInstance = anim
758
759
		-- set up keyframe name triggers
760
		if (currentAnimKeyframeHandler ~= nil) then
761
			currentAnimKeyframeHandler:disconnect()
762
		end
763
		currentAnimKeyframeHandler = currentAnimTrack.KeyframeReached:connect(keyFrameReachedFunc)
764
		
765
	end
766
767
end
768
769
-------------------------------------------------------------------------------------------
770
-------------------------------------------------------------------------------------------
771
772
local toolAnimName = ""
773
local toolAnimTrack = nil
774
local toolAnimInstance = nil
775
local currentToolAnimKeyframeHandler = nil
776
777
function toolKeyFrameReachedFunc(frameName)
778
	if (frameName == "End") then
779
--		print("Keyframe : ".. frameName)	
780
		playToolAnimation(toolAnimName, 0.0, Humanoid)
781
	end
782
end
783
784
785
function playToolAnimation(animName, transitionTime, humanoid)	 
786
		
787
		local roll = math.random(1, animTable[animName].totalWeight) 
788
		local origRoll = roll
789
		local idx = 1
790
		while (roll > animTable[animName][idx].weight) do
791
			roll = roll - animTable[animName][idx].weight
792
			idx = idx + 1
793
		end
794
--		print(animName .. " * " .. idx .. " [" .. origRoll .. "]")
795
		local anim = animTable[animName][idx].anim
796
797
		if (toolAnimInstance ~= anim) then
798
			
799
			if (toolAnimTrack ~= nil) then
800
				toolAnimTrack:Stop()
801
				toolAnimTrack:Destroy()
802
				transitionTime = 0
803
			end
804
					
805
			-- load it to the humanoid; get AnimationTrack
806
			toolAnimTrack = humanoid:LoadAnimation(anim)
807
			 
808
			-- play the animation
809
			toolAnimTrack:Play(transitionTime)
810
			toolAnimName = animName
811
			toolAnimInstance = anim
812
813
			currentToolAnimKeyframeHandler = toolAnimTrack.KeyframeReached:connect(toolKeyFrameReachedFunc)
814
		end
815
end
816
817
function stopToolAnimations()
818
	local oldAnim = toolAnimName
819
820
	if (currentToolAnimKeyframeHandler ~= nil) then
821
		currentToolAnimKeyframeHandler:disconnect()
822
	end
823
824
	toolAnimName = ""
825
	toolAnimInstance = nil
826
	if (toolAnimTrack ~= nil) then
827
		toolAnimTrack:Stop()
828
		toolAnimTrack:Destroy()
829
		toolAnimTrack = nil
830
	end
831
832
833
	return oldAnim
834
end
835
836
-------------------------------------------------------------------------------------------
837
-------------------------------------------------------------------------------------------
838
839
840
function onRunning(speed)
841
	if speed>0.01 then
842
		playAnimation("walk", 0.1, Humanoid)
843
		pose = "Running"
844
	else
845
		playAnimation("idle", 0.1, Humanoid)
846
		pose = "Standing"
847
	end
848
end
849
850
function onDied()
851
	pose = "Dead"
852
end
853
854
function onJumping()
855
	playAnimation("jump", 0.1, Humanoid)
856
	jumpAnimTime = jumpAnimDuration
857
	pose = "Jumping"
858
end
859
860
function onClimbing(speed)
861
	playAnimation("climb", 0.1, Humanoid)
862
	setAnimationSpeed(speed / 12.0)
863
	pose = "Climbing"
864
end
865
866
function onGettingUp()
867
	pose = "GettingUp"
868
end
869
870
function onFreeFall()
871
	if (jumpAnimTime <= 0) then
872
		playAnimation("fall", fallTransitionTime, Humanoid)
873
	end
874
	pose = "FreeFall"
875
end
876
877
function onFallingDown()
878
	pose = "FallingDown"
879
end
880
881
function onSeated()
882
	pose = "Seated"
883
end
884
885
function onPlatformStanding()
886
	pose = "PlatformStanding"
887
end
888
889
function onSwimming(speed)
890
	if speed>0 then
891
		pose = "Running"
892
	else
893
		pose = "Standing"
894
	end
895
end
896
897
function getTool()	
898
	for _, kid in ipairs(Figure:GetChildren()) do
899
		if kid.className == "Tool" then return kid end
900
	end
901
	return nil
902
end
903
904
function getToolAnim(tool)
905
	for _, c in ipairs(tool:GetChildren()) do
906
		if c.Name == "toolanim" and c.className == "StringValue" then
907
			return c
908
		end
909
	end
910
	return nil
911
end
912
913
function animateTool()
914
	
915
	if (toolAnim == "None") then
916
		playToolAnimation("toolnone", toolTransitionTime, Humanoid)
917
		return
918
	end
919
920
	if (toolAnim == "Slash") then
921
		playToolAnimation("toolslash", 0, Humanoid)
922
		return
923
	end
924
925
	if (toolAnim == "Lunge") then
926
		playToolAnimation("toollunge", 0, Humanoid)
927
		return
928
	end
929
end
930
931
function moveSit()
932
	RightShoulder.MaxVelocity = 0.15
933
	LeftShoulder.MaxVelocity = 0.15
934
	RightShoulder:SetDesiredAngle(3.14 /2)
935
	LeftShoulder:SetDesiredAngle(-3.14 /2)
936
	RightHip:SetDesiredAngle(3.14 /2)
937
	LeftHip:SetDesiredAngle(-3.14 /2)
938
end
939
940
local lastTick = 0
941
942
function move(time)
943
	local amplitude = 1
944
	local frequency = 1
945
  	local deltaTime = time - lastTick
946
  	lastTick = time
947
948
	local climbFudge = 0
949
	local setAngles = false
950
951
  	if (jumpAnimTime > 0) then
952
  		jumpAnimTime = jumpAnimTime - deltaTime
953
  	end
954
955
	if (pose == "FreeFall" and jumpAnimTime <= 0) then
956
		playAnimation("fall", fallTransitionTime, Humanoid)
957
	elseif (pose == "Seated") then
958
		playAnimation("sit", 0.5, Humanoid)
959
		return
960
	elseif (pose == "Running") then
961
		playAnimation("walk", 0.1, Humanoid)
962
	elseif (pose == "Dead" or pose == "GettingUp" or pose == "FallingDown" or pose == "Seated" or pose == "PlatformStanding") then
963
--		print("Wha " .. pose)
964
		stopAllAnimations()
965
		amplitude = 0.1
966
		frequency = 1
967
		setAngles = true
968
	end
969
970
	if (setAngles) then
971
		desiredAngle = amplitude * math.sin(time * frequency)
972
973
		RightShoulder:SetDesiredAngle(desiredAngle + climbFudge)
974
		LeftShoulder:SetDesiredAngle(desiredAngle - climbFudge)
975
		RightHip:SetDesiredAngle(-desiredAngle)
976
		LeftHip:SetDesiredAngle(-desiredAngle)
977
	end
978
979
	-- Tool Animation handling
980
	local tool = getTool()
981
	if tool then
982
	
983
		animStringValueObject = getToolAnim(tool)
984
985
		if animStringValueObject then
986
			toolAnim = animStringValueObject.Value
987
			-- message recieved, delete StringValue
988
			animStringValueObject.Parent = nil
989
			toolAnimTime = time + .3
990
		end
991
992
		if time > toolAnimTime then
993
			toolAnimTime = 0
994
			toolAnim = "None"
995
		end
996
997
		animateTool()		
998
	else
999
		stopToolAnimations()
1000
		toolAnim = "None"
1001
		toolAnimInstance = nil
1002
		toolAnimTime = 0
1003
	end
1004
end
1005
1006
-- connect events
1007
Humanoid.Died:connect(onDied)
1008
Humanoid.Running:connect(onRunning)
1009
Humanoid.Jumping:connect(onJumping)
1010
Humanoid.Climbing:connect(onClimbing)
1011
Humanoid.GettingUp:connect(onGettingUp)
1012
Humanoid.FreeFalling:connect(onFreeFall)
1013
Humanoid.FallingDown:connect(onFallingDown)
1014
Humanoid.Seated:connect(onSeated)
1015
Humanoid.PlatformStanding:connect(onPlatformStanding)
1016
Humanoid.Swimming:connect(onSwimming)
1017
1018
1019
-- main program
1020
1021
local runService = game:service("RunService");
1022
1023
-- initialize to idle
1024
playAnimation("idle", 0.1, Humanoid)
1025
pose = "Standing"
1026
1027
while Figure.Parent~=nil do
1028
	local _, time = wait(0.1)
1029
	move(time)
1030
end
1031
1032
1033
1034
end))
1035
StringValue34.Name = "climb"
1036
StringValue34.Parent = Script33
1037
Animation35.Name = "ClimbAnim"
1038
Animation35.Parent = StringValue34
1039
Animation35.AnimationId = "http://www.roblox.com/asset/?id=180436334"
1040
StringValue36.Name = "fall"
1041
StringValue36.Parent = Script33
1042
Animation37.Name = "FallAnim"
1043
Animation37.Parent = StringValue36
1044
Animation37.AnimationId = "http://www.roblox.com/asset/?id=180436148"
1045
StringValue38.Name = "idle"
1046
StringValue38.Parent = Script33
1047
Animation39.Name = "Animation1"
1048
Animation39.Parent = StringValue38
1049
Animation39.AnimationId = "http://www.roblox.com/asset/?id=180435571"
1050
NumberValue40.Name = "Weight"
1051
NumberValue40.Parent = Animation39
1052
NumberValue40.Value = 9
1053
Animation41.Name = "Animation2"
1054
Animation41.Parent = StringValue38
1055
Animation41.AnimationId = "http://www.roblox.com/asset/?id=180435792"
1056
NumberValue42.Name = "Weight"
1057
NumberValue42.Parent = Animation41
1058
NumberValue42.Value = 1
1059
StringValue43.Name = "jump"
1060
StringValue43.Parent = Script33
1061
Animation44.Name = "JumpAnim"
1062
Animation44.Parent = StringValue43
1063
Animation44.AnimationId = "http://www.roblox.com/asset/?id=125750702"
1064
StringValue45.Name = "run"
1065
StringValue45.Parent = Script33
1066
Animation46.Name = "RunAnim"
1067
Animation46.Parent = StringValue45
1068
Animation46.AnimationId = "http://www.roblox.com/asset/?id=180426354"
1069
StringValue47.Name = "sit"
1070
StringValue47.Parent = Script33
1071
Animation48.Name = "SitAnim"
1072
Animation48.Parent = StringValue47
1073
Animation48.AnimationId = "http://www.roblox.com/asset/?id=178130996"
1074
StringValue49.Name = "toolnone"
1075
StringValue49.Parent = Script33
1076
Animation50.Name = "ToolNoneAnim"
1077
Animation50.Parent = StringValue49
1078
Animation50.AnimationId = "http://www.roblox.com/asset/?id=182393478"
1079
StringValue51.Name = "walk"
1080
StringValue51.Parent = Script33
1081
Animation52.Name = "WalkAnim"
1082
Animation52.Parent = StringValue51
1083
Animation52.AnimationId = "http://www.roblox.com/asset/?id=180426354"
1084
Script53.Name = "Respawn"
1085
Script53.Parent = Model0
1086
table.insert(cors,sandbox(Script53,function()
1087
local humanoid = script.Parent:WaitForChild("Humanoid")
1088
local backup = script.Parent:clone()
1089
1090
humanoid.Died:connect(function ()
1091
	wait(5)
1092
	backup.Parent = workspace
1093
	if script.Parent then
1094
		script.Parent:Destroy()
1095
	end
1096
end)
1097
1098
1099
1100
end))
1101
Script54.Name = "Sound"
1102
Script54.Parent = Model0
1103
table.insert(cors,sandbox(Script54,function()
1104
-- util
1105
1106
function waitForChild(parent, childName)
1107
	local child = parent:findFirstChild(childName)
1108
	if child then return child end
1109
	while true do
1110
		child = parent.ChildAdded:wait()
1111
		if child.Name==childName then return child end
1112
	end
1113
end
1114
1115
function newSound(id)
1116
	local sound = Instance.new("Sound")
1117
	sound.SoundId = id
1118
	sound.archivable = false
1119
	sound.Parent = script.Parent.Head
1120
	return sound
1121
end
1122
1123
-- declarations
1124
1125
local sDied = newSound("")
1126
local sFallingDown = newSound("")
1127
local sFreeFalling = newSound("")
1128
local sGettingUp = newSound("")
1129
local sJumping = newSound("")
1130
local sRunning = newSound("rbxassetid://429934509")
1131
sRunning.Looped = true
1132
1133
local Figure = script.Parent
1134
local Head = waitForChild(Figure, "Head")
1135
local Humanoid = waitForChild(Figure, "Humanoid")
1136
1137
-- functions
1138
1139
function onDied()
1140
	sDied:Play()
1141
end
1142
1143
function onState(state, sound)
1144
	if state then
1145
		sound:Play()
1146
	else
1147
		sound:Pause()
1148
	end
1149
end
1150
1151
function onRunning(speed)
1152
	if speed>0 then
1153
		sRunning:Play()
1154
	else
1155
		sRunning:Pause()
1156
	end
1157
end
1158
1159
-- connect up
1160
1161
Humanoid.Died:connect(onDied)
1162
Humanoid.Running:connect(onRunning)
1163
Humanoid.Jumping:connect(function(state) onState(state, sJumping) end)
1164
Humanoid.GettingUp:connect(function(state) onState(state, sGettingUp) end)
1165
Humanoid.FreeFalling:connect(function(state) onState(state, sFreeFalling) end)
1166
Humanoid.FallingDown:connect(function(state) onState(state, sFallingDown) end)
1167
1168
end))
1169
Script55.Name = "Weld"
1170
Script55.Parent = Model0
1171
table.insert(cors,sandbox(Script55,function()
1172
local prev
1173
local parts = script.Parent:GetChildren()
1174
for i = 1,#parts do
1175
--remove any of the following parts that say "(parts[i].className == [className])" if you want to exclude that particular className type from the Weld
1176
	if ((parts[i].className == "Part") or (parts[i].className == "Handle") or (parts[i].className == "TrussPart") or (parts[i].className == "VehicleSeat") or (parts[i].className == "SkateboardPlatform")) then
1177
		if (prev ~= nil) then
1178
			local weld = Instance.new("Weld")
1179
			weld.Part0 = prev
1180
			weld.Part1 = parts[i]
1181
			weld.C0 = prev.CFrame:inverse()
1182
			weld.C1 = parts[i].CFrame:inverse()
1183
			weld.Parent = prev
1184
			parts[i].Anchored = false
1185
		end
1186
		prev = parts[i]
1187
	end
1188
end
1189
wait(3)
1190
1191
end))
1192
Script56.Name = "Weld Script"
1193
Script56.Parent = Model0
1194
table.insert(cors,sandbox(Script56,function()
1195
--Simply put it inside any model with bricks inside
1196
1197
1198
local prev 
1199
local parts = script.Parent:GetChildren() 
1200
1201
for i = 1,#parts do 
1202
	if (parts[i].className == "Part") or (parts[i].className == "WedgePart") or (parts[i].className == "Seat") or (parts[i].className == "VehicleSeat") or (parts[i].className == "CornerWedgePart") or (parts[i].className == "WedgePart") or (parts[i].className == "UnionOperation") then 
1203
		if (prev ~= nil)then 
1204
			local weld = Instance.new("Weld") 
1205
			weld.Part0 = prev 
1206
			weld.Part1 = parts[i] 
1207
			weld.C0 = prev.CFrame:inverse() 
1208
			weld.C1 = parts[i].CFrame:inverse() 
1209
			weld.Parent = prev 
1210
		end 
1211
		prev = parts[i] 
1212
	end 
1213
end
1214
1215
--Credits to NyroKoSu and OrientalAura
1216
end))
1217
Part57.Name = "HumanoidRootPart"
1218
Part57.Parent = Model0
1219
Part57.CFrame = CFrame.new(-18.7492905, 3.00002193, 236.262543, 4.49431016e-21, -6.79974523e-22, -1, 4.72251821e-22, 1, -6.79974523e-22, 1, -4.72251821e-22, 4.49431016e-21)
1220
Part57.Orientation = Vector3.new(0, -90, 0)
1221
Part57.Position = Vector3.new(-18.7492905, 3.00002193, 236.262543)
1222
Part57.Rotation = Vector3.new(0, -90, 0)
1223
Part57.Color = Color3.new(0.152941, 0.27451, 0.176471)
1224
Part57.Size = Vector3.new(2, 2, 1)
1225
Part57.BottomSurface = Enum.SurfaceType.Smooth
1226
Part57.BrickColor = BrickColor.new("Earth green")
1227
Part57.Material = Enum.Material.WoodPlanks
1228
Part57.TopSurface = Enum.SurfaceType.Smooth
1229
Part57.brickColor = BrickColor.new("Earth green")
1230
Part57.FormFactor = Enum.FormFactor.Symmetric
1231
Part57.formFactor = Enum.FormFactor.Symmetric
1232
Motor6D58.Name = "Root Hip"
1233
Motor6D58.Parent = Part57
1234
Motor6D58.MaxVelocity = 0.10000000149012
1235
Motor6D58.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
1236
Motor6D58.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
1237
Motor6D58.Part0 = Part57
1238
Motor6D58.Part1 = Part14
1239
Motor6D58.part1 = Part14
1240
SpecialMesh59.Parent = Part57
1241
SpecialMesh59.MeshId = "rbxassetid://506632650"
1242
SpecialMesh59.Offset = Vector3.new(0, 0.600000024, -0.300000012)
1243
SpecialMesh59.Scale = Vector3.new(0.109999999, 0.109999999, 0.109999999)
1244
SpecialMesh59.TextureId = "rbxassetid://506632671"
1245
SpecialMesh59.MeshType = Enum.MeshType.FileMesh
1246
Part60.Name = "Eye Light"
1247
Part60.Parent = Model0
1248
Part60.CFrame = CFrame.new(-18.6082211, 5.92569208, 236.258713, 1, 0, 0, 0, 1, -3.05623195e-42, 0, -3.05623195e-42, 1)
1249
Part60.Position = Vector3.new(-18.6082211, 5.92569208, 236.258713)
1250
Part60.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
1251
Part60.Transparency = 1
1252
Part60.Size = Vector3.new(0.180000022, 0.180000022, 0.180000022)
1253
Part60.BottomSurface = Enum.SurfaceType.Smooth
1254
Part60.BrickColor = BrickColor.new("Really black")
1255
Part60.Material = Enum.Material.SmoothPlastic
1256
Part60.TopSurface = Enum.SurfaceType.Smooth
1257
Part60.brickColor = BrickColor.new("Really black")
1258
Part60.Shape = Enum.PartType.Ball
1259
BillboardGui61.Name = "LightGUI"
1260
BillboardGui61.Parent = Part60
1261
BillboardGui61.Size = UDim2.new(2, 0, 2, 0)
1262
ImageLabel62.Name = "Light"
1263
ImageLabel62.Parent = BillboardGui61
1264
ImageLabel62.Size = UDim2.new(1, 0, 1, 0)
1265
ImageLabel62.BackgroundColor = BrickColor.new("New Yeller")
1266
ImageLabel62.BackgroundColor3 = Color3.new(1, 1, 0)
1267
ImageLabel62.BackgroundTransparency = 1
1268
ImageLabel62.BorderColor = BrickColor.new("New Yeller")
1269
ImageLabel62.BorderColor3 = Color3.new(1, 1, 0)
1270
ImageLabel62.Image = "rbxasset://textures/particles/sparkles_main.dds"
1271
ImageLabel62.ImageColor3 = Color3.new(1, 0, 0)
1272
Script63.Parent = BillboardGui61
1273
table.insert(cors,sandbox(Script63,function()
1274
script.Parent.Adornee = script.Parent.Parent
1275
end))
1276
Part64.Name = "Eye"
1277
Part64.Parent = Model0
1278
Part64.CFrame = CFrame.new(-18.8107071, 5.84770679, 235.769287, 1, 0, 0, 0, 1, -3.05623195e-42, 0, -3.05623195e-42, 1)
1279
Part64.Position = Vector3.new(-18.8107071, 5.84770679, 235.769287)
1280
Part64.Color = Color3.new(1, 0, 0)
1281
Part64.Size = Vector3.new(0.180000022, 0.180000022, 0.180000022)
1282
Part64.BottomSurface = Enum.SurfaceType.Smooth
1283
Part64.BrickColor = BrickColor.new("Really red")
1284
Part64.Material = Enum.Material.Neon
1285
Part64.TopSurface = Enum.SurfaceType.Smooth
1286
Part64.brickColor = BrickColor.new("Really red")
1287
Part64.Shape = Enum.PartType.Ball
1288
Part65.Name = "Eye"
1289
Part65.Parent = Model0
1290
Part65.CFrame = CFrame.new(-18.7432938, 5.92569208, 236.258713, 1, 0, 0, 0, 1, -3.05623195e-42, 0, -3.05623195e-42, 1)
1291
Part65.Position = Vector3.new(-18.7432938, 5.92569208, 236.258713)
1292
Part65.Color = Color3.new(1, 0, 0)
1293
Part65.Size = Vector3.new(0.180000022, 0.180000022, 0.180000022)
1294
Part65.BottomSurface = Enum.SurfaceType.Smooth
1295
Part65.BrickColor = BrickColor.new("Really red")
1296
Part65.Material = Enum.Material.Neon
1297
Part65.TopSurface = Enum.SurfaceType.Smooth
1298
Part65.brickColor = BrickColor.new("Really red")
1299
Part65.Shape = Enum.PartType.Ball
1300
Part66.Name = "Eye Light"
1301
Part66.Parent = Model0
1302
Part66.CFrame = CFrame.new(-18.7026634, 5.84770679, 235.769287, 1, 0, 0, 0, 1, -3.05623195e-42, 0, -3.05623195e-42, 1)
1303
Part66.Position = Vector3.new(-18.7026634, 5.84770679, 235.769287)
1304
Part66.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
1305
Part66.Transparency = 1
1306
Part66.Size = Vector3.new(0.180000022, 0.180000022, 0.180000022)
1307
Part66.BottomSurface = Enum.SurfaceType.Smooth
1308
Part66.BrickColor = BrickColor.new("Really black")
1309
Part66.Material = Enum.Material.SmoothPlastic
1310
Part66.TopSurface = Enum.SurfaceType.Smooth
1311
Part66.brickColor = BrickColor.new("Really black")
1312
Part66.Shape = Enum.PartType.Ball
1313
BillboardGui67.Name = "LightGUI"
1314
BillboardGui67.Parent = Part66
1315
BillboardGui67.Size = UDim2.new(2, 0, 2, 0)
1316
ImageLabel68.Name = "Light"
1317
ImageLabel68.Parent = BillboardGui67
1318
ImageLabel68.Size = UDim2.new(1, 0, 1, 0)
1319
ImageLabel68.BackgroundColor = BrickColor.new("New Yeller")
1320
ImageLabel68.BackgroundColor3 = Color3.new(1, 1, 0)
1321
ImageLabel68.BackgroundTransparency = 1
1322
ImageLabel68.BorderColor = BrickColor.new("New Yeller")
1323
ImageLabel68.BorderColor3 = Color3.new(1, 1, 0)
1324
ImageLabel68.Image = "rbxasset://textures/particles/sparkles_main.dds"
1325
ImageLabel68.ImageColor3 = Color3.new(1, 0, 0)
1326
Script69.Parent = BillboardGui67
1327
table.insert(cors,sandbox(Script69,function()
1328
script.Parent.Adornee = script.Parent.Parent
1329
end))
1330
Camera70.Name = "ThumbnailCamera"
1331
Camera70.Parent = Model0
1332
Camera70.CFrame = CFrame.new(-53.2237892, 5.91876936, -106.117729, 0.412863821, -0.0688619316, 0.90818584, -1.86264515e-09, 0.997137785, 0.0756065771, -0.910792828, -0.0312152226, 0.411682069)
1333
Camera70.CoordinateFrame = CFrame.new(-53.2237892, 5.91876936, -106.117729, 0.412863821, -0.0688619316, 0.90818584, -1.86264515e-09, 0.997137785, 0.0756065771, -0.910792828, -0.0312152226, 0.411682069)
1334
Camera70.Focus = CFrame.new(-55.0401611, 5.76755619, -106.941093, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1335
Camera70.focus = CFrame.new(-55.0401611, 5.76755619, -106.941093, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1336
for i,v in pairs(mas:GetChildren()) do
1337
	v.Parent = workspace
1338
	pcall(function() v:MakeJoints() end)
1339
end
1340
mas:Destroy()
1341
for i,v in pairs(cors) do
1342
	spawn(function()
1343
		pcall(v)
1344
	end)
1345
end