SHOW:
|
|
- or go back to the newest paste.
1 | plr = game.Players.LocalPlayer | |
2 | repeat wait() until plr.Character | |
3 | char = plr.Character | |
4 | ||
5 | local player = game.Players.LocalPlayer | |
6 | ||
7 | ||
8 | local chara = workspace:WaitForChild(player.Name) | |
9 | local human = chara.Humanoid | |
10 | local neck = Instance.new("Weld",char) | |
11 | neck.Part0 = char.Torso | |
12 | neck.Part1 = char.Head | |
13 | neck.C0 = CFrame.new(0, 1.5, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
14 | local human2 = Instance.new("Weld",char) | |
15 | human2.Part0 = char.HumanoidRootPart | |
16 | human2.Part1 = char.Torso | |
17 | human2co = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
18 | necc = CFrame.new(0, 1.5, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
19 | local rhandclone = game.Players.LocalPlayer.Character.Torso["Right Shoulder"]:Clone() | |
20 | local rhandweld = Instance.new("Weld", game.Players.LocalPlayer.Character.Torso) | |
21 | rhandweld.Part0 = game.Players.LocalPlayer.Character.Torso | |
22 | rhandweld.Part1 = game.Players.LocalPlayer.Character["Right Arm"] | |
23 | rhandweld.C0 = CFrame.new(1.5, 0, 0, 1, -1.6395192e-43, 0, -1.6395192e-43, 1, 0, 0, 0, 1) | |
24 | local lhandclone = game.Players.LocalPlayer.Character.Torso["Left Shoulder"]:Clone() | |
25 | local lhandweld = Instance.new("Weld", game.Players.LocalPlayer.Character.Torso) | |
26 | lhandweld.Part0 = game.Players.LocalPlayer.Character.Torso | |
27 | lhandweld.Part1 = game.Players.LocalPlayer.Character["Left Arm"] | |
28 | lhandweld.C0 = CFrame.new(-1.5, 0, 0, 1, -1.6395192e-43, 0, -1.6395192e-43, 1, 0, 0, 0, 1) | |
29 | local llegweld = Instance.new("Weld", game.Players.LocalPlayer.Character.Torso) | |
30 | llegweld.Part0 = game.Players.LocalPlayer.Character.Torso | |
31 | llegweld.Part1 = game.Players.LocalPlayer.Character["Left Leg"] | |
32 | llegweld.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0) * CFrame.new(0,-1,0) | |
33 | local rlegclone = game.Players.LocalPlayer.Character.Torso["Right Hip"]:Clone() | |
34 | game.Players.LocalPlayer.Character.Torso["Right Hip"]:Remove() | |
35 | local rlegweld = Instance.new("Weld", game.Players.LocalPlayer.Character.Torso) | |
36 | rlegweld.Part0 = game.Players.LocalPlayer.Character.Torso | |
37 | rlegweld.Part1 = game.Players.LocalPlayer.Character["Right Leg"] | |
38 | rlegweld.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0) * CFrame.new(0,-1,0) | |
39 | pose = "Standing" | |
40 | ||
41 | cananimate = true | |
42 | ||
43 | local speed = 0 | |
44 | ||
45 | char.Humanoid.Running:connect(function(s) | |
46 | speed = s | |
47 | end) | |
48 | ||
49 | local update = game:GetService("RunService") | |
50 | update.RenderStepped:connect(function() | |
51 | local ray = Ray.new(chara.Torso.Position, (chara.Torso.Position - Vector3.new(0,9999999,0)).unit * 300) | |
52 | local p, position = game.Workspace:FindPartOnRay(ray, char, true, false) | |
53 | local dis = (chara.Torso.Position - position).magnitude | |
54 | if dis > 3.8 and chara.Torso.Velocity.Y > 0 then | |
55 | pose = "Jumping" | |
56 | end | |
57 | if dis> 3.8 and chara.Torso.Velocity.Y < 0 then | |
58 | pose = "Falling" | |
59 | end | |
60 | if dis < 3.8 and speed == 0 then | |
61 | pose = "Standing" | |
62 | end | |
63 | if dis < 3.8 and speed > 0 then | |
64 | pose = "Walking" | |
65 | end | |
66 | end) | |
67 | local Jump = Instance.new("Sound",char) | |
68 | Jump.SoundId = "rbxassetid://158309736" | |
69 | Jump.Volume = 4 | |
70 | jumping = false | |
71 | sound = Jump | |
72 | stage = 1 | |
73 | hum = char.Humanoid | |
74 | function onJump(val) | |
75 | jumping = val | |
76 | ||
77 | if jumping == true and stage > 1 and stage < 3 then | |
78 | --print("Triple jump!") | |
79 | stage = 3 | |
80 | char.Torso.Velocity = char.Torso.Velocity + Vector3.new(0, 125, 0) | |
81 | ||
82 | sound:Play() | |
83 | wait(1) | |
84 | stage = 0 | |
85 | elseif jumping == true and stage > 0 and stage < 2 then | |
86 | --print("Double jump!") | |
87 | stage = 2 | |
88 | char.Torso.Velocity = char.Torso.Velocity + Vector3.new(0, 85, 0) | |
89 | ||
90 | ||
91 | sound:Play() | |
92 | elseif jumping == true and stage < 1 then | |
93 | --print("Normal jump!") | |
94 | stage = 1 | |
95 | ||
96 | sound.Pitch = 1 | |
97 | sound:Play() | |
98 | end | |
99 | end | |
100 | hum.Jumping:connect(onJump) | |
101 | ||
102 | ||
103 | -- Jump Timeout -- | |
104 | function onFall(val) | |
105 | falling = val | |
106 | if val == false then --When player lands... | |
107 | wait(0.25) --Next jump times out after .2 seconds. | |
108 | if stage > 0 and falling == false then | |
109 | stage = 0 --Resets jumps. | |
110 | end | |
111 | end | |
112 | end | |
113 | hum.FreeFalling:connect(onFall) | |
114 | walking = false | |
115 | while true do | |
116 | wait() | |
117 | if pose == "Standing" and cananimate then | |
118 | walking = false | |
119 | for i = 0,1 , 0.05 do | |
120 | lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-1.5, 0, 0, 1, -1.6395192e-43, 0, -1.6395192e-43, 1, 0, 0, 0, 1),i) | |
121 | rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(1.5, 0, 0, 1, -1.6395192e-43, 0, -1.6395192e-43, 1, 0, 0, 0, 1),i) | |
122 | llegweld.C0 = llegweld.C0:lerp(CFrame.new(-0.499999523, -2.00000048, -9.53674316e-07, 0.970465422, 0, -0.241240621, 0, 1, 0, 0.241240621, 0, 0.970465422),i) | |
123 | rlegweld.C0 = rlegweld.C0:lerp(CFrame.new(0.499999523, -2.00000048, 0, 0.825716197, -3.35415825e-06, -0.564085841, -0.00202200096, 0.999993622, -0.00296577741, 0.564082265, 0.00358947273, 0.825710893),i) | |
124 | human2.C0 = human2.C0:lerp(CFrame.new(0, 0, 0, 0.779511273, 0, 0.626388252, 0, 0.999997616, 0, -0.626388252, 0, 0.779511273):inverse(),i) | |
125 | neck.C0 = neck.C0:lerp(CFrame.new(0, 1.5, 0, 0.726146579, 0, 0.687539995, 0, 1, 0, -0.687539995, 0, 0.726146579),i) | |
126 | update.RenderStepped:wait() | |
127 | end | |
128 | end | |
129 | if pose == "Walking" and cananimate then | |
130 | for i = 0,1 ,0.05 do | |
131 | lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-1.5, 0.168842316, -0.374614239, 1, 0, 0, 0, 0.662306964, -0.74923259, 0, 0.74923259, 0.662307084),i) | |
132 | rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(1.5, 0.12597847, 0.331827164, 1, 0, 0, 0, 0.748035073, 0.663659215, 0, -0.663659275, 0.748035014),i) | |
133 | rlegweld.C0 = rlegweld.C0:lerp(CFrame.new(0.5, -1.67391682, -0.738807678, 0.99999994, 0, 0, 0, 0.673916757, -0.738807261, 0, 0.738807321, 0.673916817),i) | |
134 | llegweld.C0 = llegweld.C0:lerp(CFrame.new(-0.5, -1.67705727, 0.735931396, 1, 0, 0, 0, 0.677056909, 0.735930681, 0, -0.735930741, 0.677056968),i) | |
135 | human2.C0 = human2.C0:lerp(human2co,i) | |
136 | neck.C0 = neck.C0:lerp(necc,i) | |
137 | game:GetService("RunService").RenderStepped:wait() | |
138 | end | |
139 | for i = 0,1 ,0.05 do | |
140 | rlegweld.C0 = rlegweld.C0:lerp(CFrame.new(0.5, -1.69855976, 0.715551376, 1, 0, 0, 0, 0.698559642, 0.715551734, 0, -0.715551794, 0.698559701),i) | |
141 | llegweld.C0 = llegweld.C0:lerp(CFrame.new(-0.5, -1.80723953, -0.590223312, 1, 0, 0, 0, 0.807239354, -0.590224087, 0, 0.590224147, 0.807239413),i) | |
142 | lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-1.5, 0.216003418, 0.411518574, 1, 0, 0, 0, 0.567983389, 0.823040009, 0, -0.823040009, 0.567983389),i) | |
143 | rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(1.5, 0.215018272, -0.41083622, 1, 0, 0, 0, 0.569954693, -0.821676135, 0, 0.821676135, 0.569954753),i) | |
144 | human2.C0 = human2.C0:lerp(human2co,i) | |
145 | neck.C0 = neck.C0:lerp(necc,i) | |
146 | game:GetService("RunService").RenderStepped:wait() | |
147 | end | |
148 | end | |
149 | if pose == "Jumping" and cananimate and stage == 1 then | |
150 | for i = 0,1 , 0.03 do | |
151 | rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(1.5, -0.0720152855, 0.193100929, 1, 0, 0, 0, 0.896007597, 0.444038779, 0, -0.444038779, 0.896007597),i) | |
152 | lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-1.49999976, 0.95036602, -0.548690796, 1, 0, 0, 0, -0.866025984, -0.499998987, 0, 0.499998987, -0.866025984),i) | |
153 | llegweld.C0 = llegweld.C0:lerp(CFrame.new(-0.5, -1.98754525, -0.507376909, 1, 0, 0, 0, 0.878388762, -0.477946907, 0, 0.477946877, 0.878388762),i) | |
154 | rlegweld.C0 = rlegweld.C0:lerp(CFrame.new(0.5, -1.91097617, 0.239589691, 1, 0, 0, 0, 0.93738246, 0.348301798, 0, -0.348301798, 0.93738246),i) | |
155 | human2.C0 = human2.C0:lerp(human2co,i) | |
156 | neck.C0 = neck.C0:lerp(necc,i) | |
157 | update.RenderStepped:wait() | |
158 | end | |
159 | end | |
160 | if pose == "Jumping" and cananimate and stage == 2 then | |
161 | for i = 0,1 , 0.03 do | |
162 | rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(1.66472816, 0.166806221, 0, 0.840905726, -0.541181803, 0, 0.541181803, 0.840905726, 0, 0, 0, 1),i) | |
163 | lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-1.69600487, 0.110276461, 0, 0.871529698, 0.490342826, 0, -0.490342826, 0.871529698, 0, 0, 0, 1),i) | |
164 | llegweld.C0 = llegweld.C0:lerp(CFrame.new(-0.5, -1.3247503, -0.419755459, 1, 0, 0, 0, 0.999999881, 0, 0, 0, 1),i) | |
165 | rlegweld.C0 = rlegweld.C0:lerp(CFrame.new(0.5, -1.99999988, 0, 1, 0, 0, 0, 0.999999881, 0, 0, 0, 1),i) | |
166 | human2.C0 = human2.C0:lerp(human2co,i) | |
167 | neck.C0 = neck.C0:lerp(CFrame.new(0, 1.5, 0, 1, 0, 0, 0, 0.917574883, -0.397562951, 0, 0.397562951, 0.917574883),i) | |
168 | update.RenderStepped:wait() | |
169 | end | |
170 | end | |
171 | if pose == "Jumping" and cananimate and stage == 3 then | |
172 | for i = 0,1 ,0.03 do | |
173 | llegweld.C0 = llegweld.C0:lerp(CFrame.new(-0.499996185, -0.302403927, -1.00209022, 0.998795688, 1.07394217e-05, 0.0490646139, 0.0144870952, 0.955350697, -0.295119137, -0.0468770824, 0.295474499, 0.954199851),i) | |
174 | rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(0.999998093, 0.401779056, -0.300704479, 0.995004237, 0.0998337567, 2.21675634e-07, -8.0173304e-05, 0.000801276532, -0.999999762, -0.0998337343, 0.995003879, 0.000805277436),i) | |
175 | lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-0.999984741, 0.403417826, -0.400689125, 0.978886008, -0.198669523, -0.0480909608, -0.0489091128, 0.000789985002, -0.99880302, 0.198469713, 0.98006618, -0.00894344598),i) | |
176 | rlegweld.C0 = rlegweld.C0:lerp(CFrame.new(0.499996185, -0.299546242, -1.00121045, 0.999991715, 1.10380352e-05, -3.05008143e-06, -1.13286078e-05, 0.955351293, -0.295472056, -2.51282472e-07, 0.295474589, 0.955343246),i) | |
177 | human2.C0 = human2.C0 * CFrame.Angles(math.rad(-10), math.rad(0), math.rad(0)) | |
178 | neck.C0 = neck.C0:lerp(necc,i) | |
179 | game:GetService("RunService").RenderStepped:wait() | |
180 | end | |
181 | end | |
182 | if pose == "Falling" and cananimate then | |
183 | for i = 0,1 , 0.05 do | |
184 | rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(2.00721169, 0.966965914, 0, -0.554754853, -0.832013845, 0, 0.832013845, -0.554754853, 0, 0, 0, 1),i) | |
185 | lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-1.87815094, 0.913155079, 0, -0.494452, 0.869204998, 0, -0.869204998, -0.494452, 0, 0, 0, 1),i) | |
186 | llegweld.C0 = llegweld.C0:lerp(CFrame.new(-0.5, -1.99999988, 0, 1, 0, 0, 0, 0.999999881, 0, 0, 0, 1),i) | |
187 | rlegweld.C0 = rlegweld.C0:lerp(CFrame.new(0.5, -1.99999988, 0, 1, 0, 0, 0, 0.999999881, 0, 0, 0, 1),i) | |
188 | human2.C0 = human2.C0:lerp(human2co,i) | |
189 | neck.C0 = neck.C0:lerp(CFrame.new(0, 1.50154519, -0.248991966, 1, 0, 0, 0, 0.852542579, 0.522657752, 0, -0.522657752, 0.852542579),i) | |
190 | update.RenderStepped:wait() | |
191 | end | |
192 | end | |
193 | end |