SHOW:
|
|
- or go back to the newest paste.
| 1 | if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
| |
| 2 | local Player,game,owner = owner,game | |
| 3 | local RealPlayer = Player | |
| 4 | do | |
| 5 | print("FE Compatibility code by Mokiros")
| |
| 6 | local rp = RealPlayer | |
| 7 | script.Parent = rp.Character | |
| 8 | ||
| 9 | --RemoteEvent for communicating | |
| 10 | local Event = Instance.new("RemoteEvent")
| |
| 11 | Event.Name = "UserInput_Event" | |
| 12 | ||
| 13 | --Fake event to make stuff like Mouse.KeyDown work | |
| 14 | local function fakeEvent() | |
| 15 | local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
| |
| 16 | t.connect = t.Connect | |
| 17 | return t | |
| 18 | end | |
| 19 | ||
| 20 | --Creating fake input objects with fake variables | |
| 21 | local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
| |
| 22 | local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
| |
| 23 | local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
| |
| 24 | CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
| |
| 25 | end} | |
| 26 | --Merged 2 functions into one by checking amount of arguments | |
| 27 | CAS.UnbindAction = CAS.BindAction | |
| 28 | ||
| 29 | --This function will trigger the events that have been :Connect()'ed | |
| 30 | local function te(self,ev,...) | |
| 31 | local t = m[ev] | |
| 32 | if t and t._fakeEvent then | |
| 33 | for _,f in pairs(t.Functions) do | |
| 34 | f(...) | |
| 35 | end | |
| 36 | end | |
| 37 | end | |
| 38 | m.TrigEvent = te | |
| 39 | UIS.TrigEvent = te | |
| 40 | ||
| 41 | Event.OnServerEvent:Connect(function(plr,io) | |
| 42 | if plr~=rp then return end | |
| 43 | m.Target = io.Target | |
| 44 | m.Hit = io.Hit | |
| 45 | if not io.isMouse then | |
| 46 | local b = io.UserInputState == Enum.UserInputState.Begin | |
| 47 | if io.UserInputType == Enum.UserInputType.MouseButton1 then | |
| 48 | return m:TrigEvent(b and "Button1Down" or "Button1Up") | |
| 49 | end | |
| 50 | for _,t in pairs(CAS.Actions) do | |
| 51 | for _,k in pairs(t.Keys) do | |
| 52 | if k==io.KeyCode then | |
| 53 | t.Function(t.Name,io.UserInputState,io) | |
| 54 | end | |
| 55 | end | |
| 56 | end | |
| 57 | m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower()) | |
| 58 | UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false) | |
| 59 | end | |
| 60 | end) | |
| 61 | Event.Parent = NLS([==[ | |
| 62 | local Player = game:GetService("Players").LocalPlayer
| |
| 63 | local Event = script:WaitForChild("UserInput_Event")
| |
| 64 | ||
| 65 | local Mouse = Player:GetMouse() | |
| 66 | local UIS = game:GetService("UserInputService")
| |
| 67 | local input = function(io,a) | |
| 68 | if a then return end | |
| 69 | --Since InputObject is a client-side instance, we create and pass table instead | |
| 70 | Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
| |
| 71 | end | |
| 72 | UIS.InputBegan:Connect(input) | |
| 73 | UIS.InputEnded:Connect(input) | |
| 74 | ||
| 75 | local h,t | |
| 76 | --Give the server mouse data 30 times every second, but only if the values changed | |
| 77 | --If player is not moving their mouse, client won't fire events | |
| 78 | while wait(1/30) do | |
| 79 | if h~=Mouse.Hit or t~=Mouse.Target then | |
| 80 | h,t=Mouse.Hit,Mouse.Target | |
| 81 | Event:FireServer({isMouse=true,Target=t,Hit=h})
| |
| 82 | end | |
| 83 | end]==],Player.Character) | |
| 84 | ||
| 85 | ----Sandboxed game object that allows the usage of client-side methods and services | |
| 86 | --Real game object | |
| 87 | local _rg = game | |
| 88 | ||
| 89 | --Metatable for fake service | |
| 90 | local fsmt = {
| |
| 91 | __index = function(self,k) | |
| 92 | local s = rawget(self,"_RealService") | |
| 93 | if s then return s[k] end | |
| 94 | end, | |
| 95 | __newindex = function(self,k,v) | |
| 96 | local s = rawget(self,"_RealService") | |
| 97 | if s then s[k]=v end | |
| 98 | end, | |
| 99 | __call = function(self,...) | |
| 100 | local s = rawget(self,"_RealService") | |
| 101 | if s then return s(...) end | |
| 102 | end | |
| 103 | } | |
| 104 | local function FakeService(t,RealService) | |
| 105 | t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService | |
| 106 | return setmetatable(t,fsmt) | |
| 107 | end | |
| 108 | ||
| 109 | --Fake game object | |
| 110 | local g = {
| |
| 111 | GetService = function(self,s) | |
| 112 | return self[s] | |
| 113 | end, | |
| 114 | Players = FakeService({
| |
| 115 | LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
| |
| 116 | },"Players"), | |
| 117 | UserInputService = FakeService(UIS,"UserInputService"), | |
| 118 | ContextActionService = FakeService(CAS,"ContextActionService"), | |
| 119 | } | |
| 120 | rawset(g.Players,"localPlayer",g.Players.LocalPlayer) | |
| 121 | g.service = g.GetService | |
| 122 | ||
| 123 | g.RunService = FakeService({
| |
| 124 | RenderStepped = _rg:GetService("RunService").Heartbeat,
| |
| 125 | BindToRenderStep = function(self,name,_,fun) | |
| 126 | ||
| 127 | end, | |
| 128 | UnbindFromRenderStep = function(self,name) | |
| 129 | self._btrs[name]:Disconnect() | |
| 130 | end, | |
| 131 | },"RunService") | |
| 132 | ||
| 133 | setmetatable(g,{
| |
| 134 | __index=function(self,s) | |
| 135 | return _rg:GetService(s) or typeof(_rg[s])=="function" | |
| 136 | and function(_,...)return _rg[s](_rg,...)end or _rg[s] | |
| 137 | end, | |
| 138 | __newindex = fsmt.__newindex, | |
| 139 | __call = fsmt.__call | |
| 140 | }) | |
| 141 | --Changing owner to fake player object to support owner:GetMouse() | |
| 142 | game,owner = g,g.Players.LocalPlayer | |
| 143 | end | |
| 144 | ||
| 145 | ||
| 146 | Player = owner | |
| 147 | - | -- script hair-- |
| 147 | + | ----//=================================\\ |
| 148 | ----|| SAZERENOS' ARTIFICIAL HEARTBEAT | |
| 149 | - | plr = Player |
| 149 | + | ----\\=================================// |
| 150 | - | part = nil |
| 150 | + | |
| 151 | - | bp = nil |
| 151 | + | |
| 152 | - | particles = nil |
| 152 | + | |
| 153 | ||
| 154 | - | local Character = plr.Character |
| 154 | + | |
| 155 | - | local char = plr.Character |
| 155 | + | |
| 156 | - | local hum = char:FindFirstChildOfClass'Humanoid' |
| 156 | + | frame = 1/60 |
| 157 | - | local hed = char.Head |
| 157 | + | |
| 158 | - | hed.face.Transparency = 1 |
| 158 | + | |
| 159 | - | local tors = char.Torso |
| 159 | + | |
| 160 | - | local ra = char["Right Arm"] |
| 160 | + | |
| 161 | - | local la = char["Left Arm"] |
| 161 | + | |
| 162 | - | local rl = char["Right Leg"] |
| 162 | + | |
| 163 | - | local ll = char["Left Leg"] |
| 163 | + | |
| 164 | - | local neck = tors["Neck"] |
| 164 | + | tf = tf + s |
| 165 | - | local mouse = plr:GetMouse() |
| 165 | + | if tf >= frame then |
| 166 | - | local RootCF = CFrame.fromEulerAnglesXYZ(-1.57, 0, 3.14) |
| 166 | + | if allowframeloss then |
| 167 | - | local RHCF = CFrame.fromEulerAnglesXYZ(0, 1.6, 0) |
| 167 | + | script.ArtificialHB:Fire() |
| 168 | - | local LHCF = CFrame.fromEulerAnglesXYZ(0, -1.6, 0) |
| 168 | + | lastframe = tick() |
| 169 | - | local maincolor = BrickColor.new("Institutional white")
|
| 169 | + | |
| 170 | - | cam = game.Workspace.CurrentCamera |
| 170 | + | for i = 1, math.floor(tf / frame) do |
| 171 | - | CF = CFrame.new |
| 171 | + | script.ArtificialHB:Fire() |
| 172 | - | angles = CFrame.Angles |
| 172 | + | end |
| 173 | - | attack = false |
| 173 | + | lastframe = tick() |
| 174 | - | Euler = CFrame.fromEulerAnglesXYZ |
| 174 | + | |
| 175 | - | Rad = math.rad |
| 175 | + | if tossremainder then |
| 176 | - | IT = Instance.new |
| 176 | + | tf = 0 |
| 177 | - | BrickC = BrickColor.new |
| 177 | + | |
| 178 | - | Cos = math.cos |
| 178 | + | tf = tf - frame * math.floor(tf / frame) |
| 179 | - | Acos = math.acos |
| 179 | + | |
| 180 | - | Sin = math.sin |
| 180 | + | |
| 181 | - | Asin = math.asin |
| 181 | + | |
| 182 | - | Abs = math.abs |
| 182 | + | |
| 183 | - | Mrandom = math.random |
| 183 | + | |
| 184 | - | Floor = math.floor |
| 184 | + | |
| 185 | - | --script hair-- |
| 185 | + | function rswait(NUMBER) |
| 186 | - | if Player.Character:FindFirstChild("HSHair") == nil then
|
| 186 | + | if NUMBER == 0 or NUMBER == nil then |
| 187 | - | if char:FindFirstChildOfClass("Accessory") ~= nil then
|
| 187 | + | ArtificialHB.Event:wait() |
| 188 | - | repeat |
| 188 | + | else |
| 189 | - | wait(0.000000000000000000000000000001) |
| 189 | + | for i = 1, NUMBER do |
| 190 | - | char:FindFirstChildOfClass("Accessory"):Destroy()
|
| 190 | + | ArtificialHB.Event:wait() |
| 191 | - | until char:FindFirstChildOfClass("Accessory") == nil
|
| 191 | + | |
| 192 | end | |
| 193 | - | HSHair = IT("Model")
|
| 193 | + | |
| 194 | - | HSHair.Parent = char |
| 194 | + | function swait(NUMBER) |
| 195 | - | HSHair.Name = "HSHair" |
| 195 | + | if NUMBER == 0 or NUMBER == nil then |
| 196 | - | RHe = IT("Part")
|
| 196 | + | ArtificialHB.Event:wait() |
| 197 | - | RHe.Parent = HSHair |
| 197 | + | else |
| 198 | - | RHe.BrickColor = BrickColor.new("Really red")
|
| 198 | + | for i = 1, NUMBER do |
| 199 | - | RHe.Locked = true |
| 199 | + | ArtificialHB.Event:wait() |
| 200 | - | RHe.CanCollide = false |
| 200 | + | |
| 201 | - | RHe.Transparency = 0 |
| 201 | + | |
| 202 | - | PMesh = IT("SpecialMesh")
|
| 202 | + | |
| 203 | - | RHe.formFactor = "Symmetric" |
| 203 | + | |
| 204 | - | PMesh.MeshType = "FileMesh" |
| 204 | + | local p = Player |
| 205 | - | PMesh.MeshId = "rbxassetid://731023666" |
| 205 | + | local char = p.Character |
| 206 | - | PMesh.Scale = Vector3.new(0.200000003, 0.200000003, 0.170000002) |
| 206 | + | --from lost hope |
| 207 | - | PMesh.Parent = RHe |
| 207 | + | |
| 208 | - | local RWeld = IT("Weld")
|
| 208 | + | local targetted = nil |
| 209 | - | RWeld.Parent = RHe |
| 209 | + | local Humanoid = char:FindFirstChildOfClass("Humanoid")
|
| 210 | - | RWeld.Part0 = RHe |
| 210 | + | |
| 211 | - | RWeld.Part1 = hed |
| 211 | + | local mouse = p:GetMouse() |
| 212 | - | RWeld.C0 = CF(0, 2.5, 1) * angles(0, Rad(180), 0) |
| 212 | + | local larm = char:WaitForChild("Left Arm")
|
| 213 | - | Mouse = mouse |
| 213 | + | local rarm = char:WaitForChild("Right Arm")
|
| 214 | - | --end or hair script-- |
| 214 | + | local lleg = char:WaitForChild("Left Leg")
|
| 215 | local rleg = char:WaitForChild("Right Leg")
| |
| 216 | - | local RHe = plr.Character.HSHair.Part |
| 216 | + | local hed = char:WaitForChild("Head")
|
| 217 | - | -- from death gun |
| 217 | + | local torso = char:WaitForChild("Torso")
|
| 218 | - | local Weapon = IT("Folder", Character)
|
| 218 | + | local root = char:WaitForChild("HumanoidRootPart")
|
| 219 | - | Weapon.Name = "Weapon" |
| 219 | + | local hum = char:FindFirstChildOfClass("Humanoid")
|
| 220 | - | local Effects = IT("Folder", Character)
|
| 220 | + | --modify |
| 221 | - | Effects.Name = "Effects" |
| 221 | + | |
| 222 | - | local Weapon2 = IT("Folder",Character)
|
| 222 | + | |
| 223 | - | Weapon2.Name = "Weapon2" |
| 223 | + | |
| 224 | - | IT = Instance.new |
| 224 | + | local function FindHumanoid(Part)local humanoid=nil if Part.Parent then if Part.Parent~=Player.Character and Part.Parent:FindFirstChildOfClass("Humanoid")~=nil then humanoid=Part.Parent:FindFirstChildOfClass("Humanoid")else if Part.Parent.Parent then if Part.Parent.Parent:FindFirstChildOfClass("Humanoid")and Part.Parent.Parent~=Player.Character then humanoid=Part.Parent.Parent:FindFirstChildOfClass("Humanoid")end end end end if humanoid==Humanoid then humanoid=nil end return humanoid end
|
| 225 | - | CF = CFrame.new |
| 225 | + | Humanoid.Animator.Parent = nil |
| 226 | - | VT = Vector3.new |
| 226 | + | char.Animate.Parent = nil |
| 227 | - | RAD = math.rad |
| 227 | + | if char:FindFirstChild("Health")then char.Health.Parent = nil end
|
| 228 | - | C3 = Color3.new |
| 228 | + | function CreateBeam(Parent,isReversed)local p=Instance.new("Beam",Parent)local a0=Instance.new("Attachment",Parent)local a1=Instance.new("Attachment",Parent)if isReversed then p.Attachment0=a1 p.Attachment1=a0 else p.Attachment0=a0 p.Attachment1=a1 end return a0,a1,p end
|
| 229 | - | UD2 = UDim2.new |
| 229 | + | function CTE(Part)Part.Size=Vector3.new()Part.Transparency=1 Part.CanCollide=false Part.Anchored=true local j=Instance.new("BodyVelocity",Part)j.MaxForce=Vector3.new(1/0,1/0,1/0)j.Velocity=Vector3.new(0,0,0)end
|
| 230 | - | BRICKC = BrickColor.new |
| 230 | + | function RingE(pos,siz,tim,dsiz,seg,wid,z,col,w)local IDK=.7 |
| 231 | - | ANGLES = CFrame.Angles |
| 231 | + | local p=Instance.new("Part",workspace)if col==nil then col=ColorSequence.new(Color3.new())end if z==nil then z=0 end
|
| 232 | - | EULER = CFrame.fromEulerAnglesXYZ |
| 232 | + | CTE(p)p.CFrame=pos |
| 233 | - | COS = math.cos |
| 233 | + | local a0,a1,b=CreateBeam(p)a0.Position=Vector3.new(0,0,-dsiz)a1.Position=-a0.Position b.Texture="rbxassetid://1251856844"b.Color=col |
| 234 | - | ACOS = math.acos |
| 234 | + | local b2=Instance.new("Beam",b.Parent)b2.Attachment0=a1 b2.Attachment1=a0 b2.Texture="rbxassetid://1251856844"b2.Color=col
|
| 235 | - | SIN = math.sin |
| 235 | + | b.CurveSize0=math.abs(a0.Position.Z)*2 *IDK b.CurveSize1=math.abs(a0.Position.Z)*2 *IDK b2.CurveSize0=-math.abs(a0.Position.Z)*2 *IDK b2.CurveSize1=math.abs(a0.Position.Z)*2 *IDK |
| 236 | - | ASIN = math.asin |
| 236 | + | b.Segments=seg b2.Segments=seg b.ZOffset=z b2.ZOffset=z b.Width0=wid b.Width1=wid b2.Width0=wid b2.Width1=wid spawn(function() |
| 237 | - | ABS = math.abs |
| 237 | + | for i=1,tim do if p.Parent then |
| 238 | - | MRANDOM = math.random |
| 238 | + | a0.Position=a0.Position-Vector3.new(0,0,siz)a1.Position=a1.Position+Vector3.new(0,0,siz)b.CurveSize0=(a1.Position.Z*2)*IDK b.CurveSize1=-(a1.Position.Z*2)*IDK |
| 239 | - | FLOOR = math.floor |
| 239 | + | b2.CurveSize0=-(a1.Position.Z*2)*IDK b2.CurveSize1=(a1.Position.Z*2)*IDK |
| 240 | - | Debris = game:GetService("Debris")
|
| 240 | + | if w~=nil then b.Width0=b.Width0+w b.Width1=b.Width0 b2.Width0=b.Width0 b2.Width1=b.Width0 end b.Transparency=NumberSequence.new(i/tim)b2.Transparency=NumberSequence.new(i/tim)swait() |
| 241 | - | local Torso = tors |
| 241 | + | end end p:Destroy() |
| 242 | - | Animation_Speed = 1 --1 --def 3 |
| 242 | + | |
| 243 | - | Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60) |
| 243 | + | |
| 244 | - | local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) |
| 244 | + | CFuncs = {
|
| 245 | - | local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) |
| 245 | + | ["Part"] = {
|
| 246 | - | local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) |
| 246 | + | |
| 247 | - | local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) |
| 247 | + | local Part = Create("Part"){
|
| 248 | - | RightShoulder = Torso["Right Shoulder"] |
| 248 | + | |
| 249 | - | LeftShoulder = Torso["Left Shoulder"] |
| 249 | + | |
| 250 | - | RightHip = Torso["Right Hip"] |
| 250 | + | |
| 251 | - | LeftHip = Torso["Left Hip"] |
| 251 | + | |
| 252 | Locked = true, | |
| 253 | - | function CreateSoundp(ID, PARENT, VOLUME, PITCH) |
| 253 | + | |
| 254 | - | local NEWSOUND = nil |
| 254 | + | |
| 255 | - | coroutine.resume(coroutine.create(function() |
| 255 | + | |
| 256 | - | NEWSOUND = IT("Sound", PARENT)
|
| 256 | + | Material = Material, |
| 257 | - | NEWSOUND.Volume = VOLUME |
| 257 | + | } |
| 258 | - | NEWSOUND.Pitch = PITCH |
| 258 | + | |
| 259 | - | NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID |
| 259 | + | |
| 260 | - | Swait() |
| 260 | + | end; |
| 261 | - | NEWSOUND:play() |
| 261 | + | }; |
| 262 | - | game:GetService("Debris"):AddItem(NEWSOUND, 10)
|
| 262 | + | |
| 263 | - | end)) |
| 263 | + | ["Mesh"] = {
|
| 264 | - | return NEWSOUND |
| 264 | + | |
| 265 | local Msh = Create(Mesh){
| |
| 266 | Parent = Part, | |
| 267 | - | function CreatePartp(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR) |
| 267 | + | |
| 268 | - | local NEWPART = IT("Part")
|
| 268 | + | Scale = Scale, |
| 269 | - | NEWPART.formFactor = FORMFACTOR |
| 269 | + | } |
| 270 | - | NEWPART.Reflectance = REFLECTANCE |
| 270 | + | |
| 271 | - | NEWPART.Transparency = TRANSPARENCY |
| 271 | + | |
| 272 | - | NEWPART.CanCollide = false |
| 272 | + | |
| 273 | - | NEWPART.Locked = true |
| 273 | + | |
| 274 | - | NEWPART.Anchored = true |
| 274 | + | |
| 275 | - | if ANCHOR == false then |
| 275 | + | end; |
| 276 | - | NEWPART.Anchored = false |
| 276 | + | }; |
| 277 | ||
| 278 | - | NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR)) |
| 278 | + | ["Mesh"] = {
|
| 279 | - | NEWPART.Name = NAME |
| 279 | + | |
| 280 | - | NEWPART.Size = SIZE |
| 280 | + | local Msh = Create(Mesh){
|
| 281 | - | NEWPART.Position = Torso.Position |
| 281 | + | |
| 282 | - | NEWPART.Material = MATERIAL |
| 282 | + | |
| 283 | - | NEWPART:BreakJoints() |
| 283 | + | Scale = Scale, |
| 284 | - | NEWPART.Parent = PARENT |
| 284 | + | } |
| 285 | - | return NEWPART |
| 285 | + | |
| 286 | Msh.MeshType = MeshType | |
| 287 | Msh.MeshId = MeshId | |
| 288 | - | function RayCast(Position, Direction, MaxDistance, IgnoreList) |
| 288 | + | |
| 289 | - | return game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(Position, Direction.unit * (MaxDistance or 999.999)), IgnoreList)
|
| 289 | + | |
| 290 | end; | |
| 291 | - | function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS) |
| 291 | + | }; |
| 292 | - | return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS) |
| 292 | + | |
| 293 | ["Weld"] = {
| |
| 294 | - | function CastProperRay(StartPos, EndPos, Distance, Ignore) |
| 294 | + | |
| 295 | - | local DIRECTION = CF(StartPos,EndPos).lookVector |
| 295 | + | local Weld = Create("Weld"){
|
| 296 | - | return Raycast(StartPos, DIRECTION, Distance, Ignore) |
| 296 | + | |
| 297 | Part0 = Part0, | |
| 298 | - | function SpawnTrail(FROM,TO,BIG) |
| 298 | + | |
| 299 | - | local TRAIL = Createpartp(3, Effects, "Neon", 0, 0.5, "Really red", "Trail", VT(0,0,0)) |
| 299 | + | |
| 300 | - | MakeFormd(TRAIL,"Cyl") |
| 300 | + | C1 = C1, |
| 301 | - | local DIST = (FROM - TO).Magnitude |
| 301 | + | } |
| 302 | - | if BIG == true then |
| 302 | + | |
| 303 | - | TRAIL.Size = VT(10,DIST,10) |
| 303 | + | end; |
| 304 | - | else |
| 304 | + | }; |
| 305 | - | TRAIL.Size = VT(0.25,DIST,0.25) |
| 305 | + | |
| 306 | ["Sound"] = {
| |
| 307 | - | TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0)) |
| 307 | + | |
| 308 | - | coroutine.resume(coroutine.create(function() |
| 308 | + | |
| 309 | - | for i = 1, 5 do |
| 309 | + | local S = Create("Sound"){
|
| 310 | - | Swait() |
| 310 | + | |
| 311 | - | TRAIL.Transparency = TRAIL.Transparency + 0.1 |
| 311 | + | |
| 312 | SoundId = id, | |
| 313 | - | TRAIL:remove() |
| 313 | + | Parent = par or workspace, |
| 314 | - | end)) |
| 314 | + | } |
| 315 | wait() | |
| 316 | - | function WACKYEFFECT(Table) |
| 316 | + | |
| 317 | - | local TYPE = (Table.EffectType or "Sphere") |
| 317 | + | game:GetService("Debris"):AddItem(S, 6)
|
| 318 | - | local SIZE = (Table.Size or VT(1,1,1)) |
| 318 | + | |
| 319 | - | local ENDSIZE = (Table.Size2 or VT(0,0,0)) |
| 319 | + | end; |
| 320 | - | local TRANSPARENCY = (Table.Transparency or 0) |
| 320 | + | }; |
| 321 | - | local ENDTRANSPARENCY = (Table.Transparency2 or 1) |
| 321 | + | |
| 322 | - | local CFRAME = (Table.CFrame or Torso.CFrame) |
| 322 | + | ["ParticleEmitter"] = {
|
| 323 | - | local MOVEDIRECTION = (Table.MoveToPos or nil) |
| 323 | + | |
| 324 | - | local ROTATION1 = (Table.RotationX or 0) |
| 324 | + | local fp = Create("ParticleEmitter"){
|
| 325 | - | local ROTATION2 = (Table.RotationY or 0) |
| 325 | + | |
| 326 | - | local ROTATION3 = (Table.RotationZ or 0) |
| 326 | + | |
| 327 | - | local MATERIAL = (Table.Material or "Neon") |
| 327 | + | |
| 328 | - | local COLOR = (Table.Color or C3(0,255,0)) |
| 328 | + | |
| 329 | - | local TIME = (Table.Time or 45) |
| 329 | + | |
| 330 | - | local SOUNDID = (Table.SoundID or nil) |
| 330 | + | |
| 331 | - | local SOUNDPITCH = (Table.SoundPitch or nil) |
| 331 | + | |
| 332 | - | local SOUNDVOLUME = (Table.SoundVolume or nil) |
| 332 | + | |
| 333 | - | coroutine.resume(coroutine.create(function() |
| 333 | + | |
| 334 | - | local PLAYSSOUND = false |
| 334 | + | |
| 335 | - | local SOUND = nil |
| 335 | + | |
| 336 | - | local EFFECT = Createpartp(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
|
| 336 | + | |
| 337 | - | if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then |
| 337 | + | |
| 338 | - | PLAYSSOUND = true |
| 338 | + | |
| 339 | - | SOUND = CreateSoundp(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false) |
| 339 | + | |
| 340 | Rotation = Rotation, | |
| 341 | - | EFFECT.Color = COLOR |
| 341 | + | |
| 342 | - | local MSH = nil |
| 342 | + | |
| 343 | - | if TYPE == "Sphere" then |
| 343 | + | VelocitySpread = VelocitySpread, |
| 344 | - | MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
|
| 344 | + | } |
| 345 | - | elseif TYPE == "Block" then |
| 345 | + | |
| 346 | - | MSH = IT("BlockMesh",EFFECT)
|
| 346 | + | end; |
| 347 | - | MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X) |
| 347 | + | }; |
| 348 | - | elseif TYPE == "Wave" then |
| 348 | + | |
| 349 | - | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
|
| 349 | + | CreateTemplate = {
|
| 350 | - | elseif TYPE == "Ring" then |
| 350 | + | |
| 351 | - | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
|
| 351 | + | }; |
| 352 | - | elseif TYPE == "Slash" then |
| 352 | + | |
| 353 | - | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
|
| 353 | + | abss = Instance.new("BillboardGui",char)
|
| 354 | - | elseif TYPE == "Round Slash" then |
| 354 | + | abss.Size = UDim2.new(10,0,10,0) |
| 355 | - | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
|
| 355 | + | abss.Enabled = false |
| 356 | - | elseif TYPE == "Swirl" then |
| 356 | + | imgl = Instance.new("ImageLabel",abss)
|
| 357 | - | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
|
| 357 | + | imgl.Position = UDim2.new(0,0,0,0) |
| 358 | - | elseif TYPE == "Skull" then |
| 358 | + | imgl.Size = UDim2.new(1,0,1,0) |
| 359 | - | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
|
| 359 | + | imgl.Image = "rbxassetid://711463989" |
| 360 | - | elseif TYPE == "Crystal" then |
| 360 | + | imgl.BackgroundTransparency = 1 |
| 361 | - | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
|
| 361 | + | imgl.ImageColor3 = Color3.new(.9,0,0) |
| 362 | img2 = Instance.new("ImageLabel",abss)
| |
| 363 | - | if MSH ~= nil then |
| 363 | + | img2.Position = UDim2.new(0,0,0,0) |
| 364 | - | local MOVESPEED = nil |
| 364 | + | img2.Size = UDim2.new(1,0,1,0) |
| 365 | - | if MOVEDIRECTION ~= nil then |
| 365 | + | img2.Image = "rbxassetid://711463989" |
| 366 | - | MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME |
| 366 | + | img2.BackgroundTransparency = 1 |
| 367 | img2.ImageColor3 = Color3.new(.9,0,0) | |
| 368 | - | local GROWTH = SIZE - ENDSIZE |
| 368 | + | |
| 369 | - | local TRANS = TRANSPARENCY - ENDTRANSPARENCY |
| 369 | + | function TargetSelect(person) |
| 370 | - | if TYPE == "Block" then |
| 370 | + | local dd=coroutine.wrap(function() |
| 371 | - | EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))) |
| 371 | + | if targetted ~= person then |
| 372 | - | else |
| 372 | + | targetted = person |
| 373 | - | EFFECT.CFrame = CFRAME |
| 373 | + | img2.Size = UDim2.new(1,0,1,0) |
| 374 | img2.ImageTransparency = 0 | |
| 375 | - | for LOOP = 1, TIME+1 do |
| 375 | + | img2.Position = UDim2.new(0,0,0,0) |
| 376 | - | Swait() |
| 376 | + | for i = 0, 2, 0.1 do |
| 377 | - | MSH.Scale = MSH.Scale - GROWTH/TIME |
| 377 | + | |
| 378 | - | if TYPE == "Wave" then |
| 378 | + | img2.Size = img2.Size + UDim2.new(.05,0,.05,0) |
| 379 | - | MSH.Offset = VT(0,0,-MSH.Scale.X/8) |
| 379 | + | img2.Position = img2.Position + UDim2.new(-.025,0,-.025,0) |
| 380 | img2.ImageTransparency = img2.ImageTransparency + 0.05 | |
| 381 | - | EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME |
| 381 | + | |
| 382 | - | if TYPE == "Block" then |
| 382 | + | |
| 383 | - | EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))) |
| 383 | + | |
| 384 | - | else |
| 384 | + | dd() |
| 385 | - | EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3)) |
| 385 | + | |
| 386 | function LockOn() | |
| 387 | - | if MOVEDIRECTION ~= nil then |
| 387 | + | local hum=FindHumanoid(Mouse.Target) |
| 388 | - | local ORI = EFFECT.Orientation |
| 388 | + | if hum then |
| 389 | - | EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED) |
| 389 | + | if hum.Parent:FindFirstChild("Head")and hum.Parent:FindFirstChild("HumanoidRootPart")then
|
| 390 | - | EFFECT.Orientation = ORI |
| 390 | + | TargetSelect(hum.Parent) |
| 391 | print(hum.Parent.Name) | |
| 392 | CFuncs["Sound"].Create("rbxassetid://743521656", char, 1, .8)
| |
| 393 | - | if PLAYSSOUND == false then |
| 393 | + | |
| 394 | - | EFFECT:remove() |
| 394 | + | |
| 395 | - | else |
| 395 | + | |
| 396 | - | SOUND.Stopped:Connect(function() |
| 396 | + | mouse.KeyDown:connect(function(key) |
| 397 | - | EFFECT:remove() |
| 397 | + | if key == "g" then |
| 398 | - | end) |
| 398 | + | if targetted then |
| 399 | if targetted.Name ~= "plytalent" then | |
| 400 | - | else |
| 400 | + | if targetted:FindFirstChild("Head")then end
|
| 401 | - | if PLAYSSOUND == false then |
| 401 | + | targetted.Parent = nil |
| 402 | - | EFFECT:remove() |
| 402 | + | targetted = nil |
| 403 | - | else |
| 403 | + | |
| 404 | - | repeat Swait() until SOUND.Playing == false |
| 404 | + | |
| 405 | - | EFFECT:remove() |
| 405 | + | |
| 406 | if key == "x" then | |
| 407 | targetted = nil | |
| 408 | - | end)) |
| 408 | + | |
| 409 | if key == "f" then | |
| 410 | LockOn() | |
| 411 | end | |
| 412 | end) |