498 lines
15 KiB
Plaintext
498 lines
15 KiB
Plaintext
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.roblox.com/roblox.xsd" version="4">
|
|
<External>null</External>
|
|
<External>nil</External>
|
|
<Item class="Tool" referent="RBX0">
|
|
<Properties>
|
|
<bool name="CanBeDropped">true</bool>
|
|
<bool name="Enabled">true</bool>
|
|
<CoordinateFrame name="Grip">
|
|
<X>-1.5</X>
|
|
<Y>-0.800000012</Y>
|
|
<Z>-2.70000005</Z>
|
|
<R00>-1</R00>
|
|
<R01>0</R01>
|
|
<R02>0</R02>
|
|
<R10>0</R10>
|
|
<R11>-1</R11>
|
|
<R12>2.18556949e-007</R12>
|
|
<R20>0</R20>
|
|
<R21>2.18556949e-007</R21>
|
|
<R22>1</R22>
|
|
</CoordinateFrame>
|
|
<string name="Name">Vacuum</string>
|
|
<Content name="TextureId"><url>http://www.roblox.com/asset/?id=84394194 </url></Content>
|
|
<string name="ToolTip"></string>
|
|
</Properties>
|
|
<Item class="Script" referent="RBX1">
|
|
<Properties>
|
|
<bool name="Disabled">false</bool>
|
|
<Content name="LinkedSource"><null></null></Content>
|
|
<string name="Name">SoundScript</string>
|
|
<ProtectedString name="Source">--Stickmasterluke
|
|
|
|
|
|
sp=script.Parent
|
|
handle=sp.Handle
|
|
|
|
|
|
script.ChildAdded:connect(function(item)
|
|
	if item~=nil then
|
|
		local s=handle:FindFirstChild(item.Name)
|
|
		if s~=nil then
|
|
			s:Play()
|
|
		end
|
|
		item:remove()
|
|
	end
|
|
end)
|
|
|
|
</ProtectedString>
|
|
</Properties>
|
|
</Item>
|
|
<Item class="Part" referent="RBX2">
|
|
<Properties>
|
|
<bool name="Anchored">false</bool>
|
|
<float name="BackParamA">-0.5</float>
|
|
<float name="BackParamB">0.5</float>
|
|
<token name="BackSurface">0</token>
|
|
<token name="BackSurfaceInput">0</token>
|
|
<float name="BottomParamA">-0.5</float>
|
|
<float name="BottomParamB">0.5</float>
|
|
<token name="BottomSurface">0</token>
|
|
<token name="BottomSurfaceInput">0</token>
|
|
<int name="BrickColor">1</int>
|
|
<CoordinateFrame name="CFrame">
|
|
<X>-0.0999984741</X>
|
|
<Y>3.50000024</Y>
|
|
<Z>-0.5</Z>
|
|
<R00>-1</R00>
|
|
<R01>-0</R01>
|
|
<R02>0</R02>
|
|
<R10>-0</R10>
|
|
<R11>-1</R11>
|
|
<R12>0</R12>
|
|
<R20>-0</R20>
|
|
<R21>-0</R21>
|
|
<R22>1</R22>
|
|
</CoordinateFrame>
|
|
<bool name="CanCollide">true</bool>
|
|
<float name="Elasticity">0.5</float>
|
|
<float name="Friction">0.300000012</float>
|
|
<float name="FrontParamA">-0.5</float>
|
|
<float name="FrontParamB">0.5</float>
|
|
<token name="FrontSurface">0</token>
|
|
<token name="FrontSurfaceInput">0</token>
|
|
<float name="LeftParamA">-0.5</float>
|
|
<float name="LeftParamB">0.5</float>
|
|
<token name="LeftSurface">0</token>
|
|
<token name="LeftSurfaceInput">0</token>
|
|
<bool name="Locked">true</bool>
|
|
<token name="Material">256</token>
|
|
<string name="Name">Handle</string>
|
|
<float name="Reflectance">0.400000006</float>
|
|
<float name="RightParamA">-0.5</float>
|
|
<float name="RightParamB">0.5</float>
|
|
<token name="RightSurface">0</token>
|
|
<token name="RightSurfaceInput">0</token>
|
|
<Vector3 name="RotVelocity">
|
|
<X>0</X>
|
|
<Y>0</Y>
|
|
<Z>0</Z>
|
|
</Vector3>
|
|
<float name="TopParamA">-0.5</float>
|
|
<float name="TopParamB">0.5</float>
|
|
<token name="TopSurface">0</token>
|
|
<token name="TopSurfaceInput">0</token>
|
|
<float name="Transparency">0</float>
|
|
<Vector3 name="Velocity">
|
|
<X>0</X>
|
|
<Y>0</Y>
|
|
<Z>0</Z>
|
|
</Vector3>
|
|
<token name="formFactorRaw">3</token>
|
|
<token name="shape">1</token>
|
|
<Vector3 name="size">
|
|
<X>1.79999995</X>
|
|
<Y>2.5</Y>
|
|
<Z>1</Z>
|
|
</Vector3>
|
|
</Properties>
|
|
<Item class="SpecialMesh" referent="RBX3">
|
|
<Properties>
|
|
<token name="LODX">2</token>
|
|
<token name="LODY">2</token>
|
|
<Content name="MeshId"><url>http://www.roblox.com/asset/?id=84313478 </url></Content>
|
|
<token name="MeshType">5</token>
|
|
<string name="Name">Mesh</string>
|
|
<Vector3 name="Offset">
|
|
<X>0</X>
|
|
<Y>0</Y>
|
|
<Z>0</Z>
|
|
</Vector3>
|
|
<Vector3 name="Scale">
|
|
<X>1.5</X>
|
|
<Y>1.5</Y>
|
|
<Z>1.5</Z>
|
|
</Vector3>
|
|
<Content name="TextureId"><url>http://www.roblox.com/asset/?id=84313638 </url></Content>
|
|
<Vector3 name="VertexColor">
|
|
<X>1</X>
|
|
<Y>1</Y>
|
|
<Z>1</Z>
|
|
</Vector3>
|
|
</Properties>
|
|
</Item>
|
|
<Item class="Part" referent="RBX4">
|
|
<Properties>
|
|
<bool name="Anchored">false</bool>
|
|
<float name="BackParamA">-0.5</float>
|
|
<float name="BackParamB">0.5</float>
|
|
<token name="BackSurface">0</token>
|
|
<token name="BackSurfaceInput">0</token>
|
|
<float name="BottomParamA">-0.5</float>
|
|
<float name="BottomParamB">0.5</float>
|
|
<token name="BottomSurface">4</token>
|
|
<token name="BottomSurfaceInput">0</token>
|
|
<int name="BrickColor">11</int>
|
|
<CoordinateFrame name="CFrame">
|
|
<X>1.75910091</X>
|
|
<Y>4.5313549</Y>
|
|
<Z>-1.08508193</Z>
|
|
<R00>-0.999999523</R00>
|
|
<R01>5.96046235e-008</R01>
|
|
<R02>0</R02>
|
|
<R10>0</R10>
|
|
<R11>5.96046341e-008</R11>
|
|
<R12>-0.999999702</R12>
|
|
<R20>-5.96046164e-008</R20>
|
|
<R21>-0.999999523</R21>
|
|
<R22>-5.96046164e-008</R22>
|
|
</CoordinateFrame>
|
|
<bool name="CanCollide">true</bool>
|
|
<float name="Elasticity">0.5</float>
|
|
<float name="Friction">0.300000012</float>
|
|
<float name="FrontParamA">-0.5</float>
|
|
<float name="FrontParamB">0.5</float>
|
|
<token name="FrontSurface">0</token>
|
|
<token name="FrontSurfaceInput">0</token>
|
|
<float name="LeftParamA">-0.5</float>
|
|
<float name="LeftParamB">0.5</float>
|
|
<token name="LeftSurface">0</token>
|
|
<token name="LeftSurfaceInput">0</token>
|
|
<bool name="Locked">true</bool>
|
|
<token name="Material">256</token>
|
|
<string name="Name">HosePart</string>
|
|
<float name="Reflectance">0</float>
|
|
<float name="RightParamA">-0.5</float>
|
|
<float name="RightParamB">0.5</float>
|
|
<token name="RightSurface">0</token>
|
|
<token name="RightSurfaceInput">0</token>
|
|
<Vector3 name="RotVelocity">
|
|
<X>0</X>
|
|
<Y>0</Y>
|
|
<Z>0</Z>
|
|
</Vector3>
|
|
<float name="TopParamA">-0.5</float>
|
|
<float name="TopParamB">0.5</float>
|
|
<token name="TopSurface">3</token>
|
|
<token name="TopSurfaceInput">0</token>
|
|
<float name="Transparency">0</float>
|
|
<Vector3 name="Velocity">
|
|
<X>0</X>
|
|
<Y>0</Y>
|
|
<Z>0</Z>
|
|
</Vector3>
|
|
<token name="formFactorRaw">3</token>
|
|
<token name="shape">1</token>
|
|
<Vector3 name="size">
|
|
<X>0.200000003</X>
|
|
<Y>0.200000003</Y>
|
|
<Z>0.200000003</Z>
|
|
</Vector3>
|
|
</Properties>
|
|
<Item class="SpecialMesh" referent="RBX5">
|
|
<Properties>
|
|
<token name="LODX">2</token>
|
|
<token name="LODY">2</token>
|
|
<Content name="MeshId"><url>http://www.roblox.com/asset/?id=84313555 </url></Content>
|
|
<token name="MeshType">5</token>
|
|
<string name="Name">Mesh</string>
|
|
<Vector3 name="Offset">
|
|
<X>0</X>
|
|
<Y>0</Y>
|
|
<Z>0</Z>
|
|
</Vector3>
|
|
<Vector3 name="Scale">
|
|
<X>1.5</X>
|
|
<Y>1.5</Y>
|
|
<Z>1.5</Z>
|
|
</Vector3>
|
|
<Content name="TextureId"><url>http://www.roblox.com/asset/?id=84313638 </url></Content>
|
|
<Vector3 name="VertexColor">
|
|
<X>1</X>
|
|
<Y>1</Y>
|
|
<Z>1</Z>
|
|
</Vector3>
|
|
</Properties>
|
|
</Item>
|
|
</Item>
|
|
<Item class="Sound" referent="RBX6">
|
|
<Properties>
|
|
<bool name="Looped">false</bool>
|
|
<string name="Name">HoseSound</string>
|
|
<float name="Pitch">1</float>
|
|
<bool name="PlayOnRemove">false</bool>
|
|
<Content name="SoundId"><url>http://www.roblox.com/asset/?id=81699764</url></Content>
|
|
<float name="Volume">0.699999988</float>
|
|
</Properties>
|
|
</Item>
|
|
<Item class="Motor" referent="RBX7">
|
|
<Properties>
|
|
<CoordinateFrame name="C0">
|
|
<X>0</X>
|
|
<Y>0</Y>
|
|
<Z>0</Z>
|
|
<R00>-0.999999881</R00>
|
|
<R01>0</R01>
|
|
<R02>0</R02>
|
|
<R10>0</R10>
|
|
<R11>-0.99999994</R11>
|
|
<R12>0</R12>
|
|
<R20>0</R20>
|
|
<R21>0</R21>
|
|
<R22>0.999999881</R22>
|
|
</CoordinateFrame>
|
|
<CoordinateFrame name="C1">
|
|
<X>1.85910034</X>
|
|
<Y>-0.585082412</Y>
|
|
<Z>1.0313549</Z>
|
|
<R00>-0.999999642</R00>
|
|
<R01>0</R01>
|
|
<R02>-5.96046235e-008</R02>
|
|
<R10>5.96046306e-008</R10>
|
|
<R11>5.96046377e-008</R11>
|
|
<R12>-0.999999642</R12>
|
|
<R20>0</R20>
|
|
<R21>-0.999999762</R21>
|
|
<R22>-5.96046235e-008</R22>
|
|
</CoordinateFrame>
|
|
<float name="DesiredAngle">0</float>
|
|
<float name="MaxVelocity">0.0500000007</float>
|
|
<string name="Name">Motor</string>
|
|
<Ref name="Part0">RBX2</Ref>
|
|
<Ref name="Part1">RBX4</Ref>
|
|
</Properties>
|
|
</Item>
|
|
</Item>
|
|
<Item class="LocalScript" referent="RBX8">
|
|
<Properties>
|
|
<bool name="Disabled">false</bool>
|
|
<Content name="LinkedSource"><null></null></Content>
|
|
<string name="Name">LocalScript</string>
|
|
<ProtectedString name="Source">--Stickmasterluke
|
|
--Altered by QuantumSama
|
|
|
|
|
|
local Tool=script.Parent
|
|
local Backpack = Tool.Handle
|
|
|
|
rate=1/30
|
|
|
|
equipped=false
|
|
check=true
|
|
debris=game:GetService("Debris")
|
|
|
|
|
|
while Tool.Handle:FindFirstChild("Motor")==nil do
|
|
	wait()
