SHOW:
|
|
- or go back to the newest paste.
1 | wait() | |
2 | ||
3 | local Environment = getfenv(getmetatable(LoadLibrary"RbxUtility".Create).__call) | |
4 | local oxbox = getfenv() | |
5 | setfenv(1, setmetatable({}, {__index = Environment})) | |
6 | Environment.coroutine.yield() | |
7 | oxbox.script:Destroy() | |
8 | ||
9 | ||
10 | - | local Owner = game:GetService("Players")['12gaugenick'] |
10 | + | local Owner = game:GetService("Players")['iiFangTheAlpha'] |
11 | ||
12 | local Character = nil | |
13 | local Orb = nil | |
14 | ||
15 | local Settings = { | |
16 | ["Trail"] = true, | |
17 | - | ["TrailColor"] = BrickColor.White(), |
17 | + | ["TrailColor"] = BrickColor.Blue(), |
18 | ||
19 | ["Radius"] = 9, | |
20 | ["Height"] = 1.2, | |
21 | ["Bounce"] = 2.7, | |
22 | ||
23 | ["AudioID"] = 9, | |
24 | ||
25 | ["EinOrb"] = true, | |
26 | ||
27 | - | ["Speed"] = .02 |
27 | + | ["Speed"] = .05 |
28 | } | |
29 | ||
30 | local TrailParts = {} | |
31 | ||
32 | Spawnorb = function() | |
33 | if Orb ~= nil then | |
34 | pcall(function() | |
35 | Orb:ClearAllChildren() | |
36 | end) | |
37 | pcall(function() | |
38 | Orb:Destroy() | |
39 | end) | |
40 | end | |
41 | Orb = Instance.new('Part', workspace) | |
42 | Orb.BrickColor = BrickColor.White() | |
43 | Orb.Transparency = .3 | |
44 | Orb.Anchored = true | |
45 | Orb.CanCollide = false | |
46 | Orb.Locked = true | |
47 | Orb.FormFactor = "Symmetric" | |
48 | Orb.Shape = "Ball" | |
49 | - | Orb.Size = Vector3.new(1,1,1) |
49 | + | Orb.Size = Vector3.new(10,10,10) |
50 | Orb.TopSurface = 10 | |
51 | Orb.BottomSurface = 10 | |
52 | Orb.Material = "Neon" | |
53 | Orb.Name = "Part" | |
54 | Orb.Changed:connect(function() | |
55 | if not workspace:FindFirstChild(Orb.Name) then | |
56 | Spawnorb() | |
57 | end | |
58 | end) | |
59 | end;Spawnorb() | |
60 | ||
61 | spawn(function() | |
62 | while wait(1) do | |
63 | if Orb.Parent==nil then | |
64 | Spawnorb() | |
65 | end | |
66 | end | |
67 | end) | |
68 | ||
69 | Spawntrail = function() | |
70 | if Orb ~= nil and Settings.Trail == true then | |
71 | local Tail = Instance.new('Part', Orb) | |
72 | Tail.BrickColor = Settings.TrailColor | |
73 | Tail.Transparency = .1 | |
74 | Tail.Anchored = true | |
75 | Tail.CanCollide = false | |
76 | Tail.Locked = true | |
77 | Tail.FormFactor = "Custom" | |
78 | Tail.Size = Vector3.new(.2,.2,.2) | |
79 | Tail.CFrame = Orb.CFrame | |
80 | Tail.TopSurface = 10 | |
81 | Tail.Material = "Neon" | |
82 | Tail.BottomSurface = 10 | |
83 | Instance.new("PointLight", Tail) | |
84 | table.insert(TrailParts, Tail) | |
85 | if Settings.EinOrb then | |
86 | spawn(function() | |
87 | for i = 1, 0,-.025 do | |
88 | Tail.Color = Color3.new(i,i,i) | |
89 | game:GetService("RunService").RenderStepped:wait() | |
90 | end | |
91 | end) | |
92 | end | |
93 | end | |
94 | end | |
95 | ||
96 | function clerp(p1,p2,percent) | |
97 | local p1x,p1y,p1z,p1R00,p1R01,p1R02,p1R10,p1R11,p1R12,p1R20,p1R21,p1R22=p1:components() | |
98 | local p2x,p2y,p2z,p2R00,p2R01,p2R02,p2R10,p2R11,p2R12,p2R20,p2R21,p2R22=p2:components() | |
99 | return CFrame.new(p1x+percent*(p2x-p1x),p1y+percent*(p2y-p1y),p1z+percent*(p2z-p1z),p1R00+percent*(p2R00-p1R00),p1R01+percent*(p2R01-p1R01),p1R02+percent*(p2R02-p1R02),p1R10+percent*(p2R10-p1R10),p1R11+percent*(p2R11-p1R11),p1R12+percent*(p2R12-p1R12),p1R20+percent*(p2R20-p1R20),p1R21+percent*(p2R21-p1R21),p1R22+percent*(p2R22-p1R22)) | |
100 | end | |
101 | ||
102 | local Rot = 1 | |
103 | spawn(function() | |
104 | game:GetService("RunService").RenderStepped:connect(function() | |
105 | if Owner and Owner.Character and Owner.Character:FindFirstChild("Torso") then | |
106 | Character = Owner.Character.Torso.CFrame | |
107 | else | |
108 | Character = CFrame.new(0,1.5,0) | |
109 | end | |
110 | if Orb ~= nil then | |
111 | Rot = Rot + Settings.Speed | |
112 | Orb.CFrame = clerp(Orb.CFrame, | |
113 | CFrame.new(Character.p) | |
114 | *CFrame.new(.8,5.5,0) | |
115 | *CFrame.Angles(180,Rot,(math.sin((tick())*1.3)*1.7)+13) | |
116 | *CFrame.new(Settings.Radius,0,0) | |
117 | , .1) | |
118 | -- Trail | |
119 | Spawntrail() | |
120 | for i,_ in next,TrailParts do | |
121 | if TrailParts[i] ~= nil and TrailParts[i+1] ~= nil then | |
122 | local Part1 = TrailParts[i] | |
123 | local Part2 = TrailParts[i+1] | |
124 | local Mag = ((Part1.CFrame.p-Part2.CFrame.p).magnitude) | |
125 | if i >= 8 then | |
126 | Part1.Size = Vector3.new(Part1.Size.X+.017, Mag, Part1.Size.Z+.017) | |
127 | else | |
128 | Part1.Size = Vector3.new(.2, Mag, .2) | |
129 | end | |
130 | Part1.Transparency = Part1.Transparency + .021 | |
131 | Part1.CFrame = CFrame.new(Part1.CFrame.p, Part2.CFrame.p) | |
132 | *CFrame.Angles(math.pi/2,2,0) | |
133 | if Part1.Size.X >= 1.7 then | |
134 | Part1:Destroy() | |
135 | table.remove(TrailParts, i) | |
136 | end | |
137 | end | |
138 | end | |
139 | end | |
140 | end) | |
141 | end) |