View difference between Paste ID: 8BCjMuwE and N8Xv8iwc
SHOW: | | - or go back to the newest paste.
1
--Original script quuisiYT or quu
2
-- This script has been converted to FE by iPxter
3
4
5
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
6
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
7
do
8
	print("FE Compatibility code by Mokiros | Translated to FE by iPxter")
9
	script.Parent = Player.Character
10
11
	--RemoteEvent for communicating
12
	local Event = Instance.new("RemoteEvent")
13
	Event.Name = "UserInput_Event"
14
15
	--Fake event to make stuff like Mouse.KeyDown work
16
	local function fakeEvent()
17
		local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
18
		t.connect = t.Connect
19
		return t
20
	end
21
22
	--Creating fake input objects with fake variables
23
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
24
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
25
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
26
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
27
	end}
28
	--Merged 2 functions into one by checking amount of arguments
29
	CAS.UnbindAction = CAS.BindAction
30
31
	--This function will trigger the events that have been :Connect()'ed
32
	local function te(self,ev,...)
33
		local t = m[ev]
34
		if t and t._fakeEvent and t.Function then
35
			t.Function(...)
36
		end
37
	end
38
	m.TrigEvent = te
39
	UIS.TrigEvent = te
40
41
	Event.OnServerEvent:Connect(function(plr,io)
42
	    if plr~=Player then return end
43
		if io.isMouse then
44
			m.Target = io.Target
45
			m.Hit = io.Hit
46
		else
47
			local b = io.UserInputState == Enum.UserInputState.Begin
48
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
49
				return m:TrigEvent(b and "Button1Down" or "Button1Up")
50
			end
51
			for _,t in pairs(CAS.Actions) do
52
				for _,k in pairs(t.Keys) do
53
					if k==io.KeyCode then
54
						t.Function(t.Name,io.UserInputState,io)
55
					end
56
				end
57
			end
58
			m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
59
			UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
60
	    end
61
	end)
62
	Event.Parent = NLS([==[
63
	local Player = game:GetService("Players").LocalPlayer
64
	local Event = script:WaitForChild("UserInput_Event")
65
66
	local UIS = game:GetService("UserInputService")
67
	local input = function(io,a)
68
		if a then return end
69
		--Since InputObject is a client-side instance, we create and pass table instead
70
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
71
	end
72
	UIS.InputBegan:Connect(input)
73
	UIS.InputEnded:Connect(input)
74
75
	local Mouse = Player:GetMouse()
76
	local h,t
77
	--Give the server mouse data 30 times every second, but only if the values changed
78
	--If player is not moving their mouse, client won't fire events
79
	while wait(1/30) do
80
		if h~=Mouse.Hit or t~=Mouse.Target then
81
			h,t=Mouse.Hit,Mouse.Target
82
			Event:FireServer({isMouse=true,Target=t,Hit=h})
83
		end
84
	end]==],Player.Character)
85
	Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
86
end
87
local moving_anthro_npc = Instance.new("Model")
88
local body_colors = Instance.new("BodyColors", moving_anthro_npc)
89
local humanoidrootpart = Instance.new("Part")
90
local rootrigattachment = Instance.new("Attachment")
91
local humanoid = Instance.new("Humanoid")
92
local animator = Instance.new("Animator", humanoid)
93
local head = Instance.new("Part")
94
local neckrigattachment = Instance.new("Attachment")
95
local originalpivot = Instance.new("Vector3Value")
96
local hatattachment = Instance.new("Attachment")
97
local originalpivot_2 = Instance.new("Vector3Value")
98
local hairattachment = Instance.new("Attachment")
99
local originalpivot_3 = Instance.new("Vector3Value")
100
local facefrontattachment = Instance.new("Attachment")
101
local originalpivot_4 = Instance.new("Vector3Value")
102
local facecenterattachment = Instance.new("Attachment")
103
local originalpivot_5 = Instance.new("Vector3Value")
104
local originalsize = Instance.new("Vector3Value")
105
local neck = Instance.new("Motor6D")
106
local mesh = Instance.new("SpecialMesh")
107
local lefthand = Instance.new("Part")
108
local leftwristrigattachment = Instance.new("Attachment")
109
local originalpivot_6 = Instance.new("Vector3Value")
110
local leftgripattachment = Instance.new("Attachment")
111
local originalpivot_7 = Instance.new("Vector3Value")
112
local originalsize_2 = Instance.new("Vector3Value")
113
local leftwrist = Instance.new("Motor6D")
114
local mesh_2 = Instance.new("SpecialMesh")
115
local leftlowerarm = Instance.new("Part")
116
local leftelbowrigattachment = Instance.new("Attachment")
117
local originalpivot_8 = Instance.new("Vector3Value")
118
local leftwristrigattachment_2 = Instance.new("Attachment")
119
local originalpivot_9 = Instance.new("Vector3Value")
120
local originalsize_3 = Instance.new("Vector3Value")
121
local leftelbow = Instance.new("Motor6D")
122
local mesh_3 = Instance.new("SpecialMesh")
123
local leftupperarm = Instance.new("Part")
124
local leftshoulderrigattachment = Instance.new("Attachment")
125
local originalpivot_10 = Instance.new("Vector3Value")
126
local leftelbowrigattachment_2 = Instance.new("Attachment")
127
local originalpivot_11 = Instance.new("Vector3Value")
128
local leftshoulderattachment = Instance.new("Attachment")
129
local originalpivot_12 = Instance.new("Vector3Value")
130
local originalsize_4 = Instance.new("Vector3Value")
131
local leftshoulder = Instance.new("Motor6D")
132
local mesh_4 = Instance.new("SpecialMesh")
133
local righthand = Instance.new("Part")
134
local rightwristrigattachment = Instance.new("Attachment")
135
local originalpivot_13 = Instance.new("Vector3Value")
136
local rightgripattachment = Instance.new("Attachment")
137
local originalpivot_14 = Instance.new("Vector3Value")
138
local originalsize_5 = Instance.new("Vector3Value")
139
local rightwrist = Instance.new("Motor6D")
140
local mesh_5 = Instance.new("SpecialMesh")
141
local rightlowerarm = Instance.new("Part")
142
local rightelbowrigattachment = Instance.new("Attachment")
143
local originalpivot_15 = Instance.new("Vector3Value")
144
local rightwristrigattachment_2 = Instance.new("Attachment")
145
local originalpivot_16 = Instance.new("Vector3Value")
146
local originalsize_6 = Instance.new("Vector3Value")
147
local rightelbow = Instance.new("Motor6D")
148
local mesh_6 = Instance.new("SpecialMesh")
149
local rightupperarm = Instance.new("Part")
150
local rightshoulderrigattachment = Instance.new("Attachment")
151
local originalpivot_17 = Instance.new("Vector3Value")
152
local rightelbowrigattachment_2 = Instance.new("Attachment")
153
local originalpivot_18 = Instance.new("Vector3Value")
154
local rightshoulderattachment = Instance.new("Attachment")
155
local originalpivot_19 = Instance.new("Vector3Value")
156
local originalsize_7 = Instance.new("Vector3Value")
157
local rightshoulder = Instance.new("Motor6D")
158
local mesh_7 = Instance.new("SpecialMesh")
159
local uppertorso = Instance.new("Part")
160
local waistrigattachment = Instance.new("Attachment")
161
local originalpivot_20 = Instance.new("Vector3Value")
162
local neckrigattachment_2 = Instance.new("Attachment")
163
local originalpivot_21 = Instance.new("Vector3Value")
164
local leftshoulderrigattachment_2 = Instance.new("Attachment")
165
local originalpivot_22 = Instance.new("Vector3Value")
166
local rightshoulderrigattachment_2 = Instance.new("Attachment")
167
local originalpivot_23 = Instance.new("Vector3Value")
168
local bodyfrontattachment = Instance.new("Attachment")
169
local originalpivot_24 = Instance.new("Vector3Value")
170
local bodybackattachment = Instance.new("Attachment")
171
local originalpivot_25 = Instance.new("Vector3Value")
172
local neckattachment = Instance.new("Attachment")
173
local originalpivot_26 = Instance.new("Vector3Value")
174
local rightcollarattachment = Instance.new("Attachment")
175
local originalpivot_27 = Instance.new("Vector3Value")
176
local leftcollarattachment = Instance.new("Attachment")
177
local originalpivot_28 = Instance.new("Vector3Value")
178
local originalsize_8 = Instance.new("Vector3Value")
179
local waist = Instance.new("Motor6D")
180
local mesh_8 = Instance.new("SpecialMesh")
181
local leftfoot = Instance.new("Part")
182
local leftanklerigattachment = Instance.new("Attachment")
183
local originalpivot_29 = Instance.new("Vector3Value")
184
local originalsize_9 = Instance.new("Vector3Value")
185
local leftankle = Instance.new("Motor6D")
186
local mesh_9 = Instance.new("SpecialMesh")
187
local leftlowerleg = Instance.new("Part")
188
local leftkneerigattachment = Instance.new("Attachment")
189
local originalpivot_30 = Instance.new("Vector3Value")
190
local leftanklerigattachment_2 = Instance.new("Attachment")
191
local originalpivot_31 = Instance.new("Vector3Value")
192
local originalsize_10 = Instance.new("Vector3Value")
193
local leftknee = Instance.new("Motor6D")
194
local mesh_10 = Instance.new("SpecialMesh")
195
local leftupperleg = Instance.new("Part")
196
local lefthiprigattachment = Instance.new("Attachment")
197
local originalpivot_32 = Instance.new("Vector3Value")
198
local leftkneerigattachment_2 = Instance.new("Attachment")
199
local originalpivot_33 = Instance.new("Vector3Value")
200
local originalsize_11 = Instance.new("Vector3Value")
201
local lefthip = Instance.new("Motor6D")
202
local mesh_11 = Instance.new("SpecialMesh")
203
local rightfoot = Instance.new("Part")
204
local rightanklerigattachment = Instance.new("Attachment")
205
local originalpivot_34 = Instance.new("Vector3Value")
206
local originalsize_12 = Instance.new("Vector3Value")
207
local rightankle = Instance.new("Motor6D")
208
local mesh_12 = Instance.new("SpecialMesh")
209
local rightlowerleg = Instance.new("Part")
210
local rightkneerigattachment = Instance.new("Attachment")
211
local originalpivot_35 = Instance.new("Vector3Value")
212
local rightanklerigattachment_2 = Instance.new("Attachment")
213
local originalpivot_36 = Instance.new("Vector3Value")
214
local originalsize_13 = Instance.new("Vector3Value")
215
local rightknee = Instance.new("Motor6D")
216
local mesh_13 = Instance.new("SpecialMesh")
217
local rightupperleg = Instance.new("Part")
218
local righthiprigattachment = Instance.new("Attachment")
219
local originalpivot_37 = Instance.new("Vector3Value")
220
local rightkneerigattachment_2 = Instance.new("Attachment")
221
local originalpivot_38 = Instance.new("Vector3Value")
222
local originalsize_14 = Instance.new("Vector3Value")
223
local righthip = Instance.new("Motor6D")
224
local mesh_14 = Instance.new("SpecialMesh")
225
local lowertorso = Instance.new("Part")
226
local rootrigattachment_2 = Instance.new("Attachment")
227
local originalpivot_39 = Instance.new("Vector3Value")
228
local waistrigattachment_2 = Instance.new("Attachment")
229
local originalpivot_40 = Instance.new("Vector3Value")
230
local lefthiprigattachment_2 = Instance.new("Attachment")
231
local originalpivot_41 = Instance.new("Vector3Value")
232
local righthiprigattachment_2 = Instance.new("Attachment")
233
local originalpivot_42 = Instance.new("Vector3Value")
234
local waistcenterattachment = Instance.new("Attachment")
235
local originalpivot_43 = Instance.new("Vector3Value")
236
local waistfrontattachment = Instance.new("Attachment")
237
local originalpivot_44 = Instance.new("Vector3Value")
238
local waistbackattachment = Instance.new("Attachment")
239
local originalpivot_45 = Instance.new("Vector3Value")
240
local originalsize_15 = Instance.new("Vector3Value")
241
local root = Instance.new("Motor6D")
242
local mesh_15 = Instance.new("SpecialMesh")
243
244
moving_anthro_npc.Name = "Moving Anthro [NPC]"
245
moving_anthro_npc.Parent = workspace
246
humanoidrootpart.Size = Vector3.new(2, 2, 1)
247
humanoidrootpart.Material = Enum.Material.SmoothPlastic
248
humanoidrootpart.Orientation = Vector3.new(0, -166.02, 0)
249
humanoidrootpart.Name = "HumanoidRootPart"
250
humanoidrootpart.Transparency = 1
251
humanoidrootpart.Parent = moving_anthro_npc
252
humanoidrootpart.CFrame = CFrame.new(-8.268, 3.443, -57.903) * CFrame.Angles(3.142, -0.244, 3.142)
253
rootrigattachment.Name = "RootRigAttachment"
254
rootrigattachment.Parent = humanoidrootpart
255
humanoid.HipHeight = 2.5
256
humanoid.RigType = Enum.HumanoidRigType.R15
257
humanoid.Parent = moving_anthro_npc
258
head.Size = Vector3.new(0.693, 1.001, 0.93)
259
head.Color = Color3.new(0.992157, 0.917647, 0.552941)
260
head.Name = "Head"
261
head.Material = Enum.Material.SmoothPlastic
262
head.BrickColor = BrickColor.new("Cool yellow")
263
head.Orientation = Vector3.new(0, -166.02, 0)
264
head.Parent = moving_anthro_npc
265
head.CFrame = CFrame.new(-8.26, 6.045, -57.87) * CFrame.Angles(3.142, -0.244, 3.142)
266
neckrigattachment.Position = Vector3.new(0, -0.384, -0.057)
267
neckrigattachment.Name = "NeckRigAttachment"
268
neckrigattachment.CFrame = CFrame.new(0, -0.384, -0.057)
269
neckrigattachment.Parent = head
270
originalpivot.Value = Vector3.new(0, -0.307, -0.045)
271
originalpivot.Name = "OriginalPivot"
272
originalpivot.Parent = neckrigattachment
273
hatattachment.Position = Vector3.new(0, 0.25, 0.034)
274
hatattachment.Name = "HatAttachment"
275
hatattachment.CFrame = CFrame.new(0, 0.25, 0.034)
276
hatattachment.Parent = head
277
originalpivot_2.Value = Vector3.new(0, 0.2, 0.027)
278
originalpivot_2.Name = "OriginalPivot"
279
originalpivot_2.Parent = hatattachment
280
hairattachment.Position = Vector3.new(0, 0.25, 0.034)
281
hairattachment.Name = "HairAttachment"
282
hairattachment.CFrame = CFrame.new(0, 0.25, 0.034)
283
hairattachment.Parent = head
284
originalpivot_3.Value = Vector3.new(0, 0.2, 0.027)
285
originalpivot_3.Name = "OriginalPivot"
286
originalpivot_3.Parent = hairattachment
287
facefrontattachment.Position = Vector3.new(0, -0.239, -0.36)
288
facefrontattachment.Name = "FaceFrontAttachment"
289
facefrontattachment.CFrame = CFrame.new(0, -0.239, -0.36)
290
facefrontattachment.Parent = head
291
originalpivot_4.Value = Vector3.new(0, -0.191, -0.288)
292
originalpivot_4.Name = "OriginalPivot"
293
originalpivot_4.Parent = facefrontattachment
294
facecenterattachment.Position = Vector3.new(0, -0.103, 0.034)
295
facecenterattachment.Name = "FaceCenterAttachment"
296
facecenterattachment.CFrame = CFrame.new(0, -0.103, 0.034)
297
facecenterattachment.Parent = head
298
originalpivot_5.Value = Vector3.new(0, -0.082, 0.027)
299
originalpivot_5.Name = "OriginalPivot"
300
originalpivot_5.Parent = facecenterattachment
301
originalsize.Value = Vector3.new(0.554, 0.801, 0.744)
302
originalsize.Name = "OriginalSize"
303
originalsize.Parent = head
304
neck.Part1 = head
305
neck.C0 = CFrame.new(0, 0.981, -0.046)
306
neck.Part0 = uppertorso
307
neck.C1 = CFrame.new(0, -0.384, -0.057)
308
neck.Name = "Neck"
309
neck.Parent = head
310
mesh.MeshType = Enum.MeshType.FileMesh
311
mesh.Scale = Vector3.new(1.2, 1.2, 1.2)
312
mesh.MeshId = "rbxassetid://875229544"
313
mesh.TextureId = "rbxassetid://853067666"
314
mesh.Parent = head
315
lefthand.CanCollide = false
316
lefthand.Size = Vector3.new(0.369, 0.777, 0.423)
317
lefthand.BrickColor = BrickColor.new("Cool yellow")
318
lefthand.Material = Enum.Material.SmoothPlastic
319
lefthand.Color = Color3.new(0.992157, 0.917647, 0.552941)
320
lefthand.Orientation = Vector3.new(0, -166.02, 0)
321
lefthand.Name = "LeftHand"
322
lefthand.Parent = moving_anthro_npc
323
lefthand.CFrame = CFrame.new(-7.428, 2.811, -57.824) * CFrame.Angles(3.142, -0.244, 3.142)
324
leftwristrigattachment.Position = Vector3.new(-0.104, 0.272, 0.043)
325
leftwristrigattachment.Name = "LeftWristRigAttachment"
326
leftwristrigattachment.CFrame = CFrame.new(-0.104, 0.272, 0.043)
327
leftwristrigattachment.Parent = lefthand
328
originalpivot_6.Value = Vector3.new(-0.083, 0.218, 0.034)
329
originalpivot_6.Name = "OriginalPivot"
330
originalpivot_6.Parent = leftwristrigattachment
331
leftgripattachment.Rotation = Vector3.new(-90, 0, 0)
332
leftgripattachment.CFrame = CFrame.new(0.033, 0.006, 0.279) * CFrame.Angles(-1.571, 0, 0)
333
leftgripattachment.Orientation = Vector3.new(-90, 0, 0)
334
leftgripattachment.Name = "LeftGripAttachment"
335
leftgripattachment.SecondaryAxis = Vector3.new(0, 0, -1)
336
leftgripattachment.Position = Vector3.new(0.033, 0.006, 0.279)
337
leftgripattachment.Parent = lefthand
338
originalpivot_7.Value = Vector3.new(0.027, 0.005, 0.224)
339
originalpivot_7.Name = "OriginalPivot"
340
originalpivot_7.Parent = leftgripattachment
341
originalsize_2.Value = Vector3.new(0.295, 0.621, 0.339)
342
originalsize_2.Name = "OriginalSize"
343
originalsize_2.Parent = lefthand
344
leftwrist.Part1 = lefthand
345
leftwrist.C0 = CFrame.new(-0.019, -0.508, -0.166)
346
leftwrist.Part0 = leftlowerarm
347
leftwrist.C1 = CFrame.new(-0.104, 0.272, 0.043)
348
leftwrist.Name = "LeftWrist"
349
leftwrist.Parent = lefthand
350
mesh_2.MeshType = Enum.MeshType.FileMesh
351
mesh_2.Scale = Vector3.new(1.6, 1.6, 1.6)
352
mesh_2.MeshId = "rbxassetid://875229553"
353
mesh_2.TextureId = "rbxassetid://853067666"
354
mesh_2.Parent = lefthand
355
leftlowerarm.CanCollide = false
356
leftlowerarm.Size = Vector3.new(0.353, 1.149, 0.587)
357
leftlowerarm.BrickColor = BrickColor.new("Cool yellow")
358
leftlowerarm.Material = Enum.Material.SmoothPlastic
359
leftlowerarm.Color = Color3.new(0.992157, 0.917647, 0.552941)
360
leftlowerarm.Orientation = Vector3.new(0, -166.02, 0)
361
leftlowerarm.Name = "LeftLowerArm"
362
leftlowerarm.Parent = moving_anthro_npc
363
leftlowerarm.CFrame = CFrame.new(-7.396, 3.591, -58.047) * CFrame.Angles(3.142, -0.244, 3.142)
364
leftelbowrigattachment.Position = Vector3.new(-0.019, 0.498, 0.169)
365
leftelbowrigattachment.Name = "LeftElbowRigAttachment"
366
leftelbowrigattachment.CFrame = CFrame.new(-0.019, 0.498, 0.169)
367
leftelbowrigattachment.Parent = leftlowerarm
368
originalpivot_8.Value = Vector3.new(-0.015, 0.398, 0.135)
369
originalpivot_8.Name = "OriginalPivot"
370
originalpivot_8.Parent = leftelbowrigattachment
371
leftwristrigattachment_2.Position = Vector3.new(-0.019, -0.508, -0.166)
372
leftwristrigattachment_2.Name = "LeftWristRigAttachment"
373
leftwristrigattachment_2.CFrame = CFrame.new(-0.019, -0.508, -0.166)
374
leftwristrigattachment_2.Parent = leftlowerarm
375
originalpivot_9.Value = Vector3.new(-0.015, -0.406, -0.133)
376
originalpivot_9.Name = "OriginalPivot"
377
originalpivot_9.Parent = leftwristrigattachment_2
378
originalsize_3.Value = Vector3.new(0.282, 0.919, 0.469)
379
originalsize_3.Name = "OriginalSize"
380
originalsize_3.Parent = leftlowerarm
381
leftelbow.Part1 = leftlowerarm
382
leftelbow.C0 = CFrame.new(-0.116, -0.543, 0.05)
383
leftelbow.Part0 = leftupperarm
384
leftelbow.C1 = CFrame.new(-0.019, 0.498, 0.169)
385
leftelbow.Name = "LeftElbow"
386
leftelbow.Parent = leftlowerarm
387
mesh_3.MeshType = Enum.MeshType.FileMesh
388
mesh_3.Scale = Vector3.new(1.6, 1.6, 1.6)
389
mesh_3.MeshId = "rbxassetid://875229562"
390
mesh_3.TextureId = "rbxassetid://853067666"
391
mesh_3.Parent = leftlowerarm
392
leftupperarm.CanCollide = false
393
leftupperarm.Size = Vector3.new(0.494, 1.347, 0.643)
394
leftupperarm.BrickColor = BrickColor.new("Cool yellow")
395
leftupperarm.Material = Enum.Material.SmoothPlastic
396
leftupperarm.Color = Color3.new(0.992157, 0.917647, 0.552941)
397
leftupperarm.Orientation = Vector3.new(0, -166.02, 0)
398
leftupperarm.Name = "LeftUpperArm"
399
leftupperarm.Parent = moving_anthro_npc
400
leftupperarm.CFrame = CFrame.new(-7.519, 4.632, -58.139) * CFrame.Angles(3.142, -0.244, 3.142)
401
leftshoulderrigattachment.Position = Vector3.new(0.165, 0.367, 0.036)
402
leftshoulderrigattachment.Name = "LeftShoulderRigAttachment"
403
leftshoulderrigattachment.CFrame = CFrame.new(0.165, 0.367, 0.036)
404
leftshoulderrigattachment.Parent = leftupperarm
405
originalpivot_10.Value = Vector3.new(0.132, 0.294, 0.029)
406
originalpivot_10.Name = "OriginalPivot"
407
originalpivot_10.Parent = leftshoulderrigattachment
408
leftelbowrigattachment_2.Position = Vector3.new(-0.116, -0.543, 0.05)
409
leftelbowrigattachment_2.Name = "LeftElbowRigAttachment"
410
leftelbowrigattachment_2.CFrame = CFrame.new(-0.116, -0.543, 0.05)
411
leftelbowrigattachment_2.Parent = leftupperarm
412
originalpivot_11.Value = Vector3.new(-0.093, -0.434, 0.04)
413
originalpivot_11.Name = "OriginalPivot"
414
originalpivot_11.Parent = leftelbowrigattachment_2
415
leftshoulderattachment.Position = Vector3.new(0.109, 0.698, -0.048)
416
leftshoulderattachment.Name = "LeftShoulderAttachment"
417
leftshoulderattachment.CFrame = CFrame.new(0.109, 0.698, -0.048)
418
leftshoulderattachment.Parent = leftupperarm
419
originalpivot_12.Value = Vector3.new(0.087, 0.559, -0.039)
420
originalpivot_12.Name = "OriginalPivot"
421
originalpivot_12.Parent = leftshoulderattachment
422
originalsize_4.Value = Vector3.new(0.395, 1.078, 0.514)
423
originalsize_4.Name = "OriginalSize"
424
originalsize_4.Parent = leftupperarm
425
leftshoulder.Part1 = leftupperarm
426
leftshoulder.C0 = CFrame.new(-0.619, 0.319, 0.129)
427
leftshoulder.Part0 = uppertorso
428
leftshoulder.C1 = CFrame.new(0.165, 0.367, 0.036)
429
leftshoulder.Name = "LeftShoulder"
430
leftshoulder.Parent = leftupperarm
431
mesh_4.MeshType = Enum.MeshType.FileMesh
432
mesh_4.Scale = Vector3.new(1.6, 1.6, 1.6)
433
mesh_4.MeshId = "rbxassetid://875229564"
434
mesh_4.TextureId = "rbxassetid://853067666"
435
mesh_4.Parent = leftupperarm
436
righthand.CanCollide = false
437
righthand.Size = Vector3.new(0.369, 0.777, 0.423)
438
righthand.BrickColor = BrickColor.new("Cool yellow")
439
righthand.Material = Enum.Material.SmoothPlastic
440
righthand.Color = Color3.new(0.992157, 0.917647, 0.552941)
441
righthand.Orientation = Vector3.new(0, -166.02, 0)
442
righthand.Name = "RightHand"
443
righthand.Parent = moving_anthro_npc
444
righthand.CFrame = CFrame.new(-8.973, 2.811, -57.439) * CFrame.Angles(3.142, -0.244, 3.142)
445
rightwristrigattachment.Position = Vector3.new(0.104, 0.272, 0.043)
446
rightwristrigattachment.Name = "RightWristRigAttachment"
447
rightwristrigattachment.CFrame = CFrame.new(0.104, 0.272, 0.043)
448
rightwristrigattachment.Parent = righthand
449
originalpivot_13.Value = Vector3.new(0.083, 0.218, 0.034)
450
originalpivot_13.Name = "OriginalPivot"
451
originalpivot_13.Parent = rightwristrigattachment
452
rightgripattachment.Rotation = Vector3.new(-90, 0, 0)
453
rightgripattachment.CFrame = CFrame.new(-0.033, 0.006, 0.279) * CFrame.Angles(-1.571, 0, 0)
454
rightgripattachment.Orientation = Vector3.new(-90, 0, 0)
455
rightgripattachment.Name = "RightGripAttachment"
456
rightgripattachment.SecondaryAxis = Vector3.new(0, 0, -1)
457
rightgripattachment.Position = Vector3.new(-0.033, 0.006, 0.279)
458
rightgripattachment.Parent = righthand
459
originalpivot_14.Value = Vector3.new(-0.027, 0.005, 0.224)
460
originalpivot_14.Name = "OriginalPivot"
461
originalpivot_14.Parent = rightgripattachment
462
originalsize_5.Value = Vector3.new(0.295, 0.621, 0.339)
463
originalsize_5.Name = "OriginalSize"
464
originalsize_5.Parent = righthand
465
rightwrist.Part1 = righthand
466
rightwrist.C0 = CFrame.new(0.019, -0.508, -0.166)
467
rightwrist.Part0 = rightlowerarm
468
rightwrist.C1 = CFrame.new(0.104, 0.272, 0.043)
469
rightwrist.Name = "RightWrist"
470
rightwrist.Parent = righthand
471
mesh_5.MeshType = Enum.MeshType.FileMesh
472
mesh_5.Scale = Vector3.new(1.6, 1.6, 1.6)
473
mesh_5.MeshId = "rbxassetid://875229570"
474
mesh_5.TextureId = "rbxassetid://853067666"
475
mesh_5.Parent = righthand
476
rightlowerarm.CanCollide = false
477
rightlowerarm.Size = Vector3.new(0.353, 1.149, 0.587)
478
rightlowerarm.BrickColor = BrickColor.new("Cool yellow")
479
rightlowerarm.Material = Enum.Material.SmoothPlastic
480
rightlowerarm.Color = Color3.new(0.992157, 0.917647, 0.552941)
481
rightlowerarm.Orientation = Vector3.new(0, -166.02, 0)
482
rightlowerarm.Name = "RightLowerArm"
483
rightlowerarm.Parent = moving_anthro_npc
484
rightlowerarm.CFrame = CFrame.new(-9.106, 3.591, -57.621) * CFrame.Angles(3.142, -0.244, 3.142)
485
rightelbowrigattachment.Position = Vector3.new(0.019, 0.498, 0.169)
486
rightelbowrigattachment.Name = "RightElbowRigAttachment"
487
rightelbowrigattachment.CFrame = CFrame.new(0.019, 0.498, 0.169)
488
rightelbowrigattachment.Parent = rightlowerarm
489
originalpivot_15.Value = Vector3.new(0.015, 0.398, 0.135)
490
originalpivot_15.Name = "OriginalPivot"
491
originalpivot_15.Parent = rightelbowrigattachment
492
rightwristrigattachment_2.Position = Vector3.new(0.019, -0.508, -0.166)
493
rightwristrigattachment_2.Name = "RightWristRigAttachment"
494
rightwristrigattachment_2.CFrame = CFrame.new(0.019, -0.508, -0.166)
495
rightwristrigattachment_2.Parent = rightlowerarm
496
originalpivot_16.Value = Vector3.new(0.015, -0.406, -0.133)
497
originalpivot_16.Name = "OriginalPivot"
498
originalpivot_16.Parent = rightwristrigattachment_2
499
originalsize_6.Value = Vector3.new(0.282, 0.919, 0.469)
500
originalsize_6.Name = "OriginalSize"
501
originalsize_6.Parent = rightlowerarm
502
rightelbow.Part1 = rightlowerarm
503
rightelbow.C0 = CFrame.new(0.116, -0.543, 0.05)
504
rightelbow.Part0 = rightupperarm
505
rightelbow.C1 = CFrame.new(0.019, 0.498, 0.169)
506
rightelbow.Name = "RightElbow"
507
rightelbow.Parent = rightlowerarm
508
mesh_6.MeshType = Enum.MeshType.FileMesh
509
mesh_6.Scale = Vector3.new(1.6, 1.6, 1.6)
510
mesh_6.MeshId = "rbxassetid://875229578"
511
mesh_6.TextureId = "rbxassetid://853067666"
512
mesh_6.Parent = rightlowerarm
513
rightupperarm.CanCollide = false
514
rightupperarm.Size = Vector3.new(0.494, 1.347, 0.643)
515
rightupperarm.BrickColor = BrickColor.new("Cool yellow")
516
rightupperarm.Material = Enum.Material.SmoothPlastic
517
rightupperarm.Color = Color3.new(0.992157, 0.917647, 0.552941)
518
rightupperarm.Orientation = Vector3.new(0, -166.02, 0)
519
rightupperarm.Name = "RightUpperArm"
520
rightupperarm.Parent = moving_anthro_npc
521
rightupperarm.CFrame = CFrame.new(-9.04, 4.632, -57.76) * CFrame.Angles(3.142, -0.244, 3.142)
522
rightshoulderrigattachment.Position = Vector3.new(-0.165, 0.367, 0.036)
523
rightshoulderrigattachment.Name = "RightShoulderRigAttachment"
524
rightshoulderrigattachment.CFrame = CFrame.new(-0.165, 0.367, 0.036)
525
rightshoulderrigattachment.Parent = rightupperarm
526
originalpivot_17.Value = Vector3.new(-0.132, 0.294, 0.029)
527
originalpivot_17.Name = "OriginalPivot"
528
originalpivot_17.Parent = rightshoulderrigattachment
529
rightelbowrigattachment_2.Position = Vector3.new(0.116, -0.543, 0.05)
530
rightelbowrigattachment_2.Name = "RightElbowRigAttachment"
531
rightelbowrigattachment_2.CFrame = CFrame.new(0.116, -0.543, 0.05)
532
rightelbowrigattachment_2.Parent = rightupperarm
533
originalpivot_18.Value = Vector3.new(0.093, -0.434, 0.04)
534
originalpivot_18.Name = "OriginalPivot"
535
originalpivot_18.Parent = rightelbowrigattachment_2
536
rightshoulderattachment.Position = Vector3.new(-0.109, 0.669, -0.048)
537
rightshoulderattachment.Name = "RightShoulderAttachment"
538
rightshoulderattachment.CFrame = CFrame.new(-0.109, 0.669, -0.048)
539
rightshoulderattachment.Parent = rightupperarm
540
originalpivot_19.Value = Vector3.new(-0.087, 0.535, -0.039)
541
originalpivot_19.Name = "OriginalPivot"
542
originalpivot_19.Parent = rightshoulderattachment
543
originalsize_7.Value = Vector3.new(0.395, 1.078, 0.514)
544
originalsize_7.Name = "OriginalSize"
545
originalsize_7.Parent = rightupperarm
546
rightshoulder.Part1 = rightupperarm
547
rightshoulder.C0 = CFrame.new(0.619, 0.319, 0.129)
548
rightshoulder.Part0 = uppertorso
549
rightshoulder.C1 = CFrame.new(-0.165, 0.367, 0.036)
550
rightshoulder.Name = "RightShoulder"
551
rightshoulder.Parent = rightupperarm
552
mesh_7.MeshType = Enum.MeshType.FileMesh
553
mesh_7.Scale = Vector3.new(1.6, 1.6, 1.6)
554
mesh_7.MeshId = "rbxassetid://875229582"
555
mesh_7.TextureId = "rbxassetid://853067666"
556
mesh_7.Parent = rightupperarm
557
uppertorso.Size = Vector3.new(1.488, 2.231, 1.006)
558
uppertorso.Color = Color3.new(0.156863, 0.498039, 0.278431)
559
uppertorso.Name = "UpperTorso"
560
uppertorso.Material = Enum.Material.SmoothPlastic
561
uppertorso.BrickColor = BrickColor.new("Dark green")
562
uppertorso.Orientation = Vector3.new(0, -166.02, 0)
563
uppertorso.Parent = moving_anthro_npc
564
uppertorso.CFrame = CFrame.new(-8.257, 4.68, -57.859) * CFrame.Angles(3.142, -0.244, 3.142)
565
waistrigattachment.Position = Vector3.new(0, -0.843, 0.045)
566
waistrigattachment.Name = "WaistRigAttachment"
567
waistrigattachment.CFrame = CFrame.new(0, -0.843, 0.045)
568
waistrigattachment.Parent = uppertorso
569
originalpivot_20.Value = Vector3.new(0, -0.674, 0.036)
570
originalpivot_20.Name = "OriginalPivot"
571
originalpivot_20.Parent = waistrigattachment
572
neckrigattachment_2.Position = Vector3.new(0, 0.981, -0.046)
573
neckrigattachment_2.Name = "NeckRigAttachment"
574
neckrigattachment_2.CFrame = CFrame.new(0, 0.981, -0.046)
575
neckrigattachment_2.Parent = uppertorso
576
originalpivot_21.Value = Vector3.new(0, 0.785, -0.037)
577
originalpivot_21.Name = "OriginalPivot"
578
originalpivot_21.Parent = neckrigattachment_2
579
leftshoulderrigattachment_2.Position = Vector3.new(-0.619, 0.319, 0.129)
580
leftshoulderrigattachment_2.Name = "LeftShoulderRigAttachment"
581
leftshoulderrigattachment_2.CFrame = CFrame.new(-0.619, 0.319, 0.129)
582
leftshoulderrigattachment_2.Parent = uppertorso
583
originalpivot_22.Value = Vector3.new(-0.495, 0.255, 0.103)
584
originalpivot_22.Name = "OriginalPivot"
585
originalpivot_22.Parent = leftshoulderrigattachment_2
586
rightshoulderrigattachment_2.Position = Vector3.new(0.619, 0.319, 0.129)
587
rightshoulderrigattachment_2.Name = "RightShoulderRigAttachment"
588
rightshoulderrigattachment_2.CFrame = CFrame.new(0.619, 0.319, 0.129)
589
rightshoulderrigattachment_2.Parent = uppertorso
590
originalpivot_23.Value = Vector3.new(0.495, 0.255, 0.103)
591
originalpivot_23.Name = "OriginalPivot"
592
originalpivot_23.Parent = rightshoulderrigattachment_2
593
bodyfrontattachment.Position = Vector3.new(0, -0.425, -0.48)
594
bodyfrontattachment.Name = "BodyFrontAttachment"
595
bodyfrontattachment.CFrame = CFrame.new(0, -0.425, -0.48)
596
bodyfrontattachment.Parent = uppertorso
597
originalpivot_24.Value = Vector3.new(0, -0.34, -0.384)
598
originalpivot_24.Name = "OriginalPivot"
599
originalpivot_24.Parent = bodyfrontattachment
600
bodybackattachment.Position = Vector3.new(0, -0.425, 0.32)
601
bodybackattachment.Name = "BodyBackAttachment"
602
bodybackattachment.CFrame = CFrame.new(0, -0.425, 0.32)
603
bodybackattachment.Parent = uppertorso
604
originalpivot_25.Value = Vector3.new(0, -0.34, 0.256)
605
originalpivot_25.Name = "OriginalPivot"
606
originalpivot_25.Parent = bodybackattachment
607
neckattachment.Position = Vector3.new(0, 0.825, 0.045)
608
neckattachment.Name = "NeckAttachment"
609
neckattachment.CFrame = CFrame.new(0, 0.825, 0.045)
610
neckattachment.Parent = uppertorso
611
originalpivot_26.Value = Vector3.new(0, 0.66, 0.036)
612
originalpivot_26.Name = "OriginalPivot"
613
originalpivot_26.Parent = neckattachment
614
rightcollarattachment.Position = Vector3.new(0.438, 0.688, 0.045)
615
rightcollarattachment.Name = "RightCollarAttachment"
616
rightcollarattachment.CFrame = CFrame.new(0.438, 0.688, 0.045)
617
rightcollarattachment.Parent = uppertorso
618
originalpivot_27.Value = Vector3.new(0.35, 0.55, 0.036)
619
originalpivot_27.Name = "OriginalPivot"
620
originalpivot_27.Parent = rightcollarattachment
621
leftcollarattachment.Position = Vector3.new(-0.437, 0.688, 0.045)
622
leftcollarattachment.Name = "LeftCollarAttachment"
623
leftcollarattachment.CFrame = CFrame.new(-0.437, 0.688, 0.045)
624
leftcollarattachment.Parent = uppertorso
625
originalpivot_28.Value = Vector3.new(-0.35, 0.55, 0.036)
626
originalpivot_28.Name = "OriginalPivot"
627
originalpivot_28.Parent = leftcollarattachment
628
originalsize_8.Value = Vector3.new(1.19, 1.785, 0.805)
629
originalsize_8.Name = "OriginalSize"
630
originalsize_8.Parent = uppertorso
631
waist.Part1 = uppertorso
632
waist.C0 = CFrame.new(0, 0.45, 0.091)
633
waist.Part0 = lowertorso
634
waist.C1 = CFrame.new(0, -0.843, 0.045)
635
waist.Name = "Waist"
636
waist.Parent = uppertorso
637
mesh_8.Offset = Vector3.new(0, 0.09, 0)
638
mesh_8.MeshId = "rbxassetid://875229590"
639
mesh_8.Scale = Vector3.new(1.4, 1.4, 1.4)
640
mesh_8.TextureId = "rbxassetid://853067666"
641
mesh_8.MeshType = Enum.MeshType.FileMesh
642
mesh_8.Parent = uppertorso
643
leftfoot.CanCollide = false
644
leftfoot.Size = Vector3.new(0.433, 0.504, 1.064)
645
leftfoot.BrickColor = BrickColor.new("Bright blue")
646
leftfoot.Material = Enum.Material.SmoothPlastic
647
leftfoot.Color = Color3.new(0.0509804, 0.411765, 0.67451)
648
leftfoot.Orientation = Vector3.new(0, -166.02, 0)
649
leftfoot.Name = "LeftFoot"
650
leftfoot.Parent = moving_anthro_npc
651
leftfoot.CFrame = CFrame.new(-7.941, 0.253, -57.772) * CFrame.Angles(3.142, -0.244, 3.142)
652
leftanklerigattachment.Position = Vector3.new(-0.033, 0.003, 0.225)
653
leftanklerigattachment.Name = "LeftAnkleRigAttachment"
654
leftanklerigattachment.CFrame = CFrame.new(-0.033, 0.003, 0.225)
655
leftanklerigattachment.Parent = leftfoot
656
originalpivot_29.Value = Vector3.new(-0.027, 0.002, 0.18)
657
originalpivot_29.Name = "OriginalPivot"
658
originalpivot_29.Parent = leftanklerigattachment
659
originalsize_9.Value = Vector3.new(0.346, 0.403, 0.851)
660
originalsize_9.Name = "OriginalSize"
661
originalsize_9.Parent = leftfoot
662
leftankle.Part1 = leftfoot
663
leftankle.C0 = CFrame.new(-0.021, -0.907, -0.018)
664
leftankle.Part0 = leftlowerleg
665
leftankle.C1 = CFrame.new(-0.033, 0.003, 0.225)
666
leftankle.Name = "LeftAnkle"
667
leftankle.Parent = leftfoot
668
mesh_9.MeshType = Enum.MeshType.FileMesh
669
mesh_9.Scale = Vector3.new(1.6, 1.6, 1.6)
670
mesh_9.MeshId = "rbxassetid://875229596"
671
mesh_9.TextureId = "rbxassetid://853067666"
672
mesh_9.Parent = leftfoot
673
leftlowerleg.CanCollide = false
674
leftlowerleg.Size = Vector3.new(0.567, 1.823, 0.723)
675
leftlowerleg.BrickColor = BrickColor.new("Bright blue")
676
leftlowerleg.Material = Enum.Material.SmoothPlastic
677
leftlowerleg.Color = Color3.new(0.0509804, 0.411765, 0.67451)
678
leftlowerleg.Orientation = Vector3.new(0, -166.02, 0)
679
leftlowerleg.Name = "LeftLowerLeg"
680
leftlowerleg.Parent = moving_anthro_npc
681
leftlowerleg.CFrame = CFrame.new(-7.988, 1.163, -58.011) * CFrame.Angles(3.142, -0.244, 3.142)
682
leftkneerigattachment.Position = Vector3.new(-0.021, 0.825, -0.037)
683
leftkneerigattachment.Name = "LeftKneeRigAttachment"
684
leftkneerigattachment.CFrame = CFrame.new(-0.021, 0.825, -0.037)
685
leftkneerigattachment.Parent = leftlowerleg
686
originalpivot_30.Value = Vector3.new(-0.017, 0.66, -0.029)
687
originalpivot_30.Name = "OriginalPivot"
688
originalpivot_30.Parent = leftkneerigattachment
689
leftanklerigattachment_2.Position = Vector3.new(-0.021, -0.907, -0.018)
690
leftanklerigattachment_2.Name = "LeftAnkleRigAttachment"
691
leftanklerigattachment_2.CFrame = CFrame.new(-0.021, -0.907, -0.018)
692
leftanklerigattachment_2.Parent = leftlowerleg
693
originalpivot_31.Value = Vector3.new(-0.017, -0.726, -0.014)
694
originalpivot_31.Name = "OriginalPivot"
695
originalpivot_31.Parent = leftanklerigattachment_2
696
originalsize_10.Value = Vector3.new(0.454, 1.459, 0.578)
697
originalsize_10.Name = "OriginalSize"
698
originalsize_10.Parent = leftlowerleg
699
leftknee.Part1 = leftlowerleg
700
leftknee.C0 = CFrame.new(0.008, -0.594, 0.093)
701
leftknee.Part0 = leftupperleg
702
leftknee.C1 = CFrame.new(-0.021, 0.825, -0.037)
703
leftknee.Name = "LeftKnee"
704
leftknee.Parent = leftlowerleg
705
mesh_10.Offset = Vector3.new(0, 0.2, 0)
706
mesh_10.MeshId = "rbxassetid://875229599"
707
mesh_10.Scale = Vector3.new(1.6, 1.6, 1.6)
708
mesh_10.TextureId = "rbxassetid://853067666"
709
mesh_10.MeshType = Enum.MeshType.FileMesh
710
mesh_10.Parent = leftlowerleg
711
leftupperleg.CanCollide = false
712
leftupperleg.Size = Vector3.new(0.617, 1.891, 0.802)
713
leftupperleg.BrickColor = BrickColor.new("Bright blue")
714
leftupperleg.Material = Enum.Material.SmoothPlastic
715
leftupperleg.Color = Color3.new(0.0509804, 0.411765, 0.67451)
716
leftupperleg.Orientation = Vector3.new(0, -166.02, 0)
717
leftupperleg.Name = "LeftUpperLeg"
718
leftupperleg.Parent = moving_anthro_npc
719
leftupperleg.CFrame = CFrame.new(-7.928, 2.582, -57.892) * CFrame.Angles(3.142, -0.244, 3.142)
720
lefthiprigattachment.Position = Vector3.new(0.008, 0.846, -0.019)
721
lefthiprigattachment.Name = "LeftHipRigAttachment"
722
lefthiprigattachment.CFrame = CFrame.new(0.008, 0.846, -0.019)
723
lefthiprigattachment.Parent = leftupperleg
724
originalpivot_32.Value = Vector3.new(0.006, 0.677, -0.015)
725
originalpivot_32.Name = "OriginalPivot"
726
originalpivot_32.Parent = lefthiprigattachment
727
leftkneerigattachment_2.Position = Vector3.new(0.008, -0.594, 0.093)
728
leftkneerigattachment_2.Name = "LeftKneeRigAttachment"
729
leftkneerigattachment_2.CFrame = CFrame.new(0.008, -0.594, 0.093)
730
leftkneerigattachment_2.Parent = leftupperleg
731
originalpivot_33.Value = Vector3.new(0.006, -0.476, 0.075)
732
originalpivot_33.Name = "OriginalPivot"
733
originalpivot_33.Parent = leftkneerigattachment_2
734
originalsize_11.Value = Vector3.new(0.494, 1.513, 0.642)
735
originalsize_11.Name = "OriginalSize"
736
originalsize_11.Parent = leftupperleg
737
lefthip.Part1 = leftupperleg
738
lefthip.C0 = CFrame.new(-0.319, 0.041, -0.021)
739
lefthip.Part0 = lowertorso
740
lefthip.C1 = CFrame.new(0.008, 0.846, -0.019)
741
lefthip.Name = "LeftHip"
742
lefthip.Parent = leftupperleg
743
mesh_11.Offset = Vector3.new(0, 0.1, 0)
744
mesh_11.MeshId = "rbxassetid://875229605"
745
mesh_11.Scale = Vector3.new(1.5, 1, 1.5)
746
mesh_11.TextureId = "rbxassetid://853067666"
747
mesh_11.MeshType = Enum.MeshType.FileMesh
748
mesh_11.Parent = leftupperleg
749
rightfoot.CanCollide = false
750
rightfoot.Size = Vector3.new(0.433, 0.504, 1.064)
751
rightfoot.BrickColor = BrickColor.new("Bright blue")
752
rightfoot.Material = Enum.Material.SmoothPlastic
753
rightfoot.Color = Color3.new(0.0509804, 0.411765, 0.67451)
754
rightfoot.Orientation = Vector3.new(0, -166.02, 0)
755
rightfoot.Name = "RightFoot"
756
rightfoot.Parent = moving_anthro_npc
757
rightfoot.CFrame = CFrame.new(-8.496, 0.252, -57.633) * CFrame.Angles(3.142, -0.244, 3.142)
758
rightanklerigattachment.Position = Vector3.new(0.034, 0.002, 0.225)
759
rightanklerigattachment.Name = "RightAnkleRigAttachment"
760
rightanklerigattachment.CFrame = CFrame.new(0.034, 0.002, 0.225)
761
rightanklerigattachment.Parent = rightfoot
762
originalpivot_34.Value = Vector3.new(0.027, 0.002, 0.18)
763
originalpivot_34.Name = "OriginalPivot"
764
originalpivot_34.Parent = rightanklerigattachment
765
originalsize_12.Value = Vector3.new(0.346, 0.403, 0.851)
766
originalsize_12.Name = "OriginalSize"
767
originalsize_12.Parent = rightfoot
768
rightankle.Part1 = rightfoot
769
rightankle.C0 = CFrame.new(0.021, -0.908, -0.018)
770
rightankle.Part0 = rightlowerleg
771
rightankle.C1 = CFrame.new(0.034, 0.002, 0.225)
772
rightankle.Name = "RightAnkle"
773
rightankle.Parent = rightfoot
774
mesh_12.MeshType = Enum.MeshType.FileMesh
775
mesh_12.Scale = Vector3.new(1.6, 1.6, 1.6)
776
mesh_12.MeshId = "rbxassetid://875229610"
777
mesh_12.TextureId = "rbxassetid://853067666"
778
mesh_12.Parent = rightfoot
779
rightlowerleg.CanCollide = false
780
rightlowerleg.Size = Vector3.new(0.567, 1.823, 0.723)
781
rightlowerleg.BrickColor = BrickColor.new("Bright blue")
782
rightlowerleg.Material = Enum.Material.SmoothPlastic
783
rightlowerleg.Color = Color3.new(0.0509804, 0.411765, 0.67451)
784
rightlowerleg.Orientation = Vector3.new(0, -166.02, 0)
785
rightlowerleg.Name = "RightLowerLeg"
786
rightlowerleg.Parent = moving_anthro_npc
787
rightlowerleg.CFrame = CFrame.new(-8.567, 1.162, -57.866) * CFrame.Angles(3.142, -0.244, 3.142)
788
rightkneerigattachment.Position = Vector3.new(0.021, 0.825, -0.036)
789
rightkneerigattachment.Name = "RightKneeRigAttachment"
790
rightkneerigattachment.CFrame = CFrame.new(0.021, 0.825, -0.036)
791
rightkneerigattachment.Parent = rightlowerleg
792
originalpivot_35.Value = Vector3.new(0.017, 0.66, -0.029)
793
originalpivot_35.Name = "OriginalPivot"
794
originalpivot_35.Parent = rightkneerigattachment
795
rightanklerigattachment_2.Position = Vector3.new(0.021, -0.908, -0.018)
796
rightanklerigattachment_2.Name = "RightAnkleRigAttachment"
797
rightanklerigattachment_2.CFrame = CFrame.new(0.021, -0.908, -0.018)
798
rightanklerigattachment_2.Parent = rightlowerleg
799
originalpivot_36.Value = Vector3.new(0.017, -0.726, -0.014)
800
originalpivot_36.Name = "OriginalPivot"
801
originalpivot_36.Parent = rightanklerigattachment_2
802
originalsize_13.Value = Vector3.new(0.454, 1.459, 0.578)
803
originalsize_13.Name = "OriginalSize"
804
originalsize_13.Parent = rightlowerleg
805
rightknee.Part1 = rightlowerleg
806
rightknee.C0 = CFrame.new(-0.007, -0.595, 0.093)
807
rightknee.Part0 = rightupperleg
808
rightknee.C1 = CFrame.new(0.021, 0.825, -0.036)
809
rightknee.Name = "RightKnee"
810
rightknee.Parent = rightlowerleg
811
mesh_13.Offset = Vector3.new(0, 0.2, 0)
812
mesh_13.MeshId = "rbxassetid://875229614"
813
mesh_13.Scale = Vector3.new(1.6, 1.6, 1.6)
814
mesh_13.TextureId = "rbxassetid://853067666"
815
mesh_13.MeshType = Enum.MeshType.FileMesh
816
mesh_13.Parent = rightlowerleg
817
rightupperleg.CanCollide = false
818
rightupperleg.Size = Vector3.new(0.617, 1.891, 0.802)
819
rightupperleg.BrickColor = BrickColor.new("Bright blue")
820
rightupperleg.Material = Enum.Material.SmoothPlastic
821
rightupperleg.Color = Color3.new(0.0509804, 0.411765, 0.67451)
822
rightupperleg.Orientation = Vector3.new(0, -166.02, 0)
823
rightupperleg.Name = "RightUpperLeg"
824
rightupperleg.Parent = moving_anthro_npc
825
rightupperleg.CFrame = CFrame.new(-8.563, 2.582, -57.734) * CFrame.Angles(3.142, -0.244, 3.142)
826
righthiprigattachment.Position = Vector3.new(-0.007, 0.846, -0.019)
827
righthiprigattachment.Name = "RightHipRigAttachment"
828
righthiprigattachment.CFrame = CFrame.new(-0.007, 0.846, -0.019)
829
righthiprigattachment.Parent = rightupperleg
830
originalpivot_37.Value = Vector3.new(-0.006, 0.677, -0.015)
831
originalpivot_37.Name = "OriginalPivot"
832
originalpivot_37.Parent = righthiprigattachment
833
rightkneerigattachment_2.Position = Vector3.new(-0.007, -0.595, 0.093)
834
rightkneerigattachment_2.Name = "RightKneeRigAttachment"
835
rightkneerigattachment_2.CFrame = CFrame.new(-0.007, -0.595, 0.093)
836
rightkneerigattachment_2.Parent = rightupperleg
837
originalpivot_38.Value = Vector3.new(-0.006, -0.476, 0.075)
838
originalpivot_38.Name = "OriginalPivot"
839
originalpivot_38.Parent = rightkneerigattachment_2
840
originalsize_14.Value = Vector3.new(0.494, 1.513, 0.642)
841
originalsize_14.Name = "OriginalSize"
842
originalsize_14.Parent = rightupperleg
843
righthip.Part1 = rightupperleg
844
righthip.C0 = CFrame.new(0.32, 0.041, -0.021)
845
righthip.Part0 = lowertorso
846
righthip.C1 = CFrame.new(-0.007, 0.846, -0.019)
847
righthip.Name = "RightHip"
848
righthip.Parent = rightupperleg
849
mesh_14.Offset = Vector3.new(0, 0.1, 0)
850
mesh_14.MeshId = "rbxassetid://875229618"
851
mesh_14.Scale = Vector3.new(1.5, 1, 1.5)
852
mesh_14.TextureId = "rbxassetid://853067666"
853
mesh_14.MeshType = Enum.MeshType.FileMesh
854
mesh_14.Parent = rightupperleg
855
lowertorso.Size = Vector3.new(1.198, 0.868, 0.902)
856
lowertorso.Color = Color3.new(0.156863, 0.498039, 0.278431)
857
lowertorso.Name = "LowerTorso"
858
lowertorso.Material = Enum.Material.SmoothPlastic
859
lowertorso.BrickColor = BrickColor.new("Dark green")
860
lowertorso.Orientation = Vector3.new(0, -166.02, 0)
861
lowertorso.Parent = moving_anthro_npc
862
lowertorso.CFrame = CFrame.new(-8.246, 3.387, -57.815) * CFrame.Angles(3.142, -0.244, 3.142)
863
rootrigattachment_2.Position = Vector3.new(0, 0.056, 0.091)
864
rootrigattachment_2.Name = "RootRigAttachment"
865
rootrigattachment_2.CFrame = CFrame.new(0, 0.056, 0.091)
866
rootrigattachment_2.Parent = lowertorso
867
originalpivot_39.Value = Vector3.new(0, 0.045, 0.073)
868
originalpivot_39.Name = "OriginalPivot"
869
originalpivot_39.Parent = rootrigattachment_2
870
waistrigattachment_2.Position = Vector3.new(0, 0.45, 0.091)
871
waistrigattachment_2.Name = "WaistRigAttachment"
872
waistrigattachment_2.CFrame = CFrame.new(0, 0.45, 0.091)
873
waistrigattachment_2.Parent = lowertorso
874
originalpivot_40.Value = Vector3.new(0, 0.36, 0.073)
875
originalpivot_40.Name = "OriginalPivot"
876
originalpivot_40.Parent = waistrigattachment_2
877
lefthiprigattachment_2.Position = Vector3.new(-0.319, 0.041, -0.021)
878
lefthiprigattachment_2.Name = "LeftHipRigAttachment"
879
lefthiprigattachment_2.CFrame = CFrame.new(-0.319, 0.041, -0.021)
880
lefthiprigattachment_2.Parent = lowertorso
881
originalpivot_41.Value = Vector3.new(-0.256, 0.033, -0.017)
882
originalpivot_41.Name = "OriginalPivot"
883
originalpivot_41.Parent = lefthiprigattachment_2
884
righthiprigattachment_2.Position = Vector3.new(0.32, 0.041, -0.021)
885
righthiprigattachment_2.Name = "RightHipRigAttachment"
886
righthiprigattachment_2.CFrame = CFrame.new(0.32, 0.041, -0.021)
887
righthiprigattachment_2.Parent = lowertorso
888
originalpivot_42.Value = Vector3.new(0.256, 0.033, -0.017)
889
originalpivot_42.Name = "OriginalPivot"
890
originalpivot_42.Parent = righthiprigattachment_2
891
waistcenterattachment.Position = Vector3.new(0, -0.102, 0.091)
892
waistcenterattachment.Name = "WaistCenterAttachment"
893
waistcenterattachment.CFrame = CFrame.new(0, -0.102, 0.091)
894
waistcenterattachment.Parent = lowertorso
895
originalpivot_43.Value = Vector3.new(0, -0.081, 0.073)
896
originalpivot_43.Name = "OriginalPivot"
897
originalpivot_43.Parent = waistcenterattachment
898
waistfrontattachment.Position = Vector3.new(0, -0.102, -0.221)
899
waistfrontattachment.Name = "WaistFrontAttachment"
900
waistfrontattachment.CFrame = CFrame.new(0, -0.102, -0.221)
901
waistfrontattachment.Parent = lowertorso
902
originalpivot_44.Value = Vector3.new(0, -0.081, -0.177)
903
originalpivot_44.Name = "OriginalPivot"
904
originalpivot_44.Parent = waistfrontattachment
905
waistbackattachment.Position = Vector3.new(0, -0.102, 0.448)
906
waistbackattachment.Name = "WaistBackAttachment"
907
waistbackattachment.CFrame = CFrame.new(0, -0.102, 0.448)
908
waistbackattachment.Parent = lowertorso
909
originalpivot_45.Value = Vector3.new(0, -0.081, 0.358)
910
originalpivot_45.Name = "OriginalPivot"
911
originalpivot_45.Parent = waistbackattachment
912
originalsize_15.Value = Vector3.new(0.958, 0.694, 0.722)
913
originalsize_15.Name = "OriginalSize"
914
originalsize_15.Parent = lowertorso
915
root.Part1 = lowertorso
916
root.Part0 = humanoidrootpart
917
root.C1 = CFrame.new(0, 0.056, 0.091)
918
root.Name = "Root"
919
root.Parent = lowertorso
920
mesh_15.MeshType = Enum.MeshType.FileMesh
921
mesh_15.Scale = Vector3.new(1.4, 1.4, 1.4)
922
mesh_15.MeshId = "rbxassetid://875229629"
923
mesh_15.TextureId = "rbxassetid://853067666"
924
mesh_15.Parent = lowertorso
925
moving_anthro_npc.PrimaryPart = humanoidrootpart
926
moving_anthro_npc.Name = game.Players.LocalPlayer.Name
927
local plr = game.Players.LocalPlayer
928
repeat wait(.2) until plr.Character
929
plr.Character = moving_anthro_npc
930
workspace.CurrentCamera.CameraSubject = humanoid
931
workspace.CurrentCamera.CameraType = Enum.CameraType.Custom
932
933
game:GetService("RunService").RenderStepped:Connect(function()
934
935
	humanoid:RemoveAccessories()
936
	humanoid.MaxHealth = 1e4556464
937
		humanoid.Health = 1e4556464
938
		
939
end)
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
local Figure = plr.Character
958
local pose = "Standing"
959
960
local currentAnim = ""
961
local currentAnimInstance = nil
962
local currentAnimTrack = nil
963
local currentAnimKeyframeHandler = nil
964
local currentAnimSpeed = 1.0
965
local animTable = {}
966
local animNames = { 
967
	idle = 	{	
968
				{ id = "http://www.roblox.com/asset/?id=507766666", weight = 1 },
969
				{ id = "http://www.roblox.com/asset/?id=507766951", weight = 1 },
970
				{ id = "http://www.roblox.com/asset/?id=507766388", weight = 9 }
971
			},
972
	walk = 	{ 	
973
				{ id = "http://www.roblox.com/asset/?id=507777826", weight = 10 } 
974
			}, 
975
	run = 	{
976
				{ id = "http://www.roblox.com/asset/?id=507767714", weight = 10 } 
977
			}, 
978
	swim = 	{
979
				{ id = "http://www.roblox.com/asset/?id=507784897", weight = 10 } 
980
			}, 
981
	swimidle = 	{
982
				{ id = "http://www.roblox.com/asset/?id=507785072", weight = 10 } 
983
			}, 
984
	jump = 	{
985
				{ id = "http://www.roblox.com/asset/?id=507765000", weight = 10 } 
986
			}, 
987
	fall = 	{
988
				{ id = "http://www.roblox.com/asset/?id=507767968", weight = 10 } 
989
			}, 
990
	climb = {
991
				{ id = "http://www.roblox.com/asset/?id=507765644", weight = 10 } 
992
			}, 
993
	sit = 	{
994
				{ id = "http://www.roblox.com/asset/?id=507768133", weight = 10 } 
995
			},	
996
	toolnone = {
997
				{ id = "http://www.roblox.com/asset/?id=507768375", weight = 10 } 
998
			},
999
	toolslash = {
1000
				{ id = "http://www.roblox.com/asset/?id=507768375", weight = 10 } 
1001
--				{ id = "slash.xml", weight = 10 } 
1002
			},
1003
	toollunge = {
1004
				{ id = "http://www.roblox.com/asset/?id=507768375", weight = 10 } 
1005
			},
1006
	wave = {
1007
				{ id = "http://www.roblox.com/asset/?id=507770239", weight = 10 } 
1008
			},
1009
	point = {
1010
				{ id = "http://www.roblox.com/asset/?id=507770453", weight = 10 } 
1011
			},
1012
	dance = {
1013
				{ id = "http://www.roblox.com/asset/?id=507771019", weight = 10 }, 
1014
				{ id = "http://www.roblox.com/asset/?id=507771955", weight = 10 }, 
1015
				{ id = "http://www.roblox.com/asset/?id=507772104", weight = 10 } 
1016
			},
1017
	dance2 = {
1018
				{ id = "http://www.roblox.com/asset/?id=507776043", weight = 10 }, 
1019
				{ id = "http://www.roblox.com/asset/?id=507776720", weight = 10 }, 
1020
				{ id = "http://www.roblox.com/asset/?id=507776879", weight = 10 } 
1021
			},
1022
	dance3 = {
1023
				{ id = "http://www.roblox.com/asset/?id=507777268", weight = 10 }, 
1024
				{ id = "http://www.roblox.com/asset/?id=507777451", weight = 10 }, 
1025
				{ id = "http://www.roblox.com/asset/?id=507777623", weight = 10 } 
1026
			},
1027
	laugh = {
1028
				{ id = "http://www.roblox.com/asset/?id=507770818", weight = 10 } 
1029
			},
1030
	cheer = {
1031
				{ id = "http://www.roblox.com/asset/?id=507770677", weight = 10 } 
1032
			},
1033
}
1034
1035
-- Existance in this list signifies that it is an emote, the value indicates if it is a looping emote
1036
local emoteNames = { wave = false, point = false, dance = true, dance2 = true, dance3 = true, laugh = false, cheer = false}
1037
1038
math.randomseed(tick())
1039
1040
function configureAnimationSet(name, fileList)
1041
	if (animTable[name] ~= nil) then
1042
		for _, connection in pairs(animTable[name].connections) do
1043
			connection:disconnect()
1044
		end
1045
	end
1046
	animTable[name] = {}
1047
	animTable[name].count = 0
1048
	animTable[name].totalWeight = 0	
1049
	animTable[name].connections = {}
1050
1051
	-- check for config values
1052
	local config = script:FindFirstChild(name)
1053
	if (config ~= nil) then
1054
--		print("Loading anims " .. name)
1055
		table.insert(animTable[name].connections, config.ChildAdded:connect(function(child) configureAnimationSet(name, fileList) end))
1056
		table.insert(animTable[name].connections, config.ChildRemoved:connect(function(child) configureAnimationSet(name, fileList) end))
1057
		local idx = 1
1058
		for _, childPart in pairs(config:GetChildren()) do
1059
			if (childPart:IsA("Animation")) then
1060
				table.insert(animTable[name].connections, childPart.Changed:connect(function(property) configureAnimationSet(name, fileList) end))
1061
				animTable[name][idx] = {}
1062
				animTable[name][idx].anim = childPart
1063
				local weightObject = childPart:FindFirstChild("Weight")
1064
				if (weightObject == nil) then
1065
					animTable[name][idx].weight = 1
1066
				else
1067
					animTable[name][idx].weight = weightObject.Value
