SHOW:
|
|
- or go back to the newest paste.
| 1 | - | -- Created by Nebula_Zorua Edit By PowerSans1234-- |
| 1 | + | |
| 2 | - | -- Your DeTERMINATION -- |
| 2 | + | wait(0.2) |
| 3 | - | -- Y o u a c t l i k e y o u h a v e a c h o i c e. =) -- |
| 3 | + | |
| 4 | - | -- Discord: Nebula the Zorua#6969 |
| 4 | + | Player = game:GetService("Players").LocalPlayer
|
| 5 | - | -- Youtube: https://www.youtube.com/channel/UCo9oU9dCw8jnuVLuy4_SATA |
| 5 | + | PlayerGui = Player.PlayerGui |
| 6 | Cam = workspace.CurrentCamera | |
| 7 | Backpack = Player.Backpack | |
| 8 | - | --// Initializing \\-- |
| 8 | + | Character = Player.Character |
| 9 | - | local S = setmetatable({},{__index = function(s,i) return game:service(i) end})
|
| 9 | + | Humanoid = Character.Humanoid |
| 10 | - | local Plrs = S.Players |
| 10 | + | Mouse = Player:GetMouse() |
| 11 | - | local Plr = Plrs.LocalPlayer |
| 11 | + | RootPart = Character["HumanoidRootPart"] |
| 12 | - | local Char = Plr.Character |
| 12 | + | Torso = Character["Torso"] |
| 13 | - | local Hum = Char:FindFirstChildOfClass'Humanoid' |
| 13 | + | Head = Character["Head"] |
| 14 | - | local RArm = Char["Right Arm"] |
| 14 | + | RightArm = Character["Right Arm"] |
| 15 | - | local LArm = Char["Left Arm"] |
| 15 | + | LeftArm = Character["Left Arm"] |
| 16 | - | local RLeg = Char["Right Leg"] |
| 16 | + | RightLeg = Character["Right Leg"] |
| 17 | - | local LLeg = Char["Left Leg"] |
| 17 | + | LeftLeg = Character["Left Leg"] |
| 18 | - | local Root = Char:FindFirstChild'HumanoidRootPart' |
| 18 | + | RootJoint = RootPart["RootJoint"] |
| 19 | - | local Torso = Char.Torso |
| 19 | + | Neck = Torso["Neck"] |
| 20 | - | local Head = Char.Head |
| 20 | + | RightShoulder = Torso["Right Shoulder"] |
| 21 | - | local NeutralAnims = true |
| 21 | + | LeftShoulder = Torso["Left Shoulder"] |
| 22 | - | local Attack = false |
| 22 | + | RightHip = Torso["Right Hip"] |
| 23 | - | local BloodPuddles = {}
|
| 23 | + | LeftHip = Torso["Left Hip"] |
| 24 | - | local Effects = {}
|
| 24 | + | local sick = Instance.new("Sound",Torso)
|
| 25 | - | local Debounces = {Debounces={}}
|
| 25 | + | sick.SoundId = "rbxassetid://0" |
| 26 | - | local Mouse = Plr:GetMouse() |
| 26 | + | sick.Looped = true |
| 27 | - | local Hit = {}
|
| 27 | + | sick.Pitch = 1 |
| 28 | - | local Sine = 0 |
| 28 | + | sick.Volume = 1 |
| 29 | - | local Change = 1 |
| 29 | + | sick:Play() |
| 30 | - | local Souls = 0 |
| 30 | + | for i,v in pairs(Character:GetChildren()) do |
| 31 | - | --// Debounce System \\-- |
| 31 | + | if v.ClassName == "CharacterMesh" then |
| 32 | v:Destroy() | |
| 33 | end | |
| 34 | - | function Debounces:New(name,cooldown) |
| 34 | + | |
| 35 | - | local aaaaa = {Usable=true,Cooldown=cooldown or 2,CoolingDown=false,LastUse=0}
|
| 35 | + | for i,v in pairs(Character:GetChildren()) do |
| 36 | - | setmetatable(aaaaa,{__index = Debounces})
|
| 36 | + | if v.ClassName == "Hat" or v.ClassName == "Accessory" then |
| 37 | - | Debounces.Debounces[name] = aaaaa |
| 37 | + | v:Destroy() |
| 38 | - | return aaaaa |
| 38 | + | end |
| 39 | end | |
| 40 | ||
| 41 | - | function Debounces:Use(overrideUsable) |
| 41 | + | IT = Instance.new |
| 42 | - | assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use") |
| 42 | + | CF = CFrame.new |
| 43 | - | if(self.Usable or overrideUsable)then |
| 43 | + | VT = Vector3.new |
| 44 | - | self.Usable = false |
| 44 | + | RAD = math.rad |
| 45 | - | self.CoolingDown = true |
| 45 | + | C3 = Color3.new |
| 46 | - | local LastUse = time() |
| 46 | + | UD2 = UDim2.new |
| 47 | - | self.LastUse = LastUse |
| 47 | + | BRICKC = BrickColor.new |
| 48 | - | delay(self.Cooldown or 2,function() |
| 48 | + | ANGLES = CFrame.Angles |
| 49 | - | if(self.LastUse == LastUse)then |
| 49 | + | EULER = CFrame.fromEulerAnglesXYZ |
| 50 | - | self.CoolingDown = false |
| 50 | + | COS = math.cos |
| 51 | - | self.Usable = true |
| 51 | + | ACOS = math.acos |
| 52 | - | end |
| 52 | + | SIN = math.sin |
| 53 | - | end) |
| 53 | + | ASIN = math.asin |
| 54 | - | end |
| 54 | + | ABS = math.abs |
| 55 | MRANDOM = math.random | |
| 56 | FLOOR = math.floor | |
| 57 | - | function Debounces:Get(name) |
| 57 | + | |
| 58 | - | assert(typeof(name) == 'string',("bad argument #1 to 'get' (string expected, got %s)"):format(typeof(name) == nil and "no value" or typeof(name)))
|
| 58 | + | --//=================================\\ |
| 59 | - | for i,v in next, Debounces.Debounces do |
| 59 | + | --|| SOME FUNCTIONS |
| 60 | - | if(i == name)then |
| 60 | + | --\\=================================// |
| 61 | - | return v; |
| 61 | + | |
| 62 | - | end |
| 62 | + | function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS) |
| 63 | - | end |
| 63 | + | return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS) |
| 64 | end | |
| 65 | ||
| 66 | - | function Debounces:GetProgressPercentage() |
| 66 | + | function PositiveAngle(NUMBER) |
| 67 | - | assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use") |
| 67 | + | if NUMBER >= 0 then |
| 68 | - | if(self.CoolingDown and not self.Usable)then |
| 68 | + | NUMBER = 0 |
| 69 | - | return math.max( |
| 69 | + | end |
| 70 | - | math.floor( |
| 70 | + | return NUMBER |
| 71 | - | ( |
| 71 | + | |
| 72 | - | (time()-self.LastUse)/self.Cooldown or 2 |
| 72 | + | |
| 73 | - | )*100 |
| 73 | + | function NegativeAngle(NUMBER) |
| 74 | - | ) |
| 74 | + | if NUMBER <= 0 then |
| 75 | - | ) |
| 75 | + | NUMBER = 0 |
| 76 | - | else |
| 76 | + | end |
| 77 | - | return 100 |
| 77 | + | return NUMBER |
| 78 | - | end |
| 78 | + | |
| 79 | ||
| 80 | function Swait(NUMBER) | |
| 81 | - | --// Shortcut Variables \\-- |
| 81 | + | if NUMBER == 0 or NUMBER == nil then |
| 82 | - | local CF = {N=CFrame.new,A=CFrame.Angles,fEA=CFrame.fromEulerAnglesXYZ}
|
| 82 | + | ArtificialHB.Event:wait() |
| 83 | - | local C3 = {N=Color3.new,RGB=Color3.fromRGB,HSV=Color3.fromHSV,tHSV=Color3.toHSV}
|
| 83 | + | else |
| 84 | - | local V3 = {N=Vector3.new,FNI=Vector3.FromNormalId,A=Vector3.FromAxis}
|
| 84 | + | for i = 1, NUMBER do |
| 85 | - | local M = {C=math.cos,R=math.rad,S=math.sin,P=math.pi,RNG=math.random,MRS=math.randomseed,H=math.huge,RRNG = function(min,max,div) return math.rad(math.random(min,max)/(div or 1)) end}
|
| 85 | + | ArtificialHB.Event:wait() |
| 86 | - | local R3 = {N=Region3.new}
|
| 86 | + | end |
| 87 | - | local De = S.Debris |
| 87 | + | end |
| 88 | - | local WS = workspace |
| 88 | + | |
| 89 | - | local Lght = S.Lighting |
| 89 | + | |
| 90 | - | local RepS = S.ReplicatedStorage |
| 90 | + | function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET) |
| 91 | - | local IN = Instance.new |
| 91 | + | local NEWMESH = IT(MESH) |
| 92 | - | local CSK = ColorSequenceKeypoint.new |
| 92 | + | if MESH == "SpecialMesh" then |
| 93 | - | local CS = ColorSequence.new |
| 93 | + | NEWMESH.MeshType = MESHTYPE |
| 94 | - | --// Instance Creation Functions \\-- |
| 94 | + | if MESHID ~= "nil" and MESHID ~= "" then |
| 95 | NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID | |
| 96 | - | function Sound(parent,id,pitch,volume,looped,effect,autoPlay) |
| 96 | + | end |
| 97 | - | local Sound = IN("Sound")
|
| 97 | + | if TEXTUREID ~= "nil" and TEXTUREID ~= "" then |
| 98 | - | Sound.SoundId = "rbxassetid://".. tostring(id or 0) |
| 98 | + | NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID |
| 99 | - | Sound.Pitch = pitch or 1 |
| 99 | + | end |
| 100 | - | Sound.Volume = volume or 1 |
| 100 | + | end |
| 101 | - | Sound.Looped = looped or false |
| 101 | + | NEWMESH.Offset = OFFSET or VT(0, 0, 0) |
| 102 | - | if(autoPlay)then |
| 102 | + | NEWMESH.Scale = SCALE |
| 103 | - | coroutine.wrap(function() |
| 103 | + | NEWMESH.Parent = PARENT |
| 104 | - | repeat wait() until Sound.IsLoaded |
| 104 | + | return NEWMESH |
| 105 | - | Sound.Playing = autoPlay or false |
| 105 | + | |
| 106 | - | end)() |
| 106 | + | |
| 107 | - | end |
| 107 | + | function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR) |
| 108 | - | if(not looped and effect)then |
| 108 | + | local NEWPART = IT("Part")
|
| 109 | - | Sound.Stopped:connect(function() |
| 109 | + | NEWPART.formFactor = FORMFACTOR |
| 110 | - | Sound.Volume = 0 |
| 110 | + | NEWPART.Reflectance = REFLECTANCE |
| 111 | - | Sound:destroy() |
| 111 | + | NEWPART.Transparency = TRANSPARENCY |
| 112 | - | end) |
| 112 | + | NEWPART.CanCollide = false |
| 113 | - | elseif(effect)then |
| 113 | + | NEWPART.Locked = true |
| 114 | - | warn("Sound can't be looped and a sound effect!")
|
| 114 | + | NEWPART.Anchored = true |
| 115 | - | end |
| 115 | + | if ANCHOR == false then |
| 116 | - | Sound.Parent =parent or Torso |
| 116 | + | NEWPART.Anchored = false |
| 117 | - | return Sound |
| 117 | + | end |
| 118 | NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR)) | |
| 119 | - | function Part(parent,color,material,size,cframe,anchored,cancollide) |
| 119 | + | NEWPART.Name = NAME |
| 120 | - | local part = IN("Part")
|
| 120 | + | NEWPART.Size = SIZE |
| 121 | - | part[typeof(color) == 'BrickColor' and 'BrickColor' or 'Color'] = color or C3.N(0,0,0) |
| 121 | + | NEWPART.Position = Torso.Position |
| 122 | - | part.Material = (material or Enum.Material.SmoothPlastic) |
| 122 | + | NEWPART.Material = MATERIAL |
| 123 | - | part.TopSurface,part.BottomSurface=10,10 |
| 123 | + | NEWPART:BreakJoints() |
| 124 | - | part.Size = (size or V3.N(1,1,1)) |
| 124 | + | NEWPART.Parent = PARENT |
| 125 | - | part.CFrame = (cframe or CF.N(0,0,0)) |
| 125 | + | return NEWPART |
| 126 | - | part.Anchored = (anchored or false) |
| 126 | + | |
| 127 | - | part.CanCollide = (cancollide or false) |
| 127 | + | |
| 128 | - | part.Parent = (parent or Char) |
| 128 | + | local function weldBetween(a, b) |
| 129 | - | return part |
| 129 | + | local weldd = Instance.new("ManualWeld")
|
| 130 | weldd.Part0 = a | |
| 131 | - | function Mesh(parent,meshtype,meshid,textid,scale,offset) |
| 131 | + | weldd.Part1 = b |
| 132 | - | local part = IN("SpecialMesh")
|
| 132 | + | weldd.C0 = CFrame.new() |
| 133 | - | part.MeshId = meshid or "" |
| 133 | + | weldd.C1 = b.CFrame:inverse() * a.CFrame |
| 134 | - | part.TextureId = textid or "" |
| 134 | + | weldd.Parent = a |
| 135 | - | part.Scale = scale or V3.N(1,1,1) |
| 135 | + | return weldd |
| 136 | - | part.Offset = offset or V3.N(0,0,0) |
| 136 | + | end |
| 137 | - | part.MeshType = meshtype or Enum.MeshType.Sphere |
| 137 | + | |
| 138 | - | part.Parent = parent |
| 138 | + | |
| 139 | - | return part |
| 139 | + | function QuaternionFromCFrame(cf) |
| 140 | local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components() | |
| 141 | local trace = m00 + m11 + m22 | |
| 142 | - | NewInstance = function(instance,parent,properties) |
| 142 | + | if trace > 0 then |
| 143 | - | local inst = Instance.new(instance,parent) |
| 143 | + | local s = math.sqrt(1 + trace) |
| 144 | - | if(properties)then |
| 144 | + | local recip = 0.5 / s |
| 145 | - | for i,v in next, properties do |
| 145 | + | return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5 |
| 146 | - | pcall(function() inst[i] = v end) |
| 146 | + | else |
| 147 | - | end |
| 147 | + | local i = 0 |
| 148 | - | end |
| 148 | + | if m11 > m00 then |
| 149 | - | return inst; |
| 149 | + | i = 1 |
| 150 | end | |
| 151 | if m22 > (i == 0 and m00 or m11) then | |
| 152 | i = 2 | |
| 153 | end | |
| 154 | - | --// Extended ROBLOX tables \\-- |
| 154 | + | if i == 0 then |
| 155 | - | local Instance = setmetatable({ClearChildrenOfClass = function(where,class,recursive) local children = (recursive and where:GetDescendants() or where:GetChildren()) for _,v in next, children do if(v:IsA(class))then v:destroy();end;end;end},{__index = Instance})
|
| 155 | + | local s = math.sqrt(m00 - m11 - m22 + 1) |
| 156 | - | --// Customization \\-- |
| 156 | + | local recip = 0.5 / s |
| 157 | return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip | |
| 158 | - | local Frame_Speed = 60 -- The frame speed for swait. 1 is automatically divided by this |
| 158 | + | elseif i == 1 then |
| 159 | - | local Remove_Hats = false |
| 159 | + | local s = math.sqrt(m11 - m22 - m00 + 1) |
| 160 | - | local Remove_Clothing = true |
| 160 | + | local recip = 0.5 / s |
| 161 | - | local PlayerSize = 1 |
| 161 | + | return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip |
| 162 | - | local DamageColor = BrickColor.new'Really red' |
| 162 | + | elseif i == 2 then |
| 163 | - | local MusicID = 391549957 |
| 163 | + | local s = math.sqrt(m22 - m00 - m11 + 1) |
| 164 | - | local WalkSpeed = 8 |
| 164 | + | local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip |
| 165 | - | local MaxSouls = 100 |
| 165 | + | end |
| 166 | - | local MaxHealth = 500 |
| 166 | + | end |
| 167 | end | |
| 168 | ||
| 169 | - | if(_G.RefusedAnimation == nil) then _G.RefusedAnimation = false end |
| 169 | + | function QuaternionToCFrame(px, py, pz, x, y, z, w) |
| 170 | local xs, ys, zs = x + x, y + y, z + z | |
| 171 | - | --// Weapon and GUI creation, and Character Customization \\-- |
| 171 | + | local wx, wy, wz = w * xs, w * ys, w * zs |
| 172 | local xx = x * xs | |
| 173 | - | if(Remove_Hats)then Instance.ClearChildrenOfClass(Char,"Accessory",true) end |
| 173 | + | local xy = x * ys |
| 174 | - | if(Remove_Clothing)then Instance.ClearChildrenOfClass(Char,"Clothing",true) Instance.ClearChildrenOfClass(Char,"ShirtGraphic",true) end |
| 174 | + | local xz = x * zs |
| 175 | - | local Effects = IN("Folder",Char)
|
| 175 | + | local yy = y * ys |
| 176 | - | Effects.Name = "Effects" |
| 176 | + | local yz = y * zs |
| 177 | local zz = z * zs | |
| 178 | - | Hum.MaxHealth = MaxHealth |
| 178 | + | 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)) |
| 179 | - | Hum.Health = MaxHealth |
| 179 | + | |
| 180 | ||
| 181 | - | local Knife = NewInstance("Part",Char,{Name='Knife',Size=V3.N(.4,3,.7),Anchored=false,CanCollide=false,Locked=true,Archivable=false,Reflectance=.01,Color=C3.N(0,0,0)})
|
| 181 | + | function QuaternionSlerp(a, b, t) |
| 182 | - | local KnifeMesh = Mesh(Knife,Enum.MeshType.FileMesh,"rbxassetid://121944778","rbxassetid://121944805",V3.N(1,1,1),V3.N()) |
| 182 | + | local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4] |
| 183 | - | local AuraEmitter = NewInstance("ParticleEmitter",Knife,{EmissionDirection='Back',Color=CS{CSK(0,C3.N(1,0,0)),CSK(0.5,C3.N(1,1,0)),CSK(1,C3.RGB(255,191,0))},LightEmission=.5,LightInfluence=0,Size=NumberSequence.new(0.3),Texture="rbxassetid://1",Transparency=NumberSequence.new(0,1),LockedToPart=true,Lifetime=NumberRange.new(1),Rate=150,Speed=NumberRange.new(0)})
|
| 183 | + | local startInterp, finishInterp; |
| 184 | - | local FireEmitter = NewInstance("ParticleEmitter",Knife,{EmissionDirection='Back',Color=CS(C3.N(1,0,0),C3.N(1,0,0)),LightEmission=.5,LightInfluence=0,Size=NumberSequence.new{NumberSequenceKeypoint.new(0,.5,0),NumberSequenceKeypoint.new(0.755,0,0),NumberSequenceKeypoint.new(1,0,0)},Texture="rbxassetid://1",Transparency=NumberSequence.new(0.35,1),Lifetime=NumberRange.new(1,2),Rate=150,Speed=NumberRange.new(3)})
|
| 184 | + | if cosTheta >= 0.0001 then |
| 185 | if (1 - cosTheta) > 0.0001 then | |
| 186 | - | local KTrail = NewInstance("Trail",Knife,{
|
| 186 | + | local theta = ACOS(cosTheta) |
| 187 | - | Attachment0=NewInstance("Attachment",Knife,{Position=V3.N(0,-.4,0)}),
|
| 187 | + | local invSinTheta = 1 / SIN(theta) |
| 188 | - | Attachment1=NewInstance("Attachment",Knife,{Position=V3.N(0,1.2,0)}),
|
| 188 | + | startInterp = SIN((1 - t) * theta) * invSinTheta |
| 189 | - | Color=CS(C3.N(1,0,0)), |
| 189 | + | finishInterp = SIN(t * theta) * invSinTheta |
| 190 | - | Enabled=false, |
| 190 | + | else |
| 191 | - | Transparency=NumberSequence.new(0,1), |
| 191 | + | startInterp = 1 - t |
| 192 | - | Lifetime=1.25, |
| 192 | + | finishInterp = t |
| 193 | - | }) |
| 193 | + | end |
| 194 | - | local Hair = Part(Char,C3.N(0,0,0),Enum.Material.SmoothPlastic,V3.N(1,1,1),CF.N(),false,false) |
| 194 | + | else |
| 195 | - | local HairMesh = Mesh(Hair,Enum.MeshType.FileMesh,"rbxassetid://876","rbxassetid://07",V3.N(1.05,1.05,1.05),V3.N()) |
| 195 | + | if (1 + cosTheta) > 0.0001 then |
| 196 | local theta = ACOS(-cosTheta) | |
| 197 | - | NewInstance("PointLight",Knife,{Color=C3.N(1,0,0),Range=10,Brightness=3})
|
| 197 | + | local invSinTheta = 1 / SIN(theta) |
| 198 | startInterp = SIN((t - 1) * theta) * invSinTheta | |
| 199 | finishInterp = SIN(t * theta) * invSinTheta | |
| 200 | - | Hum.DisplayDistanceType = 'None' |
| 200 | + | else |
| 201 | startInterp = t - 1 | |
| 202 | - | local naeeym2 = IN("BillboardGui",Char)
|
| 202 | + | finishInterp = t |
| 203 | - | naeeym2.AlwaysOnTop = true |
| 203 | + | end |
| 204 | - | naeeym2.Size = UDim2.new(5,35,2,15) |
| 204 | + | end |
| 205 | - | naeeym2.StudsOffset = V3.N(0,2.5,0) |
| 205 | + | 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 |
| 206 | - | naeeym2.Adornee = Char.Head |
| 206 | + | |
| 207 | - | naeeym2.Name = "Name" |
| 207 | + | |
| 208 | - | naeeym2.PlayerToHideFrom = Plr |
| 208 | + | function Clerp(a, b, t) |
| 209 | - | local tecks2 = IN("TextLabel",naeeym2)
|
| 209 | + | local qa = {QuaternionFromCFrame(a)}
|
| 210 | - | tecks2.BackgroundTransparency = 1 |
| 210 | + | local qb = {QuaternionFromCFrame(b)}
|
| 211 | - | tecks2.TextScaled = true |
| 211 | + | local ax, ay, az = a.x, a.y, a.z |
| 212 | - | tecks2.BorderSizePixel = 0 |
| 212 | + | local bx, by, bz = b.x, b.y, b.z |
| 213 | - | tecks2.Text = "Killer UnderSwap Sans" |
| 213 | + | local _t = 1 - t |
| 214 | - | tecks2.Font = Enum.Font.Bodoni |
| 214 | + | return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t)) |
| 215 | - | tecks2.TextSize = 30 |
| 215 | + | |
| 216 | - | tecks2.TextStrokeTransparency = 0 |
| 216 | + | |
| 217 | - | tecks2.TextColor3 = C3.N(0,0,0) |
| 217 | + | function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME) |
| 218 | - | tecks2.TextStrokeColor3 = C3.N(.7,0,0) |
| 218 | + | local frame = IT("Frame")
|
| 219 | - | tecks2.Size = UDim2.new(1,0,0.5,0) |
| 219 | + | frame.BackgroundTransparency = TRANSPARENCY |
| 220 | - | tecks2.Parent = naeeym2 |
| 220 | + | frame.BorderSizePixel = BORDERSIZEPIXEL |
| 221 | frame.Position = POSITION | |
| 222 | frame.Size = SIZE | |
| 223 | - | IN("Shirt",Char)
|
| 223 | + | frame.BackgroundColor3 = COLOR |
| 224 | - | IN("Pants",Char)
|
| 224 | + | frame.BorderColor3 = BORDERCOLOR |
| 225 | frame.Name = NAME | |
| 226 | - | Hum.WalkSpeed = WalkSpeed |
| 226 | + | frame.Parent = PARENT |
| 227 | - | if(PlayerSize ~= 1)then |
| 227 | + | return frame |
| 228 | - | for _,v in next, Char:GetDescendats() do |
| 228 | + | |
| 229 | - | if(v:IsA'BasePart')then |
| 229 | + | |
| 230 | - | v.Size = v.Size * PlayerSize |
| 230 | + | function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME) |
| 231 | - | end |
| 231 | + | local label = IT("TextLabel")
|
| 232 | - | end |
| 232 | + | label.BackgroundTransparency = 1 |
| 233 | label.Size = UD2(1, 0, 1, 0) | |
| 234 | label.Position = UD2(0, 0, 0, 0) | |
| 235 | label.TextColor3 = TEXTCOLOR | |
| 236 | label.TextStrokeTransparency = STROKETRANSPARENCY | |
| 237 | - | pcall(function() |
| 237 | + | label.TextTransparency = TRANSPARENCY |
| 238 | - | Char.LeftWing:destroy() |
| 238 | + | label.FontSize = TEXTFONTSIZE |
| 239 | - | Char.ReaperShadowHead:destroy() |
| 239 | + | label.Font = TEXTFONT |
| 240 | - | end) |
| 240 | + | label.BorderSizePixel = BORDERSIZEPIXEL |
| 241 | label.TextScaled = false | |
| 242 | label.Text = TEXT | |
| 243 | - | local Music = Sound(Torso,MusicID,1,3,true,false,true) |
| 243 | + | label.Name = NAME |
| 244 | - | Music.Name = 'Music' |
| 244 | + | label.Parent = PARENT |
| 245 | return label | |
| 246 | - | --// Stop animations \\-- |
| 246 | + | |
| 247 | - | for _,v in next, Hum:GetPlayingAnimationTracks() do |
| 247 | + | |
| 248 | - | v:Stop(); |
| 248 | + | function NoOutlines(PART) |
| 249 | PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10 | |
| 250 | end | |
| 251 | - | pcall(game.Destroy,Char:FindFirstChild'Animate') |
| 251 | + | |
| 252 | - | pcall(game.Destroy,Hum:FindFirstChild'Animator') |
| 252 | + | function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1) |
| 253 | local NEWWELD = IT(TYPE) | |
| 254 | - | --// Joints \\-- |
| 254 | + | NEWWELD.Part0 = PART0 |
| 255 | NEWWELD.Part1 = PART1 | |
| 256 | - | 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)})
|
| 256 | + | NEWWELD.C0 = C0 |
| 257 | - | 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)})
|
| 257 | + | NEWWELD.C1 = C1 |
| 258 | - | local NK = NewInstance('Motor',Char,{Part0=Torso,Part1=Head,C0 = CF.N(0,1.5 * PlayerSize,0)})
|
| 258 | + | NEWWELD.Parent = PARENT |
| 259 | - | local LH = NewInstance('Motor',Char,{Part0=Torso,Part1=LLeg,C0 = CF.N(-.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
|
| 259 | + | return NEWWELD |
| 260 | - | local RH = NewInstance('Motor',Char,{Part0=Torso,Part1=RLeg,C0 = CF.N(.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
|
| 260 | + | |
| 261 | - | local RJ = NewInstance('Motor',Char,{Part0=Root,Part1=Torso})
|
| 261 | + | |
| 262 | - | local HW = NewInstance('Motor',Char,{Part0=RArm,Part1=Knife,C0=CF.N(0,-1,-1)*CF.A(M.R(-90),0,0)})
|
| 262 | + | local S = IT("Sound")
|
| 263 | - | local HW2 = NewInstance('Motor',Char,{Part0=Head,Part1=Hair,C0=CF.N(0,.25,0)})
|
| 263 | + | function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP) |
| 264 | local NEWSOUND = nil | |
| 265 | - | local LSC0 = LS.C0 |
| 265 | + | coroutine.resume(coroutine.create(function() |
| 266 | - | local RSC0 = RS.C0 |
| 266 | + | NEWSOUND = S:Clone() |
| 267 | - | local NKC0 = NK.C0 |
| 267 | + | NEWSOUND.Parent = PARENT |
| 268 | - | local LHC0 = LH.C0 |
| 268 | + | NEWSOUND.Volume = VOLUME |
| 269 | - | local RHC0 = RH.C0 |
| 269 | + | NEWSOUND.Pitch = PITCH |
| 270 | - | local RJC0 = RJ.C0 |
| 270 | + | NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID |
| 271 | NEWSOUND:play() | |
| 272 | - | --// Artificial HB \\-- |
| 272 | + | if DOESLOOP == true then |
| 273 | NEWSOUND.Looped = true | |
| 274 | - | local ArtificialHB = IN("BindableEvent", script)
|
| 274 | + | else |
| 275 | - | ArtificialHB.Name = "Heartbeat" |
| 275 | + | repeat wait(1) until NEWSOUND.Playing == false |
| 276 | NEWSOUND:remove() | |
| 277 | - | script:WaitForChild("Heartbeat")
|
| 277 | + | end |
| 278 | end)) | |
| 279 | - | local tf = 0 |
| 279 | + | return NEWSOUND |
| 280 | - | local allowframeloss = false |
| 280 | + | |
| 281 | - | local tossremainder = false |
| 281 | + | |
| 282 | - | local lastframe = tick() |
| 282 | + | function CFrameFromTopBack(at, top, back) |
| 283 | - | local frame = 1/Frame_Speed |
| 283 | + | local right = top:Cross(back) |
| 284 | - | ArtificialHB:Fire() |
| 284 | + | return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z) |
| 285 | end | |
| 286 | - | game:GetService("RunService").Heartbeat:connect(function(s, p)
|
| 286 | + | |
| 287 | - | tf = tf + s |
| 287 | + | --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
|
| 288 | - | if tf >= frame then |
| 288 | + | function WACKYEFFECT(Table) |
| 289 | - | if allowframeloss then |
| 289 | + | local TYPE = (Table.EffectType or "Sphere") |
| 290 | - | script.Heartbeat:Fire() |
| 290 | + | local SIZE = (Table.Size or VT(1,1,1)) |
| 291 | - | lastframe = tick() |
| 291 | + | local ENDSIZE = (Table.Size2 or VT(0,0,0)) |
| 292 | - | else |
| 292 | + | local TRANSPARENCY = (Table.Transparency or 0) |
| 293 | - | for i = 1, math.floor(tf / frame) do |
| 293 | + | local ENDTRANSPARENCY = (Table.Transparency2 or 1) |
| 294 | - | ArtificialHB:Fire() |
| 294 | + | local CFRAME = (Table.CFrame or Torso.CFrame) |
| 295 | - | end |
| 295 | + | local MOVEDIRECTION = (Table.MoveToPos or nil) |
| 296 | - | lastframe = tick() |
| 296 | + | local ROTATION1 = (Table.RotationX or 0) |
| 297 | - | end |
| 297 | + | local ROTATION2 = (Table.RotationY or 0) |
| 298 | - | if tossremainder then |
| 298 | + | local ROTATION3 = (Table.RotationZ or 0) |
| 299 | - | tf = 0 |
| 299 | + | local MATERIAL = (Table.Material or "Neon") |
| 300 | - | else |
| 300 | + | local COLOR = (Table.Color or C3(1,1,1)) |
| 301 | - | tf = tf - frame * math.floor(tf / frame) |
| 301 | + | local TIME = (Table.Time or 45) |
| 302 | - | end |
| 302 | + | local SOUNDID = (Table.SoundID or nil) |
| 303 | - | end |
| 303 | + | local SOUNDPITCH = (Table.SoundPitch or nil) |
| 304 | - | end) |
| 304 | + | local SOUNDVOLUME = (Table.SoundVolume or nil) |
| 305 | coroutine.resume(coroutine.create(function() | |
| 306 | - | function swait(num) |
| 306 | + | local PLAYSSOUND = false |
| 307 | - | if num == 0 or num == nil then |
| 307 | + | local SOUND = nil |
| 308 | - | ArtificialHB.Event:wait() |
| 308 | + | local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
|
| 309 | - | else |
| 309 | + | if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then |
| 310 | - | for i = 0, num do |
| 310 | + | PLAYSSOUND = true |
| 311 | - | ArtificialHB.Event:wait() |
| 311 | + | SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false) |
| 312 | - | end |
| 312 | + | end |
| 313 | - | end |
| 313 | + | EFFECT.Color = COLOR |
| 314 | local MSH = nil | |
| 315 | if TYPE == "Sphere" then | |
| 316 | MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
| |
| 317 | - | --// Effect Function(s) \\-- |
| 317 | + | elseif TYPE == "Block" then |
| 318 | MSH = IT("BlockMesh",EFFECT)
| |
| 319 | - | function Bezier(startpos, pos2, pos3, endpos, t) |
| 319 | + | MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X) |
| 320 | - | local A = startpos:lerp(pos2, t) |
| 320 | + | elseif TYPE == "Wave" then |
| 321 | - | local B = pos2:lerp(pos3, t) |
| 321 | + | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
|
| 322 | - | local C = pos3:lerp(endpos, t) |
| 322 | + | elseif TYPE == "Ring" then |
| 323 | - | local lerp1 = A:lerp(B, t) |
| 323 | + | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
|
| 324 | - | local lerp2 = B:lerp(C, t) |
| 324 | + | elseif TYPE == "Slash" then |
| 325 | - | local cubic = lerp1:lerp(lerp2, t) |
| 325 | + | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
|
| 326 | - | return cubic |
| 326 | + | elseif TYPE == "Round Slash" then |
| 327 | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
| |
| 328 | elseif TYPE == "Swirl" then | |
| 329 | - | function Tween(obj,props,time,easing,direction,repeats,backwards) |
| 329 | + | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
|
| 330 | - | local info = TweenInfo.new(time or .5, easing or Enum.EasingStyle.Quad, direction or Enum.EasingDirection.Out, repeats or 0, backwards or false) |
| 330 | + | elseif TYPE == "Skull" then |
| 331 | - | local tween = S.TweenService:Create(obj, info, props) |
| 331 | + | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
|
| 332 | - | |
| 332 | + | elseif TYPE == "Crystal" then |
| 333 | - | tween:Play() |
| 333 | + | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
|
| 334 | end | |
| 335 | if MSH ~= nil then | |
| 336 | - | local FXTable = {}
|
| 336 | + | local MOVESPEED = nil |
| 337 | if MOVEDIRECTION ~= nil then | |
| 338 | - | coroutine.resume(coroutine.create(function() |
| 338 | + | MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME |
| 339 | - | while true do |
| 339 | + | end |
| 340 | - | for i = 1, #FXTable do |
| 340 | + | local GROWTH = SIZE - ENDSIZE |
| 341 | - | local data = FXTable[i] |
| 341 | + | local TRANS = TRANSPARENCY - ENDTRANSPARENCY |
| 342 | - | if(data)then |
| 342 | + | if TYPE == "Block" then |
| 343 | - | local Frame = data.Frame |
| 343 | + | EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))) |
| 344 | - | local FX = data.Effect or 'ResizeAndFade' |
| 344 | + | else |
| 345 | - | local Parent = data.Parent or Effects |
| 345 | + | EFFECT.CFrame = CFRAME |
| 346 | - | local Color = data.Color or C3.N(0,0,0) |
| 346 | + | end |
| 347 | - | local Size = data.Size or V3.N(1,1,1) |
| 347 | + | for LOOP = 1, TIME+1 do |
| 348 | - | local MoveDir = data.MoveDirection or nil |
| 348 | + | Swait() |
| 349 | - | local MeshData = data.Mesh or nil |
| 349 | + | MSH.Scale = MSH.Scale - GROWTH/TIME |
| 350 | - | local SndData = data.Sound or nil |
| 350 | + | if TYPE == "Wave" then |
| 351 | - | local Frames = data.Frames or 45 |
| 351 | + | MSH.Offset = VT(0,0,-MSH.Scale.X/8) |
| 352 | - | local CFra = data.CFrame or Torso.CFrame |
| 352 | + | end |
| 353 | - | local Settings = data.FXSettings or {}
|
| 353 | + | EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME |
| 354 | - | local Prt,Msh,Snd = data.Part,data.Mesh,data.Sound |
| 354 | + | if TYPE == "Block" then |
| 355 | - | local grow = data.Grow |
| 355 | + | EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))) |
| 356 | - | |
| 356 | + | else |
| 357 | - | local MoveSpeed = nil; |
| 357 | + | EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3)) |
| 358 | - | if(MoveDir)then |
| 358 | + | end |
| 359 | - | MoveSpeed = (CFra.p - MoveDir).magnitude/Frames |
| 359 | + | if MOVEDIRECTION ~= nil then |
| 360 | - | end |
| 360 | + | local ORI = EFFECT.Orientation |
| 361 | - | if(FX ~= 'Arc')then |
| 361 | + | EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED) |
| 362 | - | Frame = Frame + 1 |
| 362 | + | EFFECT.Orientation = ORI |
| 363 | - | if(FX == "Fade")then |
| 363 | + | end |
| 364 | - | Prt.Transparency = (Frame/Frames) |
| 364 | + | end |
| 365 | - | elseif(FX == "Resize")then |
| 365 | + | if PLAYSSOUND == false then |
| 366 | - | if(not Settings.EndSize)then |
| 366 | + | EFFECT:remove() |
| 367 | - | Settings.EndSize = V3.N(0,0,0) |
| 367 | + | else |
| 368 | - | end |
| 368 | + | SOUND.Stopped:Connect(function() |
| 369 | - | if(Settings.EndIsIncrement)then |
| 369 | + | EFFECT:remove() |
| 370 | - | if(Msh)then |
| 370 | + | end) |
| 371 | - | Msh.Scale = Msh.Scale + Settings.EndSize |
| 371 | + | end |
| 372 | - | else |
| 372 | + | else |
| 373 | - | Prt.Size = Prt.Size + Settings.EndSize |
| 373 | + | if PLAYSSOUND == false then |
| 374 | - | end |
| 374 | + | EFFECT:remove() |
| 375 | - | else |
| 375 | + | else |
| 376 | - | if(Msh)then |
| 376 | + | repeat Swait() until SOUND.Playing == false |
| 377 | - | Msh.Scale = Msh.Scale - grow/Frames |
| 377 | + | EFFECT:remove() |
| 378 | - | else |
| 378 | + | end |
| 379 | - | Prt.Size = Prt.Size - grow/Frames |
| 379 | + | end |
| 380 | - | end |
| 380 | + | end)) |
| 381 | - | end |
| 381 | + | |
| 382 | - | elseif(FX == "ResizeAndFade")then |
| 382 | + | |
| 383 | - | if(not Settings.EndSize)then |
| 383 | + | function MakeForm(PART,TYPE) |
| 384 | - | Settings.EndSize = V3.N(0,0,0) |
| 384 | + | if TYPE == "Cyl" then |
| 385 | - | end |
| 385 | + | local MSH = IT("CylinderMesh",PART)
|
| 386 | - | if(Settings.EndIsIncrement)then |
| 386 | + | elseif TYPE == "Ball" then |
| 387 | - | if(Msh)then |
| 387 | + | local MSH = IT("SpecialMesh",PART)
|
| 388 | - | Msh.Scale = Msh.Scale + Settings.EndSize |
| 388 | + | MSH.MeshType = "Sphere" |
| 389 | - | else |
| 389 | + | elseif TYPE == "Wedge" then |
| 390 | - | Prt.Size = Prt.Size + Settings.EndSize |
| 390 | + | local MSH = IT("SpecialMesh",PART)
|
| 391 | - | end |
| 391 | + | MSH.MeshType = "Wedge" |
| 392 | - | else |
| 392 | + | end |
| 393 | - | if(Msh)then |
| 393 | + | |
| 394 | - | Msh.Scale = Msh.Scale - grow/Frames |
| 394 | + | |
| 395 | - | else |
| 395 | + | Debris = game:GetService("Debris")
|
| 396 | - | Prt.Size = Prt.Size - grow/Frames |
| 396 | + | |
| 397 | - | end |
| 397 | + | function CastProperRay(StartPos, EndPos, Distance, Ignore) |
| 398 | - | end |
| 398 | + | local DIRECTION = CF(StartPos,EndPos).lookVector |
| 399 | - | Prt.Transparency = (Frame/Frames) |
| 399 | + | return Raycast(StartPos, DIRECTION, Distance, Ignore) |
| 400 | - | end |
| 400 | + | |
| 401 | - | if(Settings.RandomizeCFrame)then |
| 401 | + | |
| 402 | - | Prt.CFrame = Prt.CFrame * CF.A(M.RRNG(-360,360),M.RRNG(-360,360),M.RRNG(-360,360)) |
| 402 | + | local EyeSizes={
|
| 403 | - | end |
| 403 | + | NumberSequenceKeypoint.new(0,1,0), |
| 404 | - | if(MoveDir and MoveSpeed)then |
| 404 | + | NumberSequenceKeypoint.new(1,0,0) |
| 405 | - | local Orientation = Prt.Orientation |
| 405 | + | } |
| 406 | - | Prt.CFrame = CF.N(Prt.Position,MoveDir)*CF.N(0,0,-MoveSpeed) |
| 406 | + | local EyeTrans={
|
| 407 | - | Prt.Orientation = Orientation |
| 407 | + | NumberSequenceKeypoint.new(0,0.8,0), |
| 408 | - | end |
| 408 | + | NumberSequenceKeypoint.new(1,1,0) |
| 409 | - | if(Prt.Transparency >= 1 or Frame >= Frames)then |
| 409 | + | } |
| 410 | - | Prt:destroy() |
| 410 | + | local PE=Instance.new("ParticleEmitter",nil)
|
| 411 | - | table.remove(FXTable,i) |
| 411 | + | PE.LightEmission=.8 |
| 412 | - | else |
| 412 | + | PE.Color = ColorSequence.new(BRICKC("Really red").Color)
|
| 413 | - | data.Frame = Frame |
| 413 | + | PE.Size=NumberSequence.new(EyeSizes) |
| 414 | - | end |
| 414 | + | PE.Transparency=NumberSequence.new(EyeTrans) |
| 415 | - | else |
| 415 | + | PE.Lifetime=NumberRange.new(0.35,1.5) |
| 416 | - | local start,third,fourth,endP = Settings.Start,Settings.Third,Settings.Fourth,Settings.End |
| 416 | + | PE.Rotation=NumberRange.new(0,360) |
| 417 | - | if(not Settings.End and Settings.Home)then endP = Settings.Home.CFrame end |
| 417 | + | PE.Rate=999 |
| 418 | - | if(start and endP)then |
| 418 | + | PE.VelocitySpread = 10000 |
| 419 | - | local quarter = third or start:lerp(endP, 0.25) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25)) |
| 419 | + | PE.Acceleration = Vector3.new(0,0,0) |
| 420 | - | local threequarter = fourth or start:lerp(endP, 0.75) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25)) |
| 420 | + | PE.Drag = 5 |
| 421 | - | Frame = Frame + (Settings.Speed or 0.01) |
| 421 | + | PE.Speed = NumberRange.new(0,0,0) |
| 422 | - | if(Settings.Home)then |
| 422 | + | PE.Texture="http://www.roblox.com/asset/?id=1351966707" |
| 423 | - | endP = Settings.Home.CFrame |
| 423 | + | PE.ZOffset = -0 |
| 424 | - | end |
| 424 | + | PE.Name = "PE" |
| 425 | - | Prt.CFrame = Bezier(start, quarter, threequarter, endP, Frame) |
| 425 | + | PE.Enabled = false |
| 426 | - | if(Prt.Transparency >= 1 or Frame >= Frames)then |
| 426 | + | |
| 427 | - | if(Settings.RemoveOnGoal)then |
| 427 | + | function particles(art) |
| 428 | - | Prt:destroy() |
| 428 | + | local PARTICLES = PE:Clone() |
| 429 | - | end |
| 429 | + | PARTICLES.Parent = art |
| 430 | - | end |
| 430 | + | |
| 431 | - | else |
| 431 | + | |
| 432 | - | Prt:destroy() |
| 432 | + | function CreateDebreeRing(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT) |
| 433 | - | end |
| 433 | + | if FLOOR ~= nil then |
| 434 | - | end |
| 434 | + | coroutine.resume(coroutine.create(function() |
| 435 | - | end |
| 435 | + | local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0,0,0)) |
| 436 | - | end |
| 436 | + | PART.CFrame = CF(POSITION) |
| 437 | - | swait() |
| 437 | + | for i = 1, 45 do |
| 438 | - | end |
| 438 | + | local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE) |
| 439 | - | end)) |
| 439 | + | RingPiece.Material = FLOOR.Material |
| 440 | RingPiece.Color = FLOOR.Color | |
| 441 | - | function Effect(data) |
| 441 | + | RingPiece.CFrame = PART.CFrame * ANGLES(RAD(0), RAD(i*8), RAD(0)) * CF(SIZE, 0, 0) * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360))) |
| 442 | - | local FX = data.Effect or 'ResizeAndFade' |
| 442 | + | Debris:AddItem(RingPiece,SWAIT) |
| 443 | - | local Parent = data.Parent or Effects |
| 443 | + | end |
| 444 | - | local Color = data.Color or C3.N(0,0,0) |
| 444 | + | PART:remove() |
| 445 | - | local Size = data.Size or V3.N(1,1,1) |
| 445 | + | end)) |
| 446 | - | local MoveDir = data.MoveDirection or nil |
| 446 | + | end |
| 447 | - | local MeshData = data.Mesh or nil |
| 447 | + | |
| 448 | - | local SndData = data.Sound or nil |
| 448 | + | |
| 449 | - | local Frames = data.Frames or 45 |
| 449 | + | function CreateFlyingDebree(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH) |
| 450 | - | local Manual = data.Manual or nil |
| 450 | + | if FLOOR ~= nil then |
| 451 | - | local Material = data.Material or nil |
| 451 | + | for i = 1, AMOUNT do |
| 452 | - | local CFra = data.CFrame or Torso.CFrame |
| 452 | + | local DEBREE = CreatePart(3, Effects, "Neon", FLOOR.Reflectance, FLOOR.Transparency, "Peal", "Debree", BLOCKSIZE, false) |
| 453 | - | local Settings = data.FXSettings or {}
|
| 453 | + | DEBREE.Material = FLOOR.Material |
| 454 | - | local Shape = data.Shape or Enum.PartType.Block |
| 454 | + | DEBREE.Color = FLOOR.Color |
| 455 | - | local Snd,Prt,Msh; |
| 455 | + | DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360))) |
| 456 | - | coroutine.wrap(function() |
| 456 | + | DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH)) |
| 457 | - | if(Manual and typeof(Manual) == 'Instance' and Manual:IsA'BasePart')then |
| 457 | + | coroutine.resume(coroutine.create(function() |
| 458 | - | Prt = Manual |
| 458 | + | Swait(15) |
| 459 | - | else |
| 459 | + | DEBREE.Parent = workspace |
| 460 | - | Prt = Part(Parent,Color,Material,Size,CFra,true,false) |
| 460 | + | DEBREE.CanCollide = true |
| 461 | - | Prt.Shape = Shape |
| 461 | + | Debris:AddItem(DEBREE,SWAIT) |
| 462 | - | end |
| 462 | + | end)) |
| 463 | - | if(typeof(MeshData) == 'table')then |
| 463 | + | end |
| 464 | - | Msh = Mesh(Prt,MeshData.MeshType,MeshData.MeshId,MeshData.TextureId,MeshData.Scale,MeshData.Offset) |
| 464 | + | end |
| 465 | - | elseif(typeof(MeshData) == 'Instance')then |
| 465 | + | |
| 466 | - | Msh = MeshData:Clone() |
| 466 | + | |
| 467 | - | Msh.Parent = Prt |
| 467 | + | --//=================================\\ |
| 468 | - | elseif(Shape == Enum.PartType.Block)then |
| 468 | + | --|| WEAPON CREATION |
| 469 | - | Msh = Mesh(Prt,Enum.MeshType.Brick) |
| 469 | + | --\\=================================// |
| 470 | - | end |
| 470 | + | |
| 471 | - | if(typeof(SndData) == 'table' or typeof(SndData) == 'Instance')then |
| 471 | + | local PRT = CreatePart(3, Character, "Fabric", 0, 0, "Really black", "Hood", VT(1,1,1),false) |
| 472 | - | Snd = Sound(Prt,SndData.SoundId,SndData.Pitch,SndData.Volume,false,false,true) |
| 472 | + | PRT.Color = C3(0,0,0) |
| 473 | - | end |
| 473 | + | local HoodWeld = CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0.2,0), CF(0, 0, 0))
|
| 474 | - | if(Snd)then |
| 474 | + | CreateMesh("SpecialMesh", PRT, "FileMesh", "76062497", "", VT(1,1,1)*1.05, VT(0,0,0))
|
| 475 | - | repeat swait() until Snd.Playing and Snd.IsLoaded and Snd.TimeLength > 0 |
| 475 | + | local PRT = CreatePart(3, Character, "Fabric", 0, 0, "Really black", "Scarf", VT(1,1,1),false) |
| 476 | - | Frames = Snd.TimeLength * Frame_Speed/Snd.Pitch |
| 476 | + | PRT.Color = C3(0,0,0) |
| 477 | - | end |
| 477 | + | CreateWeldOrSnapOrMotor("Weld", Torso, Torso, PRT, CF(0.05,0.4,-0.1) * ANGLES(RAD(-3), RAD(0), RAD(0)), CF(0, 0, 0))
|
| 478 | - | Size = (Msh and Msh.Scale or Size) |
| 478 | + | CreateMesh("SpecialMesh", PRT, "FileMesh", "0", "", VT(1.1,1,1.1), VT(0,0,0))
|
| 479 | - | local grow = Size-(Settings.EndSize or (Msh and Msh.Scale or Size)/2) |
| 479 | + | local LASTPART = Head |
| 480 | - | |
| 480 | + | for i = 1, 20 do |
| 481 | - | local MoveSpeed = nil; |
| 481 | + | local MATH = (1-(i/25)) |
| 482 | - | if(MoveDir)then |
| 482 | + | if LASTPART == Head then |
| 483 | - | MoveSpeed = (CFra.p - MoveDir).magnitude/Frames |
| 483 | + | local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false) |
| 484 | - | end |
| 484 | + | CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0.3, 0.7, -0.35) * ANGLES(RAD(-55), RAD(15), RAD(-15)), CF(0, 0, 0))
|
| 485 | - | if(FX ~= 'Arc')then |
| 485 | + | LASTPART = Horn |
| 486 | - | for Frame = 1, Frames do |
| 486 | + | Horn.Color = C3((i*3-3)/255,0,0) |
| 487 | - | if(FX == "Fade")then |
| 487 | + | else |
| 488 | - | Prt.Transparency = (Frame/Frames) |
| 488 | + | local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false) |
| 489 | - | elseif(FX == "Resize")then |
| 489 | + | CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/1.8, 0) * ANGLES(RAD(6), RAD(-0.3), RAD(0)), CF(0, 0, 0))
|
| 490 | - | if(not Settings.EndSize)then |
| 490 | + | LASTPART = Horn |
| 491 | - | Settings.EndSize = V3.N(0,0,0) |
| 491 | + | Horn.Color = C3((i*3-3)/255,0,0) |
| 492 | - | end |
| 492 | + | end |
| 493 | - | if(Settings.EndIsIncrement)then |
| 493 | + | |
| 494 | - | if(Msh)then |
| 494 | + | local LASTPART = Head |
| 495 | - | Msh.Scale = Msh.Scale + Settings.EndSize |
| 495 | + | for i = 1, 20 do |
| 496 | - | else |
| 496 | + | local MATH = (1-(i/25)) |
| 497 | - | Prt.Size = Prt.Size + Settings.EndSize |
| 497 | + | if LASTPART == Head then |
| 498 | - | end |
| 498 | + | local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false) |
| 499 | - | else |
| 499 | + | CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(-0.3, 0.7, -0.35) * ANGLES(RAD(-55), RAD(-15), RAD(15)), CF(0, 0, 0))
|
| 500 | - | if(Msh)then |
| 500 | + | LASTPART = Horn |
| 501 | - | Msh.Scale = Msh.Scale - grow/Frames |
| 501 | + | Horn.Color = C3((i*3-3)/255,0,0) |
| 502 | - | else |
| 502 | + | else |
| 503 | - | Prt.Size = Prt.Size - grow/Frames |
| 503 | + | local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false) |
| 504 | - | end |
| 504 | + | CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/1.8, 0) * ANGLES(RAD(6), RAD(0.3), RAD(0)), CF(0, 0, 0))
|
| 505 | - | end |
| 505 | + | LASTPART = Horn |
| 506 | - | elseif(FX == "ResizeAndFade")then |
| 506 | + | Horn.Color = C3((i*3-3)/255,0,0) |
| 507 | - | if(not Settings.EndSize)then |
| 507 | + | end |
| 508 | - | Settings.EndSize = V3.N(0,0,0) |
| 508 | + |