Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --// Variables
- local ScriptInfo = ({
- ["Name"] = "Wxsp",
- ["Description"] = "OP Laser Wisp",
- ["Version"] = "v1.0",
- ["Author"] = "WXBZ",
- ["Editted"] = false,
- ["EditAuthor"] = ""
- });
- local Players = (game.Players);
- local Player = (Players.LocalPlayer);
- local Character = (Player.Character);
- local Mouse = (Player:GetMouse());
- local WxspPart;
- local GuiText;
- local Mode = (1);
- local Modes = {
- "Beam",
- "Aimbot",
- "Automatic"
- };
- --// TypeWriter Function
- do
- function TypeWriter(DebrisTime, String, BaseObj)
- --// Type Writer Effect
- --// Created by: Wubzer
- --// I found the "magic number" 0.58333 just through trial and error of finding the perfect dynamic factor.
- --// Destroy Extra Type Writer
- if (String == "[" .. Player.Name .. "]: " or String == nil) then return; end;
- if (workspace:FindFirstChild(Player.Name .. "[TypeWriterText]")) then workspace[Player.Name .. "[TypeWriterText]"]:Destroy(); end;
- --// Variables
- local VectorUp = (CFrame.new(0, -3.5, 0));
- local TypePart = (Instance.new("Part", workspace));
- local TypeBill = (Instance.new("BillboardGui", TypePart));
- local TypeText = (Instance.new("TextLabel", TypeBill));
- local TypeWeld = (Instance.new("Weld", TypePart));
- --// TypePart
- TypePart.BrickColor = (BrickColor.new("Really black"));
- TypePart.Transparency = (1);
- TypePart.Name = (Player.Name .. "[TypeWriterText]");
- TypePart.CFrame = (BaseObj.CFrame)
- TypePart.Anchored = (false);
- TypePart.CanCollide = (false);
- TypePart.Size = (Vector3.new(1, 1, 1));
- --// TypeBill
- TypeBill.Name = ("TypeBill");
- TypeBill.Size = UDim2.new(string.len(String) * 0.58333, 0, 0.86, 0);
- --// TypeText
- TypeText.BackgroundTransparency = (1);
- TypeText.Name = ("TypeText");
- TypeText.Size = (UDim2.new(1, 0, 1, 0));
- TypeText.Font = (Enum.Font.Bodoni);
- TypeText.Text = ("");
- TypeText.TextColor3 = (Color3.new(0, 0, 0));
- TypeText.TextScaled = (true);
- TypeText.TextStrokeColor3 = (Color3.new(1, 0, 0));
- TypeText.TextStrokeTransparency = (0);
- --// TypeWeld
- TypeWeld.Part0 = (BaseObj);
- TypeWeld.Part1 = (TypePart);
- TypeWeld.C0 = (BaseObj.CFrame:inverse());
- TypeWeld.C1 = (BaseObj.CFrame:inverse() * VectorUp);
- --// Debris
- game.Debris:AddItem(TypePart, (DebrisTime + (string.len(String) * 0.05)));
- --// Change Text
- for i = 1, string.len(String) do
- if (not workspace:FindFirstChild(Player.Name .. "[TypeWriterText]")) then break; end;
- workspace:FindFirstChild(Player.Name .. "[TypeWriterText]").TypeBill.TypeText.Text = (string.sub(String, 1, i));
- wait(0.05);
- end;
- end;
- Player.Chatted:Connect(function(Msg)
- TypeWriter(7, "[" .. Player.Name .. "]: " .. Msg, Character.HumanoidRootPart);
- end);
- end;
- --// Init
- do
- --// Wxsp
- --// Variables
- WxspPart = (Instance.new("Part", Character));
- local Weld = (Instance.new("Weld", WxspPart));
- local PEmit = (Instance.new("ParticleEmitter", WxspPart));
- --// WxspPart
- WxspPart.BrickColor = (BrickColor.new("Really red"));
- WxspPart.Material = (Enum.Material.Neon);
- WxspPart.Transparency = (0.1);
- WxspPart.Name = ("WxspPart");
- WxspPart.CanCollide = (false);
- WxspPart.Shape = (Enum.PartType.Ball);
- WxspPart.Size = (Vector3.new(0.7));
- --// Weld
- Weld.Part0 = (Character.HumanoidRootPart);
- Weld.Part1 = (WxspPart);
- Weld.C0 = (Character.HumanoidRootPart.CFrame:inverse());
- Weld.C1 = (Character.HumanoidRootPart.CFrame:inverse() * CFrame.new(3, -4, 2));
- --// PEmit
- local clr = (Color3.new(1, 0, 0));
- PEmit.Color = (ColorSequence.new(clr, clr));
- PEmit.LightEmission = (0.3);
- PEmit.Size = (NumberSequence.new(0.13, 0.0625));
- PEmit.Texture = ("rbxassetid://930850620");
- PEmit.Transparency = (NumberSequence.new(0, 1));
- PEmit.Acceleration = (Vector3.new(0, -50, 0));
- PEmit.Lifetime = (NumberRange.new(0.3, 0.5));
- PEmit.Rate = (100);
- PEmit.Speed = (NumberRange.new(0, 0));
- PEmit.SpreadAngle = (Vector2.new(5, 0));
- --// Gui
- --// Variables
- local Gui = (Instance.new("ScreenGui", Player.PlayerGui));
- GuiText = (Instance.new("TextLabel", Gui));
- local TextCons = (Instance.new("UITextSizeConstraint", GuiText));
- --// Gui
- Gui.Name = ("WxspGui");
- --// GuiText
- GuiText.BackgroundTransparency = (1);
- GuiText.Name = ("WxspText");
- GuiText.Position = (UDim2.new(0, 0, 0.9, 0));
- GuiText.Size = (UDim2.new(1, 0, 0.06, 0));
- GuiText.Font = (Enum.Font.Bodoni);
- GuiText.Text = ("Mode: " .. Modes[Mode]);
- GuiText.TextColor3 = (Color3.new(0, 0, 0));
- GuiText.TextScaled = (true);
- GuiText.TextStrokeColor3 = (Color3.new(1, 0, 0));
- GuiText.TextStrokeTransparency = (0);
- --// TextCons
- TextCons.Name = ("TextConstraint");
- TextCons.MaxTextSize = (35);
- --// Init Message
- TypeWriter(0.7, "Name: " .. ScriptInfo["Name"], Character.HumanoidRootPart);
- repeat wait() until (not workspace:FindFirstChild(Player.Name .. "[TypeWriterText]"));
- TypeWriter(0.7, "Desc: " .. ScriptInfo["Description"], Character.HumanoidRootPart);
- repeat wait() until (not workspace:FindFirstChild(Player.Name .. "[TypeWriterText]"));
- TypeWriter(0.7, "Version: " .. ScriptInfo["Version"], Character.HumanoidRootPart);
- repeat wait() until (not workspace:FindFirstChild(Player.Name .. "[TypeWriterText]"));
- TypeWriter(0.7, "Author: " .. ScriptInfo["Author"], Character.HumanoidRootPart);
- repeat wait() until (not workspace:FindFirstChild(Player.Name .. "[TypeWriterText]"));
- if (ScriptInfo["Editted"]) then TypeWriter(0.7, "Edit Author: " .. ScriptInfo["EditAuthor"], Character.HumanoidRootPart); end;
- end;
- --// Handling
- do
- function KeyPressing()
- for _, i in pairs(game:GetService("UserInputService"):GetKeysPressed()) do
- if (i.KeyCode == Enum.KeyCode.X) then
- return true;
- end;
- end;
- return false;
- end;
- --// "Tools"
- game:GetService("UserInputService").InputBegan:Connect(function(K)
- if (K.KeyCode == Enum.KeyCode.Z) then
- if (Mode < #Modes) then
- Mode = (Mode + 1);
- GuiText.Text = ("Mode: " .. Modes[Mode]);
- else
- Mode = (1);
- GuiText.Text = ("Mode: " .. Modes[Mode]);
- end;
- elseif (K.KeyCode == Enum.KeyCode.X) then
- --// Beam
- if (Mode == 1) then
- local BeamRay = Ray.new(WxspPart.CFrame.p, (Mouse.Hit.p - WxspPart.CFrame.p).unit * 1e8);
- local Obj, Pos = workspace:FindPartOnRay(BeamRay, WxspPart, false, true);
- local Beam = Instance.new("Part", workspace);
- local Dis = (WxspPart.CFrame.p - Pos).magnitude;
- Beam.Anchored = (true);
- Beam.CanCollide = (false);
- Beam.BrickColor = BrickColor.new("Really red");
- Beam.Material = Enum.Material.Neon;
- Beam.Size = Vector3.new(0.3, 0.3, Dis);
- Beam.CFrame = CFrame.new(WxspPart.CFrame.p, Pos) * CFrame.new(0, 0, -Dis / 2);
- if (Obj ~= nil and Obj.Parent and game.Players:FindFirstChild(Obj.Parent.Name) and Obj.Parent ~= Character or Obj ~= nil and Obj.Parent and Obj.Parent:FindFirstChild("Humanoid") and Obj.Parent ~= Character) then
- Obj.Parent:BreakJoints();
- elseif (Obj ~= nil and Obj.Parent.Parent and game.Players:FindFirstChild(Obj.Parent.Parent.Name) and Obj.Parent.Parent ~= Character or Obj ~= nil and Obj.Parent.Parent and Obj.Parent.Parent:FindFirstChild("Humanoid") and Obj.Parent.Parent ~= Character) then
- Obj.Parent.Parent:BreakJoints();
- end
- game.Debris:AddItem(Beam, .1);
- --// Aimbot
- elseif (Mode == 2) then
- for _, i in pairs(game.Players:GetPlayers()) do
- if (i ~= Player and i.Character:FindFirstChild("Humanoid") and i.Character.Humanoid.Health > 0) then
- local BeamRay = Ray.new(WxspPart.CFrame.p, (i.Character.Head.CFrame.p - WxspPart.CFrame.p).unit * 1e8);
- local Obj, Pos = workspace:FindPartOnRay(BeamRay, WxspPart, false, true);
- local Beam = Instance.new("Part", workspace);
- local Dis = (WxspPart.CFrame.p - Pos).magnitude;
- if (Obj ~= nil and Obj.Parent and Obj.Parent.Name == i.Name) then
- Beam.Anchored = (true);
- Beam.CanCollide = (false);
- Beam.BrickColor = BrickColor.new("Really red");
- Beam.Material = Enum.Material.Neon;
- Beam.Size = Vector3.new(0.3, 0.3, Dis);
- Beam.CFrame = CFrame.new(WxspPart.CFrame.p, Pos) * CFrame.new(0, 0, -Dis / 2);
- Obj.Parent:BreakJoints();
- game.Debris:AddItem(Beam, 0.1);
- break;
- end;
- end
- end
- --// Automatic
- elseif (Mode == 3) then
- repeat wait()
- local BeamRay = Ray.new(WxspPart.CFrame.p, (Mouse.Hit.p - WxspPart.CFrame.p).unit * 1e8);
- local Obj, Pos = workspace:FindPartOnRay(BeamRay, WxspPart, false, true);
- if (Obj ~= nil and Obj.Name ~= "AutomaticLaser") then
- local Beam = Instance.new("Part", workspace);
- local Dis = (WxspPart.CFrame.p - Pos).magnitude;
- Beam.Name = "AutomaticLaser";
- Beam.Anchored = (true);
- Beam.CanCollide = (false);
- Beam.BrickColor = BrickColor.new("Really red");
- Beam.Material = Enum.Material.Neon;
- Beam.Size = Vector3.new(0.3, 0.3, Dis);
- Beam.CFrame = CFrame.new(WxspPart.CFrame.p, Pos) * CFrame.new(0, 0, -Dis / 2);
- if (Obj.Parent and Obj.Parent:FindFirstChild("Humanoid") and Obj.Parent ~= Character and Obj.Parent:FindFirstChild("Humanoid").Health > 0) then
- local dmg = math.random(35, 80);
- local DamagePart = (Instance.new("Part", workspace));
- local DamageBill = (Instance.new("BillboardGui", DamagePart));
- local DamageText = (Instance.new("TextLabel", DamageBill));
- local BodyVelocity = (Instance.new("BodyVelocity", DamagePart))
- DamagePart.BrickColor = BrickColor.new("Really black");
- DamagePart.Transparency = 1;
- DamagePart.CFrame = Obj.Parent.Humanoid.RootPart.CFrame * CFrame.new(math.random(-4, 4), 3, math.random(-4, 4));
- DamagePart.Size = Vector3.new(0, 0, 0);
- DamageBill.Size = UDim2.new(4, 0, 2, 0);
- DamageText.BackgroundTransparency = 1;
- DamageText.Size = UDim2.new(1, 0, 1, 0);
- DamageText.Font = Enum.Font.Bodoni;
- DamageText.Text = "-" .. dmg;
- DamageText.TextColor3 = Color3.new(0, 0, 0);
- DamageText.TextScaled = true;
- DamageText.TextStrokeColor3 = Color3.new(1, 0, 0);
- DamageText.TextStrokeTransparency = 0;
- BodyVelocity.MaxForce = Vector3.new(1e8, 1e8, 1e8);
- BodyVelocity.P = 1e8;
- BodyVelocity.Velocity = Vector3.new(0, 0.7, 0);
- game.Debris:AddItem(DamagePart, 2);
- Obj.Parent:FindFirstChild("Humanoid").Health = Obj.Parent:FindFirstChild("Humanoid").Health - dmg;
- elseif (Obj.Parent.Parent and Obj.Parent.Parent:FindFirstChild("Humanoid") and Obj.Parent.Parent ~= Character and Obj.Parent.Parent:FindFirstChild("Humanoid").Health > 0) then
- local dmg = math.random(35, 80);
- local DamagePart = (Instance.new("Part", workspace));
- local DamageBill = (Instance.new("BillboardGui", DamagePart));
- local DamageText = (Instance.new("TextLabel", DamageBill));
- local BodyVelocity = (Instance.new("BodyVelocity", DamagePart))
- DamagePart.BrickColor = BrickColor.new("Really black");
- DamagePart.Transparency = 1;
- DamagePart.CFrame = Obj.Parent.Parent.Humanoid.RootPart.CFrame * CFrame.new(math.random(-4, 4), 3, math.random(-4, 4));
- DamagePart.Size = Vector3.new(0, 0, 0);
- DamageBill.Size = UDim2.new(4, 0, 2, 0);
- DamageText.BackgroundTransparency = 1;
- DamageText.Size = UDim2.new(1, 0, 1, 0);
- DamageText.Font = Enum.Font.Bodoni;
- DamageText.Text = "-" .. dmg;
- DamageText.TextColor3 = Color3.new(0, 0, 0);
- DamageText.TextScaled = true;
- DamageText.TextStrokeColor3 = Color3.new(1, 0, 0);
- DamageText.TextStrokeTransparency = 0;
- BodyVelocity.MaxForce = Vector3.new(1e8, 1e8, 1e8);
- BodyVelocity.P = 1e8;
- BodyVelocity.Velocity = Vector3.new(0, 0.7, 0);
- game.Debris:AddItem(DamagePart, 2);
- Obj.Parent.Parent:FindFirstChild("Humanoid").Health = Obj.Parent.Parent:FindFirstChild("Humanoid").Health - dmg;
- end
- game.Debris:AddItem(Beam, .1);
- end;
- until (not KeyPressing());
- end;
- end;
- end);
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement