SHOW:
|
|
- or go back to the newest paste.
1 | - | p = game.Players.LocalPlayer |
1 | + | -- Created by Nebula_Zorua -- |
2 | - | if p.Name ~= "Dark_Eccentric" then |
2 | + | -- Two invisible eyes.. |
3 | - | print'Owner Access!' |
3 | + | -- Two, invisible, monsterous eyes.. |
4 | -- Discord: Nebula the Zorua#6969 | |
5 | - | if p.Name == "Dark_Eccentric" then |
5 | + | -- Youtube: https://www.youtube.com/channel/UCo9oU9dCw8jnuVLuy4_SATA |
6 | - | char = p.Character |
6 | + | -- Credit to makhail07 for the idea (lub u bby) |
7 | - | torso = char.Torso |
7 | + | |
8 | - | neck = char.Torso.Neck |
8 | + | |
9 | local S = setmetatable({},{__index = function(s,i) return game:service(i) end}) | |
10 | - | Player=game:GetService("Players").LocalPlayer |
10 | + | |
11 | - | Character=Player.Character |
11 | + | local plr = S.Players.LocalPlayer |
12 | - | PlayerGui=Player.PlayerGui |
12 | + | local char = plr.Character |
13 | - | Backpack=Player.Backpack |
13 | + | local hum = char:FindFirstChildOfClass'Humanoid' |
14 | - | Torso=Character.Torso |
14 | + | local rarm = char["Right Arm"] |
15 | - | Head=Character.Head |
15 | + | local larm= char["Left Arm"] |
16 | - | Humanoid=Character.Humanoid |
16 | + | local rleg= char["Right Leg"] |
17 | - | LeftArm=Character["Left Arm"] |
17 | + | local lleg = char["Left Leg"] |
18 | - | LeftLeg=Character["Left Leg"] |
18 | + | local root = char:FindFirstChild'HumanoidRootPart' |
19 | - | RightArm=Character["Right Arm"] |
19 | + | local torso = char.Torso |
20 | - | RightLeg=Character["Right Leg"] |
20 | + | local head = char.Head |
21 | - | cam=game.Workspace.CurrentCamera |
21 | + | local sine = 0; |
22 | - | LS=Torso["Left Shoulder"] |
22 | + | local combo = 1; |
23 | - | LH=Torso["Left Hip"] |
23 | + | local lastClick = time() |
24 | - | RS=Torso["Right Shoulder"] |
24 | + | local change = 1; |
25 | - | RH=Torso["Right Hip"] |
25 | + | local runService = S.RunService |
26 | - | Face = Head.face |
26 | + | local mouse = plr:GetMouse() |
27 | - | Neck=Torso.Neck |
27 | + | local Attack = false |
28 | - | it=Instance.new |
28 | + | local neutralAnims = true |
29 | - | attacktype=1 |
29 | + | local GlitchTime = 0; |
30 | - | vt=Vector3.new |
30 | + | local PaintBody = 'Black' |
31 | - | cf=CFrame.new |
31 | + | local DeleteClothing = true |
32 | - | euler=CFrame.fromEulerAnglesXYZ |
32 | + | local PlayerSize = 5 |
33 | - | angles=CFrame.Angles |
33 | + | local Debounces = {Debounces={}} |
34 | - | cloaked=false |
34 | + | local Hit = {} |
35 | - | necko=cf(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) |
35 | + | local BloodPuddles = {} |
36 | - | necko2=cf(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) |
36 | + | local Teamed = {} |
37 | - | LHC0=cf(-1,-1,0,-0,-0,-1,0,1,0,1,0,0) |
37 | + | hum.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None |
38 | - | LHC1=cf(-0.5,1,0,-0,-0,-1,0,1,0,1,0,0) |
38 | + | hum.MaxHealth = inf |
39 | - | RHC0=cf(1,-1,0,0,0,1,0,1,0,-1,-0,-0) |
39 | + | hum.Health = inf |
40 | - | RHC1=cf(0.5,1,0,0,0,1,0,1,0,-1,-0,-0) |
40 | + | hum.Name = 'void the end of all' |
41 | - | RootPart=Character.HumanoidRootPart |
41 | + | Instance.new("ForceField",char).Visible = false |
42 | - | RootJoint=RootPart.RootJoint |
42 | + | function Debounces:New(name,cooldown) |
43 | - | RootCF=euler(-1.57,0,3.14) |
43 | + | local aaaaa = {Usable=true,Cooldown=cooldown or 2,CoolingDown=false,LastUse=0} |
44 | - | attack = false |
44 | + | setmetatable(aaaaa,{__index = Debounces}) |
45 | - | bounce=false |
45 | + | Debounces.Debounces[name] = aaaaa |
46 | - | cooldown=false |
46 | + | return aaaaa |
47 | - | deeznuts=false |
47 | + | |
48 | - | attackdebounce = false |
48 | + | |
49 | - | deb=false |
49 | + | function Debounces:Use(overrideUsable) |
50 | - | equipped=true |
50 | + | assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use") |
51 | - | hand=false |
51 | + | if(self.Usable or overrideUsable)then |
52 | - | MMouse=nil |
52 | + | self.Usable = false |
53 | - | combo=0 |
53 | + | self.CoolingDown = true |
54 | - | mana=0 |
54 | + | local LastUse = time() |
55 | - | trispeed=.2 |
55 | + | self.LastUse = LastUse |
56 | - | attackmode='none' |
56 | + | delay(self.Cooldown or 2,function() |
57 | - | local idle=0 |
57 | + | if(self.LastUse == LastUse)then |
58 | - | local Anim="Idle" |
58 | + | self.CoolingDown = false |
59 | - | local Effects={} |
59 | + | self.Usable = true |
60 | - | local gun=false |
60 | + | end |
61 | - | local shoot=false |
61 | + | end) |
62 | - | player=nil |
62 | + | |
63 | - | mana=0 |
63 | + | |
64 | - | cam = workspace.CurrentCamera |
64 | + | |
65 | - | ZTarget = nil |
65 | + | function Debounces:Get(name) |
66 | - | RocketTarget = nil |
66 | + | assert(typeof(name) == 'string',("bad argument #1 to 'get' (string expected, got %s)"):format(typeof(name) == nil and "no value" or typeof(name))) |
67 | - | local m = Instance.new("Model",Character) |
67 | + | for i,v in next, Debounces.Debounces do |
68 | - | m.Name = "WeaponModel" |
68 | + | if(i == name)then |
69 | return v; | |
70 | - | mouse=Player:GetMouse() |
70 | + | |
71 | - | --save shoulders |
71 | + | |
72 | - | RSH, LSH=nil, nil |
72 | + | |
73 | - | --welds |
73 | + | |
74 | - | RW, LW=Instance.new("Weld"), Instance.new("Weld") |
74 | + | function Debounces:GetProgressPercentage() |
75 | - | RW.Name="Right Shoulder" LW.Name="Left Shoulder" |
75 | + | assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use") |
76 | - | LH=Torso["Left Hip"] |
76 | + | if(self.CoolingDown and not self.Usable)then |
77 | - | RH=Torso["Right Hip"] |
77 | + | return math.max( |
78 | - | TorsoColor=Torso.BrickColor |
78 | + | math.floor( |
79 | - | function NoOutline(Part) |
79 | + | ( |
80 | - | Part.TopSurface,Part.BottomSurface,Part.LeftSurface,Part.RightSurface,Part.FrontSurface,Part.BackSurface = 10,10,10,10,10,10 |
80 | + | (time()-self.LastUse)/self.Cooldown or 2 |
81 | )*100 | |
82 | - | player=Player |
82 | + | ) |
83 | - | ch=Character |
83 | + | ) |
84 | - | RSH=ch.Torso["Right Shoulder"] |
84 | + | else |
85 | - | LSH=ch.Torso["Left Shoulder"] |
85 | + | return 100 |
86 | - | -- |
86 | + | |
87 | - | RSH.Parent=nil |
87 | + | |
88 | - | LSH.Parent=nil |
88 | + | |
89 | - | -- |
89 | + | local CF = {N=CFrame.new,A=CFrame.Angles,fEA=CFrame.fromEulerAnglesXYZ} |
90 | - | RW.Name="Right Shoulder" |
90 | + | local V3 = {N=Vector3.new} |
91 | - | RW.Part0=ch.Torso |
91 | + | local M = {C=math.cos,R=math.rad,S=math.sin,P=math.pi,RNG=math.random,MRS=math.randomseed,H=math.huge} |
92 | - | RW.C0=cf(1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.3, 0, -0.5) |
92 | + | |
93 | - | RW.C1=cf(0, 0.5, 0) |
93 | + | local Effects,Sounds = {},{}; |
94 | - | RW.Part1=ch["Right Arm"] |
94 | + | --Stop animations |
95 | - | RW.Parent=ch.Torso |
95 | + | for _,v in next, hum:GetPlayingAnimationTracks() do |
96 | - | -- |
96 | + | v:Stop(); |
97 | - | LW.Name="Left Shoulder" |
97 | + | |
98 | - | LW.Part0=ch.Torso |
98 | + | |
99 | - | LW.C0=cf(-1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.7, 0, 0.8) |
99 | + | pcall(game.Destroy,char:FindFirstChild'Animate') |
100 | - | LW.C1=cf(0, 0.5, 0) |
100 | + | pcall(game.Destroy,hum:FindFirstChild'Animator') |
101 | - | LW.Part1=ch["Left Arm"] |
101 | + | |
102 | - | LW.Parent=ch.Torso |
102 | + | -- Sounds |
103 | Sounds['Wet'] = {Id=256738023,Loop=false,Pitch=1} | |
104 | - | function swait(num) |
104 | + | Sounds['Swoosh1'] = {Id=320557353,Loop=false,Pitch=1,Volume=6} |
105 | - | if num==0 or num==nil then |
105 | + | Sounds['Swoosh2'] = {Id=320557382,Loop=false,Pitch=1,Volume=6} |
106 | - | game:service'RunService'.Heartbeat:wait(0) |
106 | + | Sounds['Swoosh3'] = {Id=320557413,Loop=false,Pitch=1,Volume=6} |
107 | - | else |
107 | + | Sounds['Swoosh4'] = {Id=320557453,Loop=false,Pitch=1,Volume=6} |
108 | - | for i=0,num do |
108 | + | Sounds['Swoosh5'] = {Id=320557487,Loop=false,Pitch=1,Volume=6} |
109 | - | game:service'RunService'.Heartbeat:wait(0) |
109 | + | Sounds['Swoosh6'] = {Id=320557537,Loop=false,Pitch=1,Volume=6} |
110 | - | end |
110 | + | Sounds['Swoosh7'] = {Id=320557563,Loop=false,Pitch=1,Volume=6} |
111 | - | end |
111 | + | Sounds['Swoosh8'] = {Id=320557518,Loop=false,Pitch=1,Volume=6} |
112 | Sounds['SmallBoom'] = {Id=341336485,Loop=false,Volume=5,Pitch=1} | |
113 | Sounds['ChaosBuster'] = {Id=333534812,Loop=false,Volume=5,Pitch=0.75} | |
114 | Sounds['Magic'] = {Id=315743350,Loop=false,Volume=5,Pitch=1} | |
115 | - | local Player = game.Players.localPlayer |
115 | + | Sounds['ShrekRemix'] = {Id=163306929,Loop=true,Pitch=1,Volume = 4} |
116 | - | local Character = Player.Character |
116 | + | Sounds['CreoDimension'] = {Id=927529620,Loop=true,Pitch=1,Volume=4} |
117 | - | local red = 255 |
117 | + | Sounds['BlackBlizzard'] = {Id=657626121,Loop=true,Pitch=1,Volume=4} |
118 | - | local green = 255 |
118 | + | Sounds['ColbreakzFantasy'] = {Id=876981900,Loop=true,Pitch=1,Volume=4} |
119 | - | local blue = 255 |
119 | + | Sounds['NeflCrystals'] = {Id=340106355,Loop=true,Pitch=1,Volume=4} |
120 | - | local Humanoid = Character.Humanoid |
120 | + | Sounds['EvilMortyRemix'] = {Id=1057401232,Loop=true,Pitch=1,Volume=10} |
121 | - | local mouse = Player:GetMouse() |
121 | + | Sounds['Astronaut13'] = {Id=723652641,Loop=true,Pitch=0.9,Volume=10} |
122 | - | local m = Instance.new("Model", Character) |
122 | + | -- Functions |
123 | - | m.Name = "WeaponModel" |
123 | + | local NewInstance = function(instance,parent,properties) |
124 | - | local LeftArm = Character["Left Arm"] |
124 | + | local inst = Instance.new(instance,parent) |
125 | - | local RightArm = Character["Right Arm"] |
125 | + | if(properties)then |
126 | - | local LeftLeg = Character["Left Leg"] |
126 | + | for i,v in next, properties do |
127 | - | local RightLeg = Character["Right Leg"] |
127 | + | pcall(function() inst[i] = v end) |
128 | - | local Head = Character.Head |
128 | + | |
129 | - | local Torso = Character.Torso |
129 | + | |
130 | - | local cam = game.Workspace.CurrentCamera |
130 | + | return inst; |
131 | - | local RootPart = Character.HumanoidRootPart |
131 | + | |
132 | - | local RootJoint = RootPart.RootJoint |
132 | + | |
133 | - | local equipped = false |
133 | + | |
134 | - | local attack = false |
134 | + | ArtificialHB = NewInstance("BindableEvent", script,{ |
135 | - | local Anim = "Idle" |
135 | + | Parent = script, |
136 | - | local idle = 0 |
136 | + | Name = "Heartbeat", |
137 | - | local attacktype = 1 |
137 | + | }) |
138 | - | local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude |
138 | + | |
139 | - | local velocity = RootPart.Velocity.y |
139 | + | script:WaitForChild("Heartbeat") |
140 | - | local sine = 0 |
140 | + | |
141 | - | local change = 1 |
141 | + | frame = 1 / 60 |
142 | - | local grabbed = false |
142 | + | tf = 0 |
143 | - | local cn = CFrame.new |
143 | + | allowframeloss = false |
144 | - | local mr = math.rad |
144 | + | tossremainder = false |
145 | - | local angles = CFrame.Angles |
145 | + | lastframe = tick() |
146 | - | local ud = UDim2.new |
146 | + | script.Heartbeat:Fire() |
147 | - | local c3 = Color3.new |
147 | + | |
148 | - | local lim = 0 |
148 | + | game:GetService("RunService").Heartbeat:connect(function(s, p) |
149 | - | local st = 0 |
149 | + | tf = tf + s |
150 | - | local necko = cn(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0) |
150 | + | if tf >= frame then |
151 | - | local attacktype = 1 |
151 | + | if allowframeloss then |
152 | - | local ZTarget, RocketTarget = nil, nil |
152 | + | script.Heartbeat:Fire() |
153 | - | local euler = CFrame.fromEulerAnglesXYZ |
153 | + | lastframe = tick() |
154 | - | function clerp(a,b,t) |
154 | + | else |
155 | - | local qa = {QuaternionFromCFrame(a)} |
155 | + | for i = 1, math.floor(tf / frame) do |
156 | - | local qb = {QuaternionFromCFrame(b)} |
156 | + | script.Heartbeat:Fire() |
157 | - | local ax, ay, az = a.x, a.y, a.z |
157 | + | end |
158 | - | local bx, by, bz = b.x, b.y, b.z |
158 | + | lastframe = tick() |
159 | - | local _t = 1-t |
159 | + | |
160 | - | return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t)) |
160 | + | if tossremainder then |
161 | - | end |
161 | + | tf = 0 |
162 | - | |
162 | + | else |
163 | - | function QuaternionFromCFrame(cf) |
163 | + | tf = tf - frame * math.floor(tf / frame) |
164 | - | local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components() |
164 | + | |
165 | - | local trace = m00 + m11 + m22 |
165 | + | |
166 | - | if trace > 0 then |
166 | + | |
167 | - | local s = math.sqrt(1 + trace) |
167 | + | |
168 | - | local recip = 0.5/s |
168 | + | function swait(num) |
169 | - | return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5 |
169 | + | if num == 0 or num == nil then |
170 | - | else |
170 | + | ArtificialHB.Event:wait() |
171 | - | local i = 0 |
171 | + | else |
172 | - | if m11 > m00 then |
172 | + | for i = 0, num do |
173 | - | i = 1 |
173 | + | ArtificialHB.Event:wait() |
174 | end | |
175 | - | if m22 > (i == 0 and m00 or m11) then |
175 | + | |
176 | - | i = 2 |
176 | + | |
177 | - | end |
177 | + | |
178 | - | if i == 0 then |
178 | + | function ClearChildrenWithClass(where,class,recursive) |
179 | - | local s = math.sqrt(m00-m11-m22+1) |
179 | + | local children = (recursive and where:GetDescendants() or where:GetChildren()) |
180 | - | local recip = 0.5/s |
180 | + | for _,v in next, children do |
181 | - | return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip |
181 | + | if(v:IsA(class))then |
182 | - | elseif i == 1 then |
182 | + | v:destroy() |
183 | - | local s = math.sqrt(m11-m22-m00+1) |
183 | + | |
184 | - | local recip = 0.5/s |
184 | + | |
185 | - | return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip |
185 | + | |
186 | - | elseif i == 2 then |
186 | + | function clerp(startCF,endCF,alpha) |
187 | - | local s = math.sqrt(m22-m00-m11+1) |
187 | + | return startCF:lerp(endCF, alpha) |
188 | - | local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip |
188 | + | |
189 | - | end |
189 | + | local sndFromData = function(data,parent) |
190 | - | end |
190 | + | assert(typeof(data) == 'table',"sndFromData's first argument must be a table!") |
191 | local snd = NewInstance("Sound",parent or char,{SoundId = "rbxassetid://"..data.Id,Looped=data.Loop or false,Pitch = data.Pitch or 1,Volume = data.Volume or 1}) | |
192 | - | |
192 | + | if(not snd.Looped)then |
193 | - | function QuaternionToCFrame(px, py, pz, x, y, z, w) |
193 | + | snd.Ended:connect(function() |
194 | - | local xs, ys, zs = x + x, y + y, z + z |
194 | + | snd:Stop() |
195 | - | local wx, wy, wz = w*xs, w*ys, w*zs |
195 | + | snd:destroy() |
196 | - | local xx = x*xs |
196 | + | end) |
197 | - | local xy = x*ys |
197 | + | |
198 | - | local xz = x*zs |
198 | + | return snd; |
199 | - | local yy = y*ys |
199 | + | |
200 | - | local yz = y*zs |
200 | + | |
201 | - | local zz = z*zs |
201 | + | local FX = function(ID,vol,pitch,parent) |
202 | - | 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)) |
202 | + | local snd = NewInstance("Sound",parent or torso, {Pitch=pitch or 1, Volume = vol or 1,SoundId = "rbxassetid://"..ID}) |
203 | snd:Play() | |
204 | - | |
204 | + | repeat wait() until snd.IsLoaded and snd.IsPlaying |
205 | - | function QuaternionSlerp(a, b, t) |
205 | + | delay(snd.TimePosition+.5,function() |
206 | - | local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4] |
206 | + | snd:Stop() |
207 | - | local startInterp, finishInterp; |
207 | + | snd:Destroy() |
208 | - | if cosTheta >= 0.0001 then |
208 | + | end) |
209 | - | if (1 - cosTheta) > 0.0001 then |
209 | + | |
210 | - | local theta = math.acos(cosTheta) |
210 | + | |
211 | - | local invSinTheta = 1/math.sin(theta) |
211 | + | function Fragment(part,number,delayE) |
212 | - | startInterp = math.sin((1-t)*theta)*invSinTheta |
212 | + | part.Anchored = true |
213 | - | finishInterp = math.sin(t*theta)*invSinTheta |
213 | + | local Fragments = NewInstance("Folder",part.Parent,{Name='Fragmentation'}) |
214 | - | else |
214 | + | local Size = V3.N(part.Size.X/number,part.Size.Y/number,part.Size.Z/number) |
215 | - | startInterp = 1-t |
215 | + | local Start = CF.N((part.CFrame.X-part.Size.X/2) + Size.X/2,(part.CFrame.Y-part.Size.Y/2) + Size.Y/2,(part.CFrame.Z-part.Size.Z/2) + Size.Z/2) |
216 | - | finishInterp = t |
216 | + | for x = 0, number-1 do |
217 | - | end |
217 | + | for y = 0, number-1 do |
218 | - | else |
218 | + | for z = 0, number-1 do |
219 | - | if (1+cosTheta) > 0.0001 then |
219 | + | local frag = NewInstance('Part',Fragments,{Anchored=true,Size=Size,BrickColor=part.BrickColor,Material=part.Material,Transparency=part.Transparency,Reflectance=part.Reflectance,CanCollide=true,CFrame=CF.N(Start.X+x*Size.X,Start.Y+y*Size.Y,Start.Z+z*Size.Z)}) |
220 | - | local theta = math.acos(-cosTheta) |
220 | + | if(delayE ~= false)then swait(delayE or nil) end |
221 | - | local invSinTheta = 1/math.sin(theta) |
221 | + | end |
222 | - | startInterp = math.sin((t-1)*theta)*invSinTheta |
222 | + | |
223 | - | finishInterp = math.sin(t*theta)*invSinTheta |
223 | + | |
224 | - | else |
224 | + | part:destroy() |
225 | - | startInterp = t-1 |
225 | + | return Fragments |
226 | - | finishInterp = t |
226 | + | |
227 | - | end |
227 | + | function halfit(v) |
228 | - | end |
228 | + | v:ClearAllChildren() |
229 | - | 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 |
229 | + | v.Size = Vector3.new(v.Size.x,v.Size.y,v.Size.z/2) |
230 | v.Name = v.Name.."Half" | |
231 | - | rayCast = function(Position, Direction, Range, Ignore) |
231 | + | |
232 | - | return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore) |
232 | + | local a = v:Clone() |
233 | a.Parent = v.Parent | |
234 | - | local v = game.Players.localPlayer |
234 | + | a.CFrame = CF.N(1,1,-.5) * v.CFrame |
235 | - | local torso = v.Character.Torso |
235 | + | v.CFrame = CF.N(1,1,.5) * v.CFrame |
236 | return a,v | |
237 | - | plr = game.Players.LocalPlayer |
237 | + | |
238 | - | char = game.Players.LocalPlayer.Character |
238 | + | |
239 | - | hum = game.Players.LocalPlayer.Character.Humanoid |
239 | + | function Fragment2(v) |
240 | - | t = game.Players.LocalPlayer.Character.Torso |
240 | + | v:ClearAllChildren() |
241 | - | h = game.Players.LocalPlayer.Character.Head |
241 | + | local Fragments = NewInstance("Folder",v.Parent,{Name='Fragmentation'}) |
242 | - | ra = game.Players.LocalPlayer.Character["Right Arm"] |
242 | + | v.Archivable = true |
243 | - | la = game.Players.LocalPlayer.Character["Left Arm"] |
243 | + | -- X |
244 | - | rl = game.Players.LocalPlayer.Character["Right Leg"] |
244 | + | v.Size = Vector3.new(v.Size.x/2,v.Size.y,v.Size.z) |
245 | - | ll = game.Players.LocalPlayer.Character["Left Leg"] |
245 | + | v.Name = v.Name.."Fragment" |
246 | - | tors = Character.Torso |
246 | + | |
247 | - | lleg = Character["Left Leg"] |
247 | + | local a = v:Clone() |
248 | - | root = Character.HumanoidRootPart |
248 | + | a.Parent = Fragments |
249 | - | hed = Character.Head |
249 | + | a.CFrame = CF.N(-.5,1,1) * a.CFrame |
250 | - | rleg = Character["Right Leg"] |
250 | + | v.CFrame = CF.N(.5,1,1) * v.CFrame |
251 | - | rarm = Character["Right Arm"] |
251 | + | -- Y |
252 | - | larm = Character["Left Arm"] |
252 | + | v.Size = Vector3.new(v.Size.x,v.Size.y/2,v.Size.z) |
253 | - | bsize1 = NumberSequenceKeypoint.new(3,3,3) |
253 | + | |
254 | - | bsize2 = NumberSequenceKeypoint.new(10,10,10) |
254 | + | local a = v:Clone() |
255 | - | local Effects = {} |
255 | + | a.Parent = Fragments |
256 | - | attack = false |
256 | + | a.CFrame = CF.N(1,-.5,1) * a.CFrame |
257 | - | local attacking = false |
257 | + | v.CFrame = CF.N(1,.5,1) * v.CFrame |
258 | - | vt = Vector3.new |
258 | + | -- Z |
259 | - | bc = BrickColor.new |
259 | + | v.Size = Vector3.new(v.Size.x,v.Size.y,v.Size.z/2) |
260 | - | br = BrickColor.random |
260 | + | |
261 | - | it = Instance.new |
261 | + | local a = v:Clone() |
262 | - | cf = CFrame.new |
262 | + | a.Parent = Fragments |
263 | - | euler = CFrame.fromEulerAnglesXYZ |
263 | + | a.CFrame = CF.N(1,1,-.5) * a.CFrame |
264 | - | angles = CFrame.Angles |
264 | + | v.CFrame = CF.N(1,1,.5) * v.CFrame |
265 | - | matr = math.random |
265 | + | |
266 | - | local colororg = BrickColor.new("Dark indigo") -- set color u like |
266 | + | v.Parent = Fragments |
267 | - | local meshtype = "Sphere" -- only for specialmesh |
267 | + | return Fragments |
268 | - | mouse = plr:GetMouse() |
268 | + | |
269 | function UnbindLoops() | |
270 | pcall(runService.UnbindFromRenderStep,runService,"N_Effects") | |
271 | - | Damagefunc=function(hit,minim,maxim,knockback,Type,Property,Delay,KnockbackType,decreaseblock) |
271 | + | pcall(runService.UnbindFromRenderStep,runService,"N_Animations") |
272 | - | if hit.Parent==nil then |
272 | + | end; |
273 | - | return |
273 | + | |
274 | - | end |
274 | + | UnbindLoops() -- Just so if the loops already exist from previously running a script using this template, there's no errors |
275 | - | h=hit.Parent:FindFirstChild("Humanoid") |
275 | + | |
276 | - | for _,v in pairs(hit.Parent:children()) do |
276 | + | -- Model |
277 | - | if v:IsA("Humanoid") then |
277 | + | |
278 | - | h=v |
278 | + | game:service'Lighting'.FogEnd = 100 |
279 | - | end |
279 | + | game:service'Lighting'.FogStart = 0 |
280 | - | end |
280 | + | game:service'Lighting'.FogColor = BrickColor.new'Black'.Color |
281 | - | if hit.Parent.Parent:FindFirstChild("Torso")~=nil then |
281 | + | game:service'Lighting'.ClockTime = 22 |
282 | - | h=hit.Parent.Parent:FindFirstChild("Humanoid") |
282 | + | |
283 | - | end |
283 | + | local Sky = Instance.new("Sky",game:service'Lighting') |
284 | - | if hit.Parent.className=="Hat" then |
284 | + | Sky.MoonAngularSize = 30 |
285 | - | hit=hit.Parent.Parent:findFirstChild("Head") |
285 | + | Sky.MoonTextureId = "http://www.roblox.com/asset/?id=156679858" |
286 | - | end |
286 | + | |
287 | - | if h~=nil and hit.Parent.Name~=Character.Name and hit.Parent:FindFirstChild("Torso")~=nil then |
287 | + | |
288 | - | if hit.Parent:findFirstChild("DebounceHit")~=nil then if hit.Parent.DebounceHit.Value==true then return end end |
288 | + | local Music = sndFromData(Sounds.Astronaut13,torso) -- incase u want music |
289 | - | --[[ if game.Players:GetPlayerFromCharacter(hit.Parent)~=nil then |
289 | + | Music.MaxDistance = 500 |
290 | - | return |
290 | + | Music:Play() |
291 | - | end]] |
291 | + | local Distorted = NewInstance("EqualizerSoundEffect",Music,{MidGain=0,HighGain=0,LowGain=0}) |
292 | - | -- hs(hit,1.2) |
292 | + | ClearChildrenWithClass(char,"Decal",true) |
293 | - | c=Instance.new("ObjectValue") |
293 | + | ClearChildrenWithClass(char,"Clothing",true) |
294 | - | c.Name="creator" |
294 | + | |
295 | - | c.Value=game:service("Players").LocalPlayer |
295 | + | -- Joints, etc |
296 | - | c.Parent=h |
296 | + | if(PaintBody)then |
297 | - | game:GetService("Debris"):AddItem(c,.5) |
297 | + | char['Body Colors'].LeftArmColor = BrickColor.new(PaintBody) |
298 | - | Damage=math.random(minim,maxim) |
298 | + | char['Body Colors'].RightArmColor = BrickColor.new(PaintBody) |
299 | - | -- h:TakeDamage(Damage) |
299 | + | char['Body Colors'].LeftLegColor = BrickColor.new(PaintBody) |
300 | - | blocked=false |
300 | + | char['Body Colors'].RightLegColor = BrickColor.new(PaintBody) |
301 | - | block=hit.Parent:findFirstChild("Block") |
301 | + | char['Body Colors'].TorsoColor = BrickColor.new(PaintBody) |
302 | - | if block~=nil then |
302 | + | char['Body Colors'].HeadColor = BrickColor.new(PaintBody) |
303 | - | print(block.className) |
303 | + | |
304 | - | if block.className=="NumberValue" then |
304 | + | |
305 | - | if block.Value>0 then |
305 | + | local FT,RA,LA,RL,LL = Instance.new("SpecialMesh"),Instance.new("SpecialMesh"),Instance.new("SpecialMesh"),Instance.new("SpecialMesh"),Instance.new("SpecialMesh") |
306 | - | blocked=true |
306 | + | FT.MeshId,FT.Scale = "rbxasset://fonts/torso.mesh",V3.N(PlayerSize,PlayerSize,PlayerSize) |
307 | - | if decreaseblock==nil then |
307 | + | RA.MeshId,RA.Scale = "rbxasset://fonts/rightarm.mesh",V3.N(PlayerSize,PlayerSize,PlayerSize) |
308 | - | block.Value=block.Value-1 |
308 | + | LA.MeshId,LA.Scale = "rbxasset://fonts/leftarm.mesh",V3.N(PlayerSize,PlayerSize,PlayerSize) |
309 | - | end |
309 | + | RL.MeshId,RL.Scale = "rbxasset://fonts/rightleg.mesh",V3.N(PlayerSize,PlayerSize,PlayerSize) |
310 | - | end |
310 | + | LL.MeshId,LL.Scale = "rbxasset://fonts/leftleg.mesh",V3.N(PlayerSize,PlayerSize,PlayerSize) |
311 | - | end |
311 | + | |
312 | - | if block.className=="IntValue" then |
312 | + | if(PlayerSize ~= 1)then |
313 | - | if block.Value>0 then |
313 | + | for _,v in next, char:GetDescendants() do |
314 | - | blocked=true |
314 | + | if(v:IsA'BasePart')then |
315 | - | if decreaseblock~=nil then |
315 | + | v.Size = v.Size * PlayerSize |
316 | - | block.Value=block.Value-1 |
316 | + | |
317 | - | end |
317 | + | |
318 | - | end |
318 | + | |
319 | - | end |
319 | + | |
320 | - | end |
320 | + | local LS = NewInstance('Motor',char,{Part0=torso,Part1=larm,C0 = CF.N(-1.5 * PlayerSize,0.5 * PlayerSize,0),C1 = CF.N(0,.5 * PlayerSize,0)}) |
321 | - | if blocked==false then |
321 | + | local RS = NewInstance('Motor',char,{Part0=torso,Part1=rarm,C0 = CF.N(1.5 * PlayerSize,0.5 * PlayerSize,0),C1 = CF.N(0,.5 * PlayerSize,0)}) |
322 | - | -- h:TakeDamage(Damage) |
322 | + | local NK = NewInstance('Motor',char,{Part0=torso,Part1=head,C0 = CF.N(0,1.5 * PlayerSize,0)}) |
323 | - | h.Health=h.Health-Damage |
323 | + | local LH = NewInstance('Motor',char,{Part0=torso,Part1=lleg,C0 = CF.N(-.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)}) |
324 | - | showDamage(hit.Parent,Damage,3,TorsoColor) |
324 | + | local RH = NewInstance('Motor',char,{Part0=torso,Part1=rleg,C0 = CF.N(.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)}) |
325 | - | else |
325 | + | local RJ = NewInstance('Motor',char,{Part0=root,Part1=torso}) |
326 | - | h.Health=h.Health-(Damage/2) |
326 | + | --local HW = NewInstance('Motor',char,{Part0=rarm,Part1=Handle,C0 = CF.N(0,.5,0)}) |
327 | - | showDamage(hit.Parent,Damage/2,3,BrickColor.new("Bright blue")) |
327 | + | -- watevr |
328 | - | end |
328 | + | |
329 | - | if Type=="Knockdown" then |
329 | + | -- Default C0s |
330 | - | hum=hit.Parent.Humanoid |
330 | + | local LSD=LS.C0 |
331 | - | hum.PlatformStand=true |
331 | + | local RSD=RS.C0 |
332 | - | coroutine.resume(coroutine.create(function(HHumanoid) |
332 | + | local HD=NK.C0 |
333 | - | swait(1) |
333 | + | local TD=RJ.C0 |
334 | - | HHumanoid.PlatformStand=false |
334 | + | local LHD=LH.C0 |
335 | - | end),hum) |
335 | + | local RHD=RH.C0 |
336 | - | local angle=(hit.Position-(Property.Position+Vector3.new(0,0,0))).unit |
336 | + | |
337 | - | --hit.CFrame=CFrame.new(hit.Position,Vector3.new(angle.x,hit.Position.y,angle.z))*CFrame.fromEulerAnglesXYZ(math.pi/4,0,0) |
337 | + | -- Check State |
338 | - | local bodvol=Instance.new("BodyVelocity") |
338 | + | function CheckState(rPart) |
339 | - | bodvol.velocity=angle*knockback |
339 | + | if(math.abs(rPart.Velocity.x) > 2 or math.abs(rPart.Velocity.z) > 2)then |
340 | - | bodvol.P=5000 |
340 | + | return 'Walk'; |
341 | - | bodvol.maxForce=Vector3.new(8e+003, 8e+003, 8e+003) |
341 | + | |
342 | - | bodvol.Parent=hit |
342 | + | return 'Idle'; |
343 | - | rl=Instance.new("BodyAngularVelocity") |
343 | + | |
344 | - | rl.P=3000 |
344 | + | |
345 | - | rl.maxTorque=Vector3.new(500000,500000,500000)*50000000000000 |
345 | + | -- Effect Functions |
346 | - | rl.angularvelocity=Vector3.new(math.random(-10,10),math.random(-10,10),math.random(-10,10)) |
346 | + | function SphereFX(duration,color,scale,pos,endScale) |
347 | - | rl.Parent=hit |
347 | + | local rng = Instance.new("Part", char) |
348 | - | game:GetService("Debris"):AddItem(bodvol,.5) |
348 | + | rng.Anchored = true |
349 | - | game:GetService("Debris"):AddItem(rl,.5) |
349 | + | rng.BrickColor = color |
350 | - | elseif Type=="Normal" then |
350 | + | rng.CanCollide = false |
351 | - | vp=Instance.new("BodyVelocity") |
351 | + | rng.FormFactor = 3 |
352 | - | vp.P=500 |
352 | + | rng.Name = "Ring" |
353 | - | vp.maxForce=Vector3.new(math.huge,0,math.huge) |
353 | + | rng.Size = Vector3.new(1,1,1) |
354 | - | -- vp.velocity=Character.Torso.CFrame.lookVector*Knockback |
354 | + | rng.Transparency = 0 |
355 | - | if KnockbackType==1 then |
355 | + | rng.TopSurface = 0 |
356 | - | vp.velocity=Property.CFrame.lookVector*knockback+Property.Velocity/1.05 |
356 | + | rng.BottomSurface = 0 |
357 | - | elseif KnockbackType==2 then |
357 | + | rng.CFrame = pos |
358 | - | vp.velocity=Property.CFrame.lookVector*knockback |
358 | + | local rngm = Instance.new("SpecialMesh", rng) |
359 | - | end |
359 | + | rngm.MeshType = "Sphere" |
360 | - | if knockback>0 then |
360 | + | rngm.Scale = scale |
361 | - | vp.Parent=hit.Parent.Torso |
361 | + | table.insert(Effects, {Frame = 0, Effect="Sphere", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale, EndScale = endScale or scale*2, Position = pos}) |
362 | - | end |
362 | + | return rng |
363 | - | game:GetService("Debris"):AddItem(vp,.5) |
363 | + | |
364 | - | elseif Type=="Up" then |
364 | + | |
365 | - | local bodyVelocity=Instance.new("BodyVelocity") |
365 | + | function BlastFX(duration,color,scale,pos,endScale) |
366 | - | bodyVelocity.velocity=vt(0,10,0) |
366 | + | local rng = Instance.new("Part", char) |
367 | - | bodyVelocity.P=1000 |
367 | + | rng.Anchored = true |
368 | - | bodyVelocity.maxForce=Vector3.new(1e+009, 1e+009, 1e+009) |
368 | + | rng.BrickColor = color |
369 | - | bodyVelocity.Parent=hit |
369 | + | rng.CanCollide = false |
370 | - | game:GetService("Debris"):AddItem(bodyVelocity,1) |
370 | + | rng.FormFactor = 3 |
371 | - | rl=Instance.new("BodyAngularVelocity") |
371 | + | rng.Name = "Ring" |
372 | - | rl.P=3000 |
372 | + | rng.Size = Vector3.new(1,1,1) |
373 | - | rl.maxTorque=Vector3.new(500000,500000,500000)*50000000000000 |
373 | + | rng.Transparency = 0 |
374 | - | rl.angularvelocity=Vector3.new(math.random(-20,20),math.random(-20,20),math.random(-20,20)) |
374 | + | rng.TopSurface = 0 |
375 | - | rl.Parent=hit |
375 | + | rng.BottomSurface = 0 |
376 | - | game:GetService("Debris"):AddItem(rl,.5) |
376 | + | rng.CFrame = pos |
377 | - | elseif Type=="Snare" then |
377 | + | local rngm = Instance.new("SpecialMesh", rng) |
378 | - | bp=Instance.new("BodyPosition") |
378 | + | rngm.MeshType = "FileMesh" |
379 | - | bp.P=2000 |
379 | + | rngm.MeshId = 'rbxassetid://20329976' |
380 | - | bp.D=100 |
380 | + | rngm.Scale = scale |
381 | - | bp.maxForce=Vector3.new(math.huge,math.huge,math.huge) |
381 | + | table.insert(Effects, {Frame = 0, Effect="Sphere", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale, EndScale = endScale or scale*2, Position = pos}) |
382 | - | bp.position=hit.Parent.Torso.Position |
382 | + | return rng |
383 | - | bp.Parent=hit.Parent.Torso |
383 | + | |
384 | - | game:GetService("Debris"):AddItem(bp,1) |
384 | + | |
385 | - | elseif Type=="Target" then |
385 | + | function BlockFX(duration,color,scale,pos,endScale) |
386 | - | if Targetting==false then |
386 | + | local rng = Instance.new("Part", char) |
387 | - | ZTarget=hit.Parent.Torso |
387 | + | rng.Anchored = true |
388 | - | coroutine.resume(coroutine.create(function(Part) |
388 | + | rng.BrickColor = color |
389 | - | swait(5) |
389 | + | rng.CanCollide = false |
390 | - | end),ZTarget) |
390 | + | rng.FormFactor = 3 |
391 | - | TargHum=ZTarget.Parent:findFirstChild("Humanoid") |
391 | + | rng.Name = "Ring" |
392 | - | targetgui=Instance.new("BillboardGui") |
392 | + | rng.Size = Vector3.new(1,1,1) |
393 | - | targetgui.Parent=ZTarget |
393 | + | rng.Transparency = 0 |
394 | - | targetgui.Size=UDim2.new(10,100,10,100) |
394 | + | rng.TopSurface = 0 |
395 | - | targ=Instance.new("ImageLabel") |
395 | + | rng.BottomSurface = 0 |
396 | - | targ.Parent=targetgui |
396 | + | rng.CFrame = pos |
397 | - | targ.BackgroundTransparency=1 |
397 | + | local rngm = Instance.new("BlockMesh", rng) |
398 | - | targ.Image="rbxassetid://4834067" |
398 | + | rngm.Scale = scale |
399 | - | targ.Size=UDim2.new(1,0,1,0) |
399 | + | table.insert(Effects, {Frame = 0, Effect="Block", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale, EndScale = endScale or scale*2, Position = pos}) |
400 | - | cam.CameraType="Scriptable" |
400 | + | return rng |
401 | - | cam.CoordinateFrame=CFrame.new(Head.CFrame.p,ZTarget.Position) |
401 | + | |
402 | - | dir=Vector3.new(cam.CoordinateFrame.lookVector.x,0,cam.CoordinateFrame.lookVector.z) |
402 | + | |
403 | - | workspace.CurrentCamera.CoordinateFrame=CFrame.new(Head.CFrame.p,ZTarget.Position) |
403 | + | function LaserFX(duration,color,cframe,scale,endScale) |
404 | - | Targetting=true |
404 | + | local rng = Instance.new("Part", char) |
405 | - | RocketTarget=ZTarget |
405 | + | rng.Anchored = true |
406 | - | for i=1,Property do |
406 | + | rng.BrickColor = color |
407 | - | --while Targetting==true and Humanoid.Health>0 and Character.Parent~=nil do |
407 | + | rng.CanCollide = false |
408 | - | if Humanoid.Health>0 and Character.Parent~=nil and TargHum.Health>0 and TargHum.Parent~=nil and Targetting==true then |
408 | + | rng.FormFactor = 3 |
409 | - | swait() |
409 | + | rng.Material = Enum.Material.Neon |
410 | - | end |
410 | + | rng.Name = "Laser" |
411 | - | --workspace.CurrentCamera.CoordinateFrame=CFrame.new(Head.CFrame.p,Head.CFrame.p+rmdir*100) |
411 | + | rng.Size = Vector3.new(.5,.5,.5) |
412 | - | cam.CoordinateFrame=CFrame.new(Head.CFrame.p,ZTarget.Position) |
412 | + | rng.Transparency = 0 |
413 | - | dir=Vector3.new(cam.CoordinateFrame.lookVector.x,0,cam.CoordinateFrame.lookVector.z) |
413 | + | rng.TopSurface = 0 |
414 | - | cam.CoordinateFrame=CFrame.new(Head.CFrame.p,ZTarget.Position)*cf(0,5,10)*euler(-0.3,0,0) |
414 | + | rng.BottomSurface = 0 |
415 | - | end |
415 | + | rng.CFrame = cframe |
416 | - | Targetting=false |
416 | + | local rngm = Instance.new("CylinderMesh", rng) |
417 | - | RocketTarget=nil |
417 | + | rngm.Scale = scale |
418 | - | targetgui.Parent=nil |
418 | + | table.insert(Effects, {Frame = 0, Effect="Sphere", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale, EndScale = endScale or scale*2, Position = cframe}) |
419 | - | cam.CameraType="Custom" |
419 | + | return rng |
420 | - | end |
420 | + | |
421 | - | end |
421 | + | |
422 | - | debounce=Instance.new("BoolValue") |
422 | + | |
423 | - | debounce.Name="DebounceHit" |
423 | + | function BloodDrop(pos,dir,maxsize) |
424 | - | debounce.Parent=hit.Parent |
424 | + | local owo = NewInstance("Part",char,{Material=BloodMaterial,BrickColor=BloodColor,Shape=Enum.PartType.Ball,Size=V3.N(.25,.25,.25), CanCollide = false}) |
425 | - | debounce.Value=true |
425 | + | owo.CFrame=CF.N(pos,dir) |
426 | - | game:GetService("Debris"):AddItem(debounce,Delay) |
426 | + | local bv = Instance.new("BodyVelocity",owo) |
427 | - | c=Instance.new("ObjectValue") |
427 | + | bv.maxForce = Vector3.new(1e9, 1e9, 1e9) |
428 | - | c.Name="creator" |
428 | + | bv.velocity = CF.N(pos,dir+V3.N(M.RNG(-3,3)/30,M.RNG(-3,3)/30,M.RNG(-3,3)/30)).lookVector*15 |
429 | - | c.Value=Player |
429 | + | bv.Name = "MOVE" |
430 | - | c.Parent=h |
430 | + | game:service'Debris':AddItem(bv,0.05) |
431 | - | game:GetService("Debris"):AddItem(c,.5) |
431 | + | local touch |
432 | - | CRIT=false |
432 | + | touch = owo.Touched:connect(function(hit) |
433 | - | hitDeb=true |
433 | + | if(hit.Anchored==true)then |
434 | - | AttackPos=6 |
434 | + | touch:disconnect() |
435 | - | end |
435 | + | BloodPuddle(owo.Position+V3.N(0,1,0),10,maxsize,owo) |
436 | owo:destroy() | |
437 | - | |
437 | + | |
438 | - | showDamage=function(Char,Dealt,du,Color) |
438 | + | end) |
439 | - | m=Instance.new("Model") |
439 | + | |
440 | - | m.Name="" |
440 | + | function BloodPuddle(position,range,maxSize,where) |
441 | - | h=Instance.new("Humanoid") |
441 | + | local hit, pos, norm = workspace:FindPartOnRayWithIgnoreList(Ray.new( |
442 | - | h.Health=0 |
442 | + | position,CF.N(position,position+V3.N(0,-1,0)).lookVector * range |
443 | - | h.MaxHealth=0 |
443 | + | ),{where,char},false,true) |
444 | - | h.Parent=m |
444 | + | if(hit)then |
445 | - | c=Instance.new("Part") |
445 | + | if(BloodPuddles[hit])then |
446 | - | c.Transparency=0 |
446 | + | BloodPuddles[hit].Frame = 0 |
447 | - | c.Material = "Neon" |
447 | + | if(hit:FindFirstChild'CylinderMesh' and hit.CylinderMesh.Scale.Z < BloodPuddles[hit].MaxSize)then |
448 | - | c.BrickColor=bc("Bright red") |
448 | + | hit.CylinderMesh.Scale = hit.CylinderMesh.Scale + V3.N(.1,0,.1) |
449 | - | c.Name="Head" |
449 | + | end |
450 | - | c.TopSurface=0 |
450 | + | else |
451 | - | c.BottomSurface=0 |
451 | + | local Puddle = NewInstance('Part',workspace,{Material=BloodMaterial,BrickColor=BloodColor,Size=V3.N(1,.1,1),CFrame=CF.N(pos,pos+norm)*CF.A(90*M.P/180,0,0),Anchored=true,CanCollide=false,Archivable=false,Locked=true,Name='BloodPuddle'}) |
452 | - | CV="Hot pink" |
452 | + | local Cyl = NewInstance('CylinderMesh',Puddle,{Name='CylinderMesh'}) |
453 | BloodPuddles[Puddle] = {MaxSize=maxSize or 7,Frame=0} | |
454 | - | local txt = Instance.new("BillboardGui", c) |
454 | + | |
455 | - | txt.Adornee = c |
455 | + | |
456 | - | txt.Name = "_status" |
456 | + | |
457 | - | txt.Size = UDim2.new(2, 0, 1.2, 0) |
457 | + | |
458 | - | txt.StudsOffset = Vector3.new(-9, 8, 0) |
458 | + | |
459 | - | local text = Instance.new("TextLabel", txt) |
459 | + | function ShatterFX(duration,color,scale,cframe) |
460 | - | text.Size = UDim2.new(10, 0, 7, 0) |
460 | + | local rng = Instance.new("Part", char) |
461 | - | text.FontSize = "Size24" |
461 | + | rng.Anchored = true |
462 | - | text.TextScaled = true |
462 | + | rng.BrickColor = color |
463 | - | text.TextTransparency = 0 |
463 | + | rng.CanCollide = false |
464 | - | text.BackgroundTransparency = 1 |
464 | + | rng.FormFactor = 3 |
465 | - | text.TextTransparency = 0 |
465 | + | rng.Name = "Ring" |
466 | - | text.TextStrokeTransparency = 0 |
466 | + | rng.Size = Vector3.new(1,1,1) |
467 | - | if Dealt < 12 then |
467 | + | rng.Transparency = 0 |
468 | - | text.Font = "Highway" |
468 | + | rng.TopSurface = 0 |
469 | - | elseif Dealt < 20 then |
469 | + | rng.BottomSurface = 0 |
470 | - | text.Font = "SourceSansBold" |
470 | + | rng.CFrame = cframe * CF.fEA(M.RNG(-50, 50), M.RNG(-50, 50), M.RNG(-50, 50)) |
471 | - | elseif Dealt >= 20 then |
471 | + | local rngm = Instance.new("SpecialMesh", rng) |
472 | - | text.Font = "Fantasy" |
472 | + | rngm.Scale = scale |
473 | rngm.MeshType = "Sphere" | |
474 | - | text.TextStrokeColor3 = BrickColor.new("Really black").Color |
474 | + | table.insert(Effects, {Frame = 0, Effect="Shatter", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale,Position=rng.CFrame}) |
475 | - | local hitsounds={"199149137","199149186","199149221","199149235","199149269","199149297"} |
475 | + | |
476 | - | v=Instance.new("Part") |
476 | + | |
477 | - | v.Name = "ColorBrick" |
477 | + | function RingFX(duration,color,scale,pos,endScale) |
478 | - | v.Parent=c |
478 | + | local type = type |
479 | - | v.FormFactor="Symmetric" |
479 | + | local rng = Instance.new("Part", char) |
480 | - | v.Anchored=true |
480 | + | rng.Anchored = true |
481 | - | v.CanCollide=false |
481 | + | rng.BrickColor = color |
482 | - | v.BottomSurface="Smooth" |
482 | + | rng.CanCollide = false |
483 | - | v.TopSurface="Smooth" |
483 | + | rng.FormFactor = 3 |
484 | - | v.Size=Vector3.new(10,5,3) |
484 | + | rng.Name = "Ring" |
485 | - | v.Transparency=1 |
485 | + | rng.Size = Vector3.new(1,1,1) |
486 | - | v.CFrame=c.CFrame |
486 | + | rng.Transparency = 0 |
487 | - | v.BrickColor=BrickColor.new(CV) |
487 | + | rng.TopSurface = 0 |
488 | - | v.Transparency=1 |
488 | + | rng.BottomSurface = 0 |
489 | - | if Dealt < 12 then |
489 | + | rng.CFrame = pos |
490 | - | text.TextColor3 = BrickColor.new("White").Color |
490 | + | local rngm = Instance.new("SpecialMesh", rng) |
491 | - | elseif Dealt < 20 then |
491 | + | rngm.MeshId = "rbxassetid://3270017" |
492 | - | text.TextColor3 = BrickColor.new("Bright yellow").Color |
492 | + | rngm.Scale = scale |
493 | - | elseif Dealt >= 20 then |
493 | + | table.insert(Effects, {Frame = 0, Effect="Sphere", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale, EndScale = endScale or scale*2, Position = pos}) |
494 | - | text.TextColor3 = BrickColor.new("Really red").Color |
494 | + | return rng |
495 | end | |
496 | - | v.Shape="Block" |
496 | + | |
497 | - | text.Text = tostring(Dealt).. "!" |
497 | + | function Shoot(StartCF,EndCF,Spread,Speed,Num,Color,Drop,MinDamage,MaxDamage) |
498 | - | local dam = Instance.new("Sound",c) |
498 | + | local Spread = V3.N(M.RNG(-Spread,Spread),M.RNG(-Spread,Spread),M.RNG(-Spread,Spread)) |
499 | - | local rndm=math.random(1,#hitsounds) |
499 | + | local Start = StartCF.p |
500 | - | local r=rndm |
500 | + | local End = EndCF.p |
501 | - | dam.SoundId = "http://www.roblox.com/asset/?id="..hitsounds[r] |
501 | + | local SpreadPos = End + Spread |
502 | - | dam.Volume = 1.25 |
502 | + | local Look = CF.N((Start + SpreadPos) / 2, SpreadPos) |
503 | - | dam.Pitch = 1 |
503 | + | local Count = Num |
504 | - | dam:Play() |
504 | + | spawn(function() |
505 | - | c.formFactor="Plate" |
505 | + | repeat |
506 | - | c.Transparency = 0.99 |
506 | + | wait() |
507 | - | c.Size=Vector3.new(1,.4,1) |
507 | + | local hit, pos = workspace:findPartOnRay(Ray.new( |
508 | - | ms=Instance.new("CylinderMesh") |
508 | + | Start,(Look.lookVector).unit * Speed |
509 | - | ms.Scale=Vector3.new(.8,.8,.8) |
509 | + | ),char,false,true) |
510 | - | if CRIT==true then |
510 | + | local dist = (Start-pos).magnitude |
511 | - | ms.Scale=Vector3.new(1,1.25,1) |
511 | + | local yScale = dist * (Speed / (Speed/2)) |
512 | - | end |
512 | + | local aa = CF.N((Start + pos) / 2, pos) * CFrame.Angles(1.57, 0, 0) |
513 | - | ms.Parent=c |
513 | + | LaserFX(25,Color,aa,Vector3.new(1,yScale,1),Vector3.new(-1,yScale,-1)) |
514 | - | c.Reflectance=0 |
514 | + | Start = Start + Look.lookVector * Speed |
515 | - | Instance.new("BodyGyro").Parent=c |
515 | + | Look = Look * CF.A(M.R(Drop or -1),0,0) |
516 | - | c.Parent=m |
516 | + | Count = Count - 1 |
517 | - | if Char:findFirstChild("Head")~=nil then |
517 | + | |
518 | - | c.CFrame=CFrame.new(Char["Head"].CFrame.p+Vector3.new(0,1.5,0)) |
518 | + | if(hit)then |
519 | - | elseif Char.Parent:findFirstChild("Head")~=nil then |
519 | + | Count = 0 |
520 | - | c.CFrame=CFrame.new(Char.Parent["Head"].CFrame.p+Vector3.new(0,1.5,0)) |
520 | + | MagniDamage(pos,10,MinDamage,MaxDamage,0,'Normal') |
521 | - | end |
521 | + | end |
522 | - | f=Instance.new("BodyPosition") |
522 | + | if(Count <= 0)then |
523 | - | f.P=2000 |
523 | + | local sphere = SphereFX(25,Color,Vector3.new(5,5,5),CF.N(pos),Vector3.new(15,15,15)) |
524 | - | f.D=100 |
524 | + | local ring = RingFX(25,Color,Vector3.new(6,6,6),CF.N(pos) * CF.A(0,M.R(90),0) * CF.A(M.R(M.RNG(-360,360)),M.R(M.RNG(-360,360)),M.R(M.RNG(-360,360))),Vector3.new(16,16,16)) |
525 | - | f.maxForce=Vector3.new(math.huge,math.huge,math.huge) |
525 | + | end |
526 | - | f.position=c.Position+Vector3.new(0,3,0) |
526 | + | until Count <= 0 |
527 | - | f.Parent=c |
527 | + | end) |
528 | - | game:GetService("Debris"):AddItem(m,.5+du) |
528 | + | |
529 | - | c.CanCollide=false |
529 | + | |
530 | - | m.Parent=workspace |
530 | + | -- Effect Loop |
531 | - | c.CanCollide=false |
531 | + | |
532 | - | wait(1) |
532 | + | runService:BindToRenderStep("N_Effects",Enum.RenderPriority.Character.Value + 2,function() |
533 | - | for l = 0, 9 do |
533 | + | for _,data in next, Effects do |
534 | - | text.TextTransparency = text.TextTransparency + 0.1 |
534 | + | local frame,effect,duration = data.Frame,data.Effect,data.Duration |
535 | - | text.TextStrokeTransparency = text.TextStrokeTransparency + 0.1 |
535 | + | local transparency = (frame / duration) |
536 | - | wait() |
536 | + | local opacity = 1 - transparency |
537 | - | end |
537 | + | if(frame > duration)then |
538 | Effects[_] = nil | |
539 | end | |
540 | - | ---------------- Weapon model |
540 | + | frame = frame + 1 |
541 | data.Frame = frame | |
542 | - | local handle = Instance.new("Part") |
542 | + | if(effect == 'Sphere')then |
543 | - | handle.Parent = Character |
543 | + | local Part,Mesh,Scale,CF,eScale = data.Part,data.Mesh,data.Scale,data.Position,data.EndScale |
544 | - | handle.Size = Vector3.new(0.225, 0.225, 0.225) |
544 | + | Mesh.Scale = Mesh.Scale:lerp(eScale, transparency/6) |
545 | - | handle.Archivable = true |
545 | + | Part.Transparency = transparency |
546 | - | handle.Transparency = 0 |
546 | + | if(frame > duration)then |
547 | - | handle.BrickColor = BrickColor.new("Really red") |
547 | + | Part:destroy() |
548 | - | handle.Material = "Neon" |
548 | + | end |
549 | - | local handlmesh = Instance.new("BlockMesh",handle) |
549 | + | elseif(effect == 'Shatter')then |
550 | - | handlmesh.Scale = Vector3.new(0.75,0.75,32.5) |
550 | + | local Part,Mesh,Scale,Position,Thingie,Thingie2,Inc = data.Part, |
551 | - | local weld1 = Instance.new("Weld") |
551 | + | data.Mesh, |
552 | - | weld1.Parent = handle |
552 | + | data.Scale, |
553 | - | weld1.Part0 = rarm |
553 | + | data.Position, |
554 | - | weld1.Part1 = handle |
554 | + | (data.Thingie or 0), |
555 | - | weld1.C1 = CFrame.new(0, 1, 0.25*1.5)*CFrame.Angles(math.rad(-20),math.rad(0),math.rad(0)) |
555 | + | (data.Thingie2 or M.RNG(50, 100) / 100), |
556 | - | local handle2 = Instance.new("Part") |
556 | + | (data.Inc or M.RNG() - M.RNG()) |
557 | - | handle2.Parent = Character |
557 | + | Part.Transparency = transparency |
558 | - | handle2.Size = Vector3.new(0.3, 0.3, 0.75) |
558 | + | Position = Position * CF.N(0,Thingie2,0) |
559 | - | handle2.Archivable = true |
559 | + | Part.CFrame = Position * CF.fEA(Thingie,0,0) |
560 | - | handle2.Transparency = 0 |
560 | + | Thingie = Thingie + Inc |
561 | - | handle2.BrickColor = BrickColor.new("Really red") |
561 | + | |
562 | - | handle2.Material = "Neon" |
562 | + | data.Position = Position |
563 | - | local weld12 = Instance.new("Weld") |
563 | + | data.Thingie = Thingie |
564 | - | weld12.Parent = handle2 |
564 | + | data.Thingie2 = Thingie2 |
565 | - | weld12.Part0 = rarm |
565 | + | data.Inc = Inc |
566 | - | weld12.Part1 = handle2 |
566 | + | elseif(effect == 'Block')then |
567 | - | weld12.C1 = CFrame.new(0, 1, -2.5*1.45)*CFrame.Angles(math.rad(-20),math.rad(0),math.rad(0)) |
567 | + | local Part,Mesh,Scale,CF,eScale = data.Part,data.Mesh,data.Scale,data.Position,data.EndScale |
568 | - | local handle3 = Instance.new("Part") |
568 | + | Mesh.Scale = Mesh.Scale:lerp(eScale, transparency/6) |
569 | - | handle3.Parent = Character |
569 | + | Part.Transparency = transparency |
570 | - | handle3.Size = Vector3.new(0.275, 0.275, 0.75) |
570 | + | Part.CFrame = CF * CFrame.Angles(M.R(M.RNG(-360,360)),M.R(M.RNG(-360,360)),M.R(M.RNG(-360,360))) |
571 | - | handle3.Archivable = true |
571 | + | if(frame > duration)then |
572 | - | handle3.Transparency = 0 |
572 | + | Part:destroy() |
573 | - | handle3.BrickColor = BrickColor.new("Really red") |
573 | + | end |
574 | - | handle3.Material = "Neon" |
574 | + | |
575 | - | local weld13 = Instance.new("Weld") |
575 | + | |
576 | - | weld13.Parent = handle3 |
576 | + | for puddle,data in next, BloodPuddles do |
577 | - | weld13.Part0 = rarm |
577 | + | if(puddle.Transparency > 0.9)then |
578 | - | weld13.Part1 = handle3 |
578 | + | BloodPuddles[puddle] = nil |
579 | - | weld13.C1 = CFrame.new(0, 1, 2.5*1.5)*CFrame.Angles(math.rad(-20),math.rad(0),math.rad(0)) |
579 | + | puddle:destroy() |
580 | - | local blade = Instance.new("Part") |
580 | + | |
581 | - | blade.Parent = Character |
581 | + | data.Frame = data.Frame + 1 |
582 | - | blade.Size = Vector3.new(0.2, 0.2, 0.2) |
582 | + | if(data.Frame > 105)then |
583 | - | blade.Archivable = true |
583 | + | local trans = (data.Frame-105)/30 |
584 | - | blade.Transparency = 0 |
584 | + | puddle.Transparency = trans |
585 | - | blade.CanCollide = false |
585 | + | if(puddle:FindFirstChild'CylinderMesh' and puddle.CylinderMesh.Scale.Z > 0)then |
586 | - | blade.BrickColor = BrickColor.new("Really red") |
586 | + | puddle.CylinderMesh.Scale = puddle.CylinderMesh.Scale-V3.N(.1,0,.1) |
587 | - | blade.Material = "Neon" |
587 | + | end |
588 | - | local msh = Instance.new("SpecialMesh",blade) |
588 | + | else |
589 | - | msh.Scale = vt(0.25,1.25*5,3*5) |
589 | + | puddle.Transparency = 0 |
590 | - | msh.MeshType = "Wedge" |
590 | + | |
591 | - | local weld1a = Instance.new("Weld") |
591 | + | |
592 | - | weld1a.Parent = blade |
592 | + | |
593 | - | weld1a.Part0 = rarm |
593 | + | |
594 | - | weld1a.Part1 = blade |
594 | + | |
595 | - | weld1a.C1 = CFrame.new(0, -3.05, 2.65)*CFrame.Angles(math.rad(60),math.rad(0),math.rad(0)) |
595 | + | |
596 | - | local bladeefo = Instance.new("ParticleEmitter",blade) |
596 | + | -- Nametag |
597 | - | bladeefo.Texture = "http://www.roblox.com/asset/?id=296874871" |
597 | + | local naeeym2 = Instance.new("BillboardGui",char) |
598 | - | bladeefo.LightEmission = 1 |
598 | + | naeeym2.AlwaysOnTop = true |
599 | - | bladeefo.LockedToPart = true |
599 | + | naeeym2.Size = UDim2.new(5,35,2,35) |
600 | - | bladeefo.Color = ColorSequence.new(BrickColor.new("Really red").Color) |
600 | + | naeeym2.StudsOffset = Vector3.new(0,1,0) |
601 | - | bladeefo.Rate = 900 |
601 | + | naeeym2.Adornee = head |
602 | - | bladeefo.VelocitySpread = 900000000000 |
602 | + | naeeym2.Name = "Name" |
603 | - | bladeefo.Lifetime = NumberRange.new(0.25) |
603 | + | naeeym2.PlayerToHideFrom = plr |
604 | - | bladeefo.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,1.25,0),NumberSequenceKeypoint.new(1,0,0)}) |
604 | + | local tecks2 = Instance.new("TextLabel",naeeym2) |
605 | - | bladeefo.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1,0),NumberSequenceKeypoint.new(1,0.85,0)}) |
605 | + | tecks2.BackgroundTransparency = 1 |
606 | - | bladeefo.Rotation = NumberRange.new(-500,500) |
606 | + | tecks2.TextScaled = true |
607 | - | bladeefo.RotSpeed = NumberRange.new(-500,500) |
607 | + | tecks2.BorderSizePixel = 0 |
608 | - | bladeefo.Speed = NumberRange.new(5,7.5) |
608 | + | tecks2.Text = "13" |
609 | tecks2.Font = "Antique" | |
610 | - | local bld2 = blade:Clone() |
610 | + | tecks2.TextSize = 30 |
611 | - | bld2.Parent = Character |
611 | + | tecks2.TextStrokeTransparency = 0 |
612 | - | local bld2eff = bld2.ParticleEmitter |
612 | + | tecks2.TextColor3 = Color3.new(0,0,0) |
613 | - | local weld2a = bld2.Weld |
613 | + | tecks2.TextStrokeColor3 = Color3.new(0.4,0.4,0.4) |
614 | - | weld2a.C1 = CFrame.new(0, -3.55, 3.15)*CFrame.Angles(math.rad(70),math.rad(0),math.rad(0)) |
614 | + | tecks2.Size = UDim2.new(1,0,0.5,0) |
615 | - | local bld3 = blade:Clone() |
615 | + | tecks2.Parent = naeeym2 |
616 | - | bld3.Parent = Character |
616 | + | |
617 | - | local bld3eff = bld3.ParticleEmitter |
617 | + | coroutine.wrap(function() |
618 | - | local weld3a = bld3.Weld |
618 | + | while true do |
619 | - | weld3a.C1 = CFrame.new(0, -4.05, 3.65)*CFrame.Angles(math.rad(80),math.rad(0),math.rad(0)) |
619 | + | swait(15) |
620 | - | local bld4 = blade:Clone() |
620 | + | hum.Health = hum.Health + 15 |
621 | - | bld4.Parent = Character |
621 | + | local name = M.RNG(1,40) |
622 | - | local bld4eff = bld4.ParticleEmitter |
622 | + | if(name == 1)then |
623 | - | local weld4a = bld4.Weld |
623 | + | tecks2.Text = "Th1rdt3EM" |
624 | - | weld4a.C1 = CFrame.new(0, -4.55, 4.15)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(0)) |
624 | + | elseif(name == 2)then |
625 | - | ----- lol |
625 | + | tecks2.Text = "Three" |
626 | - | handle.CanCollide = false |
626 | + | elseif(name == 3)then |
627 | - | handle2.CanCollide = false |
627 | + | tecks2.Text = "furdtean" |
628 | - | handle3.CanCollide = false |
628 | + | elseif(name > 3 and name <= 6)then |
629 | - | ---- |
629 | + | tecks2.Text = 'Astronaut' |
630 | else | |
631 | - | function attackone() |
631 | + | tecks2.Text = "13" |
632 | - | attack = true |
632 | + | |
633 | - | for i = 0,1,0.1 do |
633 | + | if(time()-GlitchTime < .5)then |
634 | tecks2.Text = tecks2.Text:gsub("",string.char(M.RNG(1,127))) | |
635 | - | RootJoint.C0 = clerp(RootJoint.C0,RootCF*cf(0,0,0)* angles(math.rad(0),math.rad(0),math.rad(90)),.3) |
635 | + | |
636 | - | Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(5),math.rad(0),math.rad(-90)),.3) |
636 | + | |
637 | - | RW.C0 = clerp(RW.C0, CFrame.new(1.45, 0.5, 0) * angles(math.rad(90), math.rad(90), math.rad(10)), 0.3) |
637 | + | end)() |
638 | - | LW.C0 = clerp(LW.C0, CFrame.new(-1.45, 0.5, 0) * angles(math.rad(120), math.rad(0), math.rad(-10)), 0.3) |
638 | + | |
639 | -- Animation Loop | |
640 | - | wait(0.15) |
640 | + | runService:BindToRenderStep("N_Animations",Enum.RenderPriority.Character.Value + 1,function() |
641 | - | local slas = Instance.new("Sound",blade) |
641 | + | sine=sine+change |
642 | - | slas.SoundId = "rbxassetid://92597296" |
642 | + | local GlitchEffect = M.RNG(1,500) |
643 | - | slas.Volume = 2.5 |
643 | + | hum.WalkSpeed = 8 |
644 | - | slas.Pitch = 0.74 |
644 | + | if(Music.TimePosition > 2.7 and Music.TimePosition < 2.75 or Music.TimePosition > 6.8 and Music.TimePosition < 6.9)then GlitchTime = time()+.45 elseif(Music.TimePosition > 7.6)then |
645 | - | slas:Play() |
645 | + | if(GlitchEffect == 1 and time()-GlitchTime >= .5)then |
646 | - | local slas2 = Instance.new("Sound",blade) |
646 | + | GlitchTime = time() |
647 | - | slas2.SoundId = "rbxassetid://92597369" |
647 | + | end |
648 | - | slas2.Volume = 1.5 |
648 | + | |
649 | - | slas2.Pitch = 0.5 |
649 | + | if(time()-GlitchTime < .5)then |
650 | - | slas2:Play() |
650 | + | Distorted.MidGain = -25 |
651 | - | local hit = blade.Touched:connect(function(hit) |
651 | + | Distorted.LowGain = 10 |
652 | - | Damagefunc(hit,3,7,5,"Normal",root,.2,1) |
652 | + | Distorted.HighGain = -25 |
653 | FT.Parent = torso | |
654 | - | local hit2 = bld2.Touched:connect(function(hit) |
654 | + | RA.Parent = rarm |
655 | - | Damagefunc(hit,3,7,5,"Normal",root,.2,1) |
655 | + | LA.Parent = larm |
656 | RL.Parent = rleg | |
657 | - | local hit3 = bld3.Touched:connect(function(hit) |
657 | + | LL.Parent = lleg |
658 | - | Damagefunc(hit,3,7,5,"Normal",root,.2,1) |
658 | + | for _,v in next, char:GetDescendants() do |
659 | if(v:IsA'DataModelMesh')then | |
660 | - | local hit4 = bld4.Touched:connect(function(hit) |
660 | + | v.Offset = V3.N(M.RNG(-200,200)/100,M.RNG(-200,200)/100,M.RNG(-200,200)/100) |
661 | - | Damagefunc(hit,3,7,5,"Normal",root,.2,1) |
661 | + | end |
662 | end | |
663 | - | for i = 0,1,0.1 do |
663 | + | else |
664 | Distorted.MidGain = 0 | |
665 | - | RootJoint.C0 = clerp(RootJoint.C0,RootCF*cf(0,0,0)* angles(math.rad(0),math.rad(0),math.rad(-50)),.3) |
665 | + | Distorted.LowGain = 0 |
666 | - | Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(5),math.rad(0),math.rad(50)),.3) |
666 | + | Distorted.HighGain = 0 |
667 | - | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -0.25) * angles(math.rad(180), math.rad(180), math.rad(-120)), 0.3) |
667 | + | FT.Parent = nil |
668 | - | LW.C0 = clerp(LW.C0, CFrame.new(-1.45, 0.5, 0) * angles(math.rad(-10), math.rad(0), math.rad(-10)), 0.3) |
668 | + | RA.Parent = nil |
669 | LA.Parent = nil | |
670 | - | attack = false |
670 | + | RL.Parent = nil |
671 | - | hit:disconnect() |
671 | + | LL.Parent = nil |
672 | - | hit2:disconnect() |
672 | + | for _,v in next, char:GetDescendants() do |
673 | - | hit3:disconnect() |
673 | + | if(v:IsA'DataModelMesh')then |
674 | - | hit4:disconnect() |
674 | + | v.Offset = V3.N(0,0,0) |
675 | - | wait(3) |
675 | + | end |
676 | - | slas:Destroy() |
676 | + | |
677 | - | slas2:Destroy() |
677 | + | |
678 | if(neutralAnims)then | |
679 | if(CheckState(root) == 'Idle')then | |
680 | - | function attacktwo() |
680 | + | -- Idle anim |
681 | - | attack = true |
681 | + | RJ.C0 = RJ.C0:lerp(CF.N(0,.2*M.S(time()*16),0)*CF.A(.2*M.S(time()*16),0,0),.2) |
682 | - | for i = 0,1,0.1 do |
682 | + | NK.C0 = NK.C0:lerp(HD*CF.A(-.2*M.S(time()*16),0,0),.2) |
683 | RH.C0 = RH.C0:lerp(RHD*CF.N(0,.2*-M.S(time()*16),.2*M.S(time()*16))*CF.A(-.2*M.S(time()*16),0,0),.2) | |
684 | - | RootJoint.C0 = clerp(RootJoint.C0,RootCF*cf(0,0,0)* angles(math.rad(0),math.rad(0),math.rad(-90)),.3) |
684 | + | LH.C0 = LH.C0:lerp(LHD*CF.N(0,.2*-M.S(time()*16),.2*M.S(time()*16))*CF.A(-.2*M.S(time()*16),0,0),.2) |
685 | - | Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(5),math.rad(0),math.rad(90)),.3) |
685 | + | RS.C0 = RS.C0:lerp(RSD*CF.A(0,0,.4*M.C(time()*16)),.2) |
686 | - | RW.C0 = clerp(RW.C0, CFrame.new(1.45, 0.5, 0) * angles(math.rad(90), math.rad(-90), math.rad(10)), 0.3) |
686 | + | LS.C0 = LS.C0:lerp(LSD*CF.A(0,0,.4*-M.C(time()*16)),.2) |
687 | - | LW.C0 = clerp(LW.C0, CFrame.new(-1.45, 0.5, 0) * angles(math.rad(120), math.rad(0), math.rad(-10)), 0.3) |
687 | + | elseif(CheckState(root) == 'Walk')then |
688 | -- Walk anim | |
689 | - | wait(0.15) |
689 | + | RH.C0 = RH.C0:lerp(RHD*CF.A(-M.R(35+45*M.C(time()*hum.WalkSpeed)),0,0)*CF.A(M.R(-25),0,0)*CF.N(0,-M.S(time()*hum.WalkSpeed/2)/2,0),.2) |
690 | - | local slas = Instance.new("Sound",blade) |
690 | + | LH.C0 = LH.C0:lerp(LHD*CF.A(M.R(35+45*M.C(time()*hum.WalkSpeed)),0,0)*CF.A(M.R(-25),0,0)*CF.N(0,-M.S(time()*hum.WalkSpeed/2)/2,0),.2) |
691 | - | slas.SoundId = "rbxassetid://28144425" |
691 | + | RS.C0 = RS.C0:lerp(RSD*CF.A(-M.R(35+45*M.C(time()*hum.WalkSpeed)),0,0)*CF.A(M.R(-25),0,0),.2) |
692 | - | slas.Volume = 2.5 |
692 | + | LS.C0 = LS.C0:lerp(LSD*CF.A(M.R(35+45*M.C(time()*hum.WalkSpeed)),0,0)*CF.A(M.R(-25),0,0),.2) |
693 | - | slas.Pitch = 0.95 |
693 | + | RJ.C0 = RJ.C0:lerp(CF.N(0,M.S(time()*hum.WalkSpeed/2)/2,0)*CF.A(M.R(25),0,0),.2) |
694 | - | slas:Play() |
694 | + | |
695 | - | local hit = blade.Touched:connect(function(hit) |
695 | + | |
696 | - | Damagefunc(hit,3,7,5,"Normal",root,.2,1) |
696 | + | |
697 | ||
698 | - | local hit2 = bld2.Touched:connect(function(hit) |
698 | + | -- Died event |
699 | - | Damagefunc(hit,3,7,5,"Normal",root,.2,1) |
699 | + | |
700 | hum.Died:connect(function() -- When the player dies | |
701 | - | local hit3 = bld3.Touched:connect(function(hit) |
701 | + | UnbindLoops() -- Unbind all of the loops used |
702 | - | Damagefunc(hit,3,7,5,"Normal",root,.2,1) |
702 | + | |
703 | ||
704 | - | local hit4 = bld4.Touched:connect(function(hit) |
704 | + | |
705 | - | Damagefunc(hit,3,7,5,"Normal",root,.2,1) |
705 | + | -- Everything else |
706 | ||
707 | - | for i = 0,1,0.1 do |
707 | + | function GetTorso(char) |
708 | return char:FindFirstChild'Torso' or char:FindFirstChild'UpperTorso' or char:FindFirstChild'LowerTorso' or char:FindFirstChild'HumanoidRootPart' | |
709 | - | RootJoint.C0 = clerp(RootJoint.C0,RootCF*cf(0,0,0)* angles(math.rad(0),math.rad(0),math.rad(90)),.3) |
709 | + | |
710 | - | Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(5),math.rad(0),math.rad(-90)),.3) |
710 | + | |
711 | - | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -0.25) * angles(math.rad(0), math.rad(-90), math.rad(-90)), 0.3) |
711 | + | function DealDamage(who,minDam,maxDam,Knock,Type) |
712 | - | LW.C0 = clerp(LW.C0, CFrame.new(-1.45, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(-10)), 0.3) |
712 | + | if(who)then |
713 | local hum = who:FindFirstChildOfClass'Humanoid' | |
714 | - | attack = false |
714 | + | local Damage = M.RNG(minDam,maxDam) |
715 | - | hit:disconnect() |
715 | + | local canHit = true |
716 | - | hit2:disconnect() |
716 | + | if(hum)then |
717 | - | hit3:disconnect() |
717 | + | for _, p in pairs(Hit) do |
718 | - | hit4:disconnect() |
718 | + | if p[1] == hum then |
719 | - | wait(3) |
719 | + | if(time() - p[2] < 0.1) then |
720 | - | slas:Destroy() |
720 | + | canHit = false |
721 | else | |
722 | Hit[_] = nil | |
723 | - | function attackthree() |
723 | + | end |
724 | - | attack = true |
724 | + | |
725 | - | local swin = Instance.new("Sound",blade) |
725 | + | end |
726 | - | swin.SoundId = "rbxassetid://92597296" |
726 | + | if(canHit)then |
727 | - | swin.Volume = 5 |
727 | + | if(hum.Health >= math.huge)then |
728 | - | swin.Pitch = 0.75 |
728 | + | who:BreakJoints() |
729 | - | swin:Play() |
729 | + | else |
730 | - | for i = 0,1,0.1 do |
730 | + | local player = S.Players:GetPlayerFromCharacter(who) |
731 | if(not player or not Teamed[player])then | |
732 | - | RootJoint.C0 = clerp(RootJoint.C0,RootCF*cf(0,0,0)* angles(math.rad(0),math.rad(0),math.rad(-90)),.3) |
732 | + | if(Type == "Fire")then |
733 | - | Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(5),math.rad(0),math.rad(90)),.3) |
733 | + | --idk.. |
734 | - | RW.C0 = clerp(RW.C0, CFrame.new(1.45, 0.5, 0) * angles(math.rad(90), math.rad(-90), math.rad(10)), 0.3) |
734 | + | else |
735 | - | LW.C0 = clerp(LW.C0, CFrame.new(-1.45, 0.5, 0) * angles(math.rad(120), math.rad(0), math.rad(-10)), 0.3) |
735 | + | local c = Instance.new("ObjectValue",hum) |
736 | c.Name = "creator" | |
737 | - | wait(0.15) |
737 | + | c.Value = plr |
738 | - | local hit = blade.Touched:connect(function(hit) |
738 | + | game:service'Debris':AddItem(c,0.35) |
739 | - | Damagefunc(hit,3,7,5,"Normal",root,.2,1) |
739 | + | hum.Health = hum.Health - Damage |
740 | if(Type == 'Knockback' and GetTorso(who))then | |
741 | - | local hit2 = bld2.Touched:connect(function(hit) |
741 | + | local angle = GetTorso(who).Position - root.Position + Vector3.new(0, 0, 0).unit |
742 | - | Damagefunc(hit,3,7,5,"Normal",root,.2,1) |
742 | + | local body = NewInstance('BodyVelocity',GetTorso(who),{ |
743 | P = 500, | |
744 | - | local hit3 = bld3.Touched:connect(function(hit) |
744 | + | maxForce = V3.N(math.huge,0,math.huge), |
745 | - | Damagefunc(hit,3,7,5,"Normal",root,.2,1) |
745 | + | velocity = root.CFrame.lookVector * Knock + root.Velocity / 1.05 |
746 | }) | |
747 | - | local hit4 = bld4.Touched:connect(function(hit) |
747 | + | game:service'Debris':AddItem(body,.5) |
748 | - | Damagefunc(hit,3,7,5,"Normal",root,.2,1) |
748 | + | elseif(Type == 'Knockdown' and GetTorso(who))then |
749 | local rek = GetTorso(who) | |
750 | - | for z = 0,2 do |
750 | + | print(rek) |
751 | - | local slas = Instance.new("Sound",blade) |
751 | + | hum.PlatformStand = true |
752 | - | slas.SoundId = "rbxassetid://92597369" |
752 | + | delay(1,function() |
753 | - | slas.Volume = 1.5 |
753 | + | hum.PlatformStand = false |
754 | - | slas.Pitch = 1 |
754 | + | end) |
755 | - | slas:Play() |
755 | + | local angle = (GetTorso(who).Position - (root.Position + Vector3.new(0, 0, 0))).unit |
756 | - | local swin2 = Instance.new("Sound",blade) |
756 | + | local bodvol = NewInstance("BodyVelocity",rek,{ |
757 | - | swin2.SoundId = "rbxassetid://92597296" |
757 | + | velocity = angle * Knock, |
758 | - | swin2.Volume = 5 |
758 | + | P = 5000, |
759 | - | swin2.Pitch = 1.25 |
759 | + | maxForce = Vector3.new(8e+003, 8e+003, 8e+003), |
760 | - | swin2:Play() |
760 | + | }) |
761 | - | local swin3 = Instance.new("Sound",blade) |
761 | + | local rl = NewInstance("BodyAngularVelocity",rek,{ |
762 | - | swin3.SoundId = "rbxassetid://92597296" |
762 | + | P = 3000, |
763 | - | swin3.Volume = 2.5 |
763 | + | maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000, |
764 | - | swin3.Pitch = 0.95 |
764 | + | angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)), |
765 | - | swin3:Play() |
765 | + | }) |
766 | - | for i = 0,1,0.5 do |
766 | + | game:GetService("Debris"):AddItem(bodvol, .5) |
767 | game:GetService("Debris"):AddItem(rl, .5) | |
768 | - | RootJoint.C0 = clerp(RootJoint.C0,RootCF*cf(0,0,0)* angles(math.rad(0),math.rad(0),math.rad(60)),.3) |
768 | + | end |
769 | - | Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(5),math.rad(0),math.rad(0)),.3) |
769 | + | end |
770 | - | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -0.25) * angles(math.rad(0), math.rad(-90), math.rad(-90)), 0.3) |
770 | + | end |
771 | - | LW.C0 = clerp(LW.C0, CFrame.new(-1.45, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(-10)), 0.3) |
771 | + | |
772 | table.insert(Hit,{hum,time()}) | |
773 | - | for i = 0,1,0.5 do |
773 | + | end |
774 | end | |
775 | - | RootJoint.C0 = clerp(RootJoint.C0,RootCF*cf(0,0,0)* angles(math.rad(0),math.rad(0),math.rad(120)),.3) |
775 | + | |
776 | - | Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(5),math.rad(0),math.rad(0)),.3) |
776 | + | |
777 | - | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -0.25) * angles(math.rad(0), math.rad(-90), math.rad(-90)), 0.3) |
777 | + | |
778 | - | LW.C0 = clerp(LW.C0, CFrame.new(-1.45, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(-10)), 0.3) |
778 | + | function MagniDamage(pos,radius,mindamage,maxdamage,knockback,damagetype) |
779 | - | end |
779 | + | local Recursive |
780 | - | for i = 0,1,0.5 do |
780 | + | Recursive = function(whom) |
781 | for _,c in next, whom:children() do | |
782 | - | RootJoint.C0 = clerp(RootJoint.C0,RootCF*cf(0,0,0)* angles(math.rad(0),math.rad(0),math.rad(180)),.3) |
782 | + | local hum = c:FindFirstChildOfClass'Humanoid' |
783 | - | Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(5),math.rad(0),math.rad(0)),.3) |
783 | + | local hed = c:FindFirstChild'Torso' or c:FindFirstChild'UpperTorso' or c:FindFirstChild'LowerTorso' |
784 | - | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -0.25) * angles(math.rad(0), math.rad(-90), math.rad(-90)), 0.3) |
784 | + | if(hum and hed)then |
785 | - | LW.C0 = clerp(LW.C0, CFrame.new(-1.45, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(-10)), 0.3) |
785 | + | local mag = (hed.CFrame.p - pos).magnitude |
786 | - | end |
786 | + | if(mag <= radius and c ~= char)then |
787 | - | for i = 0,1,0.5 do |
787 | + | DealDamage(c,mindamage,maxdamage,knockback,damagetype) |
788 | end | |
789 | - | RootJoint.C0 = clerp(RootJoint.C0,RootCF*cf(0,0,0)* angles(math.rad(0),math.rad(0),math.rad(240)),.3) |
789 | + | end |
790 | - | Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(5),math.rad(0),math.rad(0)),.3) |
790 | + | Recursive(c) |
791 | - | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -0.25) * angles(math.rad(0), math.rad(-90), math.rad(-90)), 0.3) |
791 | + | |
792 | - | LW.C0 = clerp(LW.C0, CFrame.new(-1.45, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(-10)), 0.3) |
792 | + | |
793 | - | end |
793 | + | Recursive(workspace) |
794 | - | for i = 0,1,0.5 do |
794 | + | |
795 | ||
796 | - | RootJoint.C0 = clerp(RootJoint.C0,RootCF*cf(0,0,0)* angles(math.rad(0),math.rad(0),math.rad(300)),.3) |
796 | + | function MagniHeal(pos,radius,heal,needsTeamed) |
797 | - | Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(5),math.rad(0),math.rad(0)),.3) |
797 | + | for _,v in next, workspace:GetDescendants() do |
798 | - | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -0.25) * angles(math.rad(0), math.rad(-90), math.rad(-90)), 0.3) |
798 | + | local player = S.Players:GetPlayerFromCharacter(v) |
799 | - | LW.C0 = clerp(LW.C0, CFrame.new(-1.45, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(-10)), 0.3) |
799 | + | local hum = v:FindFirstChildOfClass'Humanoid' |
800 | - | end |
800 | + | if(hum and v:IsA'Model')then |
801 | - | for i = 0,1,0.5 do |
801 | + | if(not needsTeamed or player and (not plr.Neutral and player.TeamColor == plr.TeamColor))then |
802 | local pp = v.PrimaryPart or v:FindFirstChild'Torso' or v:FindFirstChild'UpperTorso' or v:FindFirstChild'LowerTorso' | |
803 | - | RootJoint.C0 = clerp(RootJoint.C0,RootCF*cf(0,0,0)* angles(math.rad(0),math.rad(0),math.rad(360)),.3) |
803 | + | if(pp and (pp.CFrame.p-pos).magnitude <= radius)then |
804 | - | Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(5),math.rad(0),math.rad(0)),.3) |
804 | + | hum.Health = hum.Health + heal |
805 | - | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -0.25) * angles(math.rad(0), math.rad(-90), math.rad(-90)), 0.3) |
805 | + | |
806 | - | LW.C0 = clerp(LW.C0, CFrame.new(-1.45, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(-10)), 0.3) |
806 | + | end |
807 | - | end |
807 | + | |
808 | - | slas:Destroy() |
808 | + | end |
809 | - | swin2:Destroy() |
809 | + | |
810 | - | swin3:Destroy() |
810 | + | |
811 | --[[ | |
812 | - | attack = false |
812 | + | for _,v in next, workspace:GetDescendants() do |
813 | - | hit:disconnect() |
813 | + | if(v ~= char and v:FindFirstChildOfClass'Humanoid' and GetTorso(v) and plr:DistanceFromCharacter(GetTorso(v).CFrame.p) < 15)then |
814 | - | hit2:disconnect() |
814 | + | for _,c in next, v:children() do |
815 | - | hit3:disconnect() |
815 | + | coroutine.wrap(function() |
816 | - | hit4:disconnect() |
816 | + | if(c:IsA'BasePart')then |
817 | - | wait(3) |
817 | + | local a = halfit(c) |
818 | a.Anchored = false | |
819 | c.Anchored = false | |
820 | - | function attackfour() |
820 | + | local bodpos = Instance.new("BodyPosition",a) |
821 | - | attack = true |
821 | + | bodpos.D = 1e4 |
822 | - | for i = 0,1,0.1 do |
822 | + | bodpos.Position = a.Position + V3.N(M.RNG(-100,100),M.RNG(100,200),M.RNG(-100,100)) |
823 | local bodpos = Instance.new("BodyPosition",c) | |
824 | - | RootJoint.C0 = clerp(RootJoint.C0,RootCF*cf(0,0,0)* angles(math.rad(0),math.rad(0),math.rad(-100)),.3) |
824 | + | bodpos.D = 1e4 |
825 | - | Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(5),math.rad(0),math.rad(100)),.3) |
825 | + | bodpos.Position = c.Position + V3.N(M.RNG(-100,100),M.RNG(100,200),M.RNG(-100,100)) |
826 | - | RW.C0 = clerp(RW.C0, CFrame.new(1.45, 0.5, 0) * angles(math.rad(30), math.rad(-40), math.rad(10)), 0.3) |
826 | + | end |
827 | - | LW.C0 = clerp(LW.C0, CFrame.new(-1.45, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(50)), 0.3) |
827 | + | end)() |
828 | - | end |
828 | + | end |
829 | - | wait(0.05) |
829 | + | |
830 | - | local swin = Instance.new("Sound",blade) |
830 | + | |
831 | - | swin.SoundId = "rbxassetid://92597296" |
831 | + | ]] |
832 | - | swin.Volume = 2.5 |
832 | + | function SpaceExplode(pos) |
833 | - | swin.Pitch = 0.75 |
833 | + | local explode = NewInstance("Explosion",workspace,{Visible=false,DestroyJointRadiusPercent = 0,Position=pos,BlastPressure=10000,ExplosionType=Enum.ExplosionType.CratersAndDebris,BlastRadius=30}) |
834 | - | swin:Play() |
834 | + | local explodeP = NewInstance("Part",workspace,{Anchored=true,CanCollide=false,CFrame=CF.N(pos),Transparency=1}) |
835 | - | for i = 0,1,0.1 do |
835 | + | local particles = NewInstance("ParticleEmitter",explodeP,{Enabled=false,Texture='rbxasset://textures/particles/sparkles_main.dds',Size=NumberSequence.new(3),LightInfluence=.5,Lifetime=NumberRange.new(1),Rate=250,RotSpeed=NumberRange.new(25),SpreadAngle=Vector2.new(360,360),Color=ColorSequence.new(Color3.new(0,0,0),Color3.new(.3,.3,.3)),Transparency=NumberSequence.new(0,1),Speed=NumberRange.new(50)}) |
836 | particles:Emit(2500) | |
837 | - | RootJoint.C0 = clerp(RootJoint.C0,RootCF*cf(0,0,0)* angles(math.rad(0),math.rad(0),math.rad(-90)),.3) |
837 | + | explode.Hit:connect(function(t,d) |
838 | - | Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(5),math.rad(0),math.rad(90)),.3) |
838 | + | if(d <= explode.BlastRadius and t ~= explodeP and not char:IsAncestorOf(t))then |
839 | - | RW.C0 = clerp(RW.C0, CFrame.new(1.45, 0.5, 0) * angles(math.rad(30), math.rad(-40), math.rad(10)), 0.3) |
839 | + | local a = Fragment2(t) |
840 | - | LW.C0 = clerp(LW.C0, CFrame.new(-1.45, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(-90)), 0.3) |
840 | + | t.Anchored = false |
841 | - | end |
841 | + | local bodpos = Instance.new("BodyPosition",t) |
842 | - | local lb = Instance.new("Part") |
842 | + | bodpos.D = 1e4 |
843 | - | lb.Parent = char |
843 | + | bodpos.Position = t.Position + V3.N(M.RNG(-100,100),M.RNG(100,200),M.RNG(-100,100)) |
844 | - | lb.Material = "Neon" |
844 | + | for _,a in next, a:children() do |
845 | - | lb.BrickColor = BrickColor.new("Really red") |
845 | + | a.Anchored = false |
846 | - | lb.CanCollide = false |
846 | + | local bodpos = Instance.new("BodyPosition",a) |
847 | - | lb.Shape = "Ball" |
847 | + | bodpos.D = 1e4 |
848 | - | lb.CFrame = char.Head.CFrame + char.Head.CFrame.lookVector*5 |
848 | + | bodpos.Position = a.Position + V3.N(M.RNG(-100,100),M.RNG(100,200),M.RNG(-100,100)) |
849 | - | lb.CFrame = lb.CFrame - vt(0,0.5,0) |
849 | + | end |
850 | - | lb.Anchored = true |
850 | + | |
851 | - | lb.Size = vt(3,3,3) |
851 | + | end) |
852 | - | local thing = Instance.new("SpecialMesh",lb) |
852 | + | delay(1, function() |
853 | - | thing.MeshType = meshtype |
853 | + | explodeP:destroy() |
854 | - | local hitcircle = lb.Touched:connect(function(hit) |
854 | + | end) |
855 | - | Damagefunc(hit,7,14,5,"Normal",root,.2,1) |
855 | + | |
856 | ||
857 | - | local sa = Instance.new("Sound",lb) |
857 | + | function Explode(pos) |
858 | - | sa.SoundId = "rbxassetid://233091205" |
858 | + | local explode = NewInstance("Explosion",workspace,{Visible=false,DestroyJointRadiusPercent = 0,Position=pos,BlastPressure=10000,ExplosionType=Enum.ExplosionType.CratersAndDebris,BlastRadius=30}) |
859 | - | sa.Volume = 1.25 |
859 | + | local explodeP = NewInstance("Part",workspace,{Anchored=true,CanCollide=false,CFrame=CF.N(pos),Transparency=1}) |
860 | - | sa.Pitch = 1 |
860 | + | local particles = NewInstance("ParticleEmitter",explodeP,{Enabled=false,Texture='rbxasset://textures/particles/sparkles_main.dds',Size=NumberSequence.new(3),LightInfluence=.5,Lifetime=NumberRange.new(1),Rate=250,RotSpeed=NumberRange.new(25),SpreadAngle=Vector2.new(360,360),Color=ColorSequence.new(Color3.new(0,0,0),Color3.new(.3,.3,.3)),Transparency=NumberSequence.new(0,1),Speed=NumberRange.new(50)}) |
861 | - | sa:Play() |
861 | + | particles:Emit(2500) |
862 | - | local tra = Instance.new("ParticleEmitter",lb) |
862 | + | explode.Hit:connect(function(t,d) |
863 | - | tra.Texture = "rbxassetid://296874871" |
863 | + | if(d <= explode.BlastRadius and t ~= explodeP and not char:IsAncestorOf(t))then |
864 | - | tra.LightEmission = 0.95 |
864 | + | t:BreakJoints() |
865 | - | tra.Color = ColorSequence.new(lb.BrickColor.Color) |
865 | + | |
866 | - | tra.Rate = 1000 |
866 | + | end) |
867 | - | tra.Lifetime = NumberRange.new(1) |
867 | + | delay(1, function() |
868 | - | tra.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,5,0),NumberSequenceKeypoint.new(1,0,0)}) |
868 | + | explodeP:destroy() |
869 | - | tra.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(1,1,0)}) |
869 | + | end) |
870 | - | tra.Speed = NumberRange.new(10,25) |
870 | + | |
871 | - | tra.Rotation = NumberRange.new(-500,500) |
871 | + | function FragmentedSmash() |
872 | - | tra.VelocitySpread = 90000 |
872 | + | Attack = true |
873 | - | tra.RotSpeed = NumberRange.new(-500,500) |
873 | + | neutralAnims = false |
874 | - | for i = 0, 24 do |
874 | + | for i = 0, 1, 0.1 do |
875 | - | wait() |
875 | + | |
876 | - | thing.Scale = thing.Scale + vt(0.1,0.1,0.1) |
876 | + | RJ.C0 = clerp(RJ.C0,CFrame.new(0.0124750687, 0.0806899369, 0.797527909, 0.999973536, 0.00707971025, -0.00174606312, -0.00709000183, 0.888056755, -0.459679216, -0.00170379225, 0.459679425, 0.888083458),0.3) |
877 | - | lb.Size = lb.Size + vt(0.1,0.1,0.1) |
877 | + | LH.C0 = clerp(LH.C0,CFrame.new(-0.992911518, -2.19722176, 0.263476431, 0.999878228, -0.00709000183, 0.0139080146, -9.7673139e-05, 0.888056755, 0.459733874, -0.0156106194, -0.459679216, 0.887947857),0.3) |
878 | - | lb.Transparency = lb.Transparency + 0.05 |
878 | + | RH.C0 = clerp(RH.C0,CFrame.new(1.00195694, -2.19321394, 0.240732491, 0.999878228, -0.00709000183, 0.0139080146, -9.7673139e-05, 0.888056755, 0.459733874, -0.0156106194, -0.459679216, 0.887947857),0.3) |
879 | - | lb.CFrame = char.Head.CFrame + char.Head.CFrame.lookVector*5 |
879 | + | LS.C0 = clerp(LS.C0,CFrame.new(-2.9985857, 1.23600769, 0.359443754, 0.999878228, -0.00421095407, -0.0150323557, -9.77925229e-05, -0.964603186, 0.26370576, -0.0156107098, -0.263672143, -0.964486003),0.3) |
880 | - | lb.CFrame = lb.CFrame - vt(0,0.5,0) |
880 | + | RS.C0 = clerp(RS.C0,CFrame.new(3.00798082, 1.02948105, 0.236942679, 0.999878228, -0.00421202509, -0.0150319505, -9.76680021e-05, -0.964581847, 0.263783902, -0.0156106092, -0.263750285, -0.964464784),0.3) |
881 | NK.C0 = clerp(NK.C0,CFrame.new(-4.57763526e-05, 2.99385953, -0.167541847, 1.00000012, 0, 9.31322575e-10, 0, 0.997965097, 0.0637644231, 9.31322575e-10, -0.0637643933, 0.997965038),0.3) | |
882 | - | attack = false |
882 | + | |
883 | - | hitcircle:disconnect() |
883 | + | wait(.25) |
884 | - | tra.Rate = 0 |
884 | + | for i = 0, 1, 0.1 do |
885 | - | wait(5) |
885 | + | |
886 | - | lb:Destroy() |
886 | + | RJ.C0 = clerp(RJ.C0,CFrame.new(-0.0162220523, -3.28057575, -1.04076338, 0.999646187, -0.0140592707, -0.0225835219, 0.0139190033, -0.447028011, 0.894411683, -0.0226702448, -0.894409537, -0.446674198),0.3) |
887 | - | swin:Destroy() |
887 | + | LH.C0 = clerp(LH.C0,CFrame.new(-0.995434463, -2.54280162, 0.103460789, 0.999878228, -0.0153137166, 0.00301438384, -9.40344544e-05, 0.187221676, 0.982317746, -0.0156072918, -0.982198358, 0.187197477),0.3) |
888 | RH.C0 = clerp(RH.C0,CFrame.new(0.999332726, -2.53378367, 0.0742077827, 0.999878228, -0.0153137166, 0.00301438384, -9.40344544e-05, 0.187221676, 0.982317746, -0.0156072918, -0.982198358, 0.187197477),0.3) | |
889 | LS.C0 = clerp(LS.C0,CFrame.new(-3.00734401, 1.78636146, -0.204609811, 0.999878228, 0.0048848032, -0.0148234647, -9.40344544e-05, -0.947858274, -0.318692297, -0.0156072918, 0.318654835, -0.947742343),0.3) | |
890 | - | local hold = false |
890 | + | RS.C0 = clerp(RS.C0,CFrame.new(3.00109315, 1.59880495, -0.207441658, 0.999878228, 0.00488352403, -0.0148238856, -9.40344544e-05, -0.947885811, -0.318610489, -0.0156072918, 0.318573087, -0.94776988),0.3) |
891 | - | function do1() |
891 | + | NK.C0 = clerp(NK.C0,CFrame.new(-6.10337302e-05, 2.99385333, -0.167541668, 1, 4.65661287e-10, 1.16415322e-09, 0, 0.997965038, 0.0637648106, 4.65661287e-10, -0.0637647808, 0.997964978),0.3) |
892 | - | attack = true |
892 | + | |
893 | - | for i = 0,1,0.1 do |
893 | + | SpaceExplode(torso.CFrame.p) |
894 | ||
895 | - | RootJoint.C0 = clerp(RootJoint.C0,RootCF*cf(0,0,0)* angles(math.rad(0),math.rad(0),math.rad(-90)),.3) |
895 | + | neutralAnims = true |
896 | - | Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(5),math.rad(0),math.rad(90)),.3) |
896 | + | Attack = false |
897 | - | RW.C0 = clerp(RW.C0, CFrame.new(1.45, 0.5, 0) * angles(math.rad(30), math.rad(-40), math.rad(10)), 0.3) |
897 | + | |
898 | - | LW.C0 = clerp(LW.C0, CFrame.new(-1.45, 0.5, 0) * angles(math.rad(90), math.rad(-10), math.rad(-90)), 0.3) |
898 | + | function Boom() |
899 | - | end |
899 | + | neutralAnims = false |
900 | - | local lb = Instance.new("Part") |
900 | + | Attack = true |
901 | - | lb.Parent = char |
901 | + | for i = 0, 1, 0.1 do |
902 | - | lb.Material = "Neon" |
902 | + | |
903 | - | lb.BrickColor = BrickColor.new("Really red") |
903 | + | RJ.C0 = clerp(RJ.C0,CFrame.new(-0.0267966501, 0.00628957665, 0.118403517, 0.888822019, -0.00288028526, -0.458243728, 1.83618964e-09, 0.99998033, -0.00628535915, 0.458252817, 0.00558656547, 0.888804436),0.3) |
904 | - | lb.CanCollide = false |
904 | + | LH.C0 = clerp(LH.C0,CFrame.new(-1.13602376, -1.9913373, -0.0583203211, 0.881559432, 1.97843608e-09, 0.472073227, -0.00296715181, 0.99998033, 0.00554091716, -0.472063869, -0.00628535915, 0.881541908),0.3) |
905 | - | lb.Shape = "Ball" |
905 | + | RH.C0 = clerp(RH.C0,CFrame.new(1.13044202, -1.99142766, -0.0518710092, 0.881559432, 1.97843608e-09, 0.472073227, -0.00296715181, 0.99998033, 0.00554091716, -0.472063869, -0.00628535915, 0.881541908),0.3) |
906 | - | lb.CFrame = char.Head.CFrame + char.Head.CFrame.lookVector*5 |
906 | + | LS.C0 = clerp(LS.C0,CFrame.new(-2.87729907, 0.999060631, 0.0152502041, 0.991834939, 0.126569927, 0.0156156719, -0.126680851, 0.991923511, 0.00632756483, -0.0146886408, -0.00825411081, 0.999858022),0.3) |
907 | - | lb.Anchored = true |
907 | + | RS.C0 = clerp(RS.C0,CFrame.new(2.85624766, 0.825717211, -0.0160068981, -0.879796147, -0.475095063, 0.0156087577, 0.47522983, -0.879839301, 0.00628530141, 0.0107470751, 0.0129475296, 0.999858439),0.3) |
908 | - | lb.Size = vt(0.2,0.2,0.2) |
908 | + | NK.C0 = clerp(NK.C0,CFrame.new(-0.0986121893, 2.99323964, -0.268526018, 0.888822138, -0.026346216, 0.457494676, -0.00288064196, 0.998005033, 0.0630696788, -0.458243549, -0.0573755801, 0.886972964),0.3) |
909 | - | local thing = Instance.new("SpecialMesh",lb) |
909 | + | |
910 | - | thing.MeshType = meshtype |
910 | + | wait(.5) |
911 | - | local tra = Instance.new("ParticleEmitter",lb) |
911 | + | for i = 0, .65, 0.1 do |
912 | - | tra.Texture = "rbxassetid://296874871" |
912 | + | |
913 | - | tra.LightEmission = 0.95 |
913 | + | RJ.C0 = clerp(RJ.C0,CFrame.new(-0.0267966501, 0.00628957665, 0.118403517, 0.888822019, -0.00288028526, -0.458243728, 1.83618964e-09, 0.99998033, -0.00628535915, 0.458252817, 0.00558656547, 0.888804436),0.3) |
914 | - | tra.Color = ColorSequence.new(lb.BrickColor.Color) |
914 | + | LH.C0 = clerp(LH.C0,CFrame.new(-1.13602376, -1.9913373, -0.0583203211, 0.881559432, 1.97843608e-09, 0.472073227, -0.00296715181, 0.99998033, 0.00554091716, -0.472063869, -0.00628535915, 0.881541908),0.3) |
915 | - | tra.Rate = 1000 |
915 | + | RH.C0 = clerp(RH.C0,CFrame.new(1.13044202, -1.99142766, -0.0518710092, 0.881559432, 1.97843608e-09, 0.472073227, -0.00296715181, 0.99998033, 0.00554091716, -0.472063869, -0.00628535915, 0.881541908),0.3) |
916 | - | tra.Lifetime = NumberRange.new(0.25) |
916 | + | LS.C0 = clerp(LS.C0,CFrame.new(-2.87729907, 0.999060631, 0.0152502041, 0.991834939, 0.126569927, 0.0156156719, -0.126680851, 0.991923511, 0.00632756483, -0.0146886408, -0.00825411081, 0.999858022),0.3) |
917 | - | tra.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,12.5,0),NumberSequenceKeypoint.new(1,0,0)}) |
917 | + | RS.C0 = clerp(RS.C0,CFrame.new(2.64173985, 0.428497076, -0.0101612248, -0.879796147, -0.475095063, 0.0156087577, 0.47522983, -0.879839301, 0.00628530141, 0.0107470751, 0.0129475296, 0.999858439),0.3) |
918 | - | tra.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1,0),NumberSequenceKeypoint.new(1,0.95,0)}) |
918 | + | NK.C0 = clerp(NK.C0,CFrame.new(-0.0986121893, 2.99323964, -0.268526018, 0.888822138, -0.026346216, 0.457494676, -0.00288064196, 0.998005033, 0.0630696788, -0.458243549, -0.0573755801, 0.886972964),0.3) |
919 | - | tra.Speed = NumberRange.new(0) |
919 | + | |
920 | - | tra.Rotation = NumberRange.new(-500,500) |
920 | + | --BlockFX(duration,color,scale,pos,endScale) |
921 | - | tra.VelocitySpread = 90000 |
921 | + | local p = mouse.Hit.p |
922 | - | tra.LockedToPart = true |
922 | + | local start = time() |
923 | - | tra.RotSpeed = NumberRange.new(-500,500) |
923 | + | delay(0, function() |
924 | - | local saz = Instance.new("Sound",lb) |
924 | + | repeat wait() BlockFX(15,BrickColor.new'Black',V3.N(3,3,3),CF.N(p),V3.N(4,4,4)) until time()-start > 1.25 |
925 | - | saz.SoundId = "rbxassetid://192410062" |
925 | + | Explode(p) |
926 | - | saz.Volume = 1.5 |
926 | + | end) |
927 | - | saz.Pitch = 1 |
927 | + | BlockFX(45,BrickColor.new'Black',V3.N(3,3,3),rarm.CFrame*CF.N(0,-rarm.Size.Y/2,0),V3.N(9,9,9)) |
928 | - | saz:Play() |
928 | + | for i = 0, .65, 0.1 do |
929 | - | for i = 0, 24 do |
929 | + | |
930 | - | wait() |
930 | + | RJ.C0 = clerp(RJ.C0,CFrame.new(-0.0267966501, 0.00628957665, 0.118403517, 0.888822019, -0.00288028526, -0.458243728, 1.83618964e-09, 0.99998033, -0.00628535915, 0.458252817, 0.00558656547, 0.888804436),0.3) |
931 | - | lb.Size = lb.Size + vt(0.15,0.15,0.15) |
931 | + | LH.C0 = clerp(LH.C0,CFrame.new(-1.13602376, -1.9913373, -0.0583203211, 0.881559432, 1.97843608e-09, 0.472073227, -0.00296715181, 0.99998033, 0.00554091716, -0.472063869, -0.00628535915, 0.881541908),0.3) |
932 | - | lb.CFrame = char.Head.CFrame + char.Head.CFrame.lookVector*5 |
932 | + | RH.C0 = clerp(RH.C0,CFrame.new(1.13044202, -1.99142766, -0.0518710092, 0.881559432, 1.97843608e-09, 0.472073227, -0.00296715181, 0.99998033, 0.00554091716, -0.472063869, -0.00628535915, 0.881541908),0.3) |
933 | LS.C0 = clerp(LS.C0,CFrame.new(-2.87729907, 0.999060631, 0.0152502041, 0.991834939, 0.126569927, 0.0156156719, -0.126680851, 0.991923511, 0.00632756483, -0.0146886408, -0.00825411081, 0.999858022),0.3) | |
934 | - | while wait() do |
934 | + | RS.C0 = clerp(RS.C0,CFrame.new(2.85624766, 0.825717211, -0.0160068981, -0.879796147, -0.475095063, 0.0156087577, 0.47522983, -0.879839301, 0.00628530141, 0.0107470751, 0.0129475296, 0.999858439),0.3) |
935 | - | lb.CFrame = char.Head.CFrame + char.Head.CFrame.lookVector*5 |
935 | + | NK.C0 = clerp(NK.C0,CFrame.new(-0.0986121893, 2.99323964, -0.268526018, 0.888822138, -0.026346216, 0.457494676, -0.00288064196, 0.998005033, 0.0630696788, -0.458243549, -0.0573755801, 0.886972964),0.3) |
936 | - | if hold == false then |
936 | + | |
937 | - | break |
937 | + | wait(.25) |
938 | neutralAnims = true | |
939 | Attack = false | |
940 | - | lb.Touched:connect(function(hit) |
940 | + | |
941 | - | Damagefunc(hit,10,25,5,"Normal",root,.2,1) |
941 | + | function Meteor() |
942 | neutralAnims = false | |
943 | - | tra.Rate = 0 |
943 | + | Attack = true |
944 | - | lb.Anchored = false |
944 | + | for i = 0, 1, 0.1 do |
945 | - | local sa = Instance.new("Sound",lb) |
945 | + | |
946 | - | sa.SoundId = "rbxassetid://233091205" |
946 | + | RJ.C0 = clerp(RJ.C0,CFrame.new(-0.0223131552, -2.04613924, -1.43031895, 0.999952257, -0.00929827243, -0.00299749151, 0.00927900057, 0.807942808, 0.589187801, -0.0030566277, -0.589187562, 0.80799067),0.3) |
947 | - | sa.Volume = 1.25 |
947 | + | LH.C0 = clerp(LH.C0,CFrame.new(-1.0033766, 0.39615345, -0.423063278, 0.999878109, 0.00927900057, 0.0125550134, -9.8735909e-05, 0.807942808, -0.589260876, -0.0156114856, 0.589187801, 0.807845294),0.3) |
948 | - | sa.Pitch = 1 |
948 | + | RH.C0 = clerp(RH.C0,CFrame.new(0.960870802, -1.8572216, -2.39271688, 0.999878109, -0.0101528121, 0.0118595241, -9.87424937e-05, 0.75552392, 0.655120969, -0.0156114763, -0.655042291, 0.755430818),0.3) |
949 | - | sa:Play() |
949 | + | LS.C0 = clerp(LS.C0,CFrame.new(-3.0046792, 0.857568204, -0.0285525322, 0.999878109, -0.0146704866, -0.00533898873, -9.87424937e-05, -0.347920358, 0.93752414, -0.0156114763, -0.937409401, -0.347879499),0.3) |
950 | - | local trail = Instance.new("ParticleEmitter",lb) |
950 | + | RS.C0 = clerp(RS.C0,CFrame.new(3.00213504, 0.943184912, -0.13698405, 0.999878109, -0.0146704866, -0.00533898873, -9.87424937e-05, -0.347920358, 0.93752414, -0.0156114763, -0.937409401, -0.347879499),0.3) |
951 | - | trail.Texture = "rbxassetid://296874871" |
951 | + | NK.C0 = clerp(NK.C0,CFrame.new(-2.44036382e-05, 2.99386311, -0.167564437, 1, 2.0461157e-06, -8.96863639e-07, -1.98557973e-06, 0.99796474, 0.0637678504, 1.02538615e-06, -0.0637679994, 0.99796468),0.3) |
952 | - | trail.LightEmission = 0.95 |
952 | + | |
953 | - | trail.Color = ColorSequence.new(lb.BrickColor.Color) |
953 | + | wait(.25) |
954 | - | trail.Rate = 10000 |
954 | + | for i = 0, 1, 0.1 do |
955 | - | trail.Lifetime = NumberRange.new(1.5) |
955 | + | |
956 | - | trail.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,5,0),NumberSequenceKeypoint.new(1,0,0)}) |
956 | + | RJ.C0 = clerp(RJ.C0,CFrame.new(-0.051363945, -3.60286617, -3.29043484, 0.999872804, -0.0137674687, -0.00806680601, 0.0137160039, 0.483212173, 0.875395894, -0.00815400854, -0.875395119, 0.483339548),0.3) |
957 | - | trail.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.95,0),NumberSequenceKeypoint.new(1,1,0)}) |
957 | + | LH.C0 = clerp(LH.C0,CFrame.new(-0.996045709, -1.73839223, 0.0600171089, 0.999878228, 0.00310409069, 0.0153003354, -9.91220222e-05, 0.981277168, -0.192601174, -0.0156117193, 0.19257623, 0.981157899),0.3) |
958 | - | trail.Speed = NumberRange.new(0,0) |
958 | + | RH.C0 = clerp(RH.C0,CFrame.new(0.987435639, -1.55498588, -0.69317311, 0.999878228, -0.00418921839, 0.015039484, -9.91220222e-05, 0.961603463, 0.274442703, -0.0156117193, -0.274410754, 0.961485863),0.3) |
959 | - | trail.Rotation = NumberRange.new(-500,500) |
959 | + | LS.C0 = clerp(LS.C0,CFrame.new(-3.0160594, 1.11446631, -0.759037852, 0.999878228, 0.0153746856, -0.00271196151, -9.91220222e-05, -0.167454362, -0.985879958, -0.0156117193, 0.985760093, -0.167432487),0.3) |
960 | - | trail.RotSpeed = NumberRange.new(-500,500) |
960 | + | RS.C0 = clerp(RS.C0,CFrame.new(2.99049282, 1.03188896, -0.883246303, 0.999878228, 0.0153746856, -0.00271196151, -9.91220222e-05, -0.167454362, -0.985879958, -0.0156117193, 0.985760093, -0.167432487),0.3) |
961 | - | local bv = Instance.new("BodyVelocity") |
961 | + | NK.C0 = clerp(NK.C0,CFrame.new(-2.51147103e-05, 2.99386525, -0.167563885, 1.00000024, 1.80862844e-06, -8.5355714e-07, -1.75042078e-06, 0.997964859, 0.063767463, 9.66712832e-07, -0.063767463, 0.997964919),0.3) |
962 | - | bv.maxForce = Vector3.new(1e9, 1e9, 1e9) |
962 | + | |
963 | - | bv.velocity = mouse.Hit.lookVector *100 |
963 | + | local meteor = NewInstance("Part",char,{BrickColor=BrickColor.new'Dark stone grey',Material=Enum.Material.Granite,Size=V3.N(5,5,5),CanCollide=false,CFrame = CF.N(mouse.Hit.p)*CF.N(0,200,0)}) |
964 | - | bv.Parent = lb |
964 | + | Instance.new("SpecialMesh",meteor).MeshType = Enum.MeshType.Sphere |
965 | - | wait(0.1) |
965 | + | meteor.Touched:connect(function(touch) |
966 | - | attack = false |
966 | + | if(not touch:IsA'Terrain' and touch.CanCollide and touch.Transparency < .9 and not touch:IsDescendantOf(char))then |
967 | - | wait(10) |
967 | + | meteor:Destroy() |
968 | - | lb:Destroy() |
968 | + | Explode(meteor.CFrame.p) |
969 | end | |
970 | ||
971 | - | function do2() |
971 | + | end) |
972 | - | attack = true |
972 | + | wait(.25) |
973 | - | for i = 0,1,0.1 do |
973 | + | neutralAnims = true |
974 | Attack = false | |
975 | - | RootJoint.C0 = clerp(RootJoint.C0,RootCF*cf(0,0,0)* angles(math.rad(0),math.rad(0),math.rad(90)),.3) |
975 | + | |
976 | - | Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(0),math.rad(0),math.rad(-90)),.3) |
976 | + | |
977 | - | RW.C0 = clerp(RW.C0, CFrame.new(1.45, 0.5, 0) * angles(math.rad(90), math.rad(60), math.rad(90)), 0.3) |
977 | + | |
978 | - | LW.C0 = clerp(LW.C0, CFrame.new(-1.45, 0.5, 0) * angles(math.rad(20), math.rad(0), math.rad(-10)), 0.3) |
978 | + | mouse.KeyDown:connect(function(k) |
979 | if(Attack)then return end | |
980 | - | local touched = false |
980 | + | if(k == 'z')then |
981 | - | local over = false |
981 | + | Meteor() |
982 | - | local delay = false |
982 | + | elseif(k == 'x')then |
983 | - | local spart = Instance.new("Part",char) |
983 | + | Boom() |
984 | - | local thing = Instance.new("SpecialMesh",spart) |
984 | + | elseif(k == 'c')then |
985 | - | thing.MeshType = meshtype |
985 | + | FragmentedSmash() |
986 | - | spart.Size = vt(1,1,1) |
986 | + | elseif(k == 'v')then |
987 | - | spart.Anchored = true |
987 | + | SpaceExplode(mouse.Hit.p) |
988 | - | spart.BrickColor = BrickColor.new("Really red") |
988 | + | elseif(k == 'm')then |
989 | - | spart.Transparency = 0.5 |
989 | + | Music.Playing = not Music.Playing |
990 | - | spart.CanCollide = false |
990 | + | |
991 | - | spart.Material = "Neon" |
991 | + | |
992 | - | spart.CFrame = hed.CFrame + Vector3.new(0,-1,0) |
992 | + | |
993 | - | local pt1e = NumberSequenceKeypoint.new(0,2,0) |
993 | + | hum.Died:connect(function() |
994 | - | local pt2e = NumberSequenceKeypoint.new(1,0.5,0) |
994 | + | SpaceExplode(torso.CFrame.p) |
995 | - | local effecto = Instance.new("ParticleEmitter",spart) |
995 | + | |
996 | - | effecto.Texture = "rbxassetid://296874871" |
996 | + | |
997 | - | effecto.LightEmission = 1 |
997 | + | runService.RenderStepped:connect(function() |
998 | - | effecto.LockedToPart = true |
998 | + | if(not Attack and combo ~= 1 and time()-lastClick > 0.4)then |
999 | - | effecto.Color = ColorSequence.new(BrickColor.new("Really red").Color) |
999 | + | combo = 1 |
1000 | - | effecto.Rate = 10000 |
1000 | + | |
1001 | - | effecto.VelocitySpread = 900000000000 |
1001 | + | end) |