roblonium-web/Game/FinobeTools/RoVacuum.rbxm

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)
&#9;if item~=nil then
&#9;&#9;local s=handle:FindFirstChild(item.Name)
&#9;&#9;if s~=nil then
&#9;&#9;&#9;s:Play()
&#9;&#9;end
&#9;&#9;item:remove()
&#9;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(&quot;Debris&quot;)
while Tool.Handle:FindFirstChild(&quot;Motor&quot;)==nil do
&#9;wait()
end
local storeWeld=Tool.Handle.Motor
local HoseSound
function playsound(soundname)
&#9;if soundname and Tool:FindFirstChild(&quot;SoundScript&quot;)~=nil then
&#9;&#9;local soundtag=Instance.new(&quot;StringValue&quot;)
&#9;&#9;soundtag.Name=soundname
&#9;&#9;soundtag.Parent=Tool.SoundScript
&#9;end
end
function setwelds()
&#9;if storeWeld then
&#9;&#9;storeWeld.Parent=Tool.Handle
&#9;end
&#9;if equipped then
&#9;&#9;local ra=Tool.Parent:FindFirstChild(&quot;Right Arm&quot;)
&#9;&#9;local t=Tool.Parent:FindFirstChild(&quot;Torso&quot;)
&#9;&#9;if ra~=nil and t~=nil then
&#9;&#9;&#9;local rightgrip=ra:FindFirstChild(&quot;RightGrip&quot;)
&#9;&#9;&#9;if rightgrip~=nil then
&#9;&#9;&#9;&#9;rightgrip.Part0=t
&#9;&#9;&#9;&#9;rightgrip.C0=CFrame.new(0,0,1)*CFrame.Angles(0,0,math.pi)
&#9;&#9;&#9;&#9;rightgrip.C1=CFrame.new(0,0,0)
&#9;&#9;&#9;end
&#9;&#9;end
&#9;end
end
function doSuck()
&#9;local plr=game.Players.LocalPlayer
&#9;if plr~=nil then
&#9;&#9;local radiusVec = Vector3.new(6,6,6)
&#9;&#9;local handle = Tool:FindFirstChild(&quot;Handle&quot;)
&#9;&#9;local hose = handle:FindFirstChild(&quot;HosePart&quot;)
&#9;&#9;local hoseCFrame = hose.CFrame*CFrame.Angles(math.pi/2,0,0)
&#9;&#9;local hoseTarget = hoseCFrame + hoseCFrame.lookVector*9
&#9;&#9;local suckTarget = hoseCFrame + hoseCFrame.lookVector*3
&#9;&#9;local suckPart = Instance.new(&quot;Part&quot;)
&#9;&#9;suckPart.CanCollide = false
&#9;&#9;suckPart.FormFactor = &quot;Custom&quot;
&#9;&#9;--suckPart.Shape = &quot;Ball&quot;
&#9;&#9;suckPart.Size = Vector3.new(.2,.2,.2)
&#9;&#9;suckPart.CFrame = hoseTarget + Vector3.new((math.random()-.5)*10,(math.random()-.5)*10,(math.random()-.5)*10)
&#9;&#9;suckPart2 = suckPart:Clone()
&#9;&#9;suckPart2.CFrame = hoseTarget + Vector3.new((math.random()-.5)*10,(math.random()-.5)*10,(math.random()-.5)*10)
&#9;&#9;debris:AddItem(suckPart,3)
&#9;&#9;debris:AddItem(suckPart2,3)
&#9;&#9;suckPart.Parent = game.Workspace
&#9;&#9;suckPart2.Parent = game.Workspace
&#9;&#9;local suckRegion = Region3.new(hoseTarget.p - radiusVec, hoseTarget.p + radiusVec)
&#9;&#9;local suckableParts = game.Workspace:FindPartsInRegion3(suckRegion, Tool.Parent,50)
&#9;&#9;local limbChance = .075
&#9;&#9;for i,v in pairs(suckableParts) do
&#9;&#9;&#9;if v and v.Parent and v:IsA(&quot;BasePart&quot;) and not v:IsA(&quot;Terrain&quot;) and v:getMass() &lt; 40 and not v:FindFirstChild(&quot;bp&quot;) then
&#9;&#9;&#9;&#9;local bp = Instance.new(&quot;BodyPosition&quot;)
&#9;&#9;&#9;&#9;bp.Name = &quot;bp&quot;
&#9;&#9;&#9;&#9;bp.maxForce = Vector3.new(99999,99999,99999)
&#9;&#9;&#9;&#9;bp.D = 3000
&#9;&#9;&#9;&#9;bp.P = 30000
&#9;&#9;&#9;&#9;bp.position = suckTarget.p
&#9;&#9;&#9;&#9;debris:AddItem(bp,.5)
&#9;&#9;&#9;&#9;local hum = v.Parent:FindFirstChild(&quot;Humanoid&quot;)
&#9;&#9;&#9;&#9;if hum then
&#9;&#9;&#9;&#9;&#9;if math.random() &lt; limbChance or hum.Health == 0 then
&#9;&#9;&#9;&#9;&#9;&#9;local creatorTag = Instance.new(&quot;ObjectValue&quot;)
&#9;&#9;&#9;&#9;&#9;&#9;creatorTag.Value = plr
&#9;&#9;&#9;&#9;&#9;&#9;creatorTag.Name = &quot;creator&quot;
&#9;&#9;&#9;&#9;&#9;&#9;debris:AddItem(creatorTag,.5)
&#9;&#9;&#9;&#9;&#9;&#9;creatorTag.Parent = hum
&#9;&#9;&#9;&#9;&#9;&#9;v:BreakJoints()
&#9;&#9;&#9;&#9;&#9;&#9;bp.Parent = v
&#9;&#9;&#9;&#9;&#9;&#9;debris:AddItem(v,.15)
&#9;&#9;&#9;&#9;&#9;end
&#9;&#9;&#9;&#9;else
&#9;&#9;&#9;&#9;&#9;bp.Parent = v
&#9;&#9;&#9;&#9;&#9;if not v.Parent:IsA(&quot;Tool&quot;) then
&#9;&#9;&#9;&#9;&#9;&#9;delay(0,function()
&#9;&#9;&#9;&#9;&#9;&#9;&#9;local pos = v.Position
&#9;&#9;&#9;&#9;&#9;&#9;&#9;wait(.15)
&#9;&#9;&#9;&#9;&#9;&#9;&#9;if (pos-v.Position).magnitude &gt; .1 then
&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;v:Destroy()
&#9;&#9;&#9;&#9;&#9;&#9;&#9;end
&#9;&#9;&#9;&#9;&#9;&#9;end)
&#9;&#9;&#9;&#9;&#9;end
&#9;&#9;&#9;&#9;end
&#9;&#9;&#9;end
&#9;&#9;end
&#9;end
end
function onEquipped(mouse)
&#9;if mouse==nil then
&#9;&#9;print(&quot;Mouse not found&quot;)
&#9;&#9;return
&#9;end
&#9;equipped=true
&#9;mouse.Icon=&quot;rbxasset://textures\\GunCursor.png&quot;
&#9;mouse.Button1Down:connect(function()
&#9;&#9;if check and equipped then&#9;&#9;&#9;
&#9;&#9;&#9;check=false
&#9;&#9;&#9;mouse.Icon=&quot;rbxasset://textures\\GunWaitCursor.png&quot;
&#9;&#9;&#9;local hum=Tool.Parent:FindFirstChild(&quot;Humanoid&quot;)
&#9;&#9;&#9;local torso=Tool.Parent:FindFirstChild(&quot;Torso&quot;)
&#9;&#9;&#9;--local rightArm=Tool.Parent:FindFirstChild(&quot;Right Arm&quot;)
&#9;&#9;&#9;if torso and hum then
&#9;&#9;&#9;&#9;if hum.Health&gt;0 then
&#9;&#9;&#9;&#9;&#9;HoseSound = Backpack:FindFirstChild(&quot;HoseSound&quot;)
&#9;&#9;&#9;&#9;&#9;if HoseSound then HoseSound:Play() end
&#9;&#9;&#9;&#9;&#9;--theanim:Play()
&#9;&#9;&#9;&#9;&#9;playsound(&quot;Spray&quot;)
&#9;&#9;&#9;&#9;&#9;if storeWeld then
&#9;&#9;&#9;&#9;&#9;&#9;storeWeld.DesiredAngle=-.5
&#9;&#9;&#9;&#9;&#9;end
&#9;&#9;&#9;&#9;&#9;local frames = 10
&#9;&#9;&#9;&#9;&#9;for i = 1, frames do
&#9;&#9;&#9;&#9;&#9;&#9;if not equipped then break end
&#9;&#9;&#9;&#9;&#9;&#9;doSuck()
&#9;&#9;&#9;&#9;&#9;&#9;wait(.2)
&#9;&#9;&#9;&#9;&#9;end
&#9;&#9;&#9;&#9;&#9;if storeWeld then
&#9;&#9;&#9;&#9;&#9;&#9;storeWeld.DesiredAngle=0
&#9;&#9;&#9;&#9;&#9;end
&#9;&#9;&#9;&#9;&#9;wait(2)
&#9;&#9;&#9;&#9;end
&#9;&#9;&#9;end
&#9;&#9;&#9;mouse.Icon=&quot;rbxasset://textures\\GunCursor.png&quot;
&#9;&#9;&#9;check=true
&#9;&#9;end
&#9;end)
&#9;setwelds()
end
function onUnequipped()
&#9;equipped=false
&#9;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>