|
|
end
|
|
local storeWeld=Tool.Handle.Motor
|
|
|
|
local HoseSound
|
|
|
|
|
|
function playsound(soundname)
|
|
	if soundname and Tool:FindFirstChild("SoundScript")~=nil then
|
|
		local soundtag=Instance.new("StringValue")
|
|
		soundtag.Name=soundname
|
|
		soundtag.Parent=Tool.SoundScript
|
|
	end
|
|
end
|
|
|
|
function setwelds()
|
|
	if storeWeld then
|
|
		storeWeld.Parent=Tool.Handle
|
|
	end
|
|
	if equipped then
|
|
		local ra=Tool.Parent:FindFirstChild("Right Arm")
|
|
		local t=Tool.Parent:FindFirstChild("Torso")
|
|
		if ra~=nil and t~=nil then
|
|
			local rightgrip=ra:FindFirstChild("RightGrip")
|
|
			if rightgrip~=nil then
|
|
				rightgrip.Part0=t
|
|
				rightgrip.C0=CFrame.new(0,0,1)*CFrame.Angles(0,0,math.pi)
|
|
				rightgrip.C1=CFrame.new(0,0,0)
|
|
			end
|
|
		end
|
|
	end
|
|
end
|
|
|
|
function doSuck()
|
|
	local plr=game.Players.LocalPlayer
