SHOW:
|
|
- or go back to the newest paste.
| 1 | - | --GOD-- |
| 1 | + | if game:GetService("RunService"):IsClient() then error("Please run as a server script. Use h/ instead of hl/.") end
|
| 2 | print("FE Compatibility: by WaverlyCole & Mokiros")
| |
| 3 | InternalData = {}
| |
| 4 | do | |
| 5 | script.Parent = owner.Character | |
| 6 | local Event = Instance.new("RemoteEvent")
| |
| 7 | Event.Name = "UserInput" | |
| 8 | local function NewFakeEvent() | |
| 9 | local Fake = {fakeEvent=true,Connect=function(self,Func)self.Function=Func end}Fake.connect = Fake.Connect
| |
| 10 | return Fake | |
| 11 | end | |
| 12 | local Mouse = {Target=nil,Hit=CFrame.new(),KeyUp=NewFakeEvent(),KeyDown=NewFakeEvent(),Button1Up=NewFakeEvent(),Button1Down=NewFakeEvent()}
| |
| 13 | local UserInputService = {InputBegan=NewFakeEvent(),InputEnded=NewFakeEvent()}
| |
| 14 | local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
| |
| 15 | self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
| |
| 16 | end};ContextActionService.UnBindAction = ContextActionService.BindAction | |
| 17 | local function TriggerEvent(self,Event,...) | |
| 18 | local Trigger = Mouse[Event] | |
| 19 | if Trigger and Trigger.fakeEvent and Trigger.Function then | |
| 20 | Trigger.Function(...) | |
| 21 | end | |
| 22 | end | |
| 23 | Mouse.TrigEvent = TriggerEvent | |
| 24 | UserInputService.TrigEvent = TriggerEvent | |
| 25 | Event.OnServerEvent:Connect(function(FiredBy,Input) | |
| 26 | if FiredBy.Name ~= owner.Name then end | |
| 27 | if Input.MouseEvent then | |
| 28 | Mouse.Target = Input.Target | |
| 29 | Mouse.Hit = Input.Hit | |
| 30 | else | |
| 31 | local Begin = Input.UserInputState == Enum.UserInputState.Begin | |
| 32 | if Input.UserInputType == Enum.UserInputType.MouseButton1 then | |
| 33 | return Mouse:TrigEvent(Begin and "Button1Down" or "Button1Up") | |
| 34 | end | |
| 35 | for _,Action in pairs(ContextActionService.Actions) do | |
| 36 | for _,Key in pairs(Action.Keys) do | |
| 37 | if Key==Input.KeyCode then | |
| 38 | Action.Function(Action.Name,Input.UserInputState,Input) | |
| 39 | end | |
| 40 | end | |
| 41 | end | |
| 42 | Mouse:TrigEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower()) | |
| 43 | UserInputService:TrigEvent(Begin and "InputBegan" or "InputEnded",Input,false) | |
| 44 | end | |
| 45 | end) | |
| 46 | InternalData["Mouse"] = Mouse | |
| 47 | InternalData["ContextActionService"] = ContextActionService | |
| 48 | InternalData["UserInputService"] = UserInputService | |
| 49 | Event.Parent = NLS([[ | |
| 50 | local Player = owner | |
| 51 | local Event = script:WaitForChild("UserInput")
| |
| 52 | local UserInputService = game:GetService("UserInputService")
| |
| 53 | local Mouse = Player:GetMouse() | |
| 54 | local Input = function(Input,gameProcessedEvent) | |
| 55 | if gameProcessedEvent then return end | |
| 56 | Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
| |
| 57 | end | |
| 58 | UserInputService.InputBegan:Connect(Input) | |
| 59 | UserInputService.InputEnded:Connect(Input) | |
| 60 | local Hit,Target | |
| 61 | while wait(1/30) do | |
| 62 | if Hit ~= Mouse.Hit or Target ~= Mouse.Target then | |
| 63 | Hit,Target = Mouse.Hit,Mouse.Target | |
| 64 | Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
| |
| 65 | end | |
| 66 | end | |
| 67 | ]],owner.Character) | |
| 68 | end | |
| 69 | RealGame = game;game = setmetatable({},{
| |
| 70 | __index = function (self,Index) | |
| 71 | local Sandbox = function (Thing) | |
| 72 | if Thing:IsA("Player") then
| |
| 73 | local RealPlayer = Thing | |
| 74 | return setmetatable({},{
| |
| 75 | __index = function (self,Index) | |
| 76 | local Type = type(RealPlayer[Index]) | |
| 77 | if Type == "function" then | |
| 78 | if Index:lower() == "getmouse" or Index:lower() == "mouse" then | |
| 79 | return function (self) | |
| 80 | return InternalData["Mouse"] | |
| 81 | end | |
| 82 | end | |
| 83 | return function (self,...) | |
| 84 | return RealPlayer[Index](RealPlayer,...) | |
| 85 | end | |
| 86 | else | |
| 87 | if Index == "PlrObj" then | |
| 88 | return RealPlayer | |
| 89 | end | |
| 90 | return RealPlayer[Index] | |
| 91 | end | |
| 92 | end; | |
| 93 | __tostring = function(self) | |
| 94 | return RealPlayer.Name | |
| 95 | end | |
| 96 | }) | |
| 97 | end | |
| 98 | end | |
| 99 | if RealGame[Index] then | |
| 100 | local Type = type(RealGame[Index]) | |
| 101 | if Type == "function" then | |
| 102 | if Index:lower() == "getservice" or Index:lower() == "service" then | |
| 103 | return function (self,Service) | |
| 104 | if Service:lower() == "players" then | |
| 105 | return setmetatable({},{
| |
| 106 | __index = function (self2,Index2) | |
| 107 | local RealService = RealGame:GetService(Service) | |
| 108 | local Type2 = type(Index2) | |
| 109 | if Type2 == "function" then | |
| 110 | return function (self,...) | |
| 111 | return RealService[Index2](RealService,...) | |
| 112 | end | |
| 113 | else | |
| 114 | if Index2:lower() == "localplayer" then | |
| 115 | return Sandbox(owner) | |
| 116 | end | |
| 117 | return RealService[Index2] | |
| 118 | end | |
| 119 | end; | |
| 120 | __tostring = function(self) | |
| 121 | return RealGame:GetService(Service).Name | |
| 122 | end | |
| 123 | }) | |
| 124 | elseif Service:lower() == "contextactionservice" then | |
| 125 | return InternalData["ContextActionService"] | |
| 126 | elseif Service:lower() == "contextactionservice" then | |
| 127 | return InternalData["UserInputService"] | |
| 128 | elseif Service:lower() == "runservice" then | |
| 129 | return setmetatable({},{
| |
| 130 | __index = function(self2,Index2) | |
| 131 | local RealService = RealGame:GetService(Service) | |
| 132 | local Type2 = type(Index2) | |
| 133 | if Type2 == "function" then | |
| 134 | return function (self,...) | |
| 135 | return RealService[Index2](RealService,...) | |
| 136 | end | |
| 137 | else | |
| 138 | if Index2:lower() == "bindtorenderstep" then | |
| 139 | return function (self,Name,Priority,Function) | |
| 140 | return RealGame:GetService("RunService").Stepped:Connect(Function)
| |
| 141 | end | |
| 142 | end | |
| 143 | if Index2:lower() == "renderstepped" then | |
| 144 | return RealService["Stepped"] | |
| 145 | end | |
| 146 | return RealService[Index2] | |
| 147 | end | |
| 148 | end | |
| 149 | }) | |
| 150 | else | |
| 151 | return RealGame:GetService(Service) | |
| 152 | end | |
| 153 | end | |
| 154 | end | |
| 155 | return function (self,...) | |
| 156 | return RealGame[Index](RealGame,...) | |
| 157 | end | |
| 158 | else | |
| 159 | if game:GetService(Index) then | |
| 160 | return game:GetService(Index) | |
| 161 | end | |
| 162 | return RealGame[Index] | |
| 163 | end | |
| 164 | else | |
| 165 | return nil | |
| 166 | end | |
| 167 | end | |
| 168 | });Game = game;owner = game:GetService("Players").LocalPlayer;script = {}
| |
| 169 | print("Complete! Running...")
| |
| 170 | ||
| 171 | Player = game.Players.LocalPlayer | |
| 172 | Char = Player.Character | |
| 173 | Torso = Char.Torso | |
| 174 | Head = Char.Head | |
| 175 | Arms = {Char:FindFirstChild'Right Arm', Char:FindFirstChild'Left Arm'}
| |
| 176 | Shoulders = {Torso:FindFirstChild'Right Shoulder', Torso:FindFirstChild'Left Shoulder'}
| |
| 177 | Legs = {Char:FindFirstChild'Right Leg', Char:FindFirstChild'Left Leg'}
| |
| 178 | HumRoot = Char:FindFirstChild'HumanoidRootPart' | |
| 179 | HumRootJ = HumRoot['RootJoint'] | |
| 180 | Humanoid = Char:FindFirstChild'Humanoid' | |
| 181 | Mouse = Player:GetMouse() | |
| 182 | ||
| 183 | local s = Workspace:FindFirstChild('god_script: '..Player.Name,true)
| |
| 184 | if s then | |
| 185 | local f = s:FindFirstChild'stop' | |
| 186 | if f then | |
| 187 | f:Invoke() | |
| 188 | end | |
| 189 | end | |
| 190 | s=nil | |
| 191 | ||
| 192 | Debris = game:service'Debris' | |
| 193 | RS = game:service'RunService' | |
| 194 | Chatserv = game:service'Chat' | |
| 195 | Insertserv = game:service'InsertService' | |
| 196 | ||
| 197 | Neck = Torso:FindFirstChild'Neck' | |
| 198 | ||
| 199 | pcall(function() Char.Shirobako:Destroy() end) | |
| 200 | Main = Instance.new("Model",Char)
| |
| 201 | Main.Name = "Shirobako" | |
| 202 | script.Parent=Main | |
| 203 | ||
| 204 | cfn=CFrame.new | |
| 205 | ang = function(x,y,z) return CFrame.Angles(x or 0,y or 0,z or 0)end | |
| 206 | m={tau=math.pi*2;float=196.25}
| |
| 207 | v3n=Vector3.new | |
| 208 | md,mr,PI=math.rad, math.random, math.pi | |
| 209 | bcol=BrickColor.new | |
| 210 | numkp=NumberSequenceKeypoint.new | |
| 211 | colkp=ColorSequenceKeypoint.new | |
| 212 | ||
| 213 | function l(a1,x,y,z,rx,ry,rz) | |
| 214 | local cf | |
| 215 | if tostring(a1):find(',') == nil then
| |
| 216 | cf=a1.CFrame | |
| 217 | else cf=a1 end | |
| 218 | return cf*CFrame.new(x or 0,y or 0,z or 0)*CFrame.Angles( | |
| 219 | rx or 0,ry or 0,yz or 0) | |
| 220 | end | |
| 221 | ||
| 222 | New = function(what) | |
| 223 | return function(bar) | |
| 224 | local obj=Instance.new(what) | |
| 225 | for arg,val in pairs(bar) do | |
| 226 | if arg == "_P" then | |
| 227 | obj.Parent = val | |
| 228 | elseif arg=="_PP" then | |
| 229 | obj.Part0=val[1] | |
| 230 | obj.Part1=val[2] | |
| 231 | else | |
| 232 | if pcall(function()return obj[arg] end) then | |
| 233 | obj[arg]=val | |
| 234 | end | |
| 235 | end | |
| 236 | end | |
| 237 | return obj | |
| 238 | end | |
| 239 | end | |
| 240 | ||
| 241 | Edit = function(what) | |
| 242 | return function(args) | |
| 243 | for ind,obj in next,what do | |
| 244 | for arg,val in next,args do | |
| 245 | local child,argu = arg:match"(.+)%.(.+)" | |
| 246 | if child and argu then | |
| 247 | if pcall(function()return obj[child][argu] end) then | |
| 248 | -- print'a' | |
| 249 | obj[child][argu]=val | |
| 250 | end | |
| 251 | else | |
| 252 | if arg=='_F'then | |
| 253 | val(ind,obj) | |
| 254 | elseif pcall(function()return obj[arg]end) then | |
| 255 | obj[arg]=val | |
| 256 | end | |
| 257 | end | |
| 258 | end | |
| 259 | end | |
| 260 | end | |
| 261 | end | |
| 262 | ||
| 263 | _1,_2,_3=nil,nil | |
| 264 | set_material = nil | |
| 265 | set_color = nil | |
| 266 | set_parent = nil | |
| 267 | set_anchor = nil | |
| 268 | Part = function(x,y,z,col,tr) | |
| 269 | local p = New"Part"{
| |
| 270 | _P=set_parent or Main; | |
| 271 | BrickColor = bcol(col or set_color or "White"); | |
| 272 | CanCollide = false; | |
| 273 | Transparency = tr or 0; | |
| 274 | Size = Vector3.new(x or 0,y or 0,z or 0); | |
| 275 | Material = set_material or 'SmoothPlastic'; | |
| 276 | Anchored = (set_anchor~=nil and set_anchor or false) | |
| 277 | } | |
| 278 | for _,sur in next,Enum.NormalId:GetEnumItems() do | |
| 279 | p[sur.Name..'Surface'] = 10 | |
| 280 | end | |
| 281 | _1 = p | |
| 282 | return p | |
| 283 | end | |
| 284 | Wedge = function(x,y,z,col,tr) | |
| 285 | local p = New"WedgePart"{
| |
| 286 | _P=Main; | |
| 287 | BrickColor = bcol(col or "White"); | |
| 288 | CanCollide = false; | |
| 289 | Transparency = tr or 0; | |
| 290 | Size = Vector3.new(x or 0,y or 0,z or 0); | |
| 291 | Material = set_material or 'SmoothPlastic'; | |
| 292 | Anchored = (set_anchor~=nil and set_anchor or false) | |
| 293 | } | |
| 294 | for _,sur in next,Enum.NormalId:GetEnumItems() do | |
| 295 | p[sur.Name..'Surface'] = 0 | |
| 296 | end | |
| 297 | _1 = p | |
| 298 | return p | |
| 299 | end | |
| 300 | Weld = function(part0,part1,c0,c1,...) --over-engineered welding function which accepts many things | |
| 301 | local ar = {...}
| |
| 302 | local cframe0,cframe1 | |
| 303 | local function checkf()local res=true | |
| 304 | for i,v in pairs(ar)do | |
| 305 | if type(v) ~= 'number' then | |
| 306 | res=false | |
| 307 | end | |
| 308 | end | |
| 309 | return res | |
| 310 | end | |
| 311 | if type(c0) == 'table' then | |
| 312 | cframe0 = CFrame.new(c0[1] or 0, c0[2] or 0, c0[3] or 0) * CFrame.Angles( | |
| 313 | c0[4] or 0, c0[5] or 0, c0[6] or 0) | |
| 314 | elseif type(c0) == 'userdata' then | |
| 315 | cframe0 = c0 | |
| 316 | elseif type(c0) == 'number' and checkf() then | |
| 317 | cframe0 = CFrame.new(c0 or 0,c1 or 0,ar[1] or 0) * CFrame.Angles(ar[2] or 0, ar[3] or 0, ar[4] or 0) | |
| 318 | end | |
| 319 | if type(c1) == 'table' then | |
| 320 | cframe1 = CFrame.new(c1[1] or 0, c1[2] or 0, c1[3] or 0) * CFrame.Angles( | |
| 321 | c1[4] or 0, c1[5] or 0, c1[6] or 0) | |
| 322 | elseif type(c1) == 'userdata' then | |
| 323 | cframe1 = c1 | |
| 324 | elseif type(c1) == 'number' and (not c0 or (c0 and type(c0) == 'table')) then | |
| 325 | cframe1 = CFrame.new(c1 or 0, ar[1] or 0, ar[2] or 0) * CFrame.Angles(ar[3] or 0, ar[4] or 0, ar[5] or 0) | |
| 326 | end | |
| 327 | for i,v in pairs(ar)do | |
| 328 | if type(v) == 'table' then | |
| 329 | cframe1 = CFrame.new(v[1] or 0, v[2] or 0, v[3] or 0) * CFrame.new(v[4] or 0, v[5] or 0, v[6] or 0) | |
| 330 | elseif type(v) == 'userdata' then | |
| 331 | cframe1 = v | |
| 332 | end | |
| 333 | end | |
| 334 | ||
| 335 | cframe0,cframe1 = cframe1,cframe0 | |
| 336 | part0.Position=part1.Position | |
| 337 | local weld = Instance.new("Motor")
| |
| 338 | weld.Part0 = part0 | |
| 339 | weld.Part1 = part1 | |
| 340 | weld.C0 = cframe0 or CFrame.new() | |
| 341 | weld.C1 = cframe1 or CFrame.new() | |
| 342 | weld.MaxVelocity = .1 | |
| 343 | weld.Parent = part0 | |
| 344 | _2=weld | |
| 345 | return weld | |
| 346 | end | |
| 347 | ||
| 348 | mesh_ids = {
| |
| 349 | spike = "rbxassetid://1033714"; | |
| 350 | ring = "rbxassetid://3270017"; | |
| 351 | coil = 'rbxassetid://16606212'; | |
| 352 | diamond = 'rbxassetid://9756362'; | |
| 353 | rock = 'rbxassetid://1290033'; | |
| 354 | } | |
| 355 | mesh_texs = {
| |
| 356 | rock = 'rbxassetid://1290030'; | |
| 357 | } | |
| 358 | ||
| 359 | Mesh = function(parent,id,sx,sy,sz) | |
| 360 | local name = ( (id == 'cyl' and 'CylinderMesh') or (id == 'bl' and 'BlockMesh') or 'SpecialMesh') | |
| 361 | local mesh = Instance.new(name) | |
| 362 | if id == 's' then | |
| 363 | mesh.MeshType = Enum.MeshType.Sphere | |
| 364 | elseif id == 'w' then | |
| 365 | mesh.MeshType = Enum.MeshType.Wedge | |
| 366 | elseif string.find(id,"://") ~= nil then | |
| 367 | mesh.MeshId = id | |
| 368 | end | |
| 369 | mesh.Scale = Vector3.new(sx or 1, sy or 1, sz or 1) | |
| 370 | mesh.Parent = parent | |
| 371 | _3=mesh | |
| 372 | return mesh | |
| 373 | end | |
| 374 | ||
| 375 | cane = Part(.1,4,.1,'Deep blue')Mesh(_1,'cyl') | |
| 376 | hw=Weld(cane,Arms[1],0,-1.15,0,-PI/2) | |
| 377 | ||
| 378 | bl = Part(.4,.4,.1)Mesh(_1,'s') | |
| 379 | Weld(bl,cane,0,2.25) | |
| 380 | bl2 = Part(.3,.3,.1,'Deep orange')Mesh(_1,'s',1,1,1.25) | |
| 381 | Weld(bl2,bl)_1.Material='Neon' | |
| 382 | set_color='Black' | |
| 383 | for i=0,1,1/4 do | |
| 384 | ring = Part(.1,.1,.1)Mesh(_1,mesh_ids.ring,.25-i*(.25*.9),.25-i*(.25*.9),.1) | |
| 385 | Weld(ring,cane,0,-2-i*.25,0,PI/2) | |
| 386 | end | |
| 387 | set_color='Bright orange' | |
| 388 | for a=-PI/2,PI/2,PI/6 do | |
| 389 | arm = Part(.1,.5,.1)Mesh(_1,'bl',.5,1,.5) | |
| 390 | New'Weld'{_P=arm;_PP={arm,bl};
| |
| 391 | C1=cfn(0,0,0)*ang(0,0,a); | |
| 392 | C0=cfn(0,-arm.Size.y,0); | |
| 393 | } | |
| 394 | dec = Part(.1,.1,.1,'Bright red')Mesh(_1,'bl',.525,1,.525)_1.Material='Neon' | |
| 395 | Weld(dec,arm,0,.25*.8) | |
| 396 | end | |
| 397 | ||
| 398 | arm=Part(.1,.9,.1)Mesh(_1,'bl',.5,1,.5) | |
| 399 | New'Weld'{_P=arm;_PP={arm,bl};
| |
| 400 | C1=cfn(.1,-.15,0)*ang(0,0,md'25'); | |
| 401 | C0=cfn(0,arm.Size.y/2,0); | |
| 402 | } | |
| 403 | ||
| 404 | dec = Part(.1,.1,.1,'Bright red')Mesh(_1,'bl',.525,1,.525)_1.Material='Neon' | |
| 405 | Weld(dec,arm,0,-.45*.8) | |
| 406 | arm=Part(.1,.9,.1)Mesh(_1,'bl',.5,1,.5) | |
| 407 | ||
| 408 | New'Weld'{_P=arm;_PP={arm,bl};
| |
| 409 | C1=cfn(-.1,-.15,0)*ang(0,0,md'-25'); | |
| 410 | C0=cfn(0,arm.Size.y/2,0); | |
| 411 | } | |
| 412 | dec = Part(.1,.1,.1,'Bright red')Mesh(_1,'bl',.525,1,.525)_1.Material='Neon' | |
| 413 | Weld(dec,arm,0,-.45*.8) | |
| 414 | ||
| 415 | set_color=nil | |
| 416 | coil=Part(.1,.1,.1,'New Yeller')Mesh(_1,mesh_ids.coil,.11,.11,1.15) | |
| 417 | Weld(coil,cane,0,0,0,PI/2,0,md'15') | |
| 418 | ||
| 419 | disk=Part(.1,.1,.1,'New Yeller')Mesh(_1,'cyl',1.1,1,1.1) | |
| 420 | Weld(disk,cane,0,-2+.085) | |
| 421 | disk=Part(.1,.1,.1,'New Yeller')Mesh(_1,'cyl',1.1,1,1.1) | |
| 422 | Weld(disk,cane,0,2-.085) | |
| 423 | ||
| 424 | rainbow={}
| |
| 425 | for i=0,1,.1 do | |
| 426 | local p=60/360 | |
| 427 | local col=Color3.fromHSV(p+((p*.25)*i),1,1) | |
| 428 | local kp=colkp(i,col) | |
| 429 | table.insert(rainbow,kp) | |
| 430 | end | |
| 431 | sizes={}
| |
| 432 | b=false | |
| 433 | for i=0,1,1/4 do | |
| 434 | b=not b | |
| 435 | local s=.1+(i/2) | |
| 436 | local s2=s/5 | |
| 437 | local kp=numkp(i,(b and s or s2)) | |
| 438 | table.insert(sizes,kp) | |
| 439 | end | |
| 440 | emitter=New"ParticleEmitter"{_P=coil;
| |
| 441 | Texture='rbxassetid://98824648'; | |
| 442 | Color=ColorSequence.new(rainbow); | |
| 443 | Size=NumberSequence.new(sizes); | |
| 444 | VelocitySpread=180; | |
| 445 | Lifetime=NumberRange.new(3); | |
| 446 | Transparency=NumberSequence.new{numkp(0,1);numkp(.5,.5);numkp(1,1)};
| |
| 447 | Speed=NumberRange.new(.25,.75); | |
| 448 | Rotation=NumberRange.new(0,75); | |
| 449 | LockedToPart=true; | |
| 450 | Rate=3; | |
| 451 | } | |
| 452 | ||
| 453 | Joints={}
| |
| 454 | ||
| 455 | function addJoint(name,weld,c0,c1) | |
| 456 | local t= {}
| |
| 457 | t.w=weld | |
| 458 | t.n_c0 = c0 or weld.C0 | |
| 459 | t.n_c1 = c1 or weld.C1 | |
| 460 | t._desired=weld.C0 | |
| 461 | t.spd=.1 | |
| 462 | t.l=0 | |
| 463 | ||
| 464 | function t:get() | |
| 465 | return setmetatable({},{__newindex=function(t,i,v)
| |
| 466 | if i=='d' and self.l == 0 then | |
| 467 | self.d = v | |
| 468 | elseif i == 's' then self.spd=v end end}) | |
| 469 | end | |
| 470 | ||
| 471 | setmetatable(t,{__newindex=function(ta,i,v)
| |
| 472 | if i=='d' then | |
| 473 | ta._desired = ta.n_c0 * v | |
| 474 | end end}) | |
| 475 | ||
| 476 | Joints[name]=t | |
| 477 | getfenv(0)[name]=Joints[name] | |
| 478 | end | |
| 479 | ||
| 480 | --Create Joints-- | |
| 481 | addJoint('rw',New"Weld"{_P = Torso;Part0=Torso;Part1=Arms[1];
| |
| 482 | C0=cfn(1,0.5,0); C1=cfn(-.5,0.5,0)}) | |
| 483 | addJoint('lw',New"Weld"{_P = Torso;Part0=Torso;Part1=Arms[2];
| |
| 484 | C0=cfn(-1,0.5,0); C1=cfn(.5,0.5,0)}) | |
| 485 | addJoint('rw2',New"Weld"{_P=Torso;_PP={Torso,Legs[1]};
| |
| 486 | C0=cfn(1,-1,0);C1=cfn(0.5,1,0)}) | |
| 487 | addJoint('lw2',New"Weld"{_P=Torso;_PP={Torso,Legs[2]};
| |
| 488 | C0=cfn(-1,-1,0);C1=cfn(-0.5,1,0)}) | |
| 489 | ||
| 490 | addJoint('tw',HumRootJ,cfn(0,0,0,-1,0,0,0,0,1,0,1,-0),
| |
| 491 | cfn(0,0,0,-1,-0,-0,0,0,1,0,1,0)) | |
| 492 | ||
| 493 | addJoint('nw',Neck,cfn(0,1,0,-1,-0,-0,0,0,1,0,1,0),
| |
| 494 | cfn(0,-.5,0,-1,-0,-0,0,0,1,0,1,0)) | |
| 495 | addJoint('hw',hw)
| |
| 496 | ||
| 497 | Connections = {}
| |
| 498 | ||
| 499 | anim_con = RS.Stepped:connect(function() | |
| 500 | for _,j in next,Joints do | |
| 501 | j.w.C0 = j.w.C0:lerp(j._desired,j.spd) | |
| 502 | end | |
| 503 | end) | |
| 504 | ||
| 505 | local pt=tick() | |
| 506 | local pm=0 | |
| 507 | local ppos=Torso.Position | |
| 508 | function shadow_effect() | |
| 509 | local ssss={}
| |
| 510 | if (tick()-pt)>.075 then | |
| 511 | -- for _,hum in next,findHum(Torso.Position,10)do | |
| 512 | -- hum.Parent:BreakJoints() | |
| 513 | -- end | |
| 514 | Char.archivable=true | |
| 515 | local cl=Char:Clone()cl.Parent=Main | |
| 516 | Char.archivable=false | |
| 517 | for _,obj in next,cl:children() do | |
| 518 | if not obj:IsA'Part' then obj:Destroy() | |
| 519 | elseif obj:IsA'Part'then | |
| 520 | Edit{obj}{Transparency=.5;Reflectance=.1;Anchored=true;CanCollide=false;
| |
| 521 | Material='Neon';BrickColro=bcol'New Yeller'} | |
| 522 | local ttt={obj,obj.CFrame}
| |
| 523 | table.insert(ssss,ttt) | |
| 524 | end | |
| 525 | end | |
| 526 | ||
| 527 | Spawn(function() | |
| 528 | for i=0,1,.1 do | |
| 529 | for _,v in next,ssss do | |
| 530 | v[1].Transparency=.5+i/2 | |
| 531 | v[1].Size=v[1].Size*1.025 | |
| 532 | v[1].CFrame=v[2] | |
| 533 | v[1].BrickColor=bcol'New Yeller' | |
| 534 | end | |
| 535 | wait() | |
| 536 | end | |
| 537 | cl:Destroy()end) | |
| 538 | pt=tick() | |
| 539 | end | |
| 540 | end | |
| 541 | dash=false | |
| 542 | ||
| 543 | function findHum(pos,rad,hum2) | |
| 544 | local hums={}
| |
| 545 | function check(a) | |
| 546 | local res=false | |
| 547 | for i,ho in pairs(hums)do | |
| 548 | if a==ho then res=true end | |
| 549 | end | |
| 550 | return res | |
| 551 | end | |
| 552 | for i,v in pairs(Workspace:children())do | |
| 553 | if v:IsA'Model'and v~=Char and v~=(hum2 or Char) then | |
| 554 | for i,q in pairs(v:children())do | |
| 555 | if q:IsA'Humanoid' and q.Parent:FindFirstChild'Torso'and(q.Torso.Position-pos).magnitude < rad then | |
| 556 | if not check(q)then | |
| 557 | table.insert(hums,q) | |
| 558 | end | |
| 559 | end | |
| 560 | end | |
| 561 | end | |
| 562 | end | |
| 563 | return hums | |
| 564 | end | |
| 565 | ||
| 566 | -- Head.face.Texture='rbxassetid://321187438' | |
| 567 | WalkSpeed=20 | |
| 568 | ||
| 569 | do --Idleloop | |
| 570 | --IDLES-- | |
| 571 | Anim="Idle" | |
| 572 | local sin,cos,abs = math.sin,math.cos,math.abs | |
| 573 | local rw,lw,rw2,lw2,tw = rw:get(),lw:get(),rw2:get(),lw2:get(),tw:get() | |
| 574 | local angle=0 | |
| 575 | local a=md'7.5' | |
| 576 | idle_con=RS.Stepped:connect(function() | |
| 577 | ||
| 578 | local walkmag = v3n(HumRoot.Velocity.x,0,HumRoot.Velocity.z).magnitude | |
| 579 | angle=angle%100+1/5 | |
| 580 | ||
| 581 | if walkmag > .2 then | |
| 582 | Anim='Walk' | |
| 583 | else | |
| 584 | Anim='Idle' | |
| 585 | end | |
| 586 | Humanoid.WalkSpeed=WalkSpeed | |
| 587 | if Anim == 'Idle' then | |
| 588 | rw.d = cfn(0,sin(angle)*.1,0)*ang(0,0,md'10'+sin(angle)*.075) | |
| 589 | lw.d = cfn(0,sin(angle)*.1,0)*ang(0,0,-md'10'-sin(angle)*.075) | |
| 590 | ||
| 591 | rw2.d = cfn(sin(angle)*.05,abs(sin(angle))*.05,0) * ang(0,0,md'5'-sin(angle)*.1) | |
| 592 | lw2.d = cfn(-sin(angle)*.05,abs(sin(angle))*.05,0) * ang(0,0,-md'5'+sin(angle)*.1) | |
| 593 | ||
| 594 | tw.d = cfn(0,0,sin(angle)*.15) | |
| 595 | elseif Anim == 'Walk' then | |
| 596 | tw.d=cfn(0,0,sin(angle)*.1)*ang(md'5') | |
| 597 | ||
| 598 | rw.d=ang(md'-15',0,a) | |
| 599 | lw.d=ang(md'-15',0,-a) | |
| 600 | rw2.d=ang(md'-15',0,a) | |
| 601 | lw2.d=ang(md'-15',0,-a) | |
| 602 | if dash and WalkSpeed>0 then | |
| 603 | Humanoid.WalkSpeed=130 | |
| 604 | shadow_effect() | |
| 605 | end | |
| 606 | end | |
| 607 | end) | |
| 608 | end | |
| 609 | ||
| 610 | function ringSFX(cf,p,r,s) | |
| 611 | p.Anchored=true | |
| 612 | p.CFrame=cf | |
| 613 | local t=p.Transparency | |
| 614 | local msh=Mesh(p,mesh_ids.ring) | |
| 615 | Spawn(function() | |
| 616 | for i=0,1,(s or .1) do | |
| 617 | p.Transparency=t+((1-t)*i) | |
| 618 | msh.Scale=v3n(r*i,r*i,1) | |
| 619 | wait() | |
| 620 | end | |
| 621 | p:Destroy() | |
| 622 | end) | |
| 623 | end | |
| 624 | function sphereSFX(cf,p,r,s) | |
| 625 | p.Anchored=true | |
| 626 | p.CFrame=cf | |
| 627 | local t=p.Transparency | |
| 628 | local msh=Mesh(p,'s') | |
| 629 | Spawn(function() | |
| 630 | for i=0,1,(s or .1) do | |
| 631 | p.Transparency=t+((1-t)*i) | |
| 632 | msh.Scale=v3n(r*i,r*i,r*i) | |
| 633 | wait() | |
| 634 | end | |
| 635 | p:Destroy() | |
| 636 | end) | |
| 637 | end | |
| 638 | ||
| 639 | function hideAllParts(wut,an) | |
| 640 | local parts={}
| |
| 641 | local function hide(object,anchor) | |
| 642 | if object:IsA("BasePart") or object:IsA("Decal") then
| |
| 643 | local tr=object.Transparency | |
| 644 | local t={o=object,t=tr}
| |
| 645 | object.Transparency = 1 | |
| 646 | if object:IsA'BasePart' then | |
| 647 | t.a=object.Anchored | |
| 648 | ||
| 649 | if anchor==nil then | |
| 650 | object.Anchored=true | |
| 651 | else | |
| 652 | if anchor == 1 then | |
| 653 | object.Anchored=true | |
| 654 | else | |
| 655 | object.Anchored=false | |
| 656 | end | |
| 657 | end | |
| 658 | ||
| 659 | t.c=object.CanCollide | |
| 660 | object.CanCollide=false | |
| 661 | end | |
| 662 | ||
| 663 | table.insert(parts,t) | |
| 664 | end | |
| 665 | for _, child in ipairs(object:GetChildren()) do | |
| 666 | hide(child,an) | |
| 667 | end | |
| 668 | end | |
| 669 | hide(wut,an) | |
| 670 | -- for i,v in pairs(Char:children())do | |
| 671 | -- pcall(function()print(v.Anchored)end)end | |
| 672 | return function() | |
| 673 | for i,v in ipairs(parts) do | |
| 674 | v.o.Transparency = v.t | |
| 675 | if v.o:IsA'BasePart'then | |
| 676 | if v.a~=nil then | |
| 677 | v.o.Anchored=v.a | |
| 678 | end | |
| 679 | if v.c~=nil then | |
| 680 | v.o.CanCollide=v.c | |
| 681 | end | |
| 682 | end | |
| 683 | end | |
| 684 | end | |
| 685 | end | |
| 686 | ||
| 687 | -- unh=hideAllParts(Char)wait() | |
| 688 | -- unh() | |
| 689 | ||
| 690 | do --Main part of the script | |
| 691 | ||
| 692 | function slash(mouse) | |
| 693 | rw.l=1 | |
| 694 | rw.d=ang(PI/2,0,-PI/4/2)*ang(0,PI/2) | |
| 695 | hw.d=cfn(0,-.85,0)*ang(0,PI/2) | |
| 696 | wait'.5' | |
| 697 | local p=Part(4,4,1,'New Yeller',.5) | |
| 698 | p.Anchored=true | |
| 699 | local stp,enp=l(Torso,-5,0,-3).p,l(Torso,5,0,-3).p | |
| 700 | p.CFrame=cfn(stp,enp) | |
| 701 | local mag=(stp-enp).magnitude | |
| 702 | local sx,sz=p.Size.x,p.Size.y | |
| 703 | ||
| 704 | for _,hum in next,findHum(l(Torso,0,0,-3).p,5) do | |
| 705 | ringSFX(l(hum.Torso),Part(1,1,1,'New Yeller',.5),10) | |
| 706 | ringSFX(l(hum.Torso)*ang(PI/2),Part(1,1,1,'New Yeller',.5),10) | |
| 707 | ringSFX(l(hum.Torso)*ang(PI/2,PI/2),Part(1,1,1,'New Yeller',.5),10) | |
| 708 | ||
| 709 | local bl=Part(1,1,1,'New Yeller')bl.Anchored=true bl.Material='Neon' | |
| 710 | local msh=Mesh(_1,'s') | |
| 711 | bl.CFrame=hum.Torso.CFrame | |
| 712 | msh.Scale=hum.Parent:GetExtentsSize() | |
| 713 | local lol=math.max(msh.Scale.x,msh.Scale.y,msh.Scale.z) | |
| 714 | ||
| 715 | local scale=v3n(lol,lol,lol)*1.25 | |
| 716 | local pos=hum.Torso.Position | |
| 717 | ||
| 718 | ---Shrink ball, teleball with trail, enlarge and unhide--- | |
| 719 | Spawn(function() | |
| 720 | local unhide=hideAllParts(hum.Parent) | |
| 721 | for i=1,.1,-.05 do | |
| 722 | msh.Scale=scale*i | |
| 723 | wait() | |
| 724 | end | |
| 725 | ||
| 726 | bl.CFrame=cfn(mouse.hit.p) | |
| 727 | local mag=(pos-l(bl).p).magnitude | |
| 728 | local laz=Part(1,1,mag,'New Yeller',.5) laz.Anchored=true | |
| 729 | laz.CFrame=cfn(l(bl).p,pos)*cfn(0,0,-mag/2) | |
| 730 | Spawn(function() | |
| 731 | for i=0,1,.1 do laz.Transparency=i wait()end laz:Destroy()end) | |
| 732 | for i=.1,1,.1 do | |
| 733 | msh.Scale=scale*i | |
| 734 | wait() | |
| 735 | end | |
| 736 | hum.Parent:MoveTo(bl.Position) | |
| 737 | -- repeat wait() until (l(hum.Torso).p-l(bl,0,2).p).magnitude<3 | |
| 738 | unhide() | |
| 739 | ||
| 740 | bl:Destroy() | |
| 741 | end) | |
| 742 | ||
| 743 | end | |
| 744 | Spawn(function() | |
| 745 | for i=0,1,.25 do | |
| 746 | p.Size=v3n(sx,sz,i*mag) | |
| 747 | p.CFrame=cfn(stp,enp)*cfn(0,0,-(i*(mag/2))) | |
| 748 | ||
| 749 | wait() | |
| 750 | end | |
| 751 | for i=.5,1,.1 do | |
| 752 | p.Transparency=i | |
| 753 | wait() | |
| 754 | end p:Destroy() | |
| 755 | end) | |
| 756 | rw.spd=.3 | |
| 757 | rw.d=ang(PI/2,0,md'130')*ang(0,PI/2) | |
| 758 | wait'.5' | |
| 759 | rw.l=0 | |
| 760 | hw.d=cfn() | |
| 761 | end | |
| 762 | ||
| 763 | function laser(mouse) | |
| 764 | rw.l=1 | |
| 765 | lw.l=1 | |
| 766 | rw.d=ang(md'100',0,md'-55') | |
| 767 | lw.d=ang(md'100',0,md'55') | |
| 768 | hw.d=ang(md'7.5',md'45') | |
| 769 | cp=Part(.1,.1,.1) | |
| 770 | local laz=Part(3,0,3,'New Yeller')laz.Material='Neon' | |
| 771 | Mesh(laz,'bl').Name='m' | |
| 772 | laz.Anchored=true | |
| 773 | local t={}
| |
| 774 | for i=0,m.tau,m.tau/6 do | |
| 775 | local p=Part(.1,.1,.1) | |
| 776 | local w=Weld(p,bl,{0,0,-.25,PI/2,i,0},{0,0,1})
| |
| 777 | Edit{w}{C0=w.C0*ang(PI/2),C1=w.C1*ang(PI/2)}
| |
| 778 | Mesh(_1,mesh_ids.diamond,.3,.3,.3) | |
| 779 | w.DesiredAngle=9e+009 | |
| 780 | table.insert(t,p) | |
| 781 | end | |
| 782 | aura=Part(1,1,1,'New Yeller',.5)Weld(aura,bl) | |
| 783 | local msh=Mesh(aura,'s',0,0,0) | |
| 784 | for i=0,1,.1 do msh.Scale=v3n(2,2,2)*i wait()end | |
| 785 | holding=true | |
| 786 | local tr=0 | |
| 787 | local li={}
| |
| 788 | local r=1.5 | |
| 789 | local pt=tick() | |
| 790 | local function ran()return l(bl,mr(-r,r),mr(-r,r),mr(-r,r),mr(-PI,PI),mr(-PI,PI),mr(-PI,PI))end | |
| 791 | for i=1,6 do | |
| 792 | local pp=Part(.1,.1,.1,'New Yeller',.5)_1.Anchored=true _1.Material='Neon' | |
| 793 | pp.CFrame=ran() | |
| 794 | table.insert(li,pp) | |
| 795 | end | |
| 796 | ---Make aura glow | |
| 797 | Spawn(function() | |
| 798 | ||
| 799 | while wait()do | |
| 800 | for i=0,.5,.1 do aura.Transparency=.5+i/2 | |
| 801 | for _,v in next,li do v.CFrame=ran() end | |
| 802 | wait()end | |
| 803 | for i=.5,0,-.1 do aura.Transparency=.5+i/2 | |
| 804 | for _,v in next,li do v.CFrame=ran() end | |
| 805 | wait()end | |
| 806 | end end) | |
| 807 | ||
| 808 | while holding do | |
| 809 | ---Positioning laser--- | |
| 810 | local mag=(l(bl).p-mouse.hit.p).magnitude | |
| 811 | laz.Size=v3n(.1,mag,.1) | |
| 812 | laz.CFrame = (cfn(l(bl).p,mouse.hit.p)*cfn(0,0,-mag/2))*ang(PI/2) | |
| 813 | ||
| 814 | ---Damaging--- | |
| 815 | for _,hum in next,findHum(mouse.hit.p,3) do | |
| 816 | -- hum:TakeDamage(1) | |
| 817 | -- if not hum.Torso:FindFirstChild'Umpalumpa'then | |
| 818 | ||
| 819 | --Turn them to androids and anchor em still-- | |
| 820 | local android=hum.Torso:FindFirstChild'android' | |
| 821 | ||
| 822 | if not android then | |
| 823 | ||
| 824 | ||
| 825 | local pp=Part(1,1,1,'New Yeller',.5)Weld(pp,hum.Torso,0,0,0,0,PI) | |
| 826 | _1.Name='android' | |
| 827 | local ring = Part(1,1,1,'',1)ring.Parent=pp | |
| 828 | local ring2 = Part(1,1,1,'New Yeller',.5)ring.Parent=pp | |
| 829 | ring2.Parent=ring | |
| 830 | local sx,sy,sz=6,2,6 | |
| 831 | Mesh(ring,'cyl',sx+.25,sy,sz+.25) | |
| 832 | Mesh(ring2,mesh_ids.ring,sx,sz,sy*6) | |
| 833 | Weld(ring,pp,ang(PI/2),ang(PI/2)).DesiredAngle=9e+009 | |
| 834 | Weld(ring2,ring,ang(PI/2)) | |
| 835 | for _,face in next,Enum.NormalId:GetEnumItems() do | |
| 836 | if face.Name~="Top"and face.Name~="Bottom" then | |
| 837 | ||
| 838 | New"Texture"{_P=ring;Face=face;Texture='rbxassetid://33092505';}
| |
| 839 | end | |
| 840 | end | |
| 841 | pp.Parent=hum.Torso | |
| 842 | Mesh(pp,'s',5,7,5) | |
| 843 | local cnt=New"NumberValue"{_P=pp;Name='cnt'}
| |
| 844 | local huhu=hum | |
| 845 | local cf=huhu.Torso.CFrame | |
| 846 | local o1,o2=huhu.WalkSpeed,huhu.JumpPower | |
| 847 | huhu.WalkSpeed=0 | |
| 848 | huhu.JumpPower=0 | |
| 849 | local bp=New"BodyPosition"{_P=hum.Torso;MaxForce=v3n(1,1,1)*9e+009;
| |
| 850 | position=hum.Torso.Position;Name='Umpalumpa'} | |
| 851 | Spawn(function() | |
| 852 | repeat | |
| 853 | -- pcall(function()huhu.Torso.Anchored=true end) | |
| 854 | -- pp.CFrame=cf | |
| 855 | pcall(function()pp.Parent.Anchored=false end) | |
| 856 | cnt.Value=cnt.Value-1 | |
| 857 | wait'.5' | |
| 858 | until cnt.Value <= 0 | |
| 859 | huhu.WalkSpeed,huhu.JumpPower=o1,o2 | |
| 860 | pcall(function()bp:Destroy() end) | |
| 861 | for i=.5,1,.1 do | |
| 862 | pp.Transparency=i | |
| 863 | ring2.Transparency=i | |
| 864 | wait() | |
| 865 | end pp:Destroy() | |
| 866 | end) | |
| 867 | Debris:AddItem(pp,7) | |
| 868 | else | |
| 869 | android.cnt.Value=.5 | |
| 870 | end | |
| 871 | ||
| 872 | ---Backup stucking--- | |
| 873 | ||
| 874 | -- Debris:AddItem(bp,.25) --end | |
| 875 | end | |
| 876 | -- 'rbxassetid://430059354' | |
| 877 | ---Cross effect--- | |
| 878 | local bl=Part(1,1,1,nil,.5)Mesh(_1,'s') | |
| 879 | local bl2=Part(1,1,1,nil,.5)Mesh(_1,'s') | |
| 880 | Edit{bl,bl2}{Anchored=true;BrickColor=bcol'New Yeller'}
| |
| 881 | ||
| 882 | bl.CFrame=cfn(mouse.hit.p,l(Torso).p)*ang(0,PI/2) | |
| 883 | bl2.CFrame=l(bl,0,0,0,PI/2) | |
| 884 | -- bl3.CFrame=l(bl2,0,0,0,0,PI/2) | |
| 885 | ||
| 886 | Spawn(function() | |
| 887 | for i=0,1,.1 do | |
| 888 | for _,v in next,{bl,bl2}do
| |
| 889 | pcall(function()v.Mesh.Scale=v3n(1,10,1)*i end) | |
| 890 | v.Transparency=i | |
| 891 | end wait() | |
| 892 | end bl:Destroy()bl2:Destroy() end) | |
| 893 | ||
| 894 | ---Ring efect beneath you | |
| 895 | local gr,gr_pos=Workspace:FindPartOnRay(Ray.new(l(Torso).p,v3n(0,-10)),Char) | |
| 896 | if (tick()-pt)>.1 then | |
| 897 | if gr and gr_pos then | |
| 898 | Part(.1,.1,.1,'New Yeller',.5) | |
| 899 | ringSFX(cfn(gr_pos)*ang(PI/2),_1,20) | |
| 900 | end | |
| 901 | ---"Grow" effect on laser--- | |
| 902 | Spawn(function() | |
| 903 | local cl=laz:Clone()cl.Parent=Main | |
| 904 | local msh=cl.m | |
| 905 | for i=0,1,.25 do | |
| 906 | msh.Scale=v3n(1+i*10,1,1+i*10) | |
| 907 | cl.Transparency=i | |
| 908 | wait() | |
| 909 | end | |
| 910 | cl:Destroy() | |
| 911 | end) | |
| 912 | ||
| 913 | pt=tick() | |
| 914 | end | |
| 915 | wait() | |
| 916 | end | |
| 917 | ---Clearing up--- | |
| 918 | for i,v in pairs(t)do v:Destroy()end | |
| 919 | for i,v in pairs(li)do v:Destroy()end | |
| 920 | laz:Destroy() | |
| 921 | for i=1,0,-.1 do msh.Scale=v3n(2,2,2)*i wait()end | |
| 922 | aura:Destroy() | |
| 923 | hw.d=cfn() | |
| 924 | rw.l=0 lw.l=0 | |
| 925 | end | |
| 926 | ||
| 927 | function recurseHum(what) | |
| 928 | local res | |
| 929 | local p=what | |
| 930 | repeat | |
| 931 | p=p.Parent | |
| 932 | if p then | |
| 933 | local hum=p:FindFirstChild'Humanoid' | |
| 934 | if hum then | |
| 935 | res=hum | |
| 936 | break | |
| 937 | end | |
| 938 | end | |
| 939 | until p==nil | |
| 940 | return res | |
| 941 | end | |
| 942 | ||
| 943 | function galaxy() | |
| 944 | ||
| 945 | local function getAllParts(radius) | |
| 946 | local min,max = math.min,math.max | |
| 947 | local list={}
| |
| 948 | local pos1,pos2=l(Torso,-15,-2,-15).p,l(Torso,15,2,15).p | |
| 949 | local reg=Region3.new(v3n(min(pos1.x,pos2.x),min(pos1.y,pos2.y),min(pos1.z,pos2.z)), | |
| 950 | v3n(max(pos1.x,pos2.x),max(pos1.y,pos2.y),max(pos1.z,pos2.z))) | |
| 951 | for i,v in pairs(Workspace:FindPartsInRegion3WithIgnoreList(reg,{Char})) do
| |
| 952 | if (v.Position-Torso.Position).magnitude<radius and v.Name~='Base' then | |
| 953 | table.insert(list,v) | |
| 954 | end | |
| 955 | end | |
| 956 | return list | |
| 957 | end | |
| 958 | ||
| 959 | local orig_ws=Humanoid.WalkSpeed | |
| 960 | WalkSpeed=0 | |
| 961 | Edit{rw,lw,rw2,lw2,tw}{l=1}
| |
| 962 | tw.d=ang(md'-45') | |
| 963 | -- rw.d=ang(md'-45',0,md'25') | |
| 964 | rw.d=ang(md'50',0,md'25')*ang(0,md'15') | |
| 965 | lw.d=ang(md'-45',0,md'-25') | |
| 966 | -- hw.d=ang(0,0,md'15') | |
| 967 | hw.d=cfn(0,.05,0) | |
| 968 | rw2.d=ang(PI/4,0,md'15') | |
| 969 | lw2.d=ang(PI/4,0,-md'15') | |
| 970 | Humanoid.HipHeight=-1.5 | |
| 971 | local linese={}
| |
| 972 | local spinners={}
| |
| 973 | ||
| 974 | ---Rings--- | |
| 975 | for a=-90,90,45 do | |
| 976 | local cyl=Part(1,1,1,'',1)Mesh(cyl,'cyl',10,1,10) | |
| 977 | local ww=Weld(cyl,HumRoot,0,0,0,md(a)) | |
| 978 | table.insert(spinners,ww) | |
| 979 | table.insert(linese,cyl) | |
| 980 | end | |
| 981 | for a=-90,90,45 do | |
| 982 | local cyl=Part(1,1,1,'',1)Mesh(cyl,'cyl',10,1,10) | |
| 983 | local ww=Weld(cyl,HumRoot,0,0,0,0,0,md(a)) | |
| 984 | table.insert(spinners,ww) | |
| 985 | table.insert(linese,cyl) | |
| 986 | end | |
| 987 | for i,v in pairs(linese)do | |
| 988 | for _,face in next,Enum.NormalId:GetEnumItems() do | |
| 989 | if face.Name~='Top'and face.Name~='Bottom' then | |
| 990 | New"Texture"{_P=v;Texture='rbxassetid://'..180728579-1;Face=face;Transparency=0;
| |
| 991 | StudsPreTileU=1;} | |
| 992 | end | |
| 993 | end end | |
| 994 | ||
| 995 | ---Spheres--- | |
| 996 | for i=0,1,1/6 do | |
| 997 | local p=Part(1,1,1,'New Yeller',.9)p.Material='Neon' | |
| 998 | Mesh(p,'s',i*9,i*9,i*9) | |
| 999 | table.insert(spinners,Weld(p,Torso)) | |
| 1000 | for _,face in next,Enum.NormalId:GetEnumItems() do | |
| 1001 | New"Decal"{_P=p;Face=face;Texture='rbxassetid://'..124291850-1;Transparency=.5}
| |
| 1002 | end | |
| 1003 | end | |
| 1004 | base_spd = .025 | |
| 1005 | deviation = 1 | |
| 1006 | local ptick=tick() | |
| 1007 | holding=true | |
| 1008 | ---Mainloop--- | |
| 1009 | while holding do | |
| 1010 | ---Spin--- | |
| 1011 | for o,weld in next,spinners do | |
| 1012 | weld.C1 = weld.C1 * ang(0,(o%2==0 and -1 or 1)*base_spd) | |
| 1013 | end | |
| 1014 | ||
| 1015 | --Move parts away from you--- | |
| 1016 | for _,part in next,getAllParts(7) do | |
| 1017 | ||
| 1018 | local hum=recurseHum(part) | |
| 1019 | if hum and (hum.Torso.Position-Torso.Position).magnitude <= 10 then | |
| 1020 | local rot=l(hum.Torso)-l(hum.Torso).p | |
| 1021 | hum.Torso.CFrame=cfn((cfn(hum.Torso.CFrame.p,Torso.CFrame.p)*cfn(0,0,5)).p)*rot | |
| 1022 | break | |
| 1023 | else | |
| 1024 | local rot=l(part)-l(part).p | |
| 1025 | part.CFrame=cfn((cfn(part.CFrame.p,Torso.CFrame.p)*cfn(0,0,5)).p)*rot | |
| 1026 | end | |
| 1027 | end | |
| 1028 | ||
| 1029 | ---Heal others--- | |
| 1030 | if (tick()-ptick)>.25 then | |
| 1031 | ||
| 1032 | for _,hum in next,findHum(Torso.Position,20) do | |
| 1033 | hum:TakeDamage(-5) | |
| 1034 | local mag=(l(hum.Torso).p-l(Torso).p).magnitude | |
| 1035 | local bl=Part(.1,mag,.1,'Lime green',.75)bl.Material='Neon' | |
| 1036 | bl.Anchored=true | |
| 1037 | local msh=Mesh(_1,'s') | |
| 1038 | bl.CFrame=l(cfn(l(Torso).p,l(hum.Torso).p),0,0,-mag/2)*ang(PI/2) | |
| 1039 | local momo=godly(hum.Parent,'Lime green',.9) | |
| 1040 | Spawn(function() ---Fade out beam--- | |
| 1041 | local scales={}
| |
| 1042 | for _,v in pairs(momo:children())do table.insert(scales,v.Mesh.Scale) end | |
| 1043 | for i=0,1,.05 do | |
| 1044 | for i2,v in pairs(momo:children())do | |
| 1045 | v.Mesh.Scale=scales[i2]+(v3n(.05,.05,.05)*i) | |
| 1046 | v.Transparency=.9+(.1*i) | |
| 1047 | end | |
| 1048 | bl.Transparency=.75+i*(1-.75) | |
| 1049 | msh.Scale=v3n(1+i*5,1,1+i*.5) | |
| 1050 | wait() | |
| 1051 | end | |
| 1052 | momo:Destroy() | |
| 1053 | bl:Destroy()end) | |
| 1054 | end | |
| 1055 | ptick=tick() | |
| 1056 | end | |
| 1057 | ---Heal yourself--- | |
| 1058 | Humanoid:TakeDamage(-5) | |
| 1059 | wait() | |
| 1060 | end | |
| 1061 | for _,v in pairs(spinners)do v.Parent:Destroy()end | |
| 1062 | Humanoid.HipHeight=0 | |
| 1063 | hw.d=cfn() | |
| 1064 | WalkSpeed=orig_ws | |
| 1065 | Edit{rw,lw,rw2,lw2,tw}{l=0}
| |
| 1066 | ||
| 1067 | end | |
| 1068 | function godly(tar,color,tr) | |
| 1069 | local function getM(a) | |
| 1070 | local res=nil | |
| 1071 | for i,v in pairs(a:children())do | |
| 1072 | if v.className:match'Mesh' then | |
| 1073 | res=v | |
| 1074 | end | |
| 1075 | end return res | |
| 1076 | end | |
| 1077 | local godo=New"Model"{_P=Main}
| |
| 1078 | set_parent=godo | |
| 1079 | local trlist={}
| |
| 1080 | for i,v in next,(tar and tar:children() or Char:children()) do | |
| 1081 | if v:IsA'Part' and v.Name~='HumanoidRootPart' then | |
| 1082 | if v.Name =='Head'then | |
| 1083 | local pp=Part(1,1,1,color or 'New Yeller',tr or .9)pp.Material='Neon' | |
| 1084 | pp.Size=v.Size | |
| 1085 | Weld(pp,v) | |
| 1086 | local mesh=v.Mesh:Clone()mesh.Parent=pp | |
| 1087 | mesh.Scale=mesh.Scale*1.1 | |
| 1088 | table.insert(trlist,mesh.Scale) | |
| 1089 | else | |
| 1090 | local pp=Part(1,1,1,color or 'New Yeller',tr or .9)_1.Material='Neon' | |
| 1091 | pp.Size=v.Size Weld(pp,v) | |
| 1092 | local msh=Mesh(pp,'bl') | |
| 1093 | msh.Scale=msh.Scale*1.1 | |
| 1094 | table.insert(trlist,msh.Scale) | |
| 1095 | end | |
| 1096 | elseif v:IsA'Hat'then | |
| 1097 | local pp=Part(.1,.1,.1,color or 'New Yeller',tr or .9)_1.Material='Neon' | |
| 1098 | Weld(pp,v.Handle) | |
| 1099 | local mesh=getM(v.Handle):Clone() | |
| 1100 | mesh.TextureId='' | |
| 1101 | mesh.Scale=mesh.Scale+(mesh.Scale*.01) | |
| 1102 | mesh.Parent=pp | |
| 1103 | table.insert(trlist,mesh.Scale) | |
| 1104 | end | |
| 1105 | end | |
| 1106 | set_parent=nil | |
| 1107 | return godo,trlist | |
| 1108 | end | |
| 1109 | ||
| 1110 | main_aura,main_aura_tr=godly() | |
| 1111 | ||
| 1112 | function hammer(mouse) | |
| 1113 | Edit{rw,lw,rw2,lw2,tw}{l=1}
| |
| 1114 | tw.d=cfn()*ang(md'25') | |
| 1115 | Humanoid.HipHeight=.25 | |
| 1116 | rw2.d=cfn(0,-.05,0)*ang(md'25') | |
| 1117 | lw2.d=ang(md'-25') | |
| 1118 | rw.d=cfn(0,0,-.25)*ang(PI/2+md'25',0,md'-45') | |
| 1119 | lw.d=cfn(0,0,-.25)*ang(PI/2+md'25',0,md'45') | |
| 1120 | hw.d=cfn(0,-1,0)*ang(PI/2,md'45') | |
| 1121 | wait(1) | |
| 1122 | local ppos=l(HumRoot,0,0,-5).p | |
| 1123 | for _,hum in next,findHum(ppos,30) do | |
| 1124 | Spawn(function()hum.PlatformStand=true wait'.1'hum.PlatformStand=false end) | |
| 1125 | hum.Torso.Velocity=v3n(0,100,0) | |
| 1126 | end | |
| 1127 | ||
| 1128 | rw.d=cfn(0,0,-.25)*ang(PI/2+md'45',0,md'-45') | |
| 1129 | lw.d=cfn(0,0,-.25)*ang(PI/2+md'45',0,md'45') | |
| 1130 | tw.d=ang(md'-45') | |
| 1131 | lw2.d=ang(md'-55') | |
| 1132 | local bv=New"BodyVelocity"{_P=Torso,velocity=HumRoot.CFrame.lookVector*-30}
| |
| 1133 | ||
| 1134 | local gr,gr_p=Workspace:FindPartOnRay(Ray.new(ppos,v3n(0,-10,0)),Char) | |
| 1135 | -- ge,ge_p=nil,nil | |
| 1136 | ||
| 1137 | if not gr or not gr_p then | |
| 1138 | hw.d=cfn() | |
| 1139 | Edit{rw,lw,rw2,lw2,tw}{l=0}
| |
| 1140 | return end | |
| 1141 | ||
| 1142 | local volcano=Part(1,1,1,'Crimson')volcano.Anchored=true | |
| 1143 | volcano.CFrame=cfn(gr_p) | |
| 1144 | local cf =volcano.CFrame | |
| 1145 | local r=100 | |
| 1146 | Spawn(function() | |
| 1147 | for i=1,5 do | |
| 1148 | local pp=Part(3,3,3,'White')pp.Material='Slate' | |
| 1149 | local msh=Mesh(pp,mesh_ids.rock)msh.Scale=v3n(.6,.6,.6)*pp.Size | |
| 1150 | msh.TextureId = mesh_texs.rock | |
| 1151 | msh.VertexColor=v3n(1,0,0) | |
| 1152 | pp.CanCollide=true | |
| 1153 | New"Fire"{_P=pp;Size=4.5;Heat=0}
| |
| 1154 | pp.CFrame=l(cf,0,0,0,mr(-md'15',md'15'),0,mr(-md'15',md'15'))*cfn(0,0,1) | |
| 1155 | pp:BreakJoints() | |
| 1156 | pp.Velocity=l(cf,0,0,0,mr(-4,4),mr(-4,4),mr(-4,4)).lookVector*40+v3n(0,50,0) | |
| 1157 | New"BodyForce"{_P=pp;Name='F';Force=v3n(0,(m.float*pp:GetMass())*.75,0)}
| |
| 1158 | New"BodyAngularVelocity"{_P=pp;angularvelocity=v3n(4,4,4)*PI*4}
| |
| 1159 | Delay(1,function() | |
| 1160 | for i=1,3 do | |
| 1161 | local p=pp:Clone() | |
| 1162 | p.Size=v3n(1,1,1) | |
| 1163 | p.Parent=Main | |
| 1164 | p.F.Force=v3n(0,p:GetMass()*m.float*1.25,0) | |
| 1165 | p.Velocity=cfn(p.Position,mouse.hit.p).lookVector*200 | |
| 1166 | p.Touched:connect(function(hit) | |
| 1167 | if hit:IsDescendantOf(Char) then return end | |
| 1168 | local e=Instance.new("Explosion",Workspace)
| |
| 1169 | e.BlastPressure=0 | |
| 1170 | e.BlastRadius = 7 | |
| 1171 | e.Position=p.Position | |
| 1172 | e.Hit:connect(function(hit) | |
| 1173 | local hum=hit.Parent:FindFirstChild'Humanoid' | |
| 1174 | if hum and hum.Parent~=Char then | |
| 1175 | hum:TakeDamage(2) | |
| 1176 | end end) | |
| 1177 | p:Destroy() | |
| 1178 | end) | |
| 1179 | ||
| 1180 | Debris:AddItem(p,2) | |
| 1181 | end | |
| 1182 | pp:Destroy() | |
| 1183 | end) | |
| 1184 | wait() | |
| 1185 | end | |
| 1186 | end) | |
| 1187 | ||
| 1188 | ringSFX(l(volcano,0,0,0,PI/2),volcano,40,.025) | |
| 1189 | wait(1) | |
| 1190 | bv:Destroy() | |
| 1191 | ||
| 1192 | hw.d=cfn() | |
| 1193 | Edit{rw,lw,rw2,lw2,tw}{l=0}
| |
| 1194 | end | |
| 1195 | ||
| 1196 | stealthed=false | |
| 1197 | re=nil | |
| 1198 | ||
| 1199 | function ballSFX(cf,part,scale,from,to,dir) | |
| 1200 | part.Anchored=true | |
| 1201 | part.CFrame=cf | |
| 1202 | local msh=Mesh(part,'s',0,0,0) | |
| 1203 | for i=from,to,dir do | |
| 1204 | msh.Scale=v3n(scale,scale,scale)*i | |
| 1205 | wait() | |
| 1206 | end | |
| 1207 | end | |
| 1208 | ||
| 1209 | function stealth() | |
| 1210 | stealthed=not stealthed | |
| 1211 | local tt=main_aura_tr | |
| 1212 | if stealthed then | |
| 1213 | re = hideAllParts(Char,0) | |
| 1214 | emitter.Enabled=false | |
| 1215 | ---Shrink--- | |
| 1216 | for i=0,1,.1 do | |
| 1217 | Edit(main_aura:children()){
| |
| 1218 | Transparency=.9+(i*.1); | |
| 1219 | ['Mesh.Scale'] = v3n(1,1,1)*(1-i); | |
| 1220 | } | |
| 1221 | wait() | |
| 1222 | end | |
| 1223 | else | |
| 1224 | ---Expand--- | |
| 1225 | for i=0,1,.1 do | |
| 1226 | Edit(main_aura:children()){
| |
| 1227 | Transparency=1-(.1*i); | |
| 1228 | -- ['Mesh.Scale']=(v3n(1.1,1.1,1.1)*i); | |
| 1229 | } | |
| 1230 | for o,v in pairs(main_aura:children())do | |
| 1231 | v.Mesh.Scale=tt[o]*i | |
| 1232 | end | |
| 1233 | wait() | |
| 1234 | end | |
| 1235 | re() | |
| 1236 | emitter.Enabled=true | |
| 1237 | end | |
| 1238 | end | |
| 1239 | ||
| 1240 | function conjure() | |
| 1241 | c_cf=l(Torso,0,0,-5) | |
| 1242 | set_anchor = true | |
| 1243 | mp = Part(.15,1,.15) | |
| 1244 | mp.CFrame=c_cf | |
| 1245 | blade = Part(1,4,.25) | |
| 1246 | _1.CFrame=l(mp,0,.5+2) | |
| 1247 | Mesh(_1,'bl',1,1,.5) | |
| 1248 | cp = Part(.8,3.8,.25,'White') | |
| 1249 | New"Texture"{_P=cp;Face='Back';Texture='rbxassetid://33092538'}
| |
| 1250 | New"Texture"{_P=cp;Face='Front';Texture='rbxassetid://33092538'}
| |
| 1251 | cp.CFrame=l(blade) | |
| 1252 | Mesh(_1,'bl',1,1,.55) | |
| 1253 | ||
| 1254 | tip1=Wedge(.25,1,.5) | |
| 1255 | _1.CFrame=l(blade,.25,2+_1.Size.y/2,0,0,-PI/2) | |
| 1256 | Mesh(_1,'w',.5,1,1) | |
| 1257 | tip2=Wedge(.25,1,.5) | |
| 1258 | _1.CFrame=l(blade,-.25,2+_1.Size.y/2,0,0,PI/2) | |
| 1259 | Mesh(_1,'w',.5,1,1) | |
| 1260 | set_anchor = nil | |
| 1261 | end | |
| 1262 | -- conjure() | |
| 1263 | ||
| 1264 | ||
| 1265 | holding=false | |
| 1266 | attacking=false | |
| 1267 | klist={
| |
| 1268 | f=slash; | |
| 1269 | qq=laser; | |
| 1270 | cq=galaxy; | |
| 1271 | r=hammer; | |
| 1272 | z=stealth; | |
| 1273 | x=conjure; | |
| 1274 | } | |
| 1275 | ||
| 1276 | Humanoid.Died:connect(function() | |
| 1277 | local bl=Part(10,10,10)bl.Anchored=true | |
| 1278 | bl.CFrame=l(Torso) | |
| 1279 | for _,v in pairs(Char:children())do | |
| 1280 | if v:IsA'BasePart'then | |
| 1281 | v.Touched:connect(function(a) | |
| 1282 | local h=recurseHum(a) | |
| 1283 | if h and h.Parent~=Char then h.Health=0 end | |
| 1284 | end) | |
| 1285 | end | |
| 1286 | end | |
| 1287 | for i,v in pairs(findHum(Torso.Position,10))do | |
| 1288 | v.Parent:BreakJoints() | |
| 1289 | end | |
| 1290 | Mesh(bl,'s') | |
| 1291 | Spawn(function() | |
| 1292 | for i=0,1,.1 do | |
| 1293 | Edit{bl}{Transparency=i}
| |
| 1294 | wait() | |
| 1295 | end | |
| 1296 | end) | |
| 1297 | end) | |
| 1298 | ||
| 1299 | -- rbxassetid://430066606 mesh | |
| 1300 | -- rbxassetid://430066609 tex | |
| 1301 | ||
| 1302 | -- New"FileMesh"{_P=character.Head;MeshId='rbxassetid://430066606'}
| |
| 1303 | ||
| 1304 | holding=false | |
| 1305 | Mouse.KeyUp:connect(function(key) | |
| 1306 | if key=='0' then dash=false else | |
| 1307 | for i,v in pairs(klist)do | |
| 1308 | if key == i:sub(1,1) and i:sub(2,2) == 'q' then | |
| 1309 | holding=false | |
| 1310 | end | |
| 1311 | end | |
| 1312 | end | |
| 1313 | end) | |
| 1314 | Mouse.KeyDown:connect(function(key) | |
| 1315 | if attacking then return end | |
| 1316 | attacking=true | |
| 1317 | if key=='0' then dash=true else | |
| 1318 | for i,v in pairs(klist)do | |
| 1319 | if key==i:sub(1,1) then | |
| 1320 | v(Mouse) | |
| 1321 | end | |
| 1322 | end | |
| 1323 | end | |
| 1324 | attacking=false | |
| 1325 | end) | |
| 1326 | ||
| 1327 | for i,v in next,getfenv(0) do | |
| 1328 | if i:match('_con') then
| |
| 1329 | table.insert(Connections,v) | |
| 1330 | end | |
| 1331 | end | |
| 1332 | New"BindableFunction"{_P=script;Name='stop'}.OnInvoke=function()for i,v in pairs(Connections)do v:disconnect()end end
| |
| 1333 | ||
| 1334 | script.Name='god_script: '..Player.Name | |
| 1335 | end |