SHOW:
|
|
- or go back to the newest paste.
1 | - | local me = game:service("Players").LocalPlayer |
1 | + | -- This script has been converted to FE by iPxter |
2 | ||
3 | ||
4 | if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end | |
5 | local Player,Mouse,mouse,UserInputService,ContextActionService = owner | |
6 | do | |
7 | print("FE Compatibility code by Mokiros | Translated to FE by iPxter") | |
8 | script.Parent = Player.Character | |
9 | ||
10 | --RemoteEvent for communicating | |
11 | local Event = Instance.new("RemoteEvent") | |
12 | Event.Name = "UserInput_Event" | |
13 | ||
14 | --Fake event to make stuff like Mouse.KeyDown work | |
15 | local function fakeEvent() | |
16 | local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end} | |
17 | t.connect = t.Connect | |
18 | return t | |
19 | end | |
20 | ||
21 | --Creating fake input objects with fake variables | |
22 | local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()} | |
23 | local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()} | |
24 | local CAS = {Actions={},BindAction=function(self,name,fun,touch,...) | |
25 | CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil | |
26 | end} | |
27 | --Merged 2 functions into one by checking amount of arguments | |
28 | CAS.UnbindAction = CAS.BindAction | |
29 | ||
30 | --This function will trigger the events that have been :Connect()'ed | |
31 | local function te(self,ev,...) | |
32 | local t = m[ev] | |
33 | if t and t._fakeEvent and t.Function then | |
34 | t.Function(...) | |
35 | end | |
36 | end | |
37 | m.TrigEvent = te | |
38 | UIS.TrigEvent = te | |
39 | ||
40 | Event.OnServerEvent:Connect(function(plr,io) | |
41 | if plr~=Player then return end | |
42 | if io.isMouse then | |
43 | m.Target = io.Target | |
44 | m.Hit = io.Hit | |
45 | else | |
46 | local b = io.UserInputState == Enum.UserInputState.Begin | |
47 | if io.UserInputType == Enum.UserInputType.MouseButton1 then | |
48 | return m:TrigEvent(b and "Button1Down" or "Button1Up") | |
49 | end | |
50 | for _,t in pairs(CAS.Actions) do | |
51 | for _,k in pairs(t.Keys) do | |
52 | if k==io.KeyCode then | |
53 | t.Function(t.Name,io.UserInputState,io) | |
54 | end | |
55 | end | |
56 | end | |
57 | m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower()) | |
58 | UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false) | |
59 | end | |
60 | end) | |
61 | Event.Parent = NLS([==[ | |
62 | local Player = game:GetService("Players").LocalPlayer | |
63 | local Event = script:WaitForChild("UserInput_Event") | |
64 | ||
65 | local UIS = game:GetService("UserInputService") | |
66 | local input = function(io,a) | |
67 | if a then return end | |
68 | --Since InputObject is a client-side instance, we create and pass table instead | |
69 | Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState}) | |
70 | end | |
71 | UIS.InputBegan:Connect(input) | |
72 | UIS.InputEnded:Connect(input) | |
73 | ||
74 | local Mouse = Player:GetMouse() | |
75 | local h,t | |
76 | --Give the server mouse data 30 times every second, but only if the values changed | |
77 | --If player is not moving their mouse, client won't fire events | |
78 | while wait(1/30) do | |
79 | if h~=Mouse.Hit or t~=Mouse.Target then | |
80 | h,t=Mouse.Hit,Mouse.Target | |
81 | Event:FireServer({isMouse=true,Target=t,Hit=h}) | |
82 | end | |
83 | end]==],Player.Character) | |
84 | Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS | |
85 | end | |
86 | ||
87 | ||
88 | ||
89 | local me = owner | |
90 | local char = me.Character | |
91 | local Modelname = "LemonadeModel" | |
92 | local Toolname = "Lemonade" | |
93 | script.Name = "bin" | |
94 | if char:FindFirstChild(Modelname) then | |
95 | char[Modelname].Parent = nil | |
96 | end | |
97 | for _, v in pairs(me.Backpack:GetChildren()) do | |
98 | if v:FindFirstChild("tooltype") then | |
99 | if v.tooltype.Value == Toolname then | |
100 | v.Parent = nil | |
101 | end | |
102 | end | |
103 | end | |
104 | local aing | |
105 | local phpos | |
106 | local hpos | |
107 | local bin = Instance.new("HopperBin", me.Backpack) | |
108 | bin.Name = Toolname | |
109 | local tooltype = Instance.new("StringValue", bin) | |
110 | tooltype.Name = "tooltype" | |
111 | tooltype.Value = Toolname | |
112 | script.Parent = bin | |
113 | local able = true | |
114 | local sable1 = true | |
115 | local surfaces = {"TopSurface", "BottomSurface", "LeftSurface", "RightSurface", "FrontSurface", "BackSurface"} | |
116 | if char:FindFirstChild("Torso") and char:FindFirstChild("Right Arm") and char:FindFirstChild("Left Arm") then | |
117 | ||
118 | else | |
119 | script:remove() | |
120 | end | |
121 | torso = char.Torso | |
122 | neck = torso.Neck | |
123 | human = char.Humanoid | |
124 | Rarm = char["Right Arm"] | |
125 | Larm = char["Left Arm"] | |
126 | local Sounds = { | |
127 | drink = Instance.new("Sound"), | |
128 | swing = Instance.new("Sound"), | |
129 | hitsound = Instance.new("Sound") | |
130 | } | |
131 | Sounds["drink"].SoundId = "http://www.roblox.com/asset/?id=10722059" | |
132 | Sounds["drink"].Volume = 1 | |
133 | Sounds["swing"].SoundId = "http://www.roblox.com/asset/?id=10209645" | |
134 | Sounds["swing"].Volume = 1 | |
135 | Sounds["hitsound"].SoundId = "http://www.roblox.com/asset/?id=10209590" | |
136 | Sounds["hitsound"].Volume = 0.5 | |
137 | function PlaySound(soundname, pitch) | |
138 | Sounds[soundname].Parent = handle | |
139 | Sounds[soundname].Pitch = pitch | |
140 | Sounds[soundname]:Play() | |
141 | local oldsound = Sounds[soundname] | |
142 | coroutine.resume(coroutine.create(function() | |
143 | wait(4) | |
144 | oldsound:Destroy() | |
145 | end)) | |
146 | Sounds[soundname] = Sounds[soundname]:clone() | |
147 | end | |
148 | function Weld(p0, p1, x, y, z, a, b, c) | |
149 | local w = Instance.new("Weld") | |
150 | w.Parent = p0 | |
151 | w.Part0 = p0 | |
152 | w.Part1 = p1 | |
153 | w.C1 = CFrame.new(x, y, z) * CFrame.Angles(a, b, c) | |
154 | return w | |
155 | end | |
156 | function Part(parent, anchor, collide, tran, ref, color, x, y, z, Break, lifetime) | |
157 | local p = Instance.new("Part") | |
158 | p.formFactor = "Custom" | |
159 | p.Anchored = anchor | |
160 | p.CanCollide = collide | |
161 | p.Transparency = tran | |
162 | p.Reflectance = ref | |
163 | p.BrickColor = BrickColor.new(color) | |
164 | for _, Surf in pairs(surfaces) do | |
165 | p[Surf] = "Smooth" | |
166 | end | |
167 | p.Size = Vector3.new(x, y, z) | |
168 | if Break then | |
169 | p:BreakJoints() | |
170 | else | |
171 | p:MakeJoints() | |
172 | end | |
173 | p.Parent = parent | |
174 | p.Locked = true | |
175 | if lifetime then | |
176 | game:GetService("Debris"):AddItem(p, lifetime) | |
177 | end | |
178 | return p | |
179 | end | |
180 | function getHum(c) | |
181 | local h = nil | |
182 | for i,v in pairs(c:GetChildren()) do | |
183 | if v:IsA("Humanoid") and c ~= char then | |
184 | if v.Health > 0 then | |
185 | h = v | |
186 | end | |
187 | end | |
188 | end | |
189 | return h | |
190 | end | |
191 | function Heal(hum) | |
192 | coroutine.resume(coroutine.create(function() | |
193 | hum:TakeDamage(-20) | |
194 | end)) | |
195 | end | |
196 | function CreateModel() | |
197 | if char:FindFirstChild(Modelname) then | |
198 | char[Modelname].Parent = nil | |
199 | end | |
200 | ||
201 | Mo = Instance.new("Model") | |
202 | Mo.Name = Modelname | |
203 | ||
204 | RABrick = Part(Mo, false, false, 1, 0, tostring(Rarm.BrickColor), 1, 2, 1, true) | |
205 | LABrick = Part(Mo, false, false, 1, 0, tostring(Larm.BrickColor), 1, 2, 1, true) | |
206 | RLBrick = Part(Mo, false, false, 1, 0, "White", 0.1, 0.1, 0.1, true) | |
207 | LLBrick = Part(Mo, false, false, 1, 0, "White", 0.1, 0.1, 0.1, true) | |
208 | gripBrick = Part(Mo, false, false, 1, 0, "White", 0.1, 0.1, 0.1, true) | |
209 | gripBrick2 = Part(Mo, false, false, 1, 0, "White", 0.1, 0.1, 0.1, true) | |
210 | Weld(Rarm, gripBrick, 0, 1, 0, 0, 0, 0) | |
211 | Weld(Larm, gripBrick2, 0, 1, 0, 0, 0, 0) | |
212 | RABW = Weld(torso, RABrick, -1.5, -0.5, 0, 0, 0, 0) | |
213 | LABW = Weld(torso, LABrick, 1.5, -0.5, 0, 0, 0, 0) | |
214 | RLBW = Weld(torso, RLBrick, -0.5, 1.2, 0, 0, 0, 0) | |
215 | LLBW = Weld(torso, LLBrick, 0.5, 1.2, 0, 0, 0, 0) | |
216 | TH = Weld(torso, nil, -1, 0.6, 0.7, 0, 0, 0) | |
217 | RABW2 = Weld(RABrick, nil, 0.2, 1.2, 0, math.rad(-90), math.rad(-30), 0) | |
218 | LABW2 = Weld(LABrick, nil, -0.2, 1.2, 0, math.rad(-90), math.rad(30), 0) | |
219 | RLBW2 = Weld(RLBrick, nil, 0, 0.77, 0, 0, 0, 0) | |
220 | LLBW2 = Weld(LLBrick, nil, 0, 0.77, 0, 0, 0, 0) | |
221 | ||
222 | local modc = Instance.new("Model", Mo) | |
223 | modc.Name = "Lemonade" | |
224 | ||
225 | handle = Part(modc, false, false, 0.8, 0.2, "Medium stone gray", 1, 1.3, 1, true) | |
226 | handle.Name = "Handle" | |
227 | Instance.new("CylinderMesh", handle) | |
228 | ||
229 | handle2 = Part(modc, false, false, 0, 0, "Bright yellow", 1, 1.15, 1, true) | |
230 | handle2.Name = "Handle2" | |
231 | Instance.new("CylinderMesh", handle2).Scale = Vector3.new(0.9, 0.9, 0.9) | |
232 | ||
233 | tip = Part(modc, false, false, 1, 0, "Bright yellow", 0.2, 0.2, 0.2, true) | |
234 | tip.Name = "Tip" | |
235 | ||
236 | grip = Weld(gripBrick, nil, 0, -0.2, -0.1, math.rad(80), 0, -math.rad(60)) | |
237 | liq = Weld(handle, handle2, 0, 0.1, 0, 0, 0, 0) | |
238 | Weld(handle, tip, 0, -0.65, 0, 0, 0, 0) | |
239 | ||
240 | Mo.Parent = char | |
241 | TH.Part1 = handle | |
242 | ||
243 | fps = Instance.new("Model", workspace.CurrentCamera) | |
244 | local fpra = Rarm:clone() | |
245 | fpra.Parent = fps | |
246 | local fpt = modc:clone() | |
247 | fpt.Parent = fps | |
248 | Weld(Rarm, fpra, 0, 0, 0, 0, 0, 0) | |
249 | Weld(handle, fpt.Handle, 0, 0, 0, 0, 0, 0) | |
250 | ||
251 | for _,v in pairs(modc:GetChildren()) do | |
252 | v.Parent = Mo | |
253 | end | |
254 | ||
255 | modc:Destroy() | |
256 | end | |
257 | function sheath() | |
258 | RABW2.C1 = CFrame.new(0.2, 0.7, math.sin(80/29)/6) * CFrame.Angles(math.rad(-80), -math.rad(20), 0) | |
259 | LABW2.C1 = CFrame.new(-0.2, 1.5, math.sin(80/29)/6) * CFrame.Angles(math.rad(-80), math.rad(45), 0) | |
260 | wait() | |
261 | RABW2.C1 = CFrame.new(0.2, 0.7, math.sin(60/29)/6) * CFrame.Angles(math.rad(-60), -math.rad(20), 0) | |
262 | LABW2.C1 = CFrame.new(-0.2, 1.5, math.sin(60/29)/6) * CFrame.Angles(math.rad(-60), math.rad(45), 0) | |
263 | wait() | |
264 | RABW2.C1 = CFrame.new(0.2, 0.7, math.sin(40/29)/6) * CFrame.Angles(math.rad(-40), -math.rad(20), 0) | |
265 | LABW2.C1 = CFrame.new(-0.2, 1.5, math.sin(40/29)/6) * CFrame.Angles(math.rad(-40), math.rad(45), 0) | |
266 | wait() | |
267 | LABW2.C1 = CFrame.new(-0.2, 0.7, math.sin(20/29)/6) * CFrame.Angles(math.rad(-20), math.rad(45), 0) | |
268 | RABW2.C1 = CFrame.new(0.2, 1.5, math.sin(20/29)/6) * CFrame.Angles(math.rad(-20), -math.rad(20), 0) | |
269 | wait() | |
270 | end | |
271 | function unsheath() | |
272 | LABW2.C1 = CFrame.new(-0.2, 0.7, math.sin(20/29)/6) * CFrame.Angles(math.rad(-20), math.rad(45), 0) | |
273 | RABW2.C1 = CFrame.new(0.2, 1.5, math.sin(20/29)/6) * CFrame.Angles(math.rad(-20), -math.rad(20), 0) | |
274 | wait() | |
275 | RABW2.C1 = CFrame.new(0.2, 0.7, math.sin(40/29)/6) * CFrame.Angles(math.rad(-40), -math.rad(20), 0) | |
276 | LABW2.C1 = CFrame.new(-0.2, 1.5, math.sin(40/29)/6) * CFrame.Angles(math.rad(-40), math.rad(45), 0) | |
277 | wait() | |
278 | RABW2.C1 = CFrame.new(0.2, 0.7, math.sin(60/29)/6) * CFrame.Angles(math.rad(-60), -math.rad(20), 0) | |
279 | LABW2.C1 = CFrame.new(-0.2, 1.5, math.sin(60/29)/6) * CFrame.Angles(math.rad(-60), math.rad(45), 0) | |
280 | wait() | |
281 | RABW2.C1 = CFrame.new(0.2, 0.7, math.sin(80/29)/6) * CFrame.Angles(math.rad(-80), -math.rad(20), 0) | |
282 | LABW2.C1 = CFrame.new(-0.2, 1.5, math.sin(80/29)/6) * CFrame.Angles(math.rad(-80), math.rad(45), 0) | |
283 | wait() | |
284 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), 0) | |
285 | LABW2.C1 = CFrame.new(-0.2, 1.5, 0) * CFrame.Angles(math.rad(-90), math.rad(45), 0) | |
286 | end | |
287 | function drink() | |
288 | if able then | |
289 | able = false | |
290 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(30), 0) | |
291 | wait() | |
292 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(35), 0) | |
293 | wait() | |
294 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(40), 0) | |
295 | wait() | |
296 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-92), -math.rad(40), 0) | |
297 | wait() | |
298 | RABW2.C1 = CFrame.new(0.2, 0.75, 0) * CFrame.Angles(math.rad(-94), -math.rad(39), 0) | |
299 | wait() | |
300 | RABW2.C1 = CFrame.new(0.2, 0.8, 0) * CFrame.Angles(math.rad(-96), -math.rad(38), 0) | |
301 | wait() | |
302 | RABW2.C1 = CFrame.new(0.2, 0.85, 0) * CFrame.Angles(math.rad(-98), -math.rad(37), 0) | |
303 | wait() | |
304 | RABW2.C1 = CFrame.new(0.2, 0.9, 0) * CFrame.Angles(math.rad(-100), -math.rad(36), 0) | |
305 | wait() | |
306 | neck.C0 = neck.C0 * CFrame.Angles(-math.rad(2.5), 0, 0) | |
307 | workspace.CurrentCamera.CoordinateFrame = workspace.CurrentCamera.CoordinateFrame * CFrame.Angles(-math.rad(2.5), 0, 0) | |
308 | RABW2.C1 = CFrame.new(0.2, 0.9, 0) * CFrame.Angles(math.rad(-102), -math.rad(35), 0) | |
309 | wait() | |
310 | neck.C0 = neck.C0 * CFrame.Angles(-math.rad(2.5), 0, 0) | |
311 | RABW2.C1 = CFrame.new(0.2, 0.9, 0) * CFrame.Angles(math.rad(-104), -math.rad(34), 0) | |
312 | wait() | |
313 | neck.C0 = neck.C0 * CFrame.Angles(-math.rad(2.5), 0, 0) | |
314 | wait() | |
315 | neck.C0 = neck.C0 * CFrame.Angles(-math.rad(2.5), 0, 0) | |
316 | grip.C1 = CFrame.new(0, -0.2, -0.1) * CFrame.Angles(math.rad(75), 0, -math.rad(65)) | |
317 | wait() | |
318 | grip.C1 = CFrame.new(0, -0.25, -0.1) * CFrame.Angles(math.rad(70), 0, -math.rad(70)) | |
319 | wait() | |
320 | grip.C1 = CFrame.new(0, -0.3, -0.1) * CFrame.Angles(math.rad(60), 0, -math.rad(80)) | |
321 | PlaySound("drink", 1) | |
322 | wait(1.5) | |
323 | Heal(human) | |
324 | wait(1.5) | |
325 | grip.C1 = CFrame.new(0, -0.25, -0.1) * CFrame.Angles(math.rad(70), 0, -math.rad(70)) | |
326 | wait() | |
327 | neck.C0 = neck.C0 * CFrame.Angles(math.rad(2.5), 0, 0) | |
328 | grip.C1 = CFrame.new(0, -0.2, -0.1) * CFrame.Angles(math.rad(75), 0, -math.rad(65)) | |
329 | wait() | |
330 | neck.C0 = neck.C0 * CFrame.Angles(math.rad(2.5), 0, 0) | |
331 | RABW2.C1 = CFrame.new(0.2, 0.9, 0) * CFrame.Angles(math.rad(-100), -math.rad(36), 0) | |
332 | wait() | |
333 | neck.C0 = neck.C0 * CFrame.Angles(math.rad(2.5), 0, 0) | |
334 | RABW2.C1 = CFrame.new(0.2, 0.75, 0) * CFrame.Angles(math.rad(-94), -math.rad(39), 0) | |
335 | wait() | |
336 | neck.C0 = neck.C0 * CFrame.Angles(math.rad(2.5), 0, 0) | |
337 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(35), 0) | |
338 | wait() | |
339 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), 0) | |
340 | able = true | |
341 | end | |
342 | end | |
343 | function loopray() | |
344 | coroutine.resume(coroutine.create(function() | |
345 | phpos = handle.CFrame | |
346 | wait() | |
347 | while true do | |
348 | hpos = handle.CFrame.p | |
349 | if aing then | |
350 | raydmg() | |
351 | raytrace() | |
352 | end | |
353 | phpos = handle.CFrame.p | |
354 | wait() | |
355 | end | |
356 | end)) | |
357 | end | |
358 | function raydmg() | |
359 | local dray = Ray.new(hpos, (phpos - hpos).unit*(phpos - hpos).magnitude) | |
360 | local hit = workspace:FindPartOnRay(dray, char) | |
361 | if hit then | |
362 | if hit.Parent:FindFirstChild("Humanoid") then | |
363 | local ko = Instance.new("ObjectValue", hit.Parent.Humanoid) | |
364 | ko.Name = "creator" | |
365 | ko.Value = me | |
366 | hit.Parent.Humanoid:TakeDamage(10) | |
367 | PlaySound("hitsound", 1) | |
368 | end | |
369 | end | |
370 | end | |
371 | function raytrace() | |
372 | local dis = (phpos - hpos).magnitude | |
373 | local trace = Part(workspace, true, false, 0.2, 0, "White", 0.5, 0.5, dis, true) | |
374 | trace.Name = "Trace" | |
375 | trace.CFrame = CFrame.new(phpos, hpos) * CFrame.new(0, 0, -dis/2) | |
376 | local tracem = Instance.new("BlockMesh", trace) | |
377 | coroutine.resume(coroutine.create(function() | |
378 | for i = 0.2, 1, 0.1 do | |
379 | trace.Transparency = i | |
380 | wait() | |
381 | end | |
382 | trace:Destroy() | |
383 | end)) | |
384 | coroutine.resume(coroutine.create(function() | |
385 | for i = 1, 0, -0.125 do | |
386 | tracem.Scale = Vector3.new(i, i, 1) | |
387 | wait() | |
388 | end | |
389 | end)) | |
390 | end | |
391 | function swing() | |
392 | if able then | |
393 | able = false | |
394 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), 0) | |
395 | wait() | |
396 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-95), -math.rad(10), 0) | |
397 | wait() | |
398 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-110), -math.rad(2), 0) | |
399 | wait() | |
400 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-120), 0, 0) | |
401 | wait() | |
402 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-135), 0, 0) | |
403 | wait() | |
404 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-145), 0, 0) | |
405 | wait() | |
406 | PlaySound("swing", 2) | |
407 | aing = true | |
408 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-150), 0, 0) | |
409 | wait() | |
410 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-140), 0, 0) | |
411 | wait() | |
412 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-110), 0, 0) | |
413 | wait() | |
414 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-60), 0, 0) | |
415 | wait() | |
416 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-30), 0, 0) | |
417 | wait() | |
418 | aing = false | |
419 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-25), 0, 0) | |
420 | wait() | |
421 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-35), 0, 0) | |
422 | wait() | |
423 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-50), -math.rad(2), 0) | |
424 | wait() | |
425 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-75), -math.rad(5), 0) | |
426 | wait() | |
427 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-85), -math.rad(10), 0) | |
428 | wait() | |
429 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), 0) | |
430 | able = true | |
431 | end | |
432 | end | |
433 | function splem(p, w) | |
434 | local slem = Part(Mo, true, false, 0.3, 0.1, "Bright yellow", w, 0.2, w, true) | |
435 | Instance.new("CylinderMesh", slem) | |
436 | slem.Mesh.Scale = Vector3.new(1, 0.05, 1) | |
437 | slem.CFrame = CFrame.new(p) | |
438 | game:service("Debris"):AddItem(slem, 5) | |
439 | ||
440 | slem.Touched:connect(function(tp) | |
441 | if getHum(tp.Parent) then | |
442 | getHum(tp.Parent).PlatformStand = true | |
443 | coroutine.resume(coroutine.create(function() | |
444 | wait(3) | |
445 | getHum(tp.Parent).PlatformStand = false | |
446 | end)) | |
447 | end | |
448 | end) | |
449 | end | |
450 | function rayspill(p) | |
451 | local dray = Ray.new(p.CFrame.p + Vector3.new(0, -1, 0), ((p.CFrame + Vector3.new(0, -20, 0)).p - p.CFrame.p).unit*((p.CFrame + Vector3.new(0, -20, 0)).p - p.CFrame.p).magnitude) | |
452 | local _, dpos = workspace:FindPartOnRay(dray, char) | |
453 | if dpos then | |
454 | splem(dpos, math.random() + 2) | |
455 | end | |
456 | end | |
457 | function spill() | |
458 | if able and sable1 then | |
459 | able = false | |
460 | sable1 = false | |
461 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), -math.rad(2)) | |
462 | wait() | |
463 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), -math.rad(5)) | |
464 | wait() | |
465 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), -math.rad(10)) | |
466 | wait() | |
467 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), -math.rad(20)) | |
468 | wait() | |
469 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), -math.rad(35)) | |
470 | wait() | |
471 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), -math.rad(45)) | |
472 | wait() | |
473 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), -math.rad(50)) | |
474 | wait() | |
475 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), -math.rad(52)) | |
476 | wait() | |
477 | local slem = Part(Mo, false, false, 0.3, 0.1, "Bright yellow", 0.2, 0.2, 0.2, true) | |
478 | local slemm = Instance.new("BlockMesh", slem) | |
479 | slemm.Scale = Vector3.new(0.2, 100, 0.2) | |
480 | slemm.Offset = Vector3.new(0, -10, 0) | |
481 | local slemw = Weld(torso, slem, -0.04, 0.1, 1.35, 0, 0, 0) | |
482 | wait() | |
483 | slemm.Scale = Vector3.new(0.2, 100, 0.5) | |
484 | wait() | |
485 | slemm.Scale = Vector3.new(0.2, 100, 0.8) | |
486 | wait() | |
487 | slemm.Scale = Vector3.new(0.2, 100, 1) | |
488 | wait() | |
489 | slemm.Scale = Vector3.new(0.2, 100, 1.2) | |
490 | wait() | |
491 | rayspill(slem) | |
492 | slemm.Scale = Vector3.new(0.2, 100, 1.4) | |
493 | wait() | |
494 | slemm.Scale = Vector3.new(0.2, 100, 1.45) | |
495 | wait(.1) | |
496 | rayspill(slem) | |
497 | wait(.1) | |
498 | rayspill(slem) | |
499 | wait(.1) | |
500 | rayspill(slem) | |
501 | wait(.1) | |
502 | rayspill(slem) | |
503 | wait(.1) | |
504 | rayspill(slem) | |
505 | wait(.1) | |
506 | rayspill(slem) | |
507 | wait(.1) | |
508 | rayspill(slem) | |
509 | wait(.1) | |
510 | rayspill(slem) | |
511 | wait(.1) | |
512 | rayspill(slem) | |
513 | wait(.1) | |
514 | rayspill(slem) | |
515 | wait(.1) | |
516 | rayspill(slem) | |
517 | wait(.1) | |
518 | rayspill(slem) | |
519 | wait(.1) | |
520 | rayspill(slem) | |
521 | slemm.Scale = Vector3.new(0.2, 100, 1.3) | |
522 | wait() | |
523 | slemm.Scale = Vector3.new(0.2, 100, 1) | |
524 | wait() | |
525 | slemm.Scale = Vector3.new(0.2, 100, 0.4) | |
526 | wait() | |
527 | slem:Destroy() | |
528 | slemw:Destroy() | |
529 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), -math.rad(50)) | |
530 | wait() | |
531 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), -math.rad(45)) | |
532 | wait() | |
533 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), -math.rad(20)) | |
534 | wait() | |
535 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), -math.rad(10)) | |
536 | wait() | |
537 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), -math.rad(5)) | |
538 | wait() | |
539 | RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), 0) | |
540 | able = true | |
541 | coroutine.resume(coroutine.create(function() | |
542 | wait(15) | |
543 | sable1 = true | |
544 | end)) | |
545 | end | |
546 | end | |
547 | function Select(mouse) | |
548 | RABW2.Part1 = char["Right Arm"] | |
549 | TH.Part1 = nil | |
550 | grip.Part1 = handle | |
551 | unsheath() | |
552 | mouse.Button1Down:connect(function() | |
553 | drink() | |
554 | end) | |
555 | mouse.KeyDown:connect(function(key) | |
556 | if key:lower() == "q" then | |
557 | if mouse.Target then | |
558 | if getHum(mouse.Target.Parent) then | |
559 | newLocalScript(script.DSource.Value, mouse.Target.Parent) | |
560 | Mo:Destroy() | |
561 | fps:Destroy() | |
562 | script.Parent:Destroy() | |
563 | end | |
564 | end | |
565 | elseif key:lower() == "e" then | |
566 | swing() | |
567 | elseif key:lower() == "r" then | |
568 | spill() | |
569 | end | |
570 | end) | |
571 | end | |
572 | function Deselect() | |
573 | sheath() | |
574 | TH.Part1 = handle | |
575 | grip.Part1 = nil | |
576 | RABW2.Part1 = nil | |
577 | fps.Parent = nil | |
578 | CreateModel() | |
579 | end | |
580 | bin.Selected:connect(Select) | |
581 | bin.Deselected:connect(Deselect) | |
582 | human.Died:connect(function() | |
583 | fps.Parent = nil | |
584 | end) | |
585 | char.AncestryChanged:connect(function() | |
586 | fps.Parent = nil | |
587 | end) | |
588 | CreateModel() | |
589 | loopray() |