1068
				end
1069
				animTable[name].count = animTable[name].count + 1
1070
				animTable[name].totalWeight = animTable[name].totalWeight + animTable[name][idx].weight
1071
--				print(name .. " [" .. idx .. "] " .. animTable[name][idx].anim.AnimationId .. " (" .. animTable[name][idx].weight .. ")")
1072
				idx = idx + 1
1073
			end
1074
		end
1075
	end
1076
1077
	-- fallback to defaults
1078
	if (animTable[name].count <= 0) then
1079
		for idx, anim in pairs(fileList) do
1080
			animTable[name][idx] = {}
1081
			animTable[name][idx].anim = Instance.new("Animation")
1082
			animTable[name][idx].anim.Name = name
1083
			animTable[name][idx].anim.AnimationId = anim.id
1084
			animTable[name][idx].weight = anim.weight
1085
			animTable[name].count = animTable[name].count + 1
1086
			animTable[name].totalWeight = animTable[name].totalWeight + anim.weight
1087
--			print(name .. " [" .. idx .. "] " .. anim.id .. " (" .. anim.weight .. ")")
1088
		end
1089
	end
1090
end
1091
1092
-- Setup animation objects
1093
function scriptChildModified(child)
1094
	local fileList = animNames[child.Name]
1095
	if (fileList ~= nil) then