|
|
	if plr~=nil then
|
|
		local radiusVec = Vector3.new(6,6,6)
|
|
		local handle = Tool:FindFirstChild("Handle")
|
|
		local hose = handle:FindFirstChild("HosePart")
|
|
		local hoseCFrame = hose.CFrame*CFrame.Angles(math.pi/2,0,0)
|
|
		local hoseTarget = hoseCFrame + hoseCFrame.lookVector*9
|
|
		local suckTarget = hoseCFrame + hoseCFrame.lookVector*3
|
|
		local suckPart = Instance.new("Part")
|
|
		suckPart.CanCollide = false
|
|
		suckPart.FormFactor = "Custom"
|
|
		--suckPart.Shape = "Ball"
|
|
		suckPart.Size = Vector3.new(.2,.2,.2)
|
|
		suckPart.CFrame = hoseTarget + Vector3.new((math.random()-.5)*10,(math.random()-.5)*10,(math.random()-.5)*10)
|
|
		suckPart2 = suckPart:Clone()
|
|
		suckPart2.CFrame = hoseTarget + Vector3.new((math.random()-.5)*10,(math.random()-.5)*10,(math.random()-.5)*10)
|
|
		debris:AddItem(suckPart,3)
|
|
		debris:AddItem(suckPart2,3)
|
|
		suckPart.Parent = game.Workspace
|
|
		suckPart2.Parent = game.Workspace
|
|
|
|
		local suckRegion = Region3.new(hoseTarget.p - radiusVec, hoseTarget.p + radiusVec)
|
|
|
|
		local suckableParts = game.Workspace:FindPartsInRegion3(suckRegion, Tool.Parent,50)
|
|
|
|
		local limbChance = .075
|
|
		for i,v in pairs(suckableParts) do
|
|
			if v and v.Parent and v:IsA("BasePart") and not v:IsA("Terrain") and v:getMass() < 40 and not v:FindFirstChild("bp") then
|
|
				local bp = Instance.new("BodyPosition")
|
|
				bp.Name = "bp"
|
|
				bp.maxForce = Vector3.new(99999,99999,99999)
|
|
				bp.D = 3000
|
|
				bp.P = 30000
|
|
				bp.position = suckTarget.p
|
|
				debris:AddItem(bp,.5)
|
|
				local hum = v.Parent:FindFirstChild("Humanoid")
|
|
				if hum then
|
|
					if math.random() < limbChance or hum.Health == 0 then
|
|
						local creatorTag = Instance.new("ObjectValue")
|
|
						creatorTag.Value = plr
|
|
						creatorTag.Name = "creator"
|
|
						debris:AddItem(creatorTag,.5)
|
|
						creatorTag.Parent = hum
|
|
|
|
						v:BreakJoints()
|
|
						bp.Parent = v
|
|
						debris:AddItem(v,.15)
|
|
					end
|
|
				else
|
|
					bp.Parent = v
|
|
					if not v.Parent:IsA("Tool") then
|
|
						delay(0,function()
|
|
							local pos = v.Position
|
|
							wait(.15)
|
|
							if (pos-v.Position).magnitude > .1 then
|
|
								v:Destroy()
|
|
							end
|
|
						end)
|
|
					end
|
|
				end
|
|
			end
|
|
		end
|
|
	end
|
|
end
|
|
|
|
function onEquipped(mouse)
|
|
	if mouse==nil then
|
|
		print("Mouse not found")
|
|
		return
|
|
	end
|
|
	equipped=true
|
|
	mouse.Icon="rbxasset://textures\\GunCursor.png"
|
|
	mouse.Button1Down:connect(function()
|
|
		if check and equipped then			
|
|
			check=false
|
|
			mouse.Icon="rbxasset://textures\\GunWaitCursor.png"
|
|
			local hum=Tool.Parent:FindFirstChild("Humanoid")
|
|
			local torso=Tool.Parent:FindFirstChild("Torso")
|
|
			--local rightArm=Tool.Parent:FindFirstChild("Right Arm")
|
|
			if torso and hum then
|
|
				if hum.Health>0 then
|
|
					HoseSound = Backpack:FindFirstChild("HoseSound")
|
|
					if HoseSound then HoseSound:Play() end
|
|
					--theanim:Play()
|
|
					playsound("Spray")
|
|
					if storeWeld then
|
|
						storeWeld.DesiredAngle=-.5
|
|
					end
|
|
					local frames = 10
|
|
					for i = 1, frames do
|
|
						if not equipped then break end
|
|
						doSuck()
|
|
						wait(.2)
|
|
					end
|
|
					if storeWeld then
|
|
						storeWeld.DesiredAngle=0
|
|
					end
|
|
					wait(2)
|
|
				end
|
|
			end
|
|
			mouse.Icon="rbxasset://textures\\GunCursor.png"
|
|
			check=true
|
|
		end
|
|
	end)
|
|
	setwelds()
|
|
end
|
|
|
|
function onUnequipped()
|
|
	equipped=false
|
|
	if HoseSound then HoseSound:Stop() end
|
|
end
|
|
|
|
|
|
Tool.Equipped:connect(onEquipped)
|
|
Tool.Unequipped:connect(onUnequipped)
|
|
setwelds()
|
|
|
|
|
|
</ProtectedString>
|
|
</Properties>
|
|
</Item>
|
|
<Item class="Camera" referent="RBX9">
|
|
<Properties>
|
|
<Ref name="CameraSubject">null</Ref>
|
|
<token name="CameraType">0</token>
|
|
<CoordinateFrame name="CoordinateFrame">
|
|
<X>1.01015282</X>
|
|
<Y>4.17695284</Y>
|
|
<Z>2.4850738</Z>
|
|
<R00>0.937280715</R00>
|
|
<R01>-0.0724726766</R01>
|
|
<R02>0.340958297</R02>
|
|
<R10>-0</R10>
|
|
<R11>0.978147805</R11>
|
|
<R12>0.207911015</R12>
|
|
<R20>-0.348575443</R20>
|
|
<R21>-0.194870979</R21>
|
|
<R22>0.916799068</R22>
|
|
</CoordinateFrame>
|
|
<float name="FieldOfView">70</float>
|
|
<CoordinateFrame name="Focus">
|
|
<X>-0.0999984741</X>
|
|
<Y>3.5</Y>
|
|
<Z>-0.5</Z>
|
|
<R00>1</R00>
|
|
<R01>0</R01>
|
|
<R02>0</R02>
|
|
<R10>0</R10>
|
|
<R11>1</R11>
|
|
<R12>0</R12>
|
|
<R20>0</R20>
|
|
<R21>0</R21>
|
|
<R22>1</R22>
|
|
</CoordinateFrame>
|
|
<string name="Name">ThumbnailCamera</string>
|
|
</Properties>
|
|
</Item>
|
|
</Item>
|
|
</roblox> |