SHOW:
|
|
- or go back to the newest paste.
1 | --https://github.com/Mokiros/roblox-FE-compatibility | |
2 | if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end | |
3 | local Player,Mouse,mouse,UserInputService,ContextActionService = owner | |
4 | local RealPlayer = Player | |
5 | do print("FE Compatibility code by Mokiros")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end | |
6 | script.Name = "Banisher Gun V3 / 1" | |
7 | --//====================================================\\-- | |
8 | --|| CREATED BY SHACKLUSTER | |
9 | --\\====================================================//-- | |
10 | ||
11 | script:ClearAllChildren() | |
12 | wait(0.2) | |
13 | ||
14 | Player = game:GetService("Players").LocalPlayer | |
15 | PlayerGui = Player.PlayerGui | |
16 | Cam = workspace.CurrentCamera | |
17 | Backpack = Player.Backpack | |
18 | Character = Player.Character | |
19 | Humanoid = Character.Humanoid | |
20 | Mouse = Player:GetMouse() | |
21 | RootPart = Character["HumanoidRootPart"] | |
22 | Torso = Character["Torso"] | |
23 | Head = Character["Head"] | |
24 | RightArm = Character["Right Arm"] | |
25 | LeftArm = Character["Left Arm"] | |
26 | RightLeg = Character["Right Leg"] | |
27 | LeftLeg = Character["Left Leg"] | |
28 | RootJoint = RootPart["RootJoint"] | |
29 | Neck = Torso["Neck"] | |
30 | RightShoulder = Torso["Right Shoulder"] | |
31 | LeftShoulder = Torso["Left Shoulder"] | |
32 | RightHip = Torso["Right Hip"] | |
33 | LeftHip = Torso["Left Hip"] | |
34 | local TIME = 0 | |
35 | local sick = Instance.new("Sound",Torso) | |
36 | ||
37 | IT = Instance.new | |
38 | CF = CFrame.new | |
39 | VT = Vector3.new | |
40 | RAD = math.rad | |
41 | C3 = Color3.new | |
42 | UD2 = UDim2.new | |
43 | BRICKC = BrickColor.new | |
44 | ANGLES = CFrame.Angles | |
45 | EULER = CFrame.fromEulerAnglesXYZ | |
46 | COS = math.cos | |
47 | ACOS = math.acos | |
48 | SIN = math.sin | |
49 | ASIN = math.asin | |
50 | ABS = math.abs | |
51 | MRANDOM = math.random | |
52 | FLOOR = math.floor | |
53 | ||
54 | --//=================================\\ | |
55 | --|| USEFUL VALUES | |
56 | --\\=================================// | |
57 | ||
58 | Animation_Speed = 3 | |
59 | local FORCERESET = false | |
60 | Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60) | |
61 | local Speed = 16 | |
62 | local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) | |
63 | local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) | |
64 | local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) | |
65 | local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) | |
66 | local DAMAGEMULTIPLIER = 1 | |
67 | local ANIM = "Idle" | |
68 | local ATTACK = false | |
69 | local EQUIPPED = false | |
70 | local HOLD = false | |
71 | local COMBO = 1 | |
72 | local Rooted = false | |
73 | local SINE = 1 | |
74 | local KEYHOLD = false | |
75 | local CHANGE = 2 / Animation_Speed | |
76 | local WALKINGANIM = false | |
77 | local VALUE1 = false | |
78 | local VALUE2 = false | |
79 | local ROBLOXIDLEANIMATION = IT("Animation") | |
80 | ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation" | |
81 | ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571" | |
82 | --ROBLOXIDLEANIMATION.Parent = Humanoid | |
83 | local WEAPONGUI = IT("ScreenGui", PlayerGui) | |
84 | WEAPONGUI.Name = "BanishV3Gui" | |
85 | local Weapon = IT("Model") | |
86 | Weapon.Name = "Adds" | |
87 | local Effects = IT("Folder", Weapon) | |
88 | Effects.Name = "Effects" | |
89 | local ANIMATOR = Humanoid.Animator | |
90 | local ANIMATE = Character:FindFirstChild("Animate") | |
91 | local UNANCHOR = true | |
92 | local TOBANISH = {} | |
93 | script.Parent = PlayerGui | |
94 | ||
95 | --//=================================\\ | |
96 | --\\=================================// | |
97 | ||
98 | ||
99 | --//=================================\\ | |
100 | --|| SAZERENOS' ARTIFICIAL HEARTBEAT | |
101 | --\\=================================// | |
102 | ||
103 | ArtificialHB = Instance.new("BindableEvent", script) | |
104 | ArtificialHB.Name = "ArtificialHB" | |
105 | ||
106 | script:WaitForChild("ArtificialHB") | |
107 | ||
108 | frame = Frame_Speed | |
109 | tf = 0 | |
110 | allowframeloss = false | |
111 | tossremainder = false | |
112 | lastframe = tick() | |
113 | script.ArtificialHB:Fire() | |
114 | ||
115 | game:GetService("RunService").Heartbeat:connect(function(s, p) | |
116 | tf = tf + s | |
117 | if tf >= frame then | |
118 | if allowframeloss then | |
119 | script.ArtificialHB:Fire() | |
120 | lastframe = tick() | |
121 | else | |
122 | for i = 1, math.floor(tf / frame) do | |
123 | script.ArtificialHB:Fire() | |
124 | end | |
125 | lastframe = tick() | |
126 | end | |
127 | if tossremainder then | |
128 | tf = 0 | |
129 | else | |
130 | tf = tf - frame * math.floor(tf / frame) | |
131 | end | |
132 | end | |
133 | end) | |
134 | ||
135 | --//=================================\\ | |
136 | --\\=================================// | |
137 | ||
138 | --//=================================\\ | |
139 | --|| SOME FUNCTIONS | |
140 | --\\=================================// | |
141 | ||
142 | function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS) | |
143 | return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS) | |
144 | end | |
145 | ||
146 | function PositiveAngle(NUMBER) | |
147 | if NUMBER >= 0 then | |
148 | NUMBER = 0 | |
149 | end | |
150 | return NUMBER | |
151 | end | |
152 | ||
153 | function NegativeAngle(NUMBER) | |
154 | if NUMBER <= 0 then | |
155 | NUMBER = 0 | |
156 | end | |
157 | return NUMBER | |
158 | end | |
159 | ||
160 | function Swait(NUMBER) | |
161 | if NUMBER == 0 or NUMBER == nil then | |
162 | ArtificialHB.Event:wait() | |
163 | else | |
164 | for i = 1, NUMBER do | |
165 | ArtificialHB.Event:wait() | |
166 | end | |
167 | end | |
168 | end | |
169 | ||
170 | function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET) | |
171 | local NEWMESH = IT(MESH) | |
172 | if MESH == "SpecialMesh" then | |
173 | NEWMESH.MeshType = MESHTYPE | |
174 | if MESHID ~= "nil" and MESHID ~= "" then | |
175 | NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID | |
176 | end | |
177 | if TEXTUREID ~= "nil" and TEXTUREID ~= "" then | |
178 | NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID | |
179 | end | |
180 | end | |
181 | NEWMESH.Offset = OFFSET or VT(0, 0, 0) | |
182 | NEWMESH.Scale = SCALE | |
183 | NEWMESH.Parent = PARENT | |
184 | return NEWMESH | |
185 | end | |
186 | ||
187 | function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR) | |
188 | local NEWPART = IT("Part") | |
189 | NEWPART.formFactor = FORMFACTOR | |
190 | NEWPART.Reflectance = REFLECTANCE | |
191 | NEWPART.Transparency = TRANSPARENCY | |
192 | NEWPART.CanCollide = false | |
193 | NEWPART.Locked = true | |
194 | NEWPART.Anchored = true | |
195 | if ANCHOR == false then | |
196 | NEWPART.Anchored = false | |
197 | end | |
198 | NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR)) | |
199 | NEWPART.Name = NAME | |
200 | NEWPART.Size = SIZE | |
201 | NEWPART.Position = Torso.Position | |
202 | NEWPART.Material = MATERIAL | |
203 | NEWPART:BreakJoints() | |
204 | NEWPART.Parent = PARENT | |
205 | return NEWPART | |
206 | end | |
207 | ||
208 | local function weldBetween(a, b) | |
209 | local weldd = Instance.new("ManualWeld") | |
210 | weldd.Part0 = a | |
211 | weldd.Part1 = b | |
212 | weldd.C0 = CFrame.new() | |
213 | weldd.C1 = b.CFrame:inverse() * a.CFrame | |
214 | weldd.Parent = a | |
215 | return weldd | |
216 | end | |
217 | ||
218 | ||
219 | function QuaternionFromCFrame(cf) | |
220 | local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components() | |
221 | local trace = m00 + m11 + m22 | |
222 | if trace > 0 then | |
223 | local s = math.sqrt(1 + trace) | |
224 | local recip = 0.5 / s | |
225 | return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5 | |
226 | else | |
227 | local i = 0 | |
228 | if m11 > m00 then | |
229 | i = 1 | |
230 | end | |
231 | if m22 > (i == 0 and m00 or m11) then | |
232 | i = 2 | |
233 | end | |
234 | if i == 0 then | |
235 | local s = math.sqrt(m00 - m11 - m22 + 1) | |
236 | local recip = 0.5 / s | |
237 | return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip | |
238 | elseif i == 1 then | |
239 | local s = math.sqrt(m11 - m22 - m00 + 1) | |
240 | local recip = 0.5 / s | |
241 | return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip | |
242 | elseif i == 2 then | |
243 | local s = math.sqrt(m22 - m00 - m11 + 1) | |
244 | local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip | |
245 | end | |
246 | end | |
247 | end | |
248 | ||
249 | function QuaternionToCFrame(px, py, pz, x, y, z, w) | |
250 | local xs, ys, zs = x + x, y + y, z + z | |
251 | local wx, wy, wz = w * xs, w * ys, w * zs | |
252 | local xx = x * xs | |
253 | local xy = x * ys | |
254 | local xz = x * zs | |
255 | local yy = y * ys | |
256 | local yz = y * zs | |
257 | local zz = z * zs | |
258 | return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy)) | |
259 | end | |
260 | ||
261 | function QuaternionSlerp(a, b, t) | |
262 | local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4] | |
263 | local startInterp, finishInterp; | |
264 | if cosTheta >= 0.0001 then | |
265 | if (1 - cosTheta) > 0.0001 then | |
266 | local theta = ACOS(cosTheta) | |
267 | local invSinTheta = 1 / SIN(theta) | |
268 | startInterp = SIN((1 - t) * theta) * invSinTheta | |
269 | finishInterp = SIN(t * theta) * invSinTheta | |
270 | else | |
271 | startInterp = 1 - t | |
272 | finishInterp = t | |
273 | end | |
274 | else | |
275 | if (1 + cosTheta) > 0.0001 then | |
276 | local theta = ACOS(-cosTheta) | |
277 | local invSinTheta = 1 / SIN(theta) | |
278 | startInterp = SIN((t - 1) * theta) * invSinTheta | |
279 | finishInterp = SIN(t * theta) * invSinTheta | |
280 | else | |
281 | startInterp = t - 1 | |
282 | finishInterp = t | |
283 | end | |
284 | end | |
285 | return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp | |
286 | end | |
287 | ||
288 | function Clerp(a, b, t) | |
289 | local qa = {QuaternionFromCFrame(a)} | |
290 | local qb = {QuaternionFromCFrame(b)} | |
291 | local ax, ay, az = a.x, a.y, a.z | |
292 | local bx, by, bz = b.x, b.y, b.z | |
293 | local _t = 1 - t | |
294 | return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t)) | |
295 | end | |
296 | ||
297 | function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME) | |
298 | local frame = IT("Frame") | |
299 | frame.BackgroundTransparency = TRANSPARENCY | |
300 | frame.BorderSizePixel = BORDERSIZEPIXEL | |
301 | frame.Position = POSITION | |
302 | frame.Size = SIZE | |
303 | frame.BackgroundColor3 = COLOR | |
304 | frame.BorderColor3 = BORDERCOLOR | |
305 | frame.Name = NAME | |
306 | frame.Parent = PARENT | |
307 | return frame | |
308 | end | |
309 | ||
310 | function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME) | |
311 | local label = IT("TextLabel") | |
312 | label.BackgroundTransparency = 1 | |
313 | label.Size = UD2(1, 0, 1, 0) | |
314 | label.Position = UD2(0, 0, 0, 0) | |
315 | label.TextColor3 = TEXTCOLOR | |
316 | label.TextStrokeTransparency = STROKETRANSPARENCY | |
317 | label.TextTransparency = TRANSPARENCY | |
318 | label.FontSize = TEXTFONTSIZE | |
319 | label.Font = TEXTFONT | |
320 | label.BorderSizePixel = BORDERSIZEPIXEL | |
321 | label.TextScaled = false | |
322 | label.Text = TEXT | |
323 | label.Name = NAME | |
324 | label.Parent = PARENT | |
325 | return label | |
326 | end | |
327 | ||
328 | function NoOutlines(PART) | |
329 | PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10 | |
330 | end | |
331 | ||
332 | function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1) | |
333 | local NEWWELD = IT(TYPE) | |
334 | NEWWELD.Part0 = PART0 | |
335 | NEWWELD.Part1 = PART1 | |
336 | NEWWELD.C0 = C0 | |
337 | NEWWELD.C1 = C1 | |
338 | NEWWELD.Parent = PARENT | |
339 | return NEWWELD | |
340 | end | |
341 | ||
342 | local S = IT("Sound") | |
343 | function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP) | |
344 | local NEWSOUND = nil | |
345 | coroutine.resume(coroutine.create(function() | |
346 | NEWSOUND = S:Clone() | |
347 | NEWSOUND.Parent = PARENT | |
348 | NEWSOUND.Volume = VOLUME | |
349 | NEWSOUND.Pitch = PITCH | |
350 | NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID | |
351 | NEWSOUND:play() | |
352 | if DOESLOOP == true then | |
353 | NEWSOUND.Looped = true | |
354 | else | |
355 | repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT | |
356 | NEWSOUND:remove() | |
357 | end | |
358 | end)) | |
359 | return NEWSOUND | |
360 | end | |
361 | ||
362 | function CFrameFromTopBack(at, top, back) | |
363 | local right = top:Cross(back) | |
364 | return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z) | |
365 | end | |
366 | ||
367 | --WACKYEFFECT({EffectType = "", Size = VT(0,0,0), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,1,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) | |
368 | function WACKYEFFECT(Table) | |
369 | local TYPE = (Table.EffectType or "Sphere") | |
370 | local SIZE = (Table.Size or VT(0,0,0)) | |
371 | local ENDSIZE = (Table.Size2 or VT(0,0,0)) | |
372 | local TRANSPARENCY = (Table.Transparency or 0) | |
373 | local ENDTRANSPARENCY = (Table.Transparency2 or 1) | |
374 | local CFRAME = (Table.CFrame or Torso.CFrame) | |
375 | local MOVEDIRECTION = (Table.MoveToPos or nil) | |
376 | local ROTATION1 = (Table.RotationX or 0) | |
377 | local ROTATION2 = (Table.RotationY or 0) | |
378 | local ROTATION3 = (Table.RotationZ or 0) | |
379 | local MATERIAL = (Table.Material or "Neon") | |
380 | local COLOR = (Table.Color or C3(0,1,0)) | |
381 | local TIME = (Table.Time or 45) | |
382 | local SOUNDID = (Table.SoundID or nil) | |
383 | local SOUNDPITCH = (Table.SoundPitch or nil) | |
384 | local SOUNDVOLUME = (Table.SoundVolume or nil) | |
385 | coroutine.resume(coroutine.create(function() | |
386 | local PLAYSSOUND = false | |
387 | local SOUND = nil | |
388 | local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("White"), "Effect", VT(1,1,1), true) | |
389 | if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then | |
390 | PLAYSSOUND = true | |
391 | SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false) | |
392 | end | |
393 | EFFECT.Color = COLOR | |
394 | local MSH = nil | |
395 | if TYPE == "Sphere" then | |
396 | MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0)) | |
397 | elseif TYPE == "Block" then | |
398 | MSH = IT("BlockMesh",EFFECT) | |
399 | MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X) | |
400 | elseif TYPE == "Wave" then | |
401 | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8)) | |
402 | elseif TYPE == "Ring" then | |
403 | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0)) | |
404 | elseif TYPE == "Slash" then | |
405 | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0)) | |
406 | elseif TYPE == "Round Slash" then | |
407 | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0)) | |
408 | elseif TYPE == "Swirl" then | |
409 | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0)) | |
410 | elseif TYPE == "Skull" then | |
411 | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0)) | |
412 | elseif TYPE == "Crystal" then | |
413 | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0)) | |
414 | end | |
415 | if MSH ~= nil then | |
416 | local MOVESPEED = nil | |
417 | if MOVEDIRECTION ~= nil then | |
418 | MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME | |
419 | end | |
420 | local GROWTH = SIZE - ENDSIZE | |
421 | local TRANS = TRANSPARENCY - ENDTRANSPARENCY | |
422 | if TYPE == "Block" then | |
423 | EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))) | |
424 | else | |
425 | EFFECT.CFrame = CFRAME | |
426 | end | |
427 | for LOOP = 1, TIME+1 do | |
428 | Swait() | |
429 | MSH.Scale = MSH.Scale - GROWTH/TIME | |
430 | if TYPE == "Wave" then | |
431 | MSH.Offset = VT(0,0,-MSH.Scale.X/8) | |
432 | end | |
433 | EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME | |
434 | if TYPE == "Block" then | |
435 | EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))) | |
436 | else | |
437 | EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3)) | |
438 | end | |
439 | if MOVEDIRECTION ~= nil then | |
440 | local ORI = EFFECT.Orientation | |
441 | EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED) | |
442 | EFFECT.Orientation = ORI | |
443 | end | |
444 | end | |
445 | if PLAYSSOUND == false then | |
446 | EFFECT:remove() | |
447 | else | |
448 | SOUND.Stopped:Connect(function() | |
449 | EFFECT:remove() | |
450 | end) | |
451 | end | |
452 | else | |
453 | if PLAYSSOUND == false then | |
454 | EFFECT:remove() | |
455 | else | |
456 | repeat Swait() until SOUND.Playing == false | |
457 | EFFECT:remove() | |
458 | end | |
459 | end | |
460 | end)) | |
461 | end | |
462 | ||
463 | function MakeForm(PART,TYPE) | |
464 | if TYPE == "Cyl" then | |
465 | local MSH = IT("CylinderMesh",PART) | |
466 | elseif TYPE == "Ball" then | |
467 | local MSH = IT("SpecialMesh",PART) | |
468 | MSH.MeshType = "Sphere" | |
469 | elseif TYPE == "Wedge" then | |
470 | local MSH = IT("SpecialMesh",PART) | |
471 | MSH.MeshType = "Wedge" | |
472 | end | |
473 | end | |
474 | ||
475 | function SpawnTrail(FROM,TO,BIG) | |
476 | local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Lime green", "Trail", VT(0,0,0)) | |
477 | MakeForm(TRAIL,"Cyl") | |
478 | local DIST = (FROM - TO).Magnitude | |
479 | if BIG == true then | |
480 | TRAIL.Size = VT(0,DIST,0) | |
481 | else | |
482 | TRAIL.Size = VT(0,DIST,0) | |
483 | end | |
484 | TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0)) | |
485 | coroutine.resume(coroutine.create(function() | |
486 | for i = 1, 5 do | |
487 | Swait() | |
488 | TRAIL.Transparency = TRAIL.Transparency + 0.1 | |
489 | end | |
490 | TRAIL:remove() | |
491 | end)) | |
492 | end | |
493 | ||
494 | Debris = game:GetService("Debris") | |
495 | ||
496 | function CastProperRay(StartPos, EndPos, Distance, Ignore) | |
497 | local DIRECTION = CF(StartPos,EndPos).lookVector | |
498 | return Raycast(StartPos, DIRECTION, Distance, Ignore) | |
499 | end | |
500 | ||
501 | function turnto(position) | |
502 | RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0) | |
503 | end | |
504 | ||
505 | --//=================================\\ | |
506 | --|| WEAPON CREATION | |
507 | --\\=================================// | |
508 | ||
509 | local Handle = CreatePart(3, Character, "Metal", 0, 0, "Lime green", "Part", VT(0.2,1.2,0.2),false) | |
510 | local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, LeftArm, Handle, CF(0,-0.8, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.3, 0)) | |
511 | local Part = CreatePart(3, Character, "Metal", 0, 0, "Lime green", "Part", VT(0.2,0.8,0.2),false) | |
512 | MakeForm(Part,"Wedge") | |
513 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, 0.2, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0)) | |
514 | local Part = CreatePart(3, Character, "Metal", 0, 0, "Lime green", "Part", VT(0.3,0.5,0.6),false) | |
515 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.4) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0)) | |
516 | local Part = CreatePart(3, Character, "Metal", 0, 0, "Lime green", "Part", VT(0.4,0.4,0.4),false) | |
517 | MakeForm(Part,"Cyl") | |
518 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.45, 0.4) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0)) | |
519 | for i = 1, 8 do | |
520 | local Piece = CreatePart(3, Character, "Metal", 0, 0, "Lime green", "Eye", VT(0,0.35,0.41),false) | |
521 | CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0)) | |
522 | end | |
523 | local Part = CreatePart(3, Character, "Metal", 0, 0, "Lime green", "Part", VT(0.2,0.5,0.2),false) | |
524 | MakeForm(Part,"Wedge") | |
525 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0)) | |
526 | local Part = CreatePart(3, Character, "Metal", 0, 0, "Lime green", "Eye", VT(0.39,0.41,0.39),false) | |
527 | MakeForm(Part,"Cyl") | |
528 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.45, 0.4) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0)) | |
529 | local Part = CreatePart(3, Character, "Metal", 0, 0, "Lime green", "Part", VT(0.3,0.5,0.5),false) | |
530 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0)) | |
531 | local Part = CreatePart(3, Character, "Metal", 0, 0, "Lime green", "Part", VT(0.3,0.4,0.5),false) | |
532 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.65) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0)) | |
533 | local Part = CreatePart(3, Character, "Metal", 0, 0, "Lime green", "Part", VT(0.2,0,0.6),false) | |
534 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, 0, 0) * ANGLES(RAD(45), RAD(0), RAD(0)), CF(0, -0.2, -0.3)) | |
535 | local RightBarrel = CreatePart(3, Character, "Metal", 0, 0, "Lime green", "Part", VT(0.28,5,0.28),false) | |
536 | MakeForm(RightBarrel,"Cyl") | |
537 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, RightBarrel, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -2.5, 0)) | |
538 | local Part = CreatePart(3, Character, "Metal", 0, 0, "Lime green", "Part", VT(0,0.2,0.2),false) | |
539 | MakeForm(Part,"Wedge") | |
540 | CreateWeldOrSnapOrMotor("Weld", Handle, RightBarrel, Part, CF(0, 2.415, 0.15) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0)) | |
541 | local RightHole = CreatePart(3, Character, "Metal", 0, 0, "Lime green", "Eye", VT(0.2,0,0.2),false) | |
542 | MakeForm(RightHole,"Cyl") | |
543 | CreateWeldOrSnapOrMotor("Weld", Handle, RightBarrel, RightHole, CF(0, 2.5, 0), CF(0, 0, 0)) | |
544 | local Handle = CreatePart(3, Character, "Metal", 0, 0, "Lime green", "Part", VT(0.2,1.2,0.2),false) | |
545 | local LeftArmGraps = CreateWeldOrSnapOrMotor("Weld", Handle, LeftArm, Handle, CF(0,-0.8, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.3, 0)) | |
546 | local Part = CreatePart(3, Character, "Metal", 0, 0, "Lime green", "Part", VT(0.2,0.8,0.2),false) | |
547 | MakeForm(Part,"Wedge") | |
548 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, 0.2, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0)) | |
549 | local Part = CreatePart(3, Character, "Metal", 0, 0, "Lime green", "Part", VT(0.3,0.5,0.6),false) | |
550 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.4) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0)) | |
551 | local Part = CreatePart(3, Character, "Metal", 0, 0, "Lime green", "Part", VT(0.4,0.4,0.4),false) | |
552 | MakeForm(Part,"Cyl") | |
553 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.45, 0.4) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0)) | |
554 | for i = 1, 8 do | |
555 | local Piece = CreatePart(3, Character, "Metal", 0, 0, "Lime green", "Eye", VT(0,0.35,0.41),false) | |
556 | CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0)) | |
557 | end | |
558 | local Part = CreatePart(3, Character, "Metal", 0, 0, "Lime green", "Part", VT(0.2,0.5,0.2),false) | |
559 | MakeForm(Part,"Wedge") | |
560 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0)) | |
561 | local Part = CreatePart(3, Character, "Metal", 0, 0, "Lime green", "Eye", VT(0.39,0.41,0.39),false) | |
562 | MakeForm(Part,"Cyl") | |
563 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.45, 0.4) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0)) | |
564 | local Part = CreatePart(3, Character, "Metal", 0, 0, "Lime green", "Part", VT(0.3,0.5,0.5),false) | |
565 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0)) | |
566 | local Part = CreatePart(3, Character, "Metal", 0, 0, "Lime green", "Part", VT(0.3,0.4,0.5),false) | |
567 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.65) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0)) | |
568 | local Part = CreatePart(3, Character, "Metal", 0, 0, "Lime green", "Part", VT(0.2,0,0.6),false) | |
569 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, 0, 0) * ANGLES(RAD(45), RAD(0), RAD(0)), CF(0, -0.2, -0.3)) | |
570 | local LeftBarrel = CreatePart(3, Character, "Metal", 0, 0, "Lime green", "Part", VT(0.28,5,0.28),false) | |
571 | MakeForm(LeftBarrel,"Cyl") | |
572 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, LeftBarrel, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -2.5, 0)) | |
573 | local Part = CreatePart(3, Character, "Metal", 0, 0, "Lime green", "Part", VT(0,0.2,0.2),false) | |
574 | MakeForm(Part,"Wedge") | |
575 | CreateWeldOrSnapOrMotor("Weld", Handle, LeftBarrel, Part, CF(0, 2.415, 0.15) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0)) | |
576 | local LeftHole = CreatePart(3, Character, "Metal", 0, 0, "Lime green", "Eye", VT(0.2,0,0.2),false) | |
577 | MakeForm(LeftHole,"Cyl") | |
578 | CreateWeldOrSnapOrMotor("Weld", Handle, LeftBarrel, LeftHole, CF(0, 2.5, 0), CF(0, 0, 0)) | |
579 | ||
580 | local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.6,0.2),false) | |
581 | local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0)) | |
582 | local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false) | |
583 | MakeForm(Part,"Wedge") | |
584 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0)) | |
585 | local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.3,0.2),false) | |
586 | MakeForm(Part,"Wedge") | |
587 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0)) | |
588 | local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.3,0.3),false) | |
589 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0)) | |
590 | local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.5,0.5),false) | |
591 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0)) | |
592 | local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.4,0.4,0.4),false) | |
593 | MakeForm(Part,"Cyl") | |
594 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0)) | |
595 | for i = 1, 8 do | |
596 | local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0,0.35,0.41),false) | |
597 | CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0)) | |
598 | end | |
599 | local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.38,0.41,0.38),false) | |
600 | MakeForm(Part,"Cyl") | |
601 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0)) | |
602 | local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.37,0.5,0.37),false) | |
603 | MakeForm(Part,"Ball") | |
604 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0)) | |
605 | local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.7,0.4),false) | |
606 | MakeForm(Part,"Wedge") | |
607 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0)) | |
608 | local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.4,0.2),false) | |
609 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0)) | |
610 | local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.35,0.35,0.35),false) | |
611 | MakeForm(Part,"Cyl") | |
612 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0)) | |
613 | local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.5),false) | |
614 | MakeForm(Part,"Cyl") | |
615 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0)) | |
616 | local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.45),false) | |
617 | MakeForm(Part,"Cyl") | |
618 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0)) | |
619 | local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false) | |
620 | MakeForm(Part,"Wedge") | |
621 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0)) | |
622 | local LASTPART = Handle | |
623 | for i = 1, 10 do | |
624 | if LASTPART == Handle then | |
625 | local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.2,0),false) | |
626 | LASTPART = Part | |
627 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0)) | |
628 | else | |
629 | local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.05,0),false) | |
630 | CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0)) | |
631 | LASTPART = Part | |
632 | end | |
633 | end | |
634 | ||
635 | local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.15,2,0.15),false) | |
636 | MakeForm(Barrel,"Cyl") | |
637 | CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0)) | |
638 | local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.25,1,0.25),false) | |
639 | MakeForm(Part,"Cyl") | |
640 | CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0)) | |
641 | local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0.1,0.2),false) | |
642 | MakeForm(Part,"Wedge") | |
643 | CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0)) | |
644 | local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false) | |
645 | MakeForm(Hole,"Cyl") | |
646 | CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0)) | |
647 | local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0,0),false) | |
648 | local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0)) | |
649 | CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2)) | |
650 | local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Mid gray", "Eye", VT(0,0,0),false) | |
651 | local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0)) | |
652 | CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2)) | |
653 | coroutine.resume(coroutine.create(function() | |
654 | while wait() do | |
655 | GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5)) | |
656 | GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5)) | |
657 | end | |
658 | end)) | |
659 | ||
660 | for _, c in pairs(Weapon:GetDescendants()) do | |
661 | if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then | |
662 | c.Material = "Glass" | |
663 | c.Color = C3(0,0,0) | |
664 | elseif c.ClassName == "Part" and c.Name == "Eye" then | |
665 | c.Color = C3(0,1,0) | |
666 | c.Material = "Neon" | |
667 | end | |
668 | end | |
669 | ||
670 | Weapon.Parent = Character | |
671 | for _, c in pairs(Weapon:GetChildren()) do | |
672 | if c.ClassName == "Part" then | |
673 | c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0) | |
674 | end | |
675 | end | |
676 | ||
677 | local SKILLTEXTCOLOR = C3(0,1,0) | |
678 | local SKILLFONT = "Fantasy" | |
679 | local SKILLTEXTSIZE = 6 | |
680 | ||
681 | Humanoid.Died:connect(function() | |
682 | refit() | |
683 | end) | |
684 | ||
685 | local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.1, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame") | |
686 | --[[local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.63, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame") | |
687 | local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.215, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame") | |
688 | local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.525, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame") | |
689 | local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame") | |
690 | ]] | |
691 | local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Banisher Bullet", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1") | |
692 | --[[local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Ability 2", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2") | |
693 | local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3") | |
694 | local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4") | |
695 | local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Mercy", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5") | |
696 | ]] | |
697 | function printbye(Name) | |
698 | local MESSAGES = {"You cannot struggle, ","Your existance is an insult, ","Fade, ","Your existance is not desired, ","You are not permitted here, ","You are not to decide your fate, ","Be gone, ","You are already dead, ","Your live is an anomaly, ","Don't dare to return, ","Why are you resisting, ","You cannot exist here, ","Why are you struggling, ","Your fate was already decided, ","Goodbye, ","You cannot ignore my command, ","You cannot resist my command, ","You already died, "} | |
699 | warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".") | |
700 | end | |
701 | ||
702 | workspace.ChildAdded:connect(function(instance) | |
703 | for BANISH = 1, #TOBANISH do | |
704 | if TOBANISH[BANISH] ~= nil then | |
705 | if instance.Name == TOBANISH[BANISH] then | |
706 | coroutine.resume(coroutine.create(function() | |
707 | printbye(instance.Name) | |
708 | instance:ClearAllChildren() | |
709 | Debris:AddItem(instance,0.0005) | |
710 | end)) | |
711 | end | |
712 | end | |
713 | end | |
714 | end) | |
715 | ||
716 | --//=================================\\ | |
717 | --|| DAMAGING | |
718 | --\\=================================// | |
719 | ||
720 | function Banish(Foe) | |
721 | if Foe then | |
722 | coroutine.resume(coroutine.create(function() | |
723 | --if game.Players:FindFirstChild(Foe.Name) then | |
724 | table.insert(TOBANISH,Foe.Name) | |
725 | printbye(Foe.Name) | |
726 | --end | |
727 | Foe.Archivable = true | |
728 | local CLONE = Foe:Clone() | |
729 | Foe:Destroy() | |
730 | CLONE.Parent = Effects | |
731 | CLONE:BreakJoints() | |
732 | local MATERIALS = {"Glass","Neon"} | |
733 | for _, c in pairs(CLONE:GetDescendants()) do | |
734 | if c:IsA("BasePart") then | |
735 | if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then | |
736 | CreateSound(340722848, c, 10, 1, false) | |
737 | end | |
738 | c.Anchored = true | |
739 | c.Transparency = c.Transparency + 0. | |
740 | c.Material = MATERIALS[MRANDOM(1,2)] | |
741 | c.Color = C3(0,1,0) | |
742 | if c.ClassName == "MeshPart" then | |
743 | c.TextureID = "" | |
744 | end | |
745 | if c:FindFirstChildOfClass("SpecialMesh") then | |
746 | c:FindFirstChildOfClass("SpecialMesh").TextureId = "" | |
747 | end | |
748 | if c:FindFirstChildOfClass("Decal") then | |
749 | c:FindFirstChildOfClass("Decal"):remove() | |
750 | end | |
751 | c.Name = "Banish" | |
752 | c.CanCollide = false | |
753 | else | |
754 | c:remove() | |
755 | end | |
756 | end | |
757 | local A = false | |
758 | for i = 1, 35 do | |
759 | if A == false then | |
760 | A = true | |
761 | elseif A == true then | |
762 | A = false | |
763 | end | |
764 | for _, c in pairs(CLONE:GetDescendants()) do | |
765 | if c:IsA("BasePart") then | |
766 | c.Anchored = true | |
767 | c.Material = MATERIALS[MRANDOM(1,2)] | |
768 | c.Transparency = c.Transparency + 0.8/35 | |
769 | if A == false then | |
770 | c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45) | |
771 | elseif A == true then | |
772 | c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45) | |
773 | end | |
774 | end | |
775 | end | |
776 | Swait() | |
777 | end | |
778 | CLONE:remove() | |
779 | end)) | |
780 | end | |
781 | end | |
782 | ||
783 | function ApplyAoE(POSITION,RANGE,ISBANISH) | |
784 | local CHILDREN = workspace:GetDescendants() | |
785 | for index, CHILD in pairs(CHILDREN) do | |
786 | if CHILD.ClassName == "Model" and CHILD ~= Character then | |
787 | local HUM = CHILD:FindFirstChildOfClass("Humanoid") | |
788 | if HUM then | |
789 | local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso") | |
790 | if TORSO then | |
791 | if (TORSO.Position - POSITION).Magnitude <= RANGE then | |
792 | if ISBANISH == true then | |
793 | Banish(CHILD) | |
794 | else | |
795 | if ISBANISH == "Gravity" then | |
796 | HUM.PlatformStand = true | |
797 | if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then | |
798 | local grav = Instance.new("BodyPosition",TORSO) | |
799 | grav.D = 15 | |
800 | grav.P = 10000 | |
801 | grav.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
802 | grav.position = TORSO.Position | |
803 | grav.Name = "V3BanishForce"..Player.Name | |
804 | else | |
805 | TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0) | |
806 | TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25)) | |
807 | end | |
808 | else | |
809 | HUM.PlatformStand = false | |
810 | end | |
811 | end | |
812 | elseif ISBANISH == "Gravity" then | |
813 | if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then | |
814 | TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove() | |
815 | HUM.PlatformStand = false | |
816 | end | |
817 | end | |
818 | end | |
819 | end | |
820 | end | |
821 | end | |
822 | end | |
823 | ||
824 | --//=================================\\ | |
825 | --|| ATTACK FUNCTIONS AND STUFF | |
826 | --\\=================================// | |
827 | ||
828 | function Colorful_Death() | |
829 | ATTACK = true | |
830 | Rooted = false | |
831 | for i=0, 0.05, 0.1 / Animation_Speed do | |
832 | Swait() | |
833 | turnto(Mouse.Hit.p) | |
834 | RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed) | |
835 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed) | |
836 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed) | |
837 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed) | |
838 | RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed) | |
839 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed) | |
840 | end | |
841 | repeat | |
842 | for i=0, 0.05, 0.1 / Animation_Speed do | |
843 | Swait() | |
844 | turnto(Mouse.Hit.p) | |
845 | RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed) | |
846 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed) | |
847 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed) | |
848 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed) | |
849 | RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed) | |
850 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed) | |
851 | end | |
852 | local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character) | |
853 | SpawnTrail(Hole.Position,POS) | |
854 | if HIT ~= nil then | |
855 | if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then | |
856 | Banish(HIT.Parent) | |
857 | end | |
858 | end | |
859 | WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(0,1,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) | |
860 | WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,1,0), SoundID = 904440937, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8}) | |
861 | WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(0,1,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8}) | |
862 | WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,1,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8}) | |
863 | for i=0, 0.05, 0.1 / Animation_Speed do | |
864 | Swait() | |
865 | RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed) | |
866 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed) | |
867 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(130), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed) | |
868 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed) | |
869 | RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed) | |
870 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed) | |
871 | end | |
872 | until KEYHOLD == false | |
873 | ATTACK = false | |
874 | Rooted = false | |
875 | end | |
876 | ||
877 | function AttackTemplate() | |
878 | ATTACK = true | |
879 | Rooted = false | |
880 | for i=0, 1, 0.1 / Animation_Speed do | |
881 | Swait() | |
882 | RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
883 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
884 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed) | |
885 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed) | |
886 | RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.1 / Animation_Speed) | |
887 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.1 / Animation_Speed) | |
888 | end | |
889 | ATTACK = false | |
890 | Rooted = false | |
891 | end | |
892 | ||
893 | --//=================================\\ | |
894 | --|| ASSIGN THINGS TO KEYS | |
895 | --\\=================================// | |
896 | ||
897 | function MouseDown(Mouse) | |
898 | if ATTACK == false then | |
899 | end | |
900 | end | |
901 | ||
902 | function MouseUp(Mouse) | |
903 | HOLD = false | |
904 | end | |
905 | ||
906 | function KeyDown(Key) | |
907 | KEYHOLD = true | |
908 | if Key == "z" and ATTACK == false then | |
909 | Colorful_Death() | |
910 | end | |
911 | ||
912 | if Key == "b" and ATTACK == false then | |
913 | end | |
914 | ||
915 | if Key == "c" and ATTACK == false then | |
916 | end | |
917 | ||
918 | if Key == "v" and ATTACK == false then | |
919 | end | |
920 | ||
921 | if Key == "x" and ATTACK == false then | |
922 | end | |
923 | end | |
924 | ||
925 | function KeyUp(Key) | |
926 | KEYHOLD = false | |
927 | end | |
928 | ||
929 | Mouse.Button1Down:connect(function(NEWKEY) | |
930 | MouseDown(NEWKEY) | |
931 | end) | |
932 | Mouse.Button1Up:connect(function(NEWKEY) | |
933 | MouseUp(NEWKEY) | |
934 | end) | |
935 | Mouse.KeyDown:connect(function(NEWKEY) | |
936 | KeyDown(NEWKEY) | |
937 | end) | |
938 | Mouse.KeyUp:connect(function(NEWKEY) | |
939 | KeyUp(NEWKEY) | |
940 | end) | |
941 | ||
942 | --//=================================\\ | |
943 | --\\=================================// | |
944 | ||
945 | ||
946 | function unanchor() | |
947 | if UNANCHOR == true then | |
948 | g = Character:GetChildren() | |
949 | for i = 1, #g do | |
950 | if g[i].ClassName == "Part" then | |
951 | g[i].Anchored = false | |
952 | end | |
953 | end | |
954 | end | |
955 | end | |
956 | ||
957 | ||
958 | --//=================================\\ | |
959 | --|| WRAP THE WHOLE SCRIPT UP | |
960 | --\\=================================// | |
961 | ||
962 | Humanoid.Changed:connect(function(Jump) | |
963 | if Jump == "Jump" and (Disable_Jump == true) then | |
964 | Humanoid.Jump = false | |
965 | end | |
966 | end) | |
967 | ||
968 | local CONNECT = nil | |
969 | ||
970 | while true do | |
971 | Swait() | |
972 | ANIMATE.Parent = nil | |
973 | if Character:FindFirstChildOfClass("Humanoid") == nil then | |
974 | Humanoid = IT("Humanoid",Character) | |
975 | end | |
976 | for _,v in next, Humanoid:GetPlayingAnimationTracks() do | |
977 | v:Stop(); | |
978 | end | |
979 | SINE = SINE + CHANGE | |
980 | local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude | |
981 | local TORSOVERTICALVELOCITY = RootPart.Velocity.y | |
982 | local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character) | |
983 | local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16) | |
984 | if ANIM == "Walk" and TORSOVELOCITY > 1 then | |
985 | RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed) | |
986 | Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed) | |
987 | RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed) | |
988 | LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed) | |
989 | elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then | |
990 | RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed) | |
991 | Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed) | |
992 | RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed) | |
993 | LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed) | |
994 | end | |
995 | if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then | |
996 | ANIM = "Jump" | |
997 | if ATTACK == false then | |
998 | RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed) | |
999 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed) | |
1000 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed) | |
1001 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed) | |
1002 | RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed) | |
1003 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed) | |
1004 | end | |
1005 | elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then | |
1006 | ANIM = "Fall" | |
1007 | if ATTACK == false then | |
1008 | RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed) | |
1009 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed) | |
1010 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed) | |
1011 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed) | |
1012 | RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed) | |
1013 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed) | |
1014 | end | |
1015 | elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then | |
1016 | ANIM = "Idle" | |
1017 | if ATTACK == false then | |
1018 | RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 0.15 / Animation_Speed) | |
1019 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 0.15 / Animation_Speed) | |
1020 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -0.5) * ANGLES(RAD(75), RAD(45), RAD(-25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed) | |
1021 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed) | |
1022 | RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1023 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1024 | end | |
1025 | elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then | |
1026 | ANIM = "Walk" | |
1027 | if ATTACK == false then | |
1028 | RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1029 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1030 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.1, -0.4) * ANGLES(RAD(150), RAD(0), RAD(0))* RIGHTSHOULDERC0, 0.15 / Animation_Speed) | |
1031 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.35 / Animation_Speed) | |
1032 | RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed) | |
1033 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed) | |
1034 | end | |
1035 | end | |
1036 | unanchor() | |
1037 | Humanoid.MaxHealth = "inf" | |
1038 | Humanoid.Health = "inf" | |
1039 | if Rooted == false then | |
1040 | Disable_Jump = false | |
1041 | Humanoid.WalkSpeed = Speed | |
1042 | elseif Rooted == true then | |
1043 | Disable_Jump = true | |
1044 | Humanoid.WalkSpeed = 0 | |
1045 | end | |
1046 | sick.Parent = Torso | |
1047 | sick:resume() | |
1048 | sick.Volume = 5 | |
1049 | sick.Pitch = 1 | |
1050 | sick.SoundId = "rbxassetid://1167498170" | |
1051 | sick.Name = "BanishV3Music" | |
1052 | end | |
1053 | ||
1054 | --//=================================\\ | |
1055 | --\\=================================// | |
1056 | ||
1057 | ||
1058 | ||
1059 | ||
1060 | ||
1061 | --//====================================================\\-- | |
1062 | --|| END OF SCRIPT | |
1063 | --\\====================================================//-- |