1096
		configureAnimationSet(child.Name, fileList)
1097
	end	
1098
end
1099
1100
script.ChildAdded:connect(scriptChildModified)
1101
script.ChildRemoved:connect(scriptChildModified)
1102
1103
1104
for name, fileList in pairs(animNames) do 
1105
	configureAnimationSet(name, fileList)
1106
end	
1107
1108
-- ANIMATION
1109
1110
-- declarations
1111
local toolAnim = "None"
1112
local toolAnimTime = 0
1113
1114
local jumpAnimTime = 0
1115
local jumpAnimDuration = 0.31
1116
1117
local toolTransitionTime = 0.1
1118
local fallTransitionTime = 0.2
1119
1120
-- functions
1121
1122
function stopAllAnimations()
1123
	local oldAnim = currentAnim
1124
1125
	-- return to idle if finishing an emote
1126
	if (emoteNames[oldAnim] ~= nil and emoteNames[oldAnim] == false) then
1127
		oldAnim = "idle"
1128
	end
1129
1130
	currentAnim = ""
1131
	currentAnimInstance = nil
1132
	if (currentAnimKeyframeHandler ~= nil) then
1133
		currentAnimKeyframeHandler:disconnect()
1134
	end
1135
1136
	if (currentAnimTrack ~= nil) then
