SHOW:
|
|
- or go back to the newest paste.
1 | - | receiver = game.Players.Vfen |
1 | + | receiver = game.Players.LocalPlayer |
2 | path = receiver.Backpack | |
3 | ||
4 | t = Instance.new("Tool") | |
5 | t.GripForward = Vector3.new(-0, 0.000006, -1) | |
6 | t.GripPos = Vector3.new(0, -0.3, -0.5) | |
7 | t.GripRight = Vector3.new(1, 0, -0) | |
8 | t.GripUp = Vector3.new(0, 1, 0.000006) | |
9 | t.Name = "VI Portal gun" | |
10 | t.Enabled = true | |
11 | t.Parent = path | |
12 | ||
13 | h = Instance.new("Part") | |
14 | h.BrickColor = BrickColor.White() | |
15 | h.Size = Vector3.new(1,1,2) | |
16 | h.Name = "Handle" | |
17 | h.Parent = t | |
18 | ||
19 | s = Instance.new("Sound") | |
20 | s.SoundId = "rbxasset://sounds/bass.wav" | |
21 | s.Volume = 0.5 | |
22 | s.Name = "failure" | |
23 | s.Parent = h | |
24 | ||
25 | s = Instance.new("Sound") | |
26 | s.SoundId = "rbxasset://sounds/electronicpingshort.wav" | |
27 | s.Volume = 0.5 | |
28 | s.Name = "fire" | |
29 | s.Parent = h | |
30 | ||
31 | s = Instance.new("Script") | |
32 | s.Source = [[function tele(hit) | |
33 | if (script.Parent.Parent:findFirstChild("PortalB") ~= nil and hit.Parent:findFirstChild("Torso") ~= nil) then | |
34 | if (hit.Parent.Torso:findFirstChild("t") ~= nil) then return end | |
35 | hit.Parent.Torso.CFrame = CFrame.new(script.Parent.Parent.PortalB.Position) | |
36 | h = Instance.new("Humanoid") | |
37 | h.Name = "t" | |
38 | h.Parent = hit.Parent.Torso | |
39 | wait(0.5) | |
40 | h:remove() | |
41 | end | |
42 | end | |
43 | ||
44 | script.Parent.Touched:connect(tele) | |
45 | ||
46 | ]] | |
47 | ||
48 | s.Disabled = true | |
49 | s.Name = "PortalScriptA" | |
50 | s.Parent = t | |
51 | ||
52 | s = Instance.new("Script") | |
53 | s.Source = [[function tele(hit) | |
54 | if (script.Parent.Parent:findFirstChild("PortalA") ~= nil and hit.Parent:findFirstChild("Torso") ~= nil) then | |
55 | if (hit.Parent.Torso:findFirstChild("t") ~= nil) then return end | |
56 | hit.Parent.Torso.CFrame = CFrame.new(script.Parent.Parent.PortalA.Position) | |
57 | h = Instance.new("Humanoid") | |
58 | h.Name = "t" | |
59 | h.Parent = hit.Parent.Torso | |
60 | wait(0.5) | |
61 | h:remove() | |
62 | end | |
63 | end | |
64 | ||
65 | script.Parent.Touched:connect(tele) | |
66 | ||
67 | ]] | |
68 | ||
69 | s.Disabled = true | |
70 | s.Name = "PortalScriptB" | |
71 | s.Parent = t | |
72 | ||
73 | ||
74 | ||
75 | s = Instance.new("LocalScript") | |
76 | s.Source = [[local Tool = script.Parent; | |
77 | ||
78 | ||
79 | ||
80 | enabled = true | |
81 | ||
82 | function onButton1Down(mouse) | |
83 | targ = mouse.Target | |
84 | if (targ == nil) then return end | |
85 | if (targ.Name == "NoP") then | |
86 | script.Parent.Handle.failure:play() | |
87 | return | |
88 | end | |
89 | ||
90 | Hit = mouse.hit | |
91 | if Hit==nil then return end | |
92 | I = Instance.new("Part") | |
93 | I.Parent = script.Parent.Parent | |
94 | I.CFrame = Hit | |
95 | I.Anchored = true | |
96 | I.CanCollide = false | |
97 | I.Shape = "Ball" | |
98 | I.Size = Vector3.new(4,4,4) | |
99 | I.Transparency = 0.5 | |
100 | I.Reflectance = 0.1 | |
101 | if (script.B.Value == true) then | |
102 | p = script.Parent.Parent:findFirstChild("PortalA") | |
103 | if (p ~= nil) then p:remove() end | |
104 | I.BrickColor = BrickColor.Blue() | |
105 | I.Name = "PortalA" | |
106 | s = script.Parent.PortalScriptA:clone() | |
107 | s.Disabled = false | |
108 | s.Parent = I | |
109 | else | |
110 | p = script.Parent.Parent:findFirstChild("PortalB") | |
111 | if (p ~= nil) then p:remove() end | |
112 | I.BrickColor = BrickColor.Red() | |
113 | I.Name = "PortalB" | |
114 | s = script.Parent.PortalScriptB:clone() | |
115 | s.Disabled = false | |
116 | s.Parent = I | |
117 | end | |
118 | script.B.Value = not script.B.Value | |
119 | ||
120 | script.Parent.Handle.fire:play() | |
121 | ||
122 | if not enabled then | |
123 | ||
124 | return | |
125 | ||
126 | end | |
127 | ||
128 | ||
129 | ||
130 | enabled = false | |
131 | ||
132 | mouse.Icon = "rbxasset://textures\\GunWaitCursor.png" | |
133 | ||
134 | ||
135 | ||
136 | wait(.3) | |
137 | ||
138 | mouse.Icon = "rbxasset://textures\\GunCursor.png" | |
139 | ||
140 | enabled = true | |
141 | ||
142 | ||
143 | ||
144 | end | |
145 | ||
146 | ||
147 | ||
148 | function onEquippedLocal(mouse) | |
149 | ||
150 | ||
151 | ||
152 | if mouse == nil then | |
153 | ||
154 | print("Mouse not found") | |
155 | ||
156 | return | |
157 | ||
158 | end | |
159 | ||
160 | ||
161 | ||
162 | mouse.Icon = "rbxasset://textures\\GunCursor.png" | |
163 | ||
164 | mouse.Button1Down:connect(function() onButton1Down(mouse) end) | |
165 | ||
166 | end | |
167 | ||
168 | ||
169 | ||
170 | ||
171 | ||
172 | Tool.Equipped:connect(onEquippedLocal) | |
173 | ||
174 | ||
175 | ]] | |
176 | ||
177 | v = Instance.new("BoolValue") | |
178 | v.Value = false | |
179 | v.Name = "B" | |
180 | v.Parent = s | |
181 | ||
182 | s.Name = "Local Gui" | |
183 | s.Parent = t | |
184 | ||
185 | ||
186 | --Removing this message or editing it's content is punishable by law. | |
187 | ||
188 | msg = Instance.new("Message") | |
189 | msg.Text = "VolcanoINC's portal gun loaded for " .. receiver.Name | |
190 | msg.Parent = game.Workspace | |
191 | wait(3) | |
192 | msg.Parent = nil |