receiver = game.Players.carcine12 path = receiver.Backpack t = Instance.new("Tool") t.GripForward = Vector3.new(-0, 0.000006, -1) t.GripPos = Vector3.new(0, -0.3, -0.5) t.GripRight = Vector3.new(1, 0, -0) t.GripUp = Vector3.new(0, 1, 0.000006) t.Name = "VI Portal gun" t.Enabled = true t.Parent = path h = Instance.new("Part") h.BrickColor = BrickColor.White() h.Size = Vector3.new(1,1,2) h.Name = "Handle" h.Parent = t s = Instance.new("Sound") s.SoundId = "rbxasset://sounds/bass.wav" s.Volume = 0.5 s.Name = "failure" s.Parent = h s = Instance.new("Sound") s.SoundId = "rbxasset://sounds/electronicpingshort.wav" s.Volume = 0.5 s.Name = "fire" s.Parent = h s = Instance.new("Script") s.Source = [[function tele(hit) if (script.Parent.Parent:findFirstChild("PortalB") ~= nil and hit.Parent:findFirstChild("Torso") ~= nil) then if (hit.Parent.Torso:findFirstChild("t") ~= nil) then return end hit.Parent.Torso.CFrame = CFrame.new(script.Parent.Parent.PortalB.Position) h = Instance.new("Humanoid") h.Name = "t" h.Parent = hit.Parent.Torso wait(0.5) h:remove() end end script.Parent.Touched:connect(tele) ]] s.Disabled = true s.Name = "PortalScriptA" s.Parent = t s = Instance.new("Script") s.Source = [[function tele(hit) if (script.Parent.Parent:findFirstChild("PortalA") ~= nil and hit.Parent:findFirstChild("Torso") ~= nil) then if (hit.Parent.Torso:findFirstChild("t") ~= nil) then return end hit.Parent.Torso.CFrame = CFrame.new(script.Parent.Parent.PortalA.Position) h = Instance.new("Humanoid") h.Name = "t" h.Parent = hit.Parent.Torso wait(0.5) h:remove() end end script.Parent.Touched:connect(tele) ]] s.Disabled = true s.Name = "PortalScriptB" s.Parent = t s = Instance.new("LocalScript") s.Source = [[local Tool = script.Parent; enabled = true function onButton1Down(mouse) targ = mouse.Target if (targ == nil) then return end if (targ.Name == "NoP") then script.Parent.Handle.failure:play() return end Hit = mouse.hit if Hit==nil then return end I = Instance.new("Part") I.Parent = script.Parent.Parent I.CFrame = Hit I.Anchored = true I.CanCollide = false I.Shape = "Ball" I.Size = Vector3.new(4,4,4) I.Transparency = 0.5 I.Reflectance = 0.1 if (script.B.Value == true) then p = script.Parent.Parent:findFirstChild("PortalA") if (p ~= nil) then p:remove() end I.BrickColor = BrickColor.Blue() I.Name = "PortalA" s = script.Parent.PortalScriptA:clone() s.Disabled = false s.Parent = I else p = script.Parent.Parent:findFirstChild("PortalB") if (p ~= nil) then p:remove() end I.BrickColor = BrickColor.Red() I.Name = "PortalB" s = script.Parent.PortalScriptB:clone() s.Disabled = false s.Parent = I end script.B.Value = not script.B.Value script.Parent.Handle.fire:play() if not enabled then return end enabled = false mouse.Icon = "rbxasset://textures\\GunWaitCursor.png" wait(.3) mouse.Icon = "rbxasset://textures\\GunCursor.png" enabled = true end function onEquippedLocal(mouse) if mouse == nil then print("Mouse not found") return end mouse.Icon = "rbxasset://textures\\GunCursor.png" mouse.Button1Down:connect(function() onButton1Down(mouse) end) end Tool.Equipped:connect(onEquippedLocal) ]] v = Instance.new("BoolValue") v.Value = false v.Name = "B" v.Parent = s s.Name = "Local Gui" s.Parent = t --Removing this message or editing it's content is punishable by law. msg = Instance.new("Message") msg.Text = "VolcanoINC's portal gun loaded for " .. receiver.Name msg.Parent = game.Workspace wait(3) msg.Parent = nil