1137
		currentAnimTrack:Stop()
1138
		currentAnimTrack:Destroy()
1139
		currentAnimTrack = nil
1140
	end
1141
	return oldAnim
1142
end
1143
1144
function setAnimationSpeed(speed)
1145
	if speed ~= currentAnimSpeed then
1146
		currentAnimSpeed = speed
1147
		currentAnimTrack:AdjustSpeed(currentAnimSpeed)
1148
	end
1149
end
1150
1151
function keyFrameReachedFunc(frameName)
1152
	if (frameName == "End") then
1153
--		print("Keyframe : ".. frameName)
1154
1155
		local repeatAnim = currentAnim
1156
		-- return to idle if finishing an emote
1157
		if (emoteNames[repeatAnim] ~= nil and emoteNames[repeatAnim] == false) then
1158
			repeatAnim = "idle"
1159
		end
1160
		
1161
		local animSpeed = currentAnimSpeed
1162
		playAnimation(repeatAnim, 0.15, humanoid)
1163
		setAnimationSpeed(animSpeed)
1164
	end
1165
end
1166
1167
-- Preload animations
1168
function playAnimation(animName, transitionTime, humanoid) 
1169
		
1170
	local roll = math.random(1, animTable[animName].totalWeight) 
1171
	local origRoll = roll
1172
	local idx = 1
1173
	while (roll > animTable[animName][idx].weight) do
1174
		roll = roll - animTable[animName][idx].weight
1175
		idx = idx + 1
1176
	end
1177
	
1178
--	print(animName .. " " .. idx .. " [" .. origRoll .. "]")
1179
	
1180
	local anim = animTable[animName][idx].anim
1181
1182
	-- switch animation		
1183
	if (anim ~= currentAnimInstance) then
1184
		
1185
		if (currentAnimTrack ~= nil) then
1186
			currentAnimTrack:Stop(transitionTime)
1187
			currentAnimTrack:Destroy()
1188
		end
1189
1190
		currentAnimSpeed = 1.0
1191
	
1192
		-- load it to the humanoid; get AnimationTrack
1193
		currentAnimTrack = humanoid:LoadAnimation(anim)
1194
		 
1195
		-- play the animation
1196
		currentAnimTrack:Play(transitionTime)
1197
		currentAnim = animName
1198
		currentAnimInstance = anim
1199
1200
		-- set up keyframe name triggers
1201
		if (currentAnimKeyframeHandler ~= nil) then
1202
			currentAnimKeyframeHandler:disconnect()
1203
		end
1204
		currentAnimKeyframeHandler = currentAnimTrack.KeyframeReached:connect(keyFrameReachedFunc)
1205
		
1206
	end
1207
1208
end
1209
1210
-------------------------------------------------------------------------------------------
1211
-------------------------------------------------------------------------------------------
1212
1213
local toolAnimName = ""
1214
local toolAnimTrack = nil
1215
local toolAnimInstance = nil
1216
local currentToolAnimKeyframeHandler = nil
1217
1218
function toolKeyFrameReachedFunc(frameName)
1219
	if (frameName == "End") then
1220
--		print("Keyframe : ".. frameName)	
1221
		playToolAnimation(toolAnimName, 0.0, humanoid)
1222
	end
1223
end
1224
1225
1226
function playToolAnimation(animName, transitionTime, humanoid)	 
1227
		
1228
		local roll = math.random(1, animTable[animName].totalWeight) 
1229
		local origRoll = roll
1230
		local idx = 1
1231
		while (roll > animTable[animName][idx].weight) do
1232
			roll = roll - animTable[animName][idx].weight
1233
			idx = idx + 1
1234
		end
1235
--		print(animName .. " * " .. idx .. " [" .. origRoll .. "]")
1236
		local anim = animTable[animName][idx].anim
1237
1238
		if (toolAnimInstance ~= anim) then
1239
			
1240
			if (toolAnimTrack ~= nil) then
1241
				toolAnimTrack:Stop()
1242
				toolAnimTrack:Destroy()
1243
				transitionTime = 0
1244
			end
1245
					
1246
			-- load it to the humanoid; get AnimationTrack
1247
			toolAnimTrack = humanoid:LoadAnimation(anim)
1248
			 
1249
			-- play the animation
1250
			toolAnimTrack:Play(transitionTime)
1251
			toolAnimName = animName
1252
			toolAnimInstance = anim
1253
1254
			currentToolAnimKeyframeHandler = toolAnimTrack.KeyframeReached:connect(toolKeyFrameReachedFunc)
1255
		end
1256
end
1257
1258
function stopToolAnimations()
1259
	local oldAnim = toolAnimName
1260
1261
	if (currentToolAnimKeyframeHandler ~= nil) then
1262
		currentToolAnimKeyframeHandler:disconnect()
1263
	end
1264
1265
	toolAnimName = ""
1266
	toolAnimInstance = nil
1267
	if (toolAnimTrack ~= nil) then
1268
		toolAnimTrack:Stop()
1269
		toolAnimTrack:Destroy()
1270
		toolAnimTrack = nil
1271
	end
1272
1273
1274
	return oldAnim
1275
end
1276
1277
-------------------------------------------------------------------------------------------
1278
-------------------------------------------------------------------------------------------
1279
1280
1281
function onRunning(speed)
1282
	if speed > 0.01 then
1283
		local scale = 15.0
1284
		playAnimation("walk", 0.1, humanoid)
1285
		setAnimationSpeed(speed / scale)
1286
		pose = "Running"
1287
	else
1288
		playAnimation("idle", 0.1, humanoid)
1289
		pose = "Standing"
1290
	end
1291
end
1292
1293
function onDied()
1294
	pose = "Dead"
1295
end
1296
1297
function onJumping()
1298
	playAnimation("jump", 0.1, humanoid)
1299
	jumpAnimTime = jumpAnimDuration
1300
	pose = "Jumping"
1301
end
1302
1303
function onClimbing(speed)
1304
	local scale = 5.0
1305
	playAnimation("climb", 0.1, humanoid)
1306
	setAnimationSpeed(speed / scale)
1307
	pose = "Climbing"
1308
end
1309
1310
function onGettingUp()
1311
	pose = "GettingUp"
1312
end
1313
1314
function onFreeFall()
1315
	if (jumpAnimTime <= 0) then
1316
		playAnimation("fall", fallTransitionTime, humanoid)
1317
	end
1318
	pose = "FreeFall"
1319
end
1320
1321
function onFallingDown()
1322
	pose = "FallingDown"
1323
end
1324
1325
function onSeated()
1326
	pose = "Seated"
1327
end
1328
1329
function onPlatformStanding()
1330
	pose = "PlatformStanding"
1331
end
1332
1333
function onSwimming(speed)
1334
	if speed > 1.00 then
1335
		local scale = 10.0
1336
		playAnimation("swim", 0.4, humanoid)
1337
		setAnimationSpeed(speed / scale)
1338
		pose = "Swimming"
1339
	else
1340
		playAnimation("swimidle", 0.4, humanoid)
1341
		pose = "Standing"
1342
	end
1343
end
1344
1345
function getTool()	
1346
	for _, kid in ipairs(Figure:GetChildren()) do
1347
		if kid.className == "Tool" then return kid end
1348
	end
1349
	return nil
1350
end
1351
1352
function getToolAnim(tool)
1353
	for _, c in ipairs(tool:GetChildren()) do
1354
		if c.Name == "toolanim" and c.className == "StringValue" then
1355
			return c
1356
		end
1357
	end
1358
	return nil
1359
end
1360
1361
function animateTool()
1362
	
1363
	if (toolAnim == "None") then
1364
		playToolAnimation("toolnone", toolTransitionTime, humanoid)
1365
		return
1366
	end
1367
1368
	if (toolAnim == "Slash") then
1369
		playToolAnimation("toolslash", 0, humanoid)
1370
		return
1371
	end
1372
1373
	if (toolAnim == "Lunge") then
1374
		playToolAnimation("toollunge", 0, humanoid)
1375
		return
1376
	end
1377
end
1378
1379
function moveSit()
1380
end
1381
1382
local lastTick = 0
1383
1384
function move(time)
1385
	local amplitude = 1
1386
	local frequency = 1
1387
  	local deltaTime = time - lastTick
1388
  	lastTick = time
1389
1390
	local climbFudge = 0
1391
	local setAngles = false
1392
1393
  	if (jumpAnimTime > 0) then
1394
  		jumpAnimTime = jumpAnimTime - deltaTime
1395
  	end
1396
1397
	if (pose == "FreeFall" and jumpAnimTime <= 0) then
1398
		playAnimation("fall", fallTransitionTime, humanoid)
1399
	elseif (pose == "Seated") then
1400
		playAnimation("sit", 0.5, humanoid)
1401
		return
1402
	elseif (pose == "Running") then
1403
		playAnimation("walk", 0.1, humanoid)
1404
	elseif (pose == "Dead" or pose == "GettingUp" or pose == "FallingDown" or pose == "Seated" or pose == "PlatformStanding") then
1405
		stopAllAnimations()
1406
		amplitude = 0.1
1407
		frequency = 1
1408
		setAngles = true
1409
	end
1410
1411
	-- Tool Animation handling
1412
	local tool = getTool()
1413
	if tool then
1414
	
1415
		animStringValueObject = getToolAnim(tool)
1416
1417
		if animStringValueObject then
1418
			toolAnim = animStringValueObject.Value
1419
			-- message recieved, delete StringValue
1420
			animStringValueObject.Parent = nil
1421
			toolAnimTime = time + .3
1422
		end
1423
1424
		if time > toolAnimTime then
1425
			toolAnimTime = 0
1426
			toolAnim = "None"
1427
		end
1428
1429
		animateTool()		
1430
	else
1431
		stopToolAnimations()
1432
		toolAnim = "None"
1433
		toolAnimInstance = nil
1434
		toolAnimTime = 0
1435
	end
1436
end
1437
1438
-- connect events
1439
humanoid.Died:connect(onDied)
1440
humanoid.Running:connect(onRunning)
1441
humanoid.Jumping:connect(onJumping)
1442
humanoid.Climbing:connect(onClimbing)
1443
humanoid.GettingUp:connect(onGettingUp)
1444
humanoid.FreeFalling:connect(onFreeFall)
1445
humanoid.FallingDown:connect(onFallingDown)
1446
humanoid.Seated:connect(onSeated)
1447
humanoid.PlatformStanding:connect(onPlatformStanding)
1448
humanoid.Swimming:connect(onSwimming)
1449
1450
Game.Players.LocalPlayer.Chatted:connect(function(msg)
1451
	local emote = ""
1452
	if (string.sub(msg, 1, 3) == "/e ") then
1453
		emote = string.sub(msg, 4)
1454
	elseif (string.sub(msg, 1, 7) == "/emote ") then
1455
		emote = string.sub(msg, 8)
1456
	end
1457
	
1458
	if (pose == "Standing" and emoteNames[emote] ~= nil) then
1459
		playAnimation(emote, 0.1, humanoid)
1460
	end
1461
	print("===> " .. string.sub(msg, 1, 3) .. "(" .. emote .. ")")
1462
end)
1463
1464
1465
-- main program
1466
1467
local runService = game:service("RunService");
1468
1469
-- print("bottom")
1470
1471
-- initialize to idle
1472
playAnimation("idle", 0.1, humanoid)
1473
pose = "Standing"
1474
game:GetService("RunService").RenderStepped:Connect(function(step)
1475
	move(step)
1476
end)