This commit is contained in:
watrabi
2025-09-18 17:55:52 -04:00
commit 977f1ff4b8
15030 changed files with 17324420 additions and 0 deletions
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,102 @@
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.watrbx.wtf/roblox.xsd" version="4">
<External>null</External>
<External>nil</External>
<Item class="Part" referent="RBX0">
<Properties>
<bool name="Anchored">false</bool>
<float name="BackParamA">-0.5</float>
<float name="BackParamB">0.5</float>
<token name="BackSurface">3</token>
<token name="BackSurfaceInput">0</token>
<float name="BottomParamA">-0.5</float>
<float name="BottomParamB">0.5</float>
<token name="BottomSurface">3</token>
<token name="BottomSurfaceInput">0</token>
<int name="BrickColor">23</int>
<CoordinateFrame name="CFrame">
<X>-0.5</X>
<Y>0.5</Y>
<Z>0</Z>
<R00>-1.1920929e-007</R00>
<R01>1.00000012</R01>
<R02>0</R02>
<R10>1.00000012</R10>
<R11>-1.1920929e-007</R11>
<R12>0</R12>
<R20>0</R20>
<R21>0</R21>
<R22>-1.00000024</R22>
</CoordinateFrame>
<bool name="CanCollide">true</bool>
<bool name="CastsShadows">true</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="Cullable">true</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<float name="Friction">0.300000012</float>
<float name="FrontParamA">-0.5</float>
<float name="FrontParamB">0.5</float>
<token name="FrontSurface">3</token>
<token name="FrontSurfaceInput">0</token>
<float name="LeftParamA">-0.5</float>
<float name="LeftParamB">0.5</float>
<token name="LeftSurface">3</token>
<token name="LeftSurfaceInput">0</token>
<bool name="Locked">false</bool>
<string name="Name">Rocket</string>
<float name="Reflectance">0</float>
<float name="RightParamA">-0.5</float>
<float name="RightParamB">0.5</float>
<token name="RightSurface">3</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="shape">1</token>
<Vector3 name="size">
<X>1</X>
<Y>1</Y>
<Z>4</Z>
</Vector3>
</Properties>
<Item class="Sound">
<Properties>
<bool name="Looped">true</bool>
<string name="Name">Swoosh</string>
<int name="PlayCount">0</int>
<bool name="PlayOnRemove">false</bool>
<Content name="SoundId"><url>rbxasset://sounds\Rocket whoosh 01.wav</url></Content>
<float name="Volume">0.699999988</float>
</Properties>
</Item>
<Item class="Sound">
<Properties>
<bool name="Looped">false</bool>
<string name="Name">Explosion</string>
<int name="PlayCount">0</int>
<bool name="PlayOnRemove">true</bool>
<Content name="SoundId"><url>rbxasset://sounds\collide.wav</url></Content>
<float name="Volume">1</float>
</Properties>
</Item>
<Item class="Script">
<Properties>
<string name="Name">Script</string>
<string name="Source">r = game:service(&quot;RunService&quot;)&#13;&#10;&#13;&#10;shaft = script.Parent&#13;&#10;position = Vector3.new(0,0,0)&#13;&#10;&#13;&#10;function fly()&#13;&#10;&#9;direction = shaft.CFrame.lookVector&#13;&#10;&#9;position = position + direction&#13;&#10;&#9;error = position - shaft.Position&#13;&#10;&#9;shaft.Velocity = 7*error&#13;&#10;end&#13;&#10;&#13;&#10;function blow()&#13;&#10;&#9;swoosh:Stop()&#13;&#10;&#9;explosion = Instance.new(&quot;Explosion&quot;)&#13;&#10;&#9;explosion.Position = shaft.Position&#13;&#10;&#9;explosion.Parent = game.Workspace&#13;&#10;&#9;connection:disconnect()&#13;&#10;&#9;shaft:remove()&#13;&#10;end&#13;&#10;&#13;&#10;t, s = r.Stepped:wait()&#13;&#10;&#13;&#10;swoosh = script.Parent.Swoosh&#13;&#10;swoosh:Play()&#13;&#10;&#13;&#10;position = shaft.Position&#13;&#10;d = t + 10.0 - s&#13;&#10;connection = shaft.Touched:connect(blow)&#13;&#10;&#13;&#10;while t &lt; d do&#13;&#10;&#9;fly()&#13;&#10;&#9;t = r.Stepped:wait()&#13;&#10;end&#13;&#10;&#13;&#10;script.Parent.Explosion.PlayOnRemove = false&#13;&#10;swoosh:Stop()&#13;&#10;shaft:remove()&#13;&#10;</string>
</Properties>
</Item>
</Item>
</roblox>
@@ -0,0 +1,82 @@
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.watrbx.wtf/roblox.xsd" version="4">
<External>null</External>
<External>nil</External>
<Item class="Part" referent="RBX0">
<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">194</int>
<CoordinateFrame name="CFrame">
<X>0</X>
<Y>6.4000001</Y>
<Z>-8</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>
<bool name="CastsShadows">true</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="Cullable">true</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<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">false</bool>
<string name="Name">Pellet</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="shape">0</token>
<Vector3 name="size">
<X>2</X>
<Y>2</Y>
<Z>2</Z>
</Vector3>
</Properties>
<Item class="Script">
<Properties>
<string name="Name">Script</string>
<string name="Source">&#13;&#10;pellet = script.Parent&#13;&#10;damage = 8&#13;&#10;&#13;&#10;function onTouched(hit)&#13;&#10;&#9;humanoid = hit.Parent:findFirstChild(&quot;Humanoid&quot;)&#13;&#10;&#9;if humanoid~=nil then&#13;&#10;&#9;&#9;humanoid.Health = humanoid.Health - damage&#13;&#10;&#9;&#9;connection:disconnect()&#13;&#10;&#9;else&#13;&#10;&#9;&#9;damage = damage / 2&#13;&#10;&#9;&#9;if damage &lt; 0.1 then&#13;&#10;&#9;&#9;&#9;connection:disconnect()&#13;&#10;&#9;&#9;end&#13;&#10;&#9;end&#13;&#10;end&#13;&#10;&#13;&#10;connection = pellet.Touched:connect(onTouched)&#13;&#10;&#13;&#10;r = game:service(&quot;RunService&quot;)&#13;&#10;t, s = r.Stepped:wait()&#13;&#10;d = t + 1.0 - s&#13;&#10;while t &lt; d do&#13;&#10;&#9;t = r.Stepped:wait()&#13;&#10;end&#13;&#10;&#13;&#10;pellet.Parent = nil</string>
</Properties>
</Item>
</Item>
</roblox>
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,527 @@
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.watrbx.wtf/roblox.xsd" version="4">
<External>null</External>
<External>nil</External>
<Item class="Model" referent="RBX0">
<Properties>
<token name="Controller">7</token>
<bool name="ControllerFlagShown">true</bool>
<CoordinateFrame name="ModelInPrimary">
<X>0</X>
<Y>0</Y>
<Z>0</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">erik.cassel</string>
<Ref name="PrimaryPart">RBX1</Ref>
<bool name="archivable">true</bool>
</Properties>
<Item class="Part" referent="RBX1">
<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">24</int>
<CoordinateFrame name="CFrame">
<X>0</X>
<Y>4.5</Y>
<Z>25.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>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<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>
<string name="Name">Head</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">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>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>2</X>
<Y>1</Y>
<Z>1</Z>
</Vector3>
</Properties>
<Item class="SpecialMesh" referent="RBX2">
<Properties>
<Content name="MeshId"><null></null></Content>
<token name="MeshType">0</token>
<string name="Name">Mesh</string>
<Vector3 name="Scale">
<X>1.25</X>
<Y>1.25</Y>
<Z>1.25</Z>
</Vector3>
<Content name="TextureId"><null></null></Content>
<Vector3 name="VertexColor">
<X>1</X>
<Y>1</Y>
<Z>1</Z>
</Vector3>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="Decal" referent="RBX3">
<Properties>
<token name="Face">5</token>
<string name="Name">face</string>
<float name="Shiny">20</float>
<float name="Specular">0</float>
<Content name="Texture"><url>rbxasset://textures/face.png</url></Content>
<bool name="archivable">true</bool>
</Properties>
</Item>
</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">23</int>
<CoordinateFrame name="CFrame">
<X>0</X>
<Y>3</Y>
<Z>25.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>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<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</float>
<float name="LeftParamB">0</float>
<token name="LeftSurface">2</token>
<token name="LeftSurfaceInput">0</token>
<bool name="Locked">true</bool>
<string name="Name">Torso</string>
<float name="Reflectance">0</float>
<float name="RightParamA">0</float>
<float name="RightParamB">0</float>
<token name="RightSurface">2</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>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>2</X>
<Y>2</Y>
<Z>1</Z>
</Vector3>
</Properties>
<Item class="Decal" referent="RBX5">
<Properties>
<token name="Face">5</token>
<string name="Name">roblox</string>
<float name="Shiny">20</float>
<float name="Specular">0</float>
<Content name="Texture">
<null></null>
</Content>
<bool name="archivable">true</bool>
</Properties>
</Item>
</Item>
<Item class="Part" referent="RBX6">
<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">24</int>
<CoordinateFrame name="CFrame">
<X>1.5</X>
<Y>3</Y>
<Z>25.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">false</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<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>
<string name="Name">Left Arm</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>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>1</X>
<Y>2</Y>
<Z>1</Z>
</Vector3>
</Properties>
</Item>
<Item class="Part" referent="RBX7">
<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">24</int>
<CoordinateFrame name="CFrame">
<X>-1.5</X>
<Y>3</Y>
<Z>25.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">false</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<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>
<string name="Name">Right Arm</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>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>1</X>
<Y>2</Y>
<Z>1</Z>
</Vector3>
</Properties>
</Item>
<Item class="Part" referent="RBX8">
<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">119</int>
<CoordinateFrame name="CFrame">
<X>0.5</X>
<Y>1</Y>
<Z>25.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">false</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<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>
<string name="Name">Left Leg</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>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>1</X>
<Y>2</Y>
<Z>1</Z>
</Vector3>
</Properties>
</Item>
<Item class="Part" referent="RBX9">
<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">119</int>
<CoordinateFrame name="CFrame">
<X>-0.5</X>
<Y>1</Y>
<Z>25.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">false</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<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>
<string name="Name">Right Leg</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>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>1</X>
<Y>2</Y>
<Z>1</Z>
</Vector3>
</Properties>
</Item>
<Item class="Humanoid" referent="RBX10">
<Properties>
<float name="Health">100</float>
<bool name="Jump">false</bool>
<float name="MaxHealth">100</float>
<string name="Name">Humanoid</string>
<bool name="Sit">false</bool>
<Vector3 name="TargetPoint">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<Vector3 name="WalkDirection">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<float name="WalkRotationalVelocity">0</float>
<Ref name="WalkToPart">null</Ref>
<Vector3 name="WalkToPoint">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
</Properties>
</Item>
</Item>
</roblox>
@@ -0,0 +1,599 @@
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.watrbx.wtf/roblox.xsd" version="4">
<External>null</External>
<External>nil</External>
<Item class="Model" referent="RBX0">
<Properties>
<token name="Controller">7</token>
<bool name="ControllerFlagShown">true</bool>
<CoordinateFrame name="ModelInPrimary">
<X>0</X>
<Y>0</Y>
<Z>0</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">erik.cassel</string>
<Ref name="PrimaryPart">RBX1</Ref>
<bool name="archivable">true</bool>
</Properties>
<Item class="Part" referent="RBX1">
<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">24</int>
<CoordinateFrame name="CFrame">
<X>0</X>
<Y>4.5</Y>
<Z>25.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>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<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>
<string name="Name">Head</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">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>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>2</X>
<Y>1</Y>
<Z>1</Z>
</Vector3>
</Properties>
<Item class="SpecialMesh" referent="RBX2">
<Properties>
<Content name="MeshId"><null></null></Content>
<token name="MeshType">0</token>
<string name="Name">Mesh</string>
<Vector3 name="Scale">
<X>1.25</X>
<Y>1.25</Y>
<Z>1.25</Z>
</Vector3>
<Content name="TextureId"><null></null></Content>
<Vector3 name="VertexColor">
<X>1</X>
<Y>1</Y>
<Z>1</Z>
</Vector3>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="Decal" referent="RBX3">
<Properties>
<token name="Face">5</token>
<string name="Name">face</string>
<float name="Shiny">20</float>
<float name="Specular">0</float>
<Content name="Texture"><url>rbxasset://textures/face.png</url></Content>
<bool name="archivable">true</bool>
</Properties>
</Item>
</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">23</int>
<CoordinateFrame name="CFrame">
<X>0</X>
<Y>3</Y>
<Z>25.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>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<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</float>
<float name="LeftParamB">0</float>
<token name="LeftSurface">2</token>
<token name="LeftSurfaceInput">0</token>
<bool name="Locked">true</bool>
<string name="Name">Torso</string>
<float name="Reflectance">0</float>
<float name="RightParamA">0</float>
<float name="RightParamB">0</float>
<token name="RightSurface">2</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>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>2</X>
<Y>2</Y>
<Z>1</Z>
</Vector3>
</Properties>
<Item class="Decal" referent="RBX5">
<Properties>
<token name="Face">5</token>
<string name="Name">roblox</string>
<float name="Shiny">20</float>
<float name="Specular">0</float>
<Content name="Texture">
<null></null>
</Content>
<bool name="archivable">true</bool>
</Properties>
</Item>
</Item>
<Item class="Part" referent="RBX6">
<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">24</int>
<CoordinateFrame name="CFrame">
<X>1.5</X>
<Y>3</Y>
<Z>25.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">false</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<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>
<string name="Name">Left Arm</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>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>1</X>
<Y>2</Y>
<Z>1</Z>
</Vector3>
</Properties>
</Item>
<Item class="Part" referent="RBX7">
<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">24</int>
<CoordinateFrame name="CFrame">
<X>-1.5</X>
<Y>3</Y>
<Z>25.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">false</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<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>
<string name="Name">Right Arm</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>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>1</X>
<Y>2</Y>
<Z>1</Z>
</Vector3>
</Properties>
</Item>
<Item class="Part" referent="RBX8">
<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">119</int>
<CoordinateFrame name="CFrame">
<X>0.5</X>
<Y>1</Y>
<Z>25.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">false</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<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>
<string name="Name">Left Leg</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>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>1</X>
<Y>2</Y>
<Z>1</Z>
</Vector3>
</Properties>
</Item>
<Item class="Part" referent="RBX9">
<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">119</int>
<CoordinateFrame name="CFrame">
<X>-0.5</X>
<Y>1</Y>
<Z>25.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">false</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<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>
<string name="Name">Right Leg</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>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>1</X>
<Y>2</Y>
<Z>1</Z>
</Vector3>
</Properties>
</Item>
<Item class="Humanoid" referent="RBX10">
<Properties>
<float name="Health">100</float>
<bool name="Jump">false</bool>
<float name="MaxHealth">100</float>
<string name="Name">Humanoid</string>
<bool name="Sit">false</bool>
<Vector3 name="TargetPoint">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<Vector3 name="WalkDirection">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<float name="WalkRotationalVelocity">0</float>
<Ref name="WalkToPart">null</Ref>
<Vector3 name="WalkToPoint">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="Part" referent="RBX11">
<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">23</int>
<CoordinateFrame name="CFrame">
<X>0</X>
<Y>3</Y>
<Z>25.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">false</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<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</float>
<float name="LeftParamB">0</float>
<token name="LeftSurface">0</token>
<token name="LeftSurfaceInput">0</token>
<bool name="Locked">true</bool>
<string name="Name">HumanoidRootPart</string>
<float name="Reflectance">0</float>
<float name="RightParamA">0</float>
<float name="RightParamB">0</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">1</float>
<Vector3 name="Velocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>2</X>
<Y>2</Y>
<Z>1</Z>
</Vector3>
</Properties>
</Item>
</Item>
</roblox>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
Binary file not shown.
@@ -0,0 +1,356 @@
a 6>
4=:90
4;499,
4; &
4&=:90
4&=:90&
4&&=:90
4&&=:90&
4&&><&&0'
704&!<49<!,
704&!<9<!,
70&!<49<!,
7<6=
7<6=0&
7<6!=
7<!6
7<!6=
7<!6=0'
7<!6=0'&
7<!6=0&
7<!6=<;
7<!6=<;2
7<!6=&
79:"?:7
79:"?:7&
7:;0'
7 99&=<!
7 9&=<!
7 !!3 6>
7 !!3 6>0'
7 !!=4<'
7 !!&0-
7 !!&06&
7 !!&0>&
6=<;>
6<'690?0'>
69<!
6e;1e8&
6:;1e8&
6e;1:8&
6:6>
6:6>{
6:6>&
6:6>& 6>
6:6>& 6>01
6:6>& 6>0'
6:6>& 6><;2
6:6>& 6>&
6:>
6:;1:8
6:;1:8&
6::!0'
6 8
6 880'
6 88<;2
6 8&
6 8&=:!
6 8&=:!
6 ;<9<;2 &
6 ;<99<;2 &
6 ;;<9<;2 &
6 ;!
6 ;!9<6>
6 ;!9<6>0'
6 ;!9<6><;2
6 ;!&
6,70'3 6
6,70'3 6>
6,70'3 6>01
6,70'3 6>0'
6,70'3 6>0'&
6,70'3 6><;2
1<6>
1<6>&
1<>0
1<91:
1<91:
1<91:&
1<91:&
1<%&=<!
1: 6=0
1: 6=0742
1,>0
0?46 94!0
0?46 94!01
0?46 94!0&
0?46 94!<;2
0?46 94!<;2&
0?46 94!<:;
30'
3<;2
342
3420!
3422
34220!
3422<;2
3422<!
3422:!
3422&
342<!
342:!
342:!&
342&
34%%0'
34%%<;2
34%%<;
34">
36><;2
3094!<:
3094!<:
30994!<:
3<;20'74;2
3<;20'3 6>
3<;20'3 6>01
3<;20'3 6>0'
3<;20'3 6>0'&
3<;20'3 6><;2
3<;20'3 6>&
3<&!3 6>
3<&!3 6>01
3<&!3 6>0'
3<&!3 6>0'&
3<&!3 6><;2
3<&!3 6><;2&
3<&!3 6>&
3:6><;2
3 6>
3 6>t
3 6>0
3 6>01
3 6>0;
3 6>0'
3 6>0'&
3 6><;
3 6><;2
3 6><;2&
3 6>>>>>>>>>>>>>>>>>
3 6>80
3 6>&
3 6>!4'1
3 6>,:
3 >
3 >0'
3 ><;
3 ><;2
3 >>
3 >&
3 '7 '20'
24;274;2
24;274;201
24;274;2&
24,
24,&0-
24/:;24&
24/:;20'&
2:;41&
2::>
=4'16:'0&0-
=4'1:;
=:8:
=::>0'
=:';<0&!
=:';,
=:!&0-
= 8%
?46>4&&
?46><;2:33
?46>:33
?46>x:33
?4%
?0'>x:33
?0"
?<&8
?</
?</8
?<//
><>0
>>>
>:6>
>:;1 8
>:;1 8&
> 8
> 880'
> 88<;2
> 8&
> ;<9<;2 &
90&7<4;
90&7:
9 &!<;2
80'10
8:90&!
8:!=43 6>
8:!=43 6>
8:!=43 6>4
8:!=43 6>4
8:!=43 6>4&
8:!=43 6>4&
8:!=43 6>4/
8:!=43 6>4/
8:!=43 6>01
8:!=43 6>01
8:!=43 6>0'
8:!=43 6>0'
8:!=43 6>0'&
8:!=43 6>0'&
8:!=43 6><;
8:!=43 6><;
8:!=43 6><;2
8:!=43 6><;2
8:!=43 6><;2&
8:!=43 6><;2&
8:!=43 6>&
8:!=43 6>&
8:!=0'3 6>
8:!=0'3 6>
8:!=0'3 6>01
8:!=0'3 6>0'
8:!=0'3 6>0'
8:!=0'3 6>0'&
8:!=0'3 6>0'&
8:!=0'3 6><;
8:!=0'3 6><;
8:!=0'3 6><;2
8:!=0'3 6><;2
8:!=0'3 6><;2&
8:!=0'3 6><;2&
8:!=0'3 6>&
8:!=0'3 6>&
;4/<
;<20'
;<224
;<224&
;<220'
;<220'
;<220'&
;<220'&
:'24&<8
:'24&<8&
:'24&8
:'24&8&
%06>0'
%0;<&
%=:;0&0-
%= >01
%= ><;2
%= >>01
%= >><;2
%= >
%= >&
%= $
%<8%
%<&&:33
%:';
%:';:
%:';:2'4%=,
%:';:&
%'<6>
%'<6>&
%':&!<! !0
% &<0&
% &&<0&
% &&,
% &&,&
% &,
% &,&
$ 00'
'%0
'%01
'4%0
'4%01
&6=9:;2
&0-
&0--
&0---
&=<!3 99
&=<!<;2
&=<!<;2&
&=<!&
&=<!!01
&=<!!0'
&=<!!0'&
&=<!!<;2
&=<!!<;2&
&=<!!,
&=<!,
&9 !
&9 !&
&8 !
&;4!6=
&:1:8<!0
&:1:8</0
&:1:8</0'
&:1:8,
&% ;>
& 6>
!'48%
!"4!
#42<;4
#<7'4!:'
"4;2
"4;>
"4;>0'
"0!746>
"=:'0
":%
Binary file not shown.
@@ -0,0 +1,89 @@
# Windows - DINPUT
8f0e1200000000000000504944564944,Acme,platform:Windows,x:b2,a:b0,b:b1,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b5,rightshoulder:b6,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2,
341a3608000000000000504944564944,Afterglow PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
ffff0000000000000000504944564944,GameStop Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,
6d0416c2000000000000504944564944,Generic DirectInput Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
6d0419c2000000000000504944564944,Logitech F710 Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
88880803000000000000504944564944,PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.8,dpleft:h0.4,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b9,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:b7,rightx:a3,righty:a4,start:b11,x:b0,y:b3,platform:Windows,
4c056802000000000000504944564944,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Windows,
25090500000000000000504944564944,PS3 DualShock,a:b2,b:b1,back:b9,dpdown:h0.8,dpleft:h0.4,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b0,y:b3,platform:Windows,
4c05c405000000000000504944564944,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
6d0418c2000000000000504944564944,Logitech RumblePad 2 USB,platform:Windows,x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,
36280100000000000000504944564944,OUYA Controller,platform:Windows,a:b0,b:b3,y:b2,x:b1,start:b14,guide:b15,leftstick:b6,rightstick:b7,leftshoulder:b4,rightshoulder:b5,dpup:b8,dpleft:b10,dpdown:b9,dpright:b11,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:b12,righttrigger:b13,
4f0400b3000000000000504944564944,Thrustmaster Firestorm Dual Power,a:b0,b:b2,y:b3,x:b1,start:b10,guide:b8,back:b9,leftstick:b11,rightstick:b12,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b5,righttrigger:b7,platform:Windows,
00f00300000000000000504944564944,RetroUSB.com RetroPad,a:b1,b:b5,x:b0,y:b4,back:b2,start:b3,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,platform:Windows,
00f0f100000000000000504944564944,RetroUSB.com Super RetroPort,a:b1,b:b5,x:b0,y:b4,back:b2,start:b3,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,platform:Windows,
28040140000000000000504944564944,GamePad Pro USB,platform:Windows,a:b1,b:b2,x:b0,y:b3,back:b8,start:b9,leftshoulder:b4,rightshoulder:b5,leftx:a0,lefty:a1,lefttrigger:b6,righttrigger:b7,
ff113133000000000000504944564944,SVEN X-PAD,platform:Windows,a:b2,b:b3,y:b1,x:b0,start:b5,back:b4,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a4,lefttrigger:b8,righttrigger:b9,
8f0e0300000000000000504944564944,Piranha xtreme,platform:Windows,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2,
8f0e0d31000000000000504944564944,Multilaser JS071 USB,platform:Windows,a:b1,b:b2,y:b3,x:b0,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,
10080300000000000000504944564944,PS2 USB,platform:Windows,a:b2,b:b1,y:b0,x:b3,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a4,righty:a2,lefttrigger:b4,righttrigger:b5,
79000600000000000000504944564944,G-Shark GS-GP702,a:b2,b:b1,x:b3,y:b0,back:b8,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a4,lefttrigger:b6,righttrigger:b7,platform:Windows,
4b12014d000000000000504944564944,NYKO AIRFLO,a:b0,b:b1,x:b2,y:b3,back:b8,guide:b10,start:b9,leftstick:a0,rightstick:a2,leftshoulder:a3,rightshoulder:b5,dpup:h0.1,dpdown:h0.0,dpleft:h0.8,dpright:h0.2,leftx:h0.6,lefty:h0.12,rightx:h0.9,righty:h0.4,lefttrigger:b6,righttrigger:b7,platform:Windows,
d6206dca000000000000504944564944,PowerA Pro Ex,a:b1,b:b2,x:b0,y:b3,back:b8,guide:b12,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.0,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Windows,
a3060cff000000000000504944564944,Saitek P2500,a:b2,b:b3,y:b1,x:b0,start:b4,guide:b10,back:b5,leftstick:b8,rightstick:b9,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,platform:Windows,
8f0e0300000000000000504944564944,Trust GTX 28,a:b2,b:b1,y:b0,x:b3,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Windows,
4f0415b3000000000000504944564944,Thrustmaster Dual Analog 3.2,platform:Windows,x:b1,a:b0,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b5,rightshoulder:b6,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,
# OS X
0500000047532047616d657061640000,GameStop Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Mac OS X,
6d0400000000000016c2000000000000,Logitech F310 Gamepad (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
6d0400000000000018c2000000000000,Logitech F510 Gamepad (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
6d040000000000001fc2000000000000,Logitech F710 Gamepad (XInput),a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,
6d0400000000000019c2000000000000,Logitech Wireless Gamepad (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
4c050000000000006802000000000000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Mac OS X,
4c05000000000000c405000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,Platform:Mac OS X,
5e040000000000008e02000000000000,X360 Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,
891600000000000000fd000000000000,Razer Onza Tournament,a:b0,b:b1,y:b3,x:b2,start:b8,guide:b10,back:b9,leftstick:b6,rightstick:b7,leftshoulder:b4,rightshoulder:b5,dpup:b11,dpleft:b13,dpdown:b12,dpright:b14,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,platform:Mac OS X,
4f0400000000000000b3000000000000,Thrustmaster Firestorm Dual Power,a:b0,b:b2,y:b3,x:b1,start:b10,guide:b8,back:b9,leftstick:b11,rightstick:,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b5,righttrigger:b7,platform:Mac OS X,
8f0e0000000000000300000000000000,Piranha xtreme,platform:Mac OS X,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2,
0d0f0000000000004d00000000000000,HORI Gem Pad 3,platform:Mac OS X,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,
79000000000000000600000000000000,G-Shark GP-702,a:b2,b:b1,x:b3,y:b0,back:b8,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:b6,righttrigger:b7,platform:Mac OS X,
4f0400000000000015b3000000000000,Thrustmaster Dual Analog 3.2,platform:Mac OS X,x:b1,a:b0,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b5,rightshoulder:b6,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,
# Linux
0500000047532047616d657061640000,GameStop Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,
03000000ba2200002010000001010000,Jess Technology USB Game Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Linux,
030000006d04000019c2000010010000,Logitech Cordless RumblePad 2,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,
030000006d0400001dc2000014400000,Logitech F310 Gamepad (XInput),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
030000006d0400001ec2000020200000,Logitech F510 Gamepad (XInput),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
030000006d04000019c2000011010000,Logitech F710 Gamepad (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,
030000006d0400001fc2000005030000,Logitech F710 Gamepad (XInput),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
030000004c0500006802000011010000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Linux,
030000004c050000c405000011010000,Sony DualShock 4,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:b6,righttrigger:b7,platform:Linux,
03000000de280000ff11000001000000,Valve Streaming Gamepad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
030000005e0400008e02000014010000,X360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
030000005e0400008e02000010010000,X360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
030000005e0400001907000000010000,X360 Wireless Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
03000000100800000100000010010000,Twin USB PS2 Adapter,a:b2,b:b1,y:b0,x:b3,start:b9,guide:,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b4,righttrigger:b5,platform:Linux,
03000000a306000023f6000011010000,Saitek Cyborg V.1 Game Pad,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a4,lefttrigger:b6,righttrigger:b7,platform:Linux,
030000004f04000020b3000010010000,Thrustmaster 2 in 1 DT,a:b0,b:b2,y:b3,x:b1,start:b9,guide:,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b5,righttrigger:b7,platform:Linux,
030000004f04000023b3000000010000,Thrustmaster Dual Trigger 3-in-1,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a5,
030000008f0e00000300000010010000,GreenAsia Inc. USB Joystick ,platform:Linux,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2,
030000008f0e00001200000010010000,GreenAsia Inc. USB Joystick ,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b5,rightshoulder:b6,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2,
030000005e0400009102000007010000,X360 Wireless Controller,a:b0,b:b1,y:b3,x:b2,start:b7,guide:b8,back:b6,leftstick:b9,rightstick:b10,leftshoulder:b4,rightshoulder:b5,dpup:b13,dpleft:b11,dpdown:b14,dpright:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,platform:Linux,
030000006d04000016c2000010010000,Logitech Logitech Dual Action,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,
03000000260900008888000000010000,GameCube {WiseGroup USB box},a:b0,b:b2,y:b3,x:b1,start:b7,leftshoulder:,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,rightstick:,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,platform:Linux,
030000006d04000011c2000010010000,Logitech WingMan Cordless RumblePad,a:b0,b:b1,y:b4,x:b3,start:b8,guide:b5,back:b2,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:b9,righttrigger:b10,platform:Linux,
030000006d04000018c2000010010000,Logitech Logitech RumblePad 2 USB,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,
05000000d6200000ad0d000001000000,Moga Pro,platform:Linux,a:b0,b:b1,y:b3,x:b2,start:b6,leftstick:b7,rightstick:b8,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a5,righttrigger:a4,
030000004f04000009d0000000010000,Thrustmaster Run N Drive Wireless PS3,platform:Linux,a:b1,b:b2,x:b0,y:b3,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,
030000004f04000008d0000000010000,Thrustmaster Run N Drive Wireless,platform:Linux,a:b1,b:b2,x:b0,y:b3,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:b6,righttrigger:b7,
0300000000f000000300000000010000,RetroUSB.com RetroPad,a:b1,b:b5,x:b0,y:b4,back:b2,start:b3,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,platform:Linux,
0300000000f00000f100000000010000,RetroUSB.com Super RetroPort,a:b1,b:b5,x:b0,y:b4,back:b2,start:b3,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,platform:Linux,
030000006f0e00001f01000000010000,Generic X-Box pad,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,
03000000280400000140000000010000,Gravis GamePad Pro USB ,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftx:a0,lefty:a1,
030000005e0400008902000021010000,Microsoft X-Box pad v2 (US),platform:Linux,x:b3,a:b0,b:b1,y:b4,back:b6,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b5,lefttrigger:a2,rightshoulder:b2,righttrigger:a5,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a3,righty:a4,
030000006f0e00001e01000011010000,Rock Candy Gamepad for PS3,platform:Linux,a:b1,b:b2,x:b0,y:b3,back:b8,start:b9,guide:b12,leftshoulder:b4,rightshoulder:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,
03000000250900000500000000010000,Sony PS2 pad with SmartJoy adapter,platform:Linux,a:b2,b:b1,y:b0,x:b3,start:b8,back:b9,leftstick:b10,rightstick:b11,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b4,righttrigger:b5,
030000008916000000fd000024010000,Razer Onza Tournament,a:b0,b:b1,y:b3,x:b2,start:b7,guide:b8,back:b6,leftstick:b9,rightstick:b10,leftshoulder:b4,rightshoulder:b5,dpup:b13,dpleft:b11,dpdown:b14,dpright:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,platform:Linux,
030000004f04000000b3000010010000,Thrustmaster Firestorm Dual Power,a:b0,b:b2,y:b3,x:b1,start:b10,guide:b8,back:b9,leftstick:b11,rightstick:b12,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b5,righttrigger:b7,platform:Linux,
03000000ad1b000001f5000033050000,Hori Pad EX Turbo 2,a:b0,b:b1,y:b3,x:b2,start:b7,guide:b8,back:b6,leftstick:b9,rightstick:b10,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,platform:Linux,
050000004c050000c405000000010000,PS4 Controller (Bluetooth),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,
060000004c0500006802000000010000,PS3 Controller (Bluetooth),a:b14,b:b13,y:b12,x:b15,start:b3,guide:b16,back:b0,leftstick:b1,rightstick:b2,leftshoulder:b10,rightshoulder:b11,dpup:b4,dpleft:b7,dpdown:b6,dpright:b5,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b8,righttrigger:b9,platform:Linux,
03000000790000000600000010010000,DragonRise Inc. Generic USB Joystick ,platform:Linux,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a4,
03000000666600000488000000010000,Super Joy Box 5 Pro,platform:Linux,a:b2,b:b1,x:b3,y:b0,back:b9,start:b8,leftshoulder:b6,rightshoulder:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b4,righttrigger:b5,dpup:b12,dpleft:b15,dpdown:b14,dpright:b13,
05000000362800000100000002010000,OUYA Game Controller,a:b0,b:b3,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b14,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,platform:Linux,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,x:b1,y:b2,
05000000362800000100000003010000,OUYA Game Controller,a:b0,b:b3,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b14,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,platform:Linux,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,x:b1,y:b2,
030000008916000001fd000024010000,Razer Onza Classic Edition,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:b11,dpdown:b14,dpright:b12,dpup:b13,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,
030000005e040000d102000001010000,Microsoft X-Box One pad,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,296 @@
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.watrbx.wtf/roblox.xsd" version="4">
<External>null</External>
<External>nil</External>
<Item class="Script" referent="RBX0">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">Animate</string>
<string name="Source">-- Now with exciting TeamColors HACK!
function waitForChild(parent, childName)
local child = parent:findFirstChild(childName)
if child then return child end
while true do
child = parent.ChildAdded:wait()
if child.Name==childName then return child end
end
end
-- TEAM COLORS
function onTeamChanged(player)
wait(1)
local char = player.Character
if char == nil then return end
if player.Neutral then
-- Replacing the current BodyColor object will force a reset
local old = char:findFirstChild(&quot;Body Colors&quot;)
if not old then return end
old:clone().Parent = char
old.Parent = nil
else
local head = char:findFirstChild(&quot;Head&quot;)
local torso = char:findFirstChild(&quot;Torso&quot;)
local left_arm = char:findFirstChild(&quot;Left Arm&quot;)
local right_arm = char:findFirstChild(&quot;Right Arm&quot;)
local left_leg = char:findFirstChild(&quot;Left Leg&quot;)
local right_leg = char:findFirstChild(&quot;Right Leg&quot;)
if head then head.BrickColor = BrickColor.new(24) end
if torso then torso.BrickColor = player.TeamColor end
if left_arm then left_arm.BrickColor = BrickColor.new(26) end
if right_arm then right_arm.BrickColor = BrickColor.new(26) end
if left_leg then left_leg.BrickColor = BrickColor.new(26) end
if right_leg then right_leg.BrickColor = BrickColor.new(26) end
end
end
function onPlayerPropChanged(property, player)
if property == &quot;Character&quot; then
onTeamChanged(player)
end
if property== &quot;TeamColor&quot; or property == &quot;Neutral&quot; then
onTeamChanged(player)
end
end
local cPlayer = game.Players:GetPlayerFromCharacter(script.Parent)
cPlayer.Changed:connect(function(property) onPlayerPropChanged(property, cPlayer) end )
onTeamChanged(cPlayer)
-- ANIMATION
-- declarations
local Figure = script.Parent
local Torso = waitForChild(Figure, &quot;Torso&quot;)
local RightShoulder = waitForChild(Torso, &quot;Right Shoulder&quot;)
local LeftShoulder = waitForChild(Torso, &quot;Left Shoulder&quot;)
local RightHip = waitForChild(Torso, &quot;Right Hip&quot;)
local LeftHip = waitForChild(Torso, &quot;Left Hip&quot;)
local Neck = waitForChild(Torso, &quot;Neck&quot;)
local Humanoid = waitForChild(Figure, &quot;Humanoid&quot;)
local pose = &quot;Standing&quot;
local toolAnim = &quot;None&quot;
local toolAnimTime = 0
-- functions
function onRunning(speed)
if speed&gt;0 then
pose = &quot;Running&quot;
else
pose = &quot;Standing&quot;
end
end
function onDied()
pose = &quot;Dead&quot;
end
function onJumping()
pose = &quot;Jumping&quot;
end
function onClimbing()
pose = &quot;Climbing&quot;
end
function onGettingUp()
pose = &quot;GettingUp&quot;
end
function onFreeFall()
pose = &quot;FreeFall&quot;
end
function onFallingDown()
pose = &quot;FallingDown&quot;
end
function onSeated()
pose = &quot;Seated&quot;
end
function onPlatformStanding()
pose = &quot;PlatformStanding&quot;
end
function moveJump()
RightShoulder.MaxVelocity = 0.5
LeftShoulder.MaxVelocity = 0.5
RightShoulder:SetDesiredAngle(3.14)
LeftShoulder:SetDesiredAngle(-3.14)
RightHip:SetDesiredAngle(0)
LeftHip:SetDesiredAngle(0)
end
-- same as jump for now
function moveFreeFall()
RightShoulder.MaxVelocity = 0.5
LeftShoulder.MaxVelocity = 0.5
RightShoulder:SetDesiredAngle(3.14)
LeftShoulder:SetDesiredAngle(-3.14)
RightHip:SetDesiredAngle(0)
LeftHip:SetDesiredAngle(0)
end
function moveSit()
RightShoulder.MaxVelocity = 0.15
LeftShoulder.MaxVelocity = 0.15
RightShoulder:SetDesiredAngle(3.14 /2)
LeftShoulder:SetDesiredAngle(-3.14 /2)
RightHip:SetDesiredAngle(3.14 /2)
LeftHip:SetDesiredAngle(-3.14 /2)
end
function getTool()
for _, kid in ipairs(Figure:GetChildren()) do
if kid.className == &quot;Tool&quot; then return kid end
end
return nil
end
function getToolAnim(tool)
for _, c in ipairs(tool:GetChildren()) do
if c.Name == &quot;toolanim&quot; and c.className == &quot;StringValue&quot; then
return c
end
end
return nil
end
function animateTool()
if (toolAnim == &quot;None&quot;) then
RightShoulder:SetDesiredAngle(1.57)
return
end
if (toolAnim == &quot;Slash&quot;) then
RightShoulder.MaxVelocity = 0.5
RightShoulder:SetDesiredAngle(0)
return
end
if (toolAnim == &quot;Lunge&quot;) then
RightShoulder.MaxVelocity = 0.5
LeftShoulder.MaxVelocity = 0.5
RightHip.MaxVelocity = 0.5
LeftHip.MaxVelocity = 0.5
RightShoulder:SetDesiredAngle(1.57)
LeftShoulder:SetDesiredAngle(1.0)
RightHip:SetDesiredAngle(1.57)
LeftHip:SetDesiredAngle(1.0)
return
end
end
function move(time)
local amplitude
local frequency
if (pose == &quot;Jumping&quot;) then
moveJump()
return
end
if (pose == &quot;FreeFall&quot;) then
moveFreeFall()
return
end
if (pose == &quot;Seated&quot;) then
moveSit()
return
end
local climbFudge = 0
if (pose == &quot;Running&quot;) then
RightShoulder.MaxVelocity = 0.15
LeftShoulder.MaxVelocity = 0.15
amplitude = 1
frequency = 9
elseif (pose == &quot;Climbing&quot;) then
RightShoulder.MaxVelocity = 0.5
LeftShoulder.MaxVelocity = 0.5
amplitude = 1
frequency = 9
climbFudge = 3.14
else
amplitude = 0.1
frequency = 1
end
desiredAngle = amplitude * math.sin(time*frequency)
RightShoulder:SetDesiredAngle(desiredAngle + climbFudge)
LeftShoulder:SetDesiredAngle(desiredAngle - climbFudge)
RightHip:SetDesiredAngle(-desiredAngle)
LeftHip:SetDesiredAngle(-desiredAngle)
local tool = getTool()
if tool then
animStringValueObject = getToolAnim(tool)
if animStringValueObject then
toolAnim = animStringValueObject.Value
-- message recieved, delete StringValue
animStringValueObject.Parent = nil
toolAnimTime = time + .3
end
if time &gt; toolAnimTime then
toolAnimTime = 0
toolAnim = &quot;None&quot;
end
animateTool()
else
toolAnim = &quot;None&quot;
toolAnimTime = 0
end
end
-- connect events
Humanoid.Died:connect(onDied)
Humanoid.Running:connect(onRunning)
Humanoid.Jumping:connect(onJumping)
Humanoid.Climbing:connect(onClimbing)
Humanoid.GettingUp:connect(onGettingUp)
Humanoid.FreeFalling:connect(onFreeFall)
Humanoid.FallingDown:connect(onFallingDown)
Humanoid.Seated:connect(onSeated)
Humanoid.PlatformStanding:connect(onPlatformStanding)
-- main program
local runService = game:service(&quot;RunService&quot;);
while Figure.Parent~=nil do
local _, time = wait(0.1)
move(time)
end
</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
</roblox>
@@ -0,0 +1,336 @@
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.watrbx.wtf/roblox.xsd" version="4">
<External>null</External>
<External>nil</External>
<Item class="LocalScript" referent="RBX0">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">Animate</string>
<string name="Source">
function waitForChild(parent, childName)
local child = parent:findFirstChild(childName)
if child then return child end
while true do
child = parent.ChildAdded:wait()
if child.Name==childName then return child end
end
end
-- ANIMATION
-- declarations
local Figure = script.Parent
local Torso = waitForChild(Figure, &quot;Torso&quot;)
local RightShoulder = waitForChild(Torso, &quot;Right Shoulder&quot;)
local LeftShoulder = waitForChild(Torso, &quot;Left Shoulder&quot;)
local RightHip = waitForChild(Torso, &quot;Right Hip&quot;)
local LeftHip = waitForChild(Torso, &quot;Left Hip&quot;)
local Neck = waitForChild(Torso, &quot;Neck&quot;)
local Humanoid = waitForChild(Figure, &quot;Humanoid&quot;)
local pose = &quot;Standing&quot;
local toolAnim = &quot;None&quot;
local toolAnimTime = 0
local jumpMaxLimbVelocity = 0.75
-- functions
function onRunning(speed)
if speed&gt;0 then
pose = &quot;Running&quot;
else
pose = &quot;Standing&quot;
end
end
function onDied()
pose = &quot;Dead&quot;
end
function onJumping()
pose = &quot;Jumping&quot;
end
function onClimbing()
pose = &quot;Climbing&quot;
end
function onGettingUp()
pose = &quot;GettingUp&quot;
end
function onFreeFall()
pose = &quot;FreeFall&quot;
end
function onFallingDown()
pose = &quot;FallingDown&quot;
end
function onSeated()
pose = &quot;Seated&quot;
end
function onPlatformStanding()
pose = &quot;PlatformStanding&quot;
end
function onSwimming(speed)
if speed&gt;0 then
pose = &quot;Running&quot;
else
pose = &quot;Standing&quot;
end
end
function moveJump()
RightShoulder.MaxVelocity = jumpMaxLimbVelocity
LeftShoulder.MaxVelocity = jumpMaxLimbVelocity
RightShoulder:SetDesiredAngle(3.14)
LeftShoulder:SetDesiredAngle(-3.14)
RightHip:SetDesiredAngle(0)
LeftHip:SetDesiredAngle(0)
end
-- same as jump for now
function moveFreeFall()
RightShoulder.MaxVelocity = jumpMaxLimbVelocity
LeftShoulder.MaxVelocity = jumpMaxLimbVelocity
RightShoulder:SetDesiredAngle(3.14)
LeftShoulder:SetDesiredAngle(-3.14)
RightHip:SetDesiredAngle(0)
LeftHip:SetDesiredAngle(0)
end
function moveSit()
RightShoulder.MaxVelocity = 0.15
LeftShoulder.MaxVelocity = 0.15
RightShoulder:SetDesiredAngle(3.14 /2)
LeftShoulder:SetDesiredAngle(-3.14 /2)
RightHip:SetDesiredAngle(3.14 /2)
LeftHip:SetDesiredAngle(-3.14 /2)
end
function getTool()
for _, kid in ipairs(Figure:GetChildren()) do
if kid.className == &quot;Tool&quot; then return kid end
end
return nil
end
function getToolAnim(tool)
for _, c in ipairs(tool:GetChildren()) do
if c.Name == &quot;toolanim&quot; and c.className == &quot;StringValue&quot; then
return c
end
end
return nil
end
function animateTool()
if (toolAnim == &quot;None&quot;) then
RightShoulder:SetDesiredAngle(1.57)
return
end
if (toolAnim == &quot;Slash&quot;) then
RightShoulder.MaxVelocity = 0.5
RightShoulder:SetDesiredAngle(0)
return
end
if (toolAnim == &quot;Lunge&quot;) then
RightShoulder.MaxVelocity = 0.5
LeftShoulder.MaxVelocity = 0.5
RightHip.MaxVelocity = 0.5
LeftHip.MaxVelocity = 0.5
RightShoulder:SetDesiredAngle(1.57)
LeftShoulder:SetDesiredAngle(1.0)
RightHip:SetDesiredAngle(1.57)
LeftHip:SetDesiredAngle(1.0)
return
end
end
function move(time)
local amplitude
local frequency
if (pose == &quot;Jumping&quot;) then
moveJump()
return
end
if (pose == &quot;FreeFall&quot;) then
moveFreeFall()
return
end
if (pose == &quot;Seated&quot;) then
moveSit()
return
end
local climbFudge = 0
if (pose == &quot;Running&quot;) then
if (RightShoulder.CurrentAngle &gt; 1.5 or RightShoulder.CurrentAngle &lt; -1.5) then
RightShoulder.MaxVelocity = jumpMaxLimbVelocity
else
RightShoulder.MaxVelocity = 0.15
end
if (LeftShoulder.CurrentAngle &gt; 1.5 or LeftShoulder.CurrentAngle &lt; -1.5) then
LeftShoulder.MaxVelocity = jumpMaxLimbVelocity
else
LeftShoulder.MaxVelocity = 0.15
end
amplitude = 1
frequency = 9
elseif (pose == &quot;Climbing&quot;) then
RightShoulder.MaxVelocity = 0.5
LeftShoulder.MaxVelocity = 0.5
amplitude = 1
frequency = 9
climbFudge = 3.14
else
amplitude = 0.1
frequency = 1
end
desiredAngle = amplitude * math.sin(time*frequency)
RightShoulder:SetDesiredAngle(desiredAngle + climbFudge)
LeftShoulder:SetDesiredAngle(desiredAngle - climbFudge)
RightHip:SetDesiredAngle(-desiredAngle)
LeftHip:SetDesiredAngle(-desiredAngle)
local tool = getTool()
if tool then
animStringValueObject = getToolAnim(tool)
if animStringValueObject then
toolAnim = animStringValueObject.Value
-- message recieved, delete StringValue
animStringValueObject.Parent = nil
toolAnimTime = time + .3
end
if time &gt; toolAnimTime then
toolAnimTime = 0
toolAnim = &quot;None&quot;
end
animateTool()
else
toolAnim = &quot;None&quot;
toolAnimTime = 0
end
end
-- connect events
Humanoid.Died:connect(onDied)
Humanoid.Running:connect(onRunning)
Humanoid.Jumping:connect(onJumping)
Humanoid.Climbing:connect(onClimbing)
Humanoid.GettingUp:connect(onGettingUp)
Humanoid.FreeFalling:connect(onFreeFall)
Humanoid.FallingDown:connect(onFallingDown)
Humanoid.Seated:connect(onSeated)
Humanoid.PlatformStanding:connect(onPlatformStanding)
Humanoid.Swimming:connect(onSwimming)
-- main program
local runService = game:service(&quot;RunService&quot;);
while Figure.Parent~=nil do
local _, time = wait(0.1)
move(time)
end
</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="Script" referent="RBX1">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource">
<null></null>
</Content>
<string name="Name">RobloxTeam</string>
<string name="Source">
-- Now with exciting TeamColors HACK!
function waitForChild(parent, childName)
local child = parent:findFirstChild(childName)
if child then return child end
while true do
child = parent.ChildAdded:wait()
if child.Name==childName then return child end
end
end
-- TEAM COLORS
function onTeamChanged(player)
wait(1)
local char = player.Character
if char == nil then return end
if player.Neutral then
-- Replacing the current BodyColor object will force a reset
local old = char:findFirstChild(&quot;Body Colors&quot;)
if not old then return end
old:clone().Parent = char
old.Parent = nil
else
local head = char:findFirstChild(&quot;Head&quot;)
local torso = char:findFirstChild(&quot;Torso&quot;)
local left_arm = char:findFirstChild(&quot;Left Arm&quot;)
local right_arm = char:findFirstChild(&quot;Right Arm&quot;)
local left_leg = char:findFirstChild(&quot;Left Leg&quot;)
local right_leg = char:findFirstChild(&quot;Right Leg&quot;)
if head then head.BrickColor = BrickColor.new(24) end
if torso then torso.BrickColor = player.TeamColor end
if left_arm then left_arm.BrickColor = BrickColor.new(26) end
if right_arm then right_arm.BrickColor = BrickColor.new(26) end
if left_leg then left_leg.BrickColor = BrickColor.new(26) end
if right_leg then right_leg.BrickColor = BrickColor.new(26) end
end
end
function onPlayerPropChanged(property, player)
if property == &quot;Character&quot; then
onTeamChanged(player)
end
if property== &quot;TeamColor&quot; or property == &quot;Neutral&quot; then
onTeamChanged(player)
end
end
local cPlayer = game.Players:GetPlayerFromCharacter(script.Parent)
cPlayer.Changed:connect(function(property) onPlayerPropChanged(property, cPlayer) end )
onTeamChanged(cPlayer)
</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
</roblox>
@@ -0,0 +1,649 @@
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.watrbx.wtf/roblox.xsd" version="4">
<External>null</External>
<External>nil</External>
<Item class="LocalScript" referent="RBX715229BE23804EB781837156DFCBE808">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">Animate</string>
<ProtectedString name="Source">function waitForChild(parent, childName)
&#9;local child = parent:findFirstChild(childName)
&#9;if child then return child end
&#9;while true do
&#9;&#9;child = parent.ChildAdded:wait()
&#9;&#9;if child.Name==childName then return child end
&#9;end
end
local Figure = script.Parent
local Torso = waitForChild(Figure, &quot;Torso&quot;)
local RightShoulder = waitForChild(Torso, &quot;Right Shoulder&quot;)
local LeftShoulder = waitForChild(Torso, &quot;Left Shoulder&quot;)
local RightHip = waitForChild(Torso, &quot;Right Hip&quot;)
local LeftHip = waitForChild(Torso, &quot;Left Hip&quot;)
local Neck = waitForChild(Torso, &quot;Neck&quot;)
local Humanoid = waitForChild(Figure, &quot;Humanoid&quot;)
local pose = &quot;Standing&quot;
local currentAnim = &quot;&quot;
local currentAnimTrack = nil
local currentAnimKeyframeHandler = nil
local currentAnimSpeed = 1.0
local animTable = {}
local animNames = {
&#9;idle = &#9;{&#9;
&#9;&#9;&#9;&#9;{ id = &quot;http://www.watrbx.wtf/asset/?id=125750544&quot;, weight = 9 },
&#9;&#9;&#9;&#9;{ id = &quot;http://www.watrbx.wtf/asset/?id=125750618&quot;, weight = 1 }
&#9;&#9;&#9;},
&#9;walk = &#9;{ &#9;
&#9;&#9;&#9;&#9;{ id = &quot;http://www.watrbx.wtf/asset/?id=125749145&quot;, weight = 10 }
&#9;&#9;&#9;},
&#9;run = &#9;{
&#9;&#9;&#9;&#9;{ id = &quot;run.xml&quot;, weight = 10 }
&#9;&#9;&#9;},
&#9;jump = &#9;{
&#9;&#9;&#9;&#9;{ id = &quot;http://www.watrbx.wtf/asset/?id=125750702&quot;, weight = 10 }
&#9;&#9;&#9;},
&#9;fall = &#9;{
&#9;&#9;&#9;&#9;{ id = &quot;http://www.watrbx.wtf/asset/?id=125750759&quot;, weight = 10 }
&#9;&#9;&#9;},
&#9;climb = {
&#9;&#9;&#9;&#9;{ id = &quot;http://www.watrbx.wtf/asset/?id=125750800&quot;, weight = 10 }
&#9;&#9;&#9;},
&#9;sit = &#9;{
&#9;&#9;&#9;&#9;{ id = &quot;http://www.watrbx.wtf/asset/?id=178130996&quot;, weight = 10 }
&#9;&#9;&#9;},&#9;
&#9;toolnone = {
&#9;&#9;&#9;&#9;{ id = &quot;http://www.watrbx.wtf/asset/?id=125750867&quot;, weight = 10 }
&#9;&#9;&#9;},
&#9;toolslash = {
&#9;&#9;&#9;&#9;{ id = &quot;http://www.watrbx.wtf/asset/?id=129967390&quot;, weight = 10 }
--&#9;&#9;&#9;&#9;{ id = &quot;slash.xml&quot;, weight = 10 }
&#9;&#9;&#9;},
&#9;toollunge = {
&#9;&#9;&#9;&#9;{ id = &quot;http://www.watrbx.wtf/asset/?id=129967478&quot;, weight = 10 }
&#9;&#9;&#9;},
&#9;wave = {
&#9;&#9;&#9;&#9;{ id = &quot;http://www.watrbx.wtf/asset/?id=128777973&quot;, weight = 10 }
&#9;&#9;&#9;},
&#9;point = {
&#9;&#9;&#9;&#9;{ id = &quot;http://www.watrbx.wtf/asset/?id=128853357&quot;, weight = 10 }
&#9;&#9;&#9;},
&#9;dance = {
&#9;&#9;&#9;&#9;{ id = &quot;http://www.watrbx.wtf/asset/?id=130018893&quot;, weight = 10 },
&#9;&#9;&#9;&#9;{ id = &quot;http://www.watrbx.wtf/asset/?id=132546839&quot;, weight = 10 },
&#9;&#9;&#9;&#9;{ id = &quot;http://www.watrbx.wtf/asset/?id=132546884&quot;, weight = 10 }
&#9;&#9;&#9;},
&#9;dance2 = {
&#9;&#9;&#9;&#9;{ id = &quot;http://www.watrbx.wtf/asset/?id=160934142&quot;, weight = 10 },
&#9;&#9;&#9;&#9;{ id = &quot;http://www.watrbx.wtf/asset/?id=160934298&quot;, weight = 10 },
&#9;&#9;&#9;&#9;{ id = &quot;http://www.watrbx.wtf/asset/?id=160934376&quot;, weight = 10 }
&#9;&#9;&#9;},
&#9;dance3 = {
&#9;&#9;&#9;&#9;{ id = &quot;http://www.watrbx.wtf/asset/?id=160934458&quot;, weight = 10 },
&#9;&#9;&#9;&#9;{ id = &quot;http://www.watrbx.wtf/asset/?id=160934530&quot;, weight = 10 },
&#9;&#9;&#9;&#9;{ id = &quot;http://www.watrbx.wtf/asset/?id=160934593&quot;, weight = 10 }
&#9;&#9;&#9;},
&#9;laugh = {
&#9;&#9;&#9;&#9;{ id = &quot;http://www.watrbx.wtf/asset/?id=129423131&quot;, weight = 10 }
&#9;&#9;&#9;},
&#9;cheer = {
&#9;&#9;&#9;&#9;{ id = &quot;http://www.watrbx.wtf/asset/?id=129423030&quot;, weight = 10 }
&#9;&#9;&#9;},
}
-- Existance in this list signifies that it is an emote, the value indicates if it is a looping emote
local emoteNames = { wave = false, point = false, dance = true, dance2 = true, dance3 = true, laugh = false, cheer = false}
math.randomseed(tick())
function configureAnimationSet(name, fileList)
&#9;if (animTable[name] ~= nil) then
&#9;&#9;for _, connection in pairs(animTable[name].connections) do
&#9;&#9;&#9;connection:disconnect()
&#9;&#9;end
&#9;end
&#9;animTable[name] = {}
&#9;animTable[name].count = 0
&#9;animTable[name].totalWeight = 0&#9;
&#9;animTable[name].connections = {}
&#9;-- check for config values
&#9;local config = script:FindFirstChild(name)
&#9;if (config ~= nil) then
--&#9;&#9;print(&quot;Loading anims &quot; .. name)
&#9;&#9;table.insert(animTable[name].connections, config.ChildAdded:connect(function(child) configureAnimationSet(name, fileList) end))
&#9;&#9;table.insert(animTable[name].connections, config.ChildRemoved:connect(function(child) configureAnimationSet(name, fileList) end))
&#9;&#9;local idx = 1
&#9;&#9;for _, childPart in pairs(config:GetChildren()) do
&#9;&#9;&#9;if (childPart:IsA(&quot;Animation&quot;)) then
&#9;&#9;&#9;&#9;table.insert(animTable[name].connections, childPart.Changed:connect(function(property) configureAnimationSet(name, fileList) end))
&#9;&#9;&#9;&#9;animTable[name][idx] = {}
&#9;&#9;&#9;&#9;animTable[name][idx].anim = childPart
&#9;&#9;&#9;&#9;local weightObject = childPart:FindFirstChild(&quot;Weight&quot;)
&#9;&#9;&#9;&#9;if (weightObject == nil) then
&#9;&#9;&#9;&#9;&#9;animTable[name][idx].weight = 1
&#9;&#9;&#9;&#9;else
&#9;&#9;&#9;&#9;&#9;animTable[name][idx].weight = weightObject.Value
&#9;&#9;&#9;&#9;end
&#9;&#9;&#9;&#9;animTable[name].count = animTable[name].count + 1
&#9;&#9;&#9;&#9;animTable[name].totalWeight = animTable[name].totalWeight + animTable[name][idx].weight
&#9;--&#9;&#9;&#9;print(name .. &quot; [&quot; .. idx .. &quot;] &quot; .. animTable[name][idx].anim.AnimationId .. &quot; (&quot; .. animTable[name][idx].weight .. &quot;)&quot;)
&#9;&#9;&#9;&#9;idx = idx + 1
&#9;&#9;&#9;end
&#9;&#9;end
&#9;end
&#9;-- fallback to defaults
&#9;if (animTable[name].count &lt;= 0) then
&#9;&#9;for idx, anim in pairs(fileList) do
&#9;&#9;&#9;animTable[name][idx] = {}
&#9;&#9;&#9;animTable[name][idx].anim = Instance.new(&quot;Animation&quot;)
&#9;&#9;&#9;animTable[name][idx].anim.Name = name
&#9;&#9;&#9;animTable[name][idx].anim.AnimationId = anim.id
&#9;&#9;&#9;animTable[name][idx].weight = anim.weight
&#9;&#9;&#9;animTable[name].count = animTable[name].count + 1
&#9;&#9;&#9;animTable[name].totalWeight = animTable[name].totalWeight + anim.weight
--&#9;&#9;&#9;print(name .. &quot; [&quot; .. idx .. &quot;] &quot; .. anim.id .. &quot; (&quot; .. anim.weight .. &quot;)&quot;)
&#9;&#9;end
&#9;end
end
-- Setup animation objects
function scriptChildModified(child)
&#9;local fileList = animNames[child.Name]
&#9;if (fileList ~= nil) then
&#9;&#9;configureAnimationSet(child.Name, fileList)
&#9;end&#9;
end
script.ChildAdded:connect(scriptChildModified)
script.ChildRemoved:connect(scriptChildModified)
for name, fileList in pairs(animNames) do
&#9;configureAnimationSet(name, fileList)
end&#9;
-- ANIMATION
-- declarations
local toolAnim = &quot;None&quot;
local toolAnimTime = 0
local jumpAnimTime = 0
local jumpAnimDuration = 0.3
local toolTransitionTime = 0.1
local fallTransitionTime = 0.3
local jumpMaxLimbVelocity = 0.75
-- functions
function stopAllAnimations()
&#9;local oldAnim = currentAnim
&#9;-- return to idle if finishing an emote
&#9;if (emoteNames[oldAnim] ~= nil and emoteNames[oldAnim] == false) then
&#9;&#9;oldAnim = &quot;idle&quot;
&#9;end
&#9;currentAnim = &quot;&quot;
&#9;if (currentAnimKeyframeHandler ~= nil) then
&#9;&#9;currentAnimKeyframeHandler:disconnect()
&#9;end
&#9;if (currentAnimTrack ~= nil) then
&#9;&#9;currentAnimTrack:Stop()
&#9;&#9;currentAnimTrack:Destroy()
&#9;&#9;currentAnimTrack = nil
&#9;end
&#9;return oldAnim
end
function setAnimationSpeed(speed)
&#9;if speed ~= currentAnimSpeed then
&#9;&#9;currentAnimSpeed = speed
&#9;&#9;currentAnimTrack:AdjustSpeed(currentAnimSpeed)
&#9;end
end
function keyFrameReachedFunc(frameName)
&#9;if (frameName == &quot;End&quot;) then
--&#9;&#9;print(&quot;Keyframe : &quot;.. frameName)
&#9;&#9;local repeatAnim = stopAllAnimations()
&#9;&#9;local animSpeed = currentAnimSpeed
&#9;&#9;playAnimation(repeatAnim, 0.0, Humanoid)
&#9;&#9;setAnimationSpeed(animSpeed)
&#9;end
end
-- Preload animations
function playAnimation(animName, transitionTime, humanoid)
&#9;local idleFromEmote = (animName == &quot;idle&quot; and emoteNames[currentAnim] ~= nil)
&#9;if (animName ~= currentAnim and not idleFromEmote) then&#9;&#9;
&#9;&#9;
&#9;&#9;if (currentAnimTrack ~= nil) then
&#9;&#9;&#9;currentAnimTrack:Stop(transitionTime)
&#9;&#9;&#9;currentAnimTrack:Destroy()
&#9;&#9;end
&#9;&#9;currentAnimSpeed = 1.0
&#9;&#9;local roll = math.random(1, animTable[animName].totalWeight)
&#9;&#9;local origRoll = roll
&#9;&#9;local idx = 1
&#9;&#9;while (roll &gt; animTable[animName][idx].weight) do
&#9;&#9;&#9;roll = roll - animTable[animName][idx].weight
&#9;&#9;&#9;idx = idx + 1
&#9;&#9;end
--&#9;&#9;print(animName .. &quot; &quot; .. idx .. &quot; [&quot; .. origRoll .. &quot;]&quot;)
&#9;&#9;local anim = animTable[animName][idx].anim
&#9;&#9;-- load it to the humanoid; get AnimationTrack
&#9;&#9;currentAnimTrack = humanoid:LoadAnimation(anim)
&#9;&#9;
&#9;&#9;-- play the animation
&#9;&#9;currentAnimTrack:Play(transitionTime)
&#9;&#9;currentAnim = animName
&#9;&#9;-- set up keyframe name triggers
&#9;&#9;if (currentAnimKeyframeHandler ~= nil) then
&#9;&#9;&#9;currentAnimKeyframeHandler:disconnect()
&#9;&#9;end
&#9;&#9;currentAnimKeyframeHandler = currentAnimTrack.KeyframeReached:connect(keyFrameReachedFunc)
&#9;end
end
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
local toolAnimName = &quot;&quot;
local toolAnimTrack = nil
local currentToolAnimKeyframeHandler = nil
function toolKeyFrameReachedFunc(frameName)
&#9;if (frameName == &quot;End&quot;) then
--&#9;&#9;print(&quot;Keyframe : &quot;.. frameName)
&#9;&#9;local repeatAnim = stopToolAnimations()
&#9;&#9;playToolAnimation(repeatAnim, 0.0, Humanoid)
&#9;end
end
function playToolAnimation(animName, transitionTime, humanoid)
&#9;if (animName ~= toolAnimName) then&#9;&#9;
&#9;&#9;
&#9;&#9;if (toolAnimTrack ~= nil) then
&#9;&#9;&#9;toolAnimTrack:Stop()
&#9;&#9;&#9;toolAnimTrack:Destroy()
&#9;&#9;&#9;transitionTime = 0
&#9;&#9;end
&#9;&#9;local roll = math.random(1, animTable[animName].totalWeight)
&#9;&#9;local origRoll = roll
&#9;&#9;local idx = 1
&#9;&#9;while (roll &gt; animTable[animName][idx].weight) do
&#9;&#9;&#9;roll = roll - animTable[animName][idx].weight
&#9;&#9;&#9;idx = idx + 1
&#9;&#9;end
--&#9;&#9;print(animName .. &quot; * &quot; .. idx .. &quot; [&quot; .. origRoll .. &quot;]&quot;)
&#9;&#9;local anim = animTable[animName][idx].anim
&#9;&#9;-- load it to the humanoid; get AnimationTrack
&#9;&#9;toolAnimTrack = humanoid:LoadAnimation(anim)
&#9;&#9;
&#9;&#9;-- play the animation
&#9;&#9;toolAnimTrack:Play(transitionTime)
&#9;&#9;toolAnimName = animName
&#9;&#9;currentToolAnimKeyframeHandler = toolAnimTrack.KeyframeReached:connect(toolKeyFrameReachedFunc)
&#9;end
end
function stopToolAnimations()
&#9;local oldAnim = toolAnimName
&#9;if (currentToolAnimKeyframeHandler ~= nil) then
&#9;&#9;currentToolAnimKeyframeHandler:disconnect()
&#9;end
&#9;toolAnimName = &quot;&quot;
&#9;if (toolAnimTrack ~= nil) then
&#9;&#9;toolAnimTrack:Stop()
&#9;&#9;toolAnimTrack:Destroy()
&#9;&#9;toolAnimTrack = nil
&#9;end
&#9;return oldAnim
end
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
function onRunning(speed)
&#9;if speed&gt;0.5 then
&#9;&#9;playAnimation(&quot;walk&quot;, 0.1, Humanoid)
&#9;&#9;pose = &quot;Running&quot;
&#9;else
&#9;&#9;playAnimation(&quot;idle&quot;, 0.1, Humanoid)
&#9;&#9;pose = &quot;Standing&quot;
&#9;end
end
function onDied()
&#9;pose = &quot;Dead&quot;
end
function onJumping()
&#9;playAnimation(&quot;jump&quot;, 0.1, Humanoid)
&#9;jumpAnimTime = jumpAnimDuration
&#9;pose = &quot;Jumping&quot;
end
function onClimbing(speed)
&#9;playAnimation(&quot;climb&quot;, 0.1, Humanoid)
&#9;setAnimationSpeed(speed / 12.0)
&#9;pose = &quot;Climbing&quot;
end
function onGettingUp()
&#9;pose = &quot;GettingUp&quot;
end
function onFreeFall()
&#9;if (jumpAnimTime &lt;= 0) then
&#9;&#9;playAnimation(&quot;fall&quot;, fallTransitionTime, Humanoid)
&#9;end
&#9;pose = &quot;FreeFall&quot;
end
function onFallingDown()
&#9;pose = &quot;FallingDown&quot;
end
function onSeated()
&#9;pose = &quot;Seated&quot;
end
function onPlatformStanding()
&#9;pose = &quot;PlatformStanding&quot;
end
function onSwimming(speed)
&#9;if speed&gt;0 then
&#9;&#9;pose = &quot;Running&quot;
&#9;else
&#9;&#9;pose = &quot;Standing&quot;
&#9;end
end
function getTool()&#9;
&#9;for _, kid in ipairs(Figure:GetChildren()) do
&#9;&#9;if kid.className == &quot;Tool&quot; then return kid end
&#9;end
&#9;return nil
end
function getToolAnim(tool)
&#9;for _, c in ipairs(tool:GetChildren()) do
&#9;&#9;if c.Name == &quot;toolanim&quot; and c.className == &quot;StringValue&quot; then
&#9;&#9;&#9;return c
&#9;&#9;end
&#9;end
&#9;return nil
end
function animateTool()
&#9;
&#9;if (toolAnim == &quot;None&quot;) then
&#9;&#9;playToolAnimation(&quot;toolnone&quot;, toolTransitionTime, Humanoid)
&#9;&#9;return
&#9;end
&#9;if (toolAnim == &quot;Slash&quot;) then
&#9;&#9;playToolAnimation(&quot;toolslash&quot;, 0, Humanoid)
&#9;&#9;return
&#9;end
&#9;if (toolAnim == &quot;Lunge&quot;) then
&#9;&#9;playToolAnimation(&quot;toollunge&quot;, 0, Humanoid)
&#9;&#9;return
&#9;end
end
function moveSit()
&#9;RightShoulder.MaxVelocity = 0.15
&#9;LeftShoulder.MaxVelocity = 0.15
&#9;RightShoulder:SetDesiredAngle(3.14 /2)
&#9;LeftShoulder:SetDesiredAngle(-3.14 /2)
&#9;RightHip:SetDesiredAngle(3.14 /2)
&#9;LeftHip:SetDesiredAngle(-3.14 /2)
end
local lastTick = 0
function move(time)
&#9;local amplitude = 1
&#9;local frequency = 1
&#9;local deltaTime = time - lastTick
&#9;lastTick = time
&#9;local climbFudge = 0
&#9;local setAngles = false
&#9;if (jumpAnimTime &gt; 0) then
&#9;&#9;jumpAnimTime = jumpAnimTime - deltaTime
&#9;end
&#9;if (pose == &quot;FreeFall&quot; and jumpAnimTime &lt;= 0) then
&#9;&#9;playAnimation(&quot;fall&quot;, fallTransitionTime, Humanoid)
&#9;elseif (pose == &quot;Seated&quot;) then
&#9;&#9;playAnimation(&quot;sit&quot;, 0.5, Humanoid)
&#9;&#9;return
&#9;elseif (pose == &quot;Running&quot;) then
&#9;&#9;playAnimation(&quot;walk&quot;, 0.1, Humanoid)
&#9;elseif (pose == &quot;Dead&quot; or pose == &quot;GettingUp&quot; or pose == &quot;FallingDown&quot; or pose == &quot;Seated&quot; or pose == &quot;PlatformStanding&quot;) then
--&#9;&#9;print(&quot;Wha &quot; .. pose)
&#9;&#9;stopAllAnimations()
&#9;&#9;amplitude = 0.1
&#9;&#9;frequency = 1
&#9;&#9;setAngles = true
&#9;end
&#9;if (setAngles) then
&#9;&#9;desiredAngle = amplitude * math.sin(time * frequency)
&#9;&#9;RightShoulder:SetDesiredAngle(desiredAngle + climbFudge)
&#9;&#9;LeftShoulder:SetDesiredAngle(desiredAngle - climbFudge)
&#9;&#9;RightHip:SetDesiredAngle(-desiredAngle)
&#9;&#9;LeftHip:SetDesiredAngle(-desiredAngle)
&#9;end
&#9;-- Tool Animation handling
&#9;local tool = getTool()
&#9;if tool then
&#9;
&#9;&#9;animStringValueObject = getToolAnim(tool)
&#9;&#9;if animStringValueObject then
&#9;&#9;&#9;toolAnim = animStringValueObject.Value
&#9;&#9;&#9;-- message recieved, delete StringValue
&#9;&#9;&#9;animStringValueObject.Parent = nil
&#9;&#9;&#9;toolAnimTime = time + .3
&#9;&#9;end
&#9;&#9;if time &gt; toolAnimTime then
&#9;&#9;&#9;toolAnimTime = 0
&#9;&#9;&#9;toolAnim = &quot;None&quot;
&#9;&#9;end
&#9;&#9;animateTool()&#9;&#9;
&#9;else
&#9;&#9;stopToolAnimations()
&#9;&#9;toolAnim = &quot;None&quot;
&#9;&#9;toolAnimTime = 0
&#9;end
end
-- connect events
Humanoid.Died:connect(onDied)
Humanoid.Running:connect(onRunning)
Humanoid.Jumping:connect(onJumping)
Humanoid.Climbing:connect(onClimbing)
Humanoid.GettingUp:connect(onGettingUp)
Humanoid.FreeFalling:connect(onFreeFall)
Humanoid.FallingDown:connect(onFallingDown)
Humanoid.Seated:connect(onSeated)
Humanoid.PlatformStanding:connect(onPlatformStanding)
Humanoid.Swimming:connect(onSwimming)
-- setup emote chat hook
Game.Players.LocalPlayer.Chatted:connect(function(msg)
&#9;local emote = &quot;&quot;
&#9;if (string.sub(msg, 1, 3) == &quot;/e &quot;) then
&#9;&#9;emote = string.sub(msg, 4)
&#9;elseif (string.sub(msg, 1, 7) == &quot;/emote &quot;) then
&#9;&#9;emote = string.sub(msg, 8)
&#9;end
&#9;
&#9;if (pose == &quot;Standing&quot; and emoteNames[emote] ~= nil) then
&#9;&#9;playAnimation(emote, 0.1, Humanoid)
&#9;end
--&#9;print(&quot;===&gt; &quot; .. string.sub(msg, 1, 3) .. &quot;(&quot; .. emote .. &quot;)&quot;)
end)
-- main program
local runService = game:service(&quot;RunService&quot;);
-- initialize to idle
playAnimation(&quot;idle&quot;, 0.1, Humanoid)
pose = &quot;Standing&quot;
while Figure.Parent~=nil do
&#9;local _, time = wait(0.1)
&#9;move(time)
end
</ProtectedString>
</Properties>
<Item class="StringValue" referent="RBXB9F94AC9C8714EE9B8DC5AC6394A39D8">
<Properties>
<string name="Name">idle</string>
<string name="Value"></string>
</Properties>
<Item class="Animation" referent="RBX00CF3DBBF6A44ED5BBC717359071CB44">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=125750544</url></Content>
<string name="Name">Animation1</string>
</Properties>
<Item class="NumberValue" referent="RBX5B18FB5697DC46F69374CB1D7236BD8C">
<Properties>
<string name="Name">Weight</string>
<double name="Value">9</double>
</Properties>
</Item>
</Item>
<Item class="Animation" referent="RBX4FDE2C9CBC2245C18F7583D18E8FA849">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=125750618</url></Content>
<string name="Name">Animation2</string>
</Properties>
<Item class="NumberValue" referent="RBX52104EA5D6A54AF19E439A7E4F5D2874">
<Properties>
<string name="Name">Weight</string>
<double name="Value">1</double>
</Properties>
</Item>
</Item>
</Item>
<Item class="StringValue" referent="RBX3C93974F58884058B4A4E6B086D58272">
<Properties>
<string name="Name">walk</string>
<string name="Value"></string>
</Properties>
<Item class="Animation" referent="RBX038BF3EC9C3E4F06B2F24E69A20F347C">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=125749145</url></Content>
<string name="Name">WalkAnim</string>
</Properties>
</Item>
</Item>
<Item class="StringValue" referent="RBX2755DD130F8B4D69AC40662FF9F5E27B">
<Properties>
<string name="Name">run</string>
<string name="Value"></string>
</Properties>
<Item class="Animation" referent="RBX8755FB1F0AB24E028CD877AC4266F885">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=125749145</url></Content>
<string name="Name">RunAnim</string>
</Properties>
</Item>
</Item>
<Item class="StringValue" referent="RBXDE338122B8944CB4BBF75A4869F808D4">
<Properties>
<string name="Name">jump</string>
<string name="Value"></string>
</Properties>
<Item class="Animation" referent="RBX94F8E8E31C3B4343A24D76E4721CA64F">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=125750702</url></Content>
<string name="Name">JumpAnim</string>
</Properties>
</Item>
</Item>
<Item class="StringValue" referent="RBXF5D613DC6F6B44E789F7AAB2ED845805">
<Properties>
<string name="Name">climb</string>
<string name="Value"></string>
</Properties>
<Item class="Animation" referent="RBX7CB10265BA4B4488A67823BF80A77DC0">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=125750800</url></Content>
<string name="Name">ClimbAnim</string>
</Properties>
</Item>
</Item>
<Item class="StringValue" referent="RBX6E21A99A8A89468F9D60E1A2005C68A3">
<Properties>
<string name="Name">toolnone</string>
<string name="Value"></string>
</Properties>
<Item class="Animation" referent="RBX8210E414C2DD416BAFD78558576B7955">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=125750867</url></Content>
<string name="Name">ToolNoneAnim</string>
</Properties>
</Item>
</Item>
<Item class="StringValue" referent="RBXC92C8796E26C411984CCB70BA8E39107">
<Properties>
<string name="Name">fall</string>
<string name="Value"></string>
</Properties>
<Item class="Animation" referent="RBX9A2EC4B488454C1ABEEEF09689D5BD33">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=125750759</url></Content>
<string name="Name">FallAnim</string>
</Properties>
</Item>
</Item>
<Item class="StringValue" referent="RBX70F38631790D415F950C39166423D8AA">
<Properties>
<string name="Name">sit</string>
<string name="Value"></string>
</Properties>
<Item class="Animation" referent="RBX7A130B7EFF964AFDB81E41B6BF7A0FC7">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=178130996</url></Content>
<string name="Name">SitAnim</string>
</Properties>
</Item>
</Item>
</Item>
</roblox>
@@ -0,0 +1,669 @@
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.watrbx.wtf/roblox.xsd" version="4">
<External>null</External>
<External>nil</External>
<Item class="LocalScript" referent="RBXC49238CC391A40B0B08D3C0989F85A53">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">Animate</string>
<ProtectedString name="Source"><![CDATA[function waitForChild(parent, childName)
local child = parent:findFirstChild(childName)
if child then return child end
while true do
child = parent.ChildAdded:wait()
if child.Name==childName then return child end
end
end
local Figure = script.Parent
local Torso = waitForChild(Figure, "Torso")
local RightShoulder = waitForChild(Torso, "Right Shoulder")
local LeftShoulder = waitForChild(Torso, "Left Shoulder")
local RightHip = waitForChild(Torso, "Right Hip")
local LeftHip = waitForChild(Torso, "Left Hip")
local Neck = waitForChild(Torso, "Neck")
local Humanoid = waitForChild(Figure, "Humanoid")
local pose = "Standing"
local currentAnim = ""
local currentAnimInstance = nil
local currentAnimTrack = nil
local currentAnimKeyframeHandler = nil
local currentAnimSpeed = 1.0
local animTable = {}
local animNames = {
idle = {
{ id = "http://www.watrbx.wtf/asset/?id=180435571", weight = 9 },
{ id = "http://www.watrbx.wtf/asset/?id=180435792", weight = 1 }
},
walk = {
{ id = "http://www.watrbx.wtf/asset/?id=180426354", weight = 10 }
},
run = {
{ id = "run.xml", weight = 10 }
},
jump = {
{ id = "http://www.watrbx.wtf/asset/?id=125750702", weight = 10 }
},
fall = {
{ id = "http://www.watrbx.wtf/asset/?id=180436148", weight = 10 }
},
climb = {
{ id = "http://www.watrbx.wtf/asset/?id=180436334", weight = 10 }
},
sit = {
{ id = "http://www.watrbx.wtf/asset/?id=178130996", weight = 10 }
},
toolnone = {
{ id = "http://www.watrbx.wtf/asset/?id=182393478", weight = 10 }
},
toolslash = {
{ id = "http://www.watrbx.wtf/asset/?id=129967390", weight = 10 }
-- { id = "slash.xml", weight = 10 }
},
toollunge = {
{ id = "http://www.watrbx.wtf/asset/?id=129967478", weight = 10 }
},
wave = {
{ id = "http://www.watrbx.wtf/asset/?id=128777973", weight = 10 }
},
point = {
{ id = "http://www.watrbx.wtf/asset/?id=128853357", weight = 10 }
},
dance1 = {
{ id = "http://www.watrbx.wtf/asset/?id=182435998", weight = 10 },
{ id = "http://www.watrbx.wtf/asset/?id=182491037", weight = 10 },
{ id = "http://www.watrbx.wtf/asset/?id=182491065", weight = 10 }
},
dance2 = {
{ id = "http://www.watrbx.wtf/asset/?id=182436842", weight = 10 },
{ id = "http://www.watrbx.wtf/asset/?id=182491248", weight = 10 },
{ id = "http://www.watrbx.wtf/asset/?id=182491277", weight = 10 }
},
dance3 = {
{ id = "http://www.watrbx.wtf/asset/?id=182436935", weight = 10 },
{ id = "http://www.watrbx.wtf/asset/?id=182491368", weight = 10 },
{ id = "http://www.watrbx.wtf/asset/?id=182491423", weight = 10 }
},
laugh = {
{ id = "http://www.watrbx.wtf/asset/?id=129423131", weight = 10 }
},
cheer = {
{ id = "http://www.watrbx.wtf/asset/?id=129423030", weight = 10 }
},
}
local dances = {"dance1", "dance2", "dance3"}
-- Existance in this list signifies that it is an emote, the value indicates if it is a looping emote
local emoteNames = { wave = false, point = false, dance1 = true, dance2 = true, dance3 = true, laugh = false, cheer = false}
function configureAnimationSet(name, fileList)
if (animTable[name] ~= nil) then
for _, connection in pairs(animTable[name].connections) do
connection:disconnect()
end
end
animTable[name] = {}
animTable[name].count = 0
animTable[name].totalWeight = 0
animTable[name].connections = {}
-- check for config values
local config = script:FindFirstChild(name)
if (config ~= nil) then
-- print("Loading anims " .. name)
table.insert(animTable[name].connections, config.ChildAdded:connect(function(child) configureAnimationSet(name, fileList) end))
table.insert(animTable[name].connections, config.ChildRemoved:connect(function(child) configureAnimationSet(name, fileList) end))
local idx = 1
for _, childPart in pairs(config:GetChildren()) do
if (childPart:IsA("Animation")) then
table.insert(animTable[name].connections, childPart.Changed:connect(function(property) configureAnimationSet(name, fileList) end))
animTable[name][idx] = {}
animTable[name][idx].anim = childPart
local weightObject = childPart:FindFirstChild("Weight")
if (weightObject == nil) then
animTable[name][idx].weight = 1
else
animTable[name][idx].weight = weightObject.Value
end
animTable[name].count = animTable[name].count + 1
animTable[name].totalWeight = animTable[name].totalWeight + animTable[name][idx].weight
-- print(name .. " [" .. idx .. "] " .. animTable[name][idx].anim.AnimationId .. " (" .. animTable[name][idx].weight .. ")")
idx = idx + 1
end
end
end
-- fallback to defaults
if (animTable[name].count <= 0) then
for idx, anim in pairs(fileList) do
animTable[name][idx] = {}
animTable[name][idx].anim = Instance.new("Animation")
animTable[name][idx].anim.Name = name
animTable[name][idx].anim.AnimationId = anim.id
animTable[name][idx].weight = anim.weight
animTable[name].count = animTable[name].count + 1
animTable[name].totalWeight = animTable[name].totalWeight + anim.weight
-- print(name .. " [" .. idx .. "] " .. anim.id .. " (" .. anim.weight .. ")")
end
end
end
-- Setup animation objects
function scriptChildModified(child)
local fileList = animNames[child.Name]
if (fileList ~= nil) then
configureAnimationSet(child.Name, fileList)
end
end
script.ChildAdded:connect(scriptChildModified)
script.ChildRemoved:connect(scriptChildModified)
for name, fileList in pairs(animNames) do
configureAnimationSet(name, fileList)
end
-- ANIMATION
-- declarations
local toolAnim = "None"
local toolAnimTime = 0
local jumpAnimTime = 0
local jumpAnimDuration = 0.3
local toolTransitionTime = 0.1
local fallTransitionTime = 0.3
local jumpMaxLimbVelocity = 0.75
-- functions
function stopAllAnimations()
local oldAnim = currentAnim
-- return to idle if finishing an emote
if (emoteNames[oldAnim] ~= nil and emoteNames[oldAnim] == false) then
oldAnim = "idle"
end
currentAnim = ""
currentAnimInstance = nil
if (currentAnimKeyframeHandler ~= nil) then
currentAnimKeyframeHandler:disconnect()
end
if (currentAnimTrack ~= nil) then
currentAnimTrack:Stop()
currentAnimTrack:Destroy()
currentAnimTrack = nil
end
return oldAnim
end
function setAnimationSpeed(speed)
if speed ~= currentAnimSpeed then
currentAnimSpeed = speed
currentAnimTrack:AdjustSpeed(currentAnimSpeed)
end
end
function keyFrameReachedFunc(frameName)
if (frameName == "End") then
local repeatAnim = currentAnim
-- return to idle if finishing an emote
if (emoteNames[repeatAnim] ~= nil and emoteNames[repeatAnim] == false) then
repeatAnim = "idle"
end
local animSpeed = currentAnimSpeed
playAnimation(repeatAnim, 0.0, Humanoid)
setAnimationSpeed(animSpeed)
end
end
-- Preload animations
function playAnimation(animName, transitionTime, humanoid)
local roll = math.random(1, animTable[animName].totalWeight)
local origRoll = roll
local idx = 1
while (roll > animTable[animName][idx].weight) do
roll = roll - animTable[animName][idx].weight
idx = idx + 1
end
-- print(animName .. " " .. idx .. " [" .. origRoll .. "]")
local anim = animTable[animName][idx].anim
-- switch animation
if (anim ~= currentAnimInstance) then
if (currentAnimTrack ~= nil) then
currentAnimTrack:Stop(transitionTime)
currentAnimTrack:Destroy()
end
currentAnimSpeed = 1.0
-- load it to the humanoid; get AnimationTrack
currentAnimTrack = humanoid:LoadAnimation(anim)
-- play the animation
currentAnimTrack:Play(transitionTime)
currentAnim = animName
currentAnimInstance = anim
-- set up keyframe name triggers
if (currentAnimKeyframeHandler ~= nil) then
currentAnimKeyframeHandler:disconnect()
end
currentAnimKeyframeHandler = currentAnimTrack.KeyframeReached:connect(keyFrameReachedFunc)
end
end
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
local toolAnimName = ""
local toolAnimTrack = nil
local toolAnimInstance = nil
local currentToolAnimKeyframeHandler = nil
function toolKeyFrameReachedFunc(frameName)
if (frameName == "End") then
-- print("Keyframe : ".. frameName)
playToolAnimation(toolAnimName, 0.0, Humanoid)
end
end
function playToolAnimation(animName, transitionTime, humanoid)
local roll = math.random(1, animTable[animName].totalWeight)
local origRoll = roll
local idx = 1
while (roll > animTable[animName][idx].weight) do
roll = roll - animTable[animName][idx].weight
idx = idx + 1
end
-- print(animName .. " * " .. idx .. " [" .. origRoll .. "]")
local anim = animTable[animName][idx].anim
if (toolAnimInstance ~= anim) then
if (toolAnimTrack ~= nil) then
toolAnimTrack:Stop()
toolAnimTrack:Destroy()
transitionTime = 0
end
-- load it to the humanoid; get AnimationTrack
toolAnimTrack = humanoid:LoadAnimation(anim)
-- play the animation
toolAnimTrack:Play(transitionTime)
toolAnimName = animName
toolAnimInstance = anim
currentToolAnimKeyframeHandler = toolAnimTrack.KeyframeReached:connect(toolKeyFrameReachedFunc)
end
end
function stopToolAnimations()
local oldAnim = toolAnimName
if (currentToolAnimKeyframeHandler ~= nil) then
currentToolAnimKeyframeHandler:disconnect()
end
toolAnimName = ""
toolAnimInstance = nil
if (toolAnimTrack ~= nil) then
toolAnimTrack:Stop()
toolAnimTrack:Destroy()
toolAnimTrack = nil
end
return oldAnim
end
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
function onRunning(speed)
if speed>0.01 then
playAnimation("walk", 0.1, Humanoid)
if currentAnimInstance and currentAnimInstance.AnimationId == "http://www.watrbx.wtf/asset/?id=180426354" then
setAnimationSpeed(speed / 14.5)
end
pose = "Running"
else
playAnimation("idle", 0.1, Humanoid)
pose = "Standing"
end
end
function onDied()
pose = "Dead"
end
function onJumping()
playAnimation("jump", 0.1, Humanoid)
jumpAnimTime = jumpAnimDuration
pose = "Jumping"
end
function onClimbing(speed)
playAnimation("climb", 0.1, Humanoid)
setAnimationSpeed(speed / 12.0)
pose = "Climbing"
end
function onGettingUp()
pose = "GettingUp"
end
function onFreeFall()
if (jumpAnimTime <= 0) then
playAnimation("fall", fallTransitionTime, Humanoid)
end
pose = "FreeFall"
end
function onFallingDown()
pose = "FallingDown"
end
function onSeated()
pose = "Seated"
end
function onPlatformStanding()
pose = "PlatformStanding"
end
function onSwimming(speed)
if speed>0 then
pose = "Running"
else
pose = "Standing"
end
end
function getTool()
for _, kid in ipairs(Figure:GetChildren()) do
if kid.className == "Tool" then return kid end
end
return nil
end
function getToolAnim(tool)
for _, c in ipairs(tool:GetChildren()) do
if c.Name == "toolanim" and c.className == "StringValue" then
return c
end
end
return nil
end
function animateTool()
if (toolAnim == "None") then
playToolAnimation("toolnone", toolTransitionTime, Humanoid)
return
end
if (toolAnim == "Slash") then
playToolAnimation("toolslash", 0, Humanoid)
return
end
if (toolAnim == "Lunge") then
playToolAnimation("toollunge", 0, Humanoid)
return
end
end
function moveSit()
RightShoulder.MaxVelocity = 0.15
LeftShoulder.MaxVelocity = 0.15
RightShoulder:SetDesiredAngle(3.14 /2)
LeftShoulder:SetDesiredAngle(-3.14 /2)
RightHip:SetDesiredAngle(3.14 /2)
LeftHip:SetDesiredAngle(-3.14 /2)
end
local lastTick = 0
function move(time)
local amplitude = 1
local frequency = 1
local deltaTime = time - lastTick
lastTick = time
local climbFudge = 0
local setAngles = false
if (jumpAnimTime > 0) then
jumpAnimTime = jumpAnimTime - deltaTime
end
if (pose == "FreeFall" and jumpAnimTime <= 0) then
playAnimation("fall", fallTransitionTime, Humanoid)
elseif (pose == "Seated") then
playAnimation("sit", 0.5, Humanoid)
return
elseif (pose == "Running") then
playAnimation("walk", 0.1, Humanoid)
elseif (pose == "Dead" or pose == "GettingUp" or pose == "FallingDown" or pose == "Seated" or pose == "PlatformStanding") then
-- print("Wha " .. pose)
stopAllAnimations()
amplitude = 0.1
frequency = 1
setAngles = true
end
if (setAngles) then
desiredAngle = amplitude * math.sin(time * frequency)
RightShoulder:SetDesiredAngle(desiredAngle + climbFudge)
LeftShoulder:SetDesiredAngle(desiredAngle - climbFudge)
RightHip:SetDesiredAngle(-desiredAngle)
LeftHip:SetDesiredAngle(-desiredAngle)
end
-- Tool Animation handling
local tool = getTool()
if tool and tool:FindFirstChild("Handle") then
animStringValueObject = getToolAnim(tool)
if animStringValueObject then
toolAnim = animStringValueObject.Value
-- message recieved, delete StringValue
animStringValueObject.Parent = nil
toolAnimTime = time + .3
end
if time > toolAnimTime then
toolAnimTime = 0
toolAnim = "None"
end
animateTool()
else
stopToolAnimations()
toolAnim = "None"
toolAnimInstance = nil
toolAnimTime = 0
end
end
-- connect events
Humanoid.Died:connect(onDied)
Humanoid.Running:connect(onRunning)
Humanoid.Jumping:connect(onJumping)
Humanoid.Climbing:connect(onClimbing)
Humanoid.GettingUp:connect(onGettingUp)
Humanoid.FreeFalling:connect(onFreeFall)
Humanoid.FallingDown:connect(onFallingDown)
Humanoid.Seated:connect(onSeated)
Humanoid.PlatformStanding:connect(onPlatformStanding)
Humanoid.Swimming:connect(onSwimming)
-- setup emote chat hook
game.Players.LocalPlayer.Chatted:connect(function(msg)
local emote = ""
if msg == "/e dance" then
emote = dances[math.random(1, #dances)]
elseif (string.sub(msg, 1, 3) == "/e ") then
emote = string.sub(msg, 4)
elseif (string.sub(msg, 1, 7) == "/emote ") then
emote = string.sub(msg, 8)
end
if (pose == "Standing" and emoteNames[emote] ~= nil) then
playAnimation(emote, 0.1, Humanoid)
end
end)
-- main program
local runService = game:service("RunService");
-- initialize to idle
playAnimation("idle", 0.1, Humanoid)
pose = "Standing"
while Figure.Parent~=nil do
local _, time = wait(0.1)
move(time)
end
]]></ProtectedString>
</Properties>
<Item class="StringValue" referent="RBX3D115054235C475E9E23460AF948BD6F">
<Properties>
<string name="Name">idle</string>
<string name="Value"></string>
</Properties>
<Item class="Animation" referent="RBXDB67065FB85E4931999CB515B5F2012A">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=180435571</url></Content>
<string name="Name">Animation1</string>
</Properties>
<Item class="NumberValue" referent="RBX9C1D89D976924979BDD8B81DA97BE114">
<Properties>
<string name="Name">Weight</string>
<double name="Value">9</double>
</Properties>
</Item>
</Item>
<Item class="Animation" referent="RBXEEE171AA4C1C4802A98EA849C0B0A8AC">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=180435792</url></Content>
<string name="Name">Animation2</string>
</Properties>
<Item class="NumberValue" referent="RBX37B140D9414C4473A5F27F7880B0EC4E">
<Properties>
<string name="Name">Weight</string>
<double name="Value">1</double>
</Properties>
</Item>
</Item>
</Item>
<Item class="StringValue" referent="RBX6B0595F7D6464E039C6C20310AF91669">
<Properties>
<string name="Name">walk</string>
<string name="Value"></string>
</Properties>
<Item class="Animation" referent="RBX45D6152C54FA4EF7B0F9CBF069550557">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=180426354</url></Content>
<string name="Name">WalkAnim</string>
</Properties>
</Item>
</Item>
<Item class="StringValue" referent="RBX304A801B2F904AA59F892145C3DA51F4">
<Properties>
<string name="Name">run</string>
<string name="Value"></string>
</Properties>
<Item class="Animation" referent="RBXA37336981B6E454C90E45A7F01515966">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=180426354</url></Content>
<string name="Name">RunAnim</string>
</Properties>
</Item>
</Item>
<Item class="StringValue" referent="RBX992310CD075D4083AA3FC397200F0E12">
<Properties>
<string name="Name">jump</string>
<string name="Value"></string>
</Properties>
<Item class="Animation" referent="RBXDB0FB6EAF0A94640AD7C222F7E4E39F4">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=125750702</url></Content>
<string name="Name">JumpAnim</string>
</Properties>
</Item>
</Item>
<Item class="StringValue" referent="RBXE784B068E17041EDBE1C80F73A8FB305">
<Properties>
<string name="Name">climb</string>
<string name="Value"></string>
</Properties>
<Item class="Animation" referent="RBX94C1F5C954294A889B341487BAC89356">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=180436334</url></Content>
<string name="Name">ClimbAnim</string>
</Properties>
</Item>
</Item>
<Item class="StringValue" referent="RBX40FB7BAC1B514D918FD0D59D70A13401">
<Properties>
<string name="Name">toolnone</string>
<string name="Value"></string>
</Properties>
<Item class="Animation" referent="RBX6B27C35810754C93915CA4FE34E8EB95">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=182393478</url></Content>
<string name="Name">ToolNoneAnim</string>
</Properties>
</Item>
</Item>
<Item class="StringValue" referent="RBX9D56FC8B85B240089A73C4C0BF994681">
<Properties>
<string name="Name">fall</string>
<string name="Value"></string>
</Properties>
<Item class="Animation" referent="RBX0766704DC00944A88D7F0204B7AD2177">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=180436148</url></Content>
<string name="Name">FallAnim</string>
</Properties>
</Item>
</Item>
<Item class="StringValue" referent="RBXCE77F4BD43F74ECE8CEC4CB497927D27">
<Properties>
<string name="Name">sit</string>
<string name="Value"></string>
</Properties>
<Item class="Animation" referent="RBXBEBAA19B49FE45FB9D852B2290377C2C">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=178130996</url></Content>
<string name="Name">SitAnim</string>
</Properties>
</Item>
</Item>
</Item>
</roblox>
@@ -0,0 +1,669 @@
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.watrbx.wtf/roblox.xsd" version="4">
<External>null</External>
<External>nil</External>
<Item class="LocalScript" referent="RBX6FAEF2BC81AC4B2A86AB109BC483D22E">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">Animate</string>
<ProtectedString name="Source"><![CDATA[function waitForChild(parent, childName)
local child = parent:findFirstChild(childName)
if child then return child end
while true do
child = parent.ChildAdded:wait()
if child.Name==childName then return child end
end
end
local Figure = script.Parent
local Humanoid = waitForChild(Figure, "Humanoid")
local pose = "Standing"
local currentAnim = ""
local currentAnimInstance = nil
local currentAnimTrack = nil
local currentAnimKeyframeHandler = nil
local currentAnimSpeed = 1.0
local animTable = {}
local animNames = {
idle = {
{ id = "rbxasset://R15021216/idle_stretch.xml", weight = 1 },
{ id = "rbxasset://R15021216/idle_look.xml", weight = 1 },
{ id = "rbxasset://R15021216/idle.xml", weight = 9 }
},
walk = {
{ id = "rbxasset://R15021216/run.xml", weight = 10 }
},
run = {
{ id = "rbxasset://R15021216/run.xml", weight = 10 }
},
jump = {
{ id = "rbxasset://R15021216/jump.xml", weight = 10 }
},
fall = {
{ id = "rbxasset://R15021216/falling.xml", weight = 10 }
},
climb = {
{ id = "rbxasset://R15021216/climb.xml", weight = 10 }
},
sit = {
{ id = "http://www.watrbx.wtf/asset/?id=434419018", weight = 10 }
},
toolnone = {
{ id = "http://www.watrbx.wtf/asset/?id=434419638", weight = 10 }
},
toolslash = {
{ id = "http://www.watrbx.wtf/asset/?id=434419638", weight = 10 }
-- { id = "slash.xml", weight = 10 }
},
toollunge = {
{ id = "http://www.watrbx.wtf/asset/?id=434419638", weight = 10 }
},
wave = {
{ id = "http://www.watrbx.wtf/asset/?id=434420105", weight = 10 }
},
point = {
{ id = "http://www.watrbx.wtf/asset/?id=434420378", weight = 10 }
},
dance = {
{ id = "http://www.watrbx.wtf/asset/?id=434422187", weight = 10 },
{ id = "http://www.watrbx.wtf/asset/?id=434422809", weight = 10 },
{ id = "http://www.watrbx.wtf/asset/?id=434423133", weight = 10 }
},
dance2 = {
{ id = "http://www.watrbx.wtf/asset/?id=434423431", weight = 10 },
{ id = "http://www.watrbx.wtf/asset/?id=434424210", weight = 10 },
{ id = "http://www.watrbx.wtf/asset/?id=434424519", weight = 10 }
},
dance3 = {
{ id = "http://www.watrbx.wtf/asset/?id=434424825", weight = 10 },
{ id = "http://www.watrbx.wtf/asset/?id=434425108", weight = 10 },
{ id = "http://www.watrbx.wtf/asset/?id=434425599", weight = 10 }
},
laugh = {
{ id = "http://www.watrbx.wtf/asset/?id=434421799", weight = 10 }
},
cheer = {
{ id = "http://www.watrbx.wtf/asset/?id=434421226", weight = 10 }
},
}
-- Existance in this list signifies that it is an emote, the value indicates if it is a looping emote
local emoteNames = { wave = false, point = false, dance = true, dance2 = true, dance3 = true, laugh = false, cheer = false}
math.randomseed(tick())
function configureAnimationSet(name, fileList)
if (animTable[name] ~= nil) then
for _, connection in pairs(animTable[name].connections) do
connection:disconnect()
end
end
animTable[name] = {}
animTable[name].count = 0
animTable[name].totalWeight = 0
animTable[name].connections = {}
-- check for config values
local config = script:FindFirstChild(name)
if (config ~= nil) then
-- print("Loading anims " .. name)
table.insert(animTable[name].connections, config.ChildAdded:connect(function(child) configureAnimationSet(name, fileList) end))
table.insert(animTable[name].connections, config.ChildRemoved:connect(function(child) configureAnimationSet(name, fileList) end))
local idx = 1
for _, childPart in pairs(config:GetChildren()) do
if (childPart:IsA("Animation")) then
table.insert(animTable[name].connections, childPart.Changed:connect(function(property) configureAnimationSet(name, fileList) end))
animTable[name][idx] = {}
animTable[name][idx].anim = childPart
local weightObject = childPart:FindFirstChild("Weight")
if (weightObject == nil) then
animTable[name][idx].weight = 1
else
animTable[name][idx].weight = weightObject.Value
end
animTable[name].count = animTable[name].count + 1
animTable[name].totalWeight = animTable[name].totalWeight + animTable[name][idx].weight
-- print(name .. " [" .. idx .. "] " .. animTable[name][idx].anim.AnimationId .. " (" .. animTable[name][idx].weight .. ")")
idx = idx + 1
end
end
end
-- fallback to defaults
if (animTable[name].count <= 0) then
for idx, anim in pairs(fileList) do
animTable[name][idx] = {}
animTable[name][idx].anim = Instance.new("Animation")
animTable[name][idx].anim.Name = name
animTable[name][idx].anim.AnimationId = anim.id
animTable[name][idx].weight = anim.weight
animTable[name].count = animTable[name].count + 1
animTable[name].totalWeight = animTable[name].totalWeight + anim.weight
-- print(name .. " [" .. idx .. "] " .. anim.id .. " (" .. anim.weight .. ")")
end
end
end
-- Setup animation objects
function scriptChildModified(child)
local fileList = animNames[child.Name]
if (fileList ~= nil) then
configureAnimationSet(child.Name, fileList)
end
end
script.ChildAdded:connect(scriptChildModified)
script.ChildRemoved:connect(scriptChildModified)
for name, fileList in pairs(animNames) do
configureAnimationSet(name, fileList)
end
-- ANIMATION
-- declarations
local toolAnim = "None"
local toolAnimTime = 0
local jumpAnimTime = 0
local jumpAnimDuration = 0.31
local toolTransitionTime = 0.1
local fallTransitionTime = 0.2
-- functions
function stopAllAnimations()
local oldAnim = currentAnim
-- return to idle if finishing an emote
if (emoteNames[oldAnim] ~= nil and emoteNames[oldAnim] == false) then
oldAnim = "idle"
end
currentAnim = ""
currentAnimInstance = nil
if (currentAnimKeyframeHandler ~= nil) then
currentAnimKeyframeHandler:disconnect()
end
if (currentAnimTrack ~= nil) then
currentAnimTrack:Stop()
currentAnimTrack:Destroy()
currentAnimTrack = nil
end
return oldAnim
end
function setAnimationSpeed(speed)
if speed ~= currentAnimSpeed then
currentAnimSpeed = speed
currentAnimTrack:AdjustSpeed(currentAnimSpeed)
end
end
function keyFrameReachedFunc(frameName)
if (frameName == "End") then
-- print("Keyframe : ".. frameName)
local repeatAnim = currentAnim
-- return to idle if finishing an emote
if (emoteNames[repeatAnim] ~= nil and emoteNames[repeatAnim] == false) then
repeatAnim = "idle"
end
local animSpeed = currentAnimSpeed
playAnimation(repeatAnim, 0.15, Humanoid)
setAnimationSpeed(animSpeed)
end
end
-- Preload animations
function playAnimation(animName, transitionTime, humanoid)
local roll = math.random(1, animTable[animName].totalWeight)
local origRoll = roll
local idx = 1
while (roll > animTable[animName][idx].weight) do
roll = roll - animTable[animName][idx].weight
idx = idx + 1
end
-- print(animName .. " " .. idx .. " [" .. origRoll .. "]")
local anim = animTable[animName][idx].anim
-- switch animation
if (anim ~= currentAnimInstance) then
if (currentAnimTrack ~= nil) then
currentAnimTrack:Stop(transitionTime)
currentAnimTrack:Destroy()
end
currentAnimSpeed = 1.0
-- load it to the humanoid; get AnimationTrack
currentAnimTrack = humanoid:LoadAnimation(anim)
-- play the animation
currentAnimTrack:Play(transitionTime)
currentAnim = animName
currentAnimInstance = anim
-- set up keyframe name triggers
if (currentAnimKeyframeHandler ~= nil) then
currentAnimKeyframeHandler:disconnect()
end
currentAnimKeyframeHandler = currentAnimTrack.KeyframeReached:connect(keyFrameReachedFunc)
end
end
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
local toolAnimName = ""
local toolAnimTrack = nil
local toolAnimInstance = nil
local currentToolAnimKeyframeHandler = nil
function toolKeyFrameReachedFunc(frameName)
if (frameName == "End") then
-- print("Keyframe : ".. frameName)
playToolAnimation(toolAnimName, 0.0, Humanoid)
end
end
function playToolAnimation(animName, transitionTime, humanoid)
local roll = math.random(1, animTable[animName].totalWeight)
local origRoll = roll
local idx = 1
while (roll > animTable[animName][idx].weight) do
roll = roll - animTable[animName][idx].weight
idx = idx + 1
end
-- print(animName .. " * " .. idx .. " [" .. origRoll .. "]")
local anim = animTable[animName][idx].anim
if (toolAnimInstance ~= anim) then
if (toolAnimTrack ~= nil) then
toolAnimTrack:Stop()
toolAnimTrack:Destroy()
transitionTime = 0
end
-- load it to the humanoid; get AnimationTrack
toolAnimTrack = humanoid:LoadAnimation(anim)
-- play the animation
toolAnimTrack:Play(transitionTime)
toolAnimName = animName
toolAnimInstance = anim
currentToolAnimKeyframeHandler = toolAnimTrack.KeyframeReached:connect(toolKeyFrameReachedFunc)
end
end
function stopToolAnimations()
local oldAnim = toolAnimName
if (currentToolAnimKeyframeHandler ~= nil) then
currentToolAnimKeyframeHandler:disconnect()
end
toolAnimName = ""
toolAnimInstance = nil
if (toolAnimTrack ~= nil) then
toolAnimTrack:Stop()
toolAnimTrack:Destroy()
toolAnimTrack = nil
end
return oldAnim
end
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
function onRunning(speed)
if speed>0.01 then
local scale = 15.0
playAnimation("walk", 0.1, Humanoid)
setAnimationSpeed(speed / scale)
pose = "Running"
else
playAnimation("idle", 0.1, Humanoid)
pose = "Standing"
end
end
function onDied()
pose = "Dead"
end
function onJumping()
playAnimation("jump", 0.1, Humanoid)
jumpAnimTime = jumpAnimDuration
pose = "Jumping"
end
function onClimbing(speed)
local scale = 2.0
playAnimation("climb", 0.1, Humanoid)
setAnimationSpeed(speed / scale)
pose = "Climbing"
end
function onGettingUp()
pose = "GettingUp"
end
function onFreeFall()
if (jumpAnimTime <= 0) then
playAnimation("fall", fallTransitionTime, Humanoid)
end
pose = "FreeFall"
end
function onFallingDown()
pose = "FallingDown"
end
function onSeated()
pose = "Seated"
end
function onPlatformStanding()
pose = "PlatformStanding"
end
function onSwimming(speed)
if speed>0 then
pose = "Running"
else
pose = "Standing"
end
end
function getTool()
for _, kid in ipairs(Figure:GetChildren()) do
if kid.className == "Tool" then return kid end
end
return nil
end
function getToolAnim(tool)
for _, c in ipairs(tool:GetChildren()) do
if c.Name == "toolanim" and c.className == "StringValue" then
return c
end
end
return nil
end
function animateTool()
if (toolAnim == "None") then
playToolAnimation("toolnone", toolTransitionTime, Humanoid)
return
end
if (toolAnim == "Slash") then
playToolAnimation("toolslash", 0, Humanoid)
return
end
if (toolAnim == "Lunge") then
playToolAnimation("toollunge", 0, Humanoid)
return
end
end
function moveSit()
RightShoulder.MaxVelocity = 0.15
LeftShoulder.MaxVelocity = 0.15
RightShoulder:SetDesiredAngle(3.14 /2)
LeftShoulder:SetDesiredAngle(-3.14 /2)
RightHip:SetDesiredAngle(3.14 /2)
LeftHip:SetDesiredAngle(-3.14 /2)
end
local lastTick = 0
function move(time)
local amplitude = 1
local frequency = 1
local deltaTime = time - lastTick
lastTick = time
local climbFudge = 0
local setAngles = false
if (jumpAnimTime > 0) then
jumpAnimTime = jumpAnimTime - deltaTime
end
if (pose == "FreeFall" and jumpAnimTime <= 0) then
playAnimation("fall", fallTransitionTime, Humanoid)
elseif (pose == "Seated") then
playAnimation("sit", 0.5, Humanoid)
return
elseif (pose == "Running") then
playAnimation("walk", 0.1, Humanoid)
elseif (pose == "Dead" or pose == "GettingUp" or pose == "FallingDown" or pose == "Seated" or pose == "PlatformStanding") then
stopAllAnimations()
amplitude = 0.1
frequency = 1
setAngles = true
end
-- Tool Animation handling
local tool = getTool()
if tool then
animStringValueObject = getToolAnim(tool)
if animStringValueObject then
toolAnim = animStringValueObject.Value
-- message recieved, delete StringValue
animStringValueObject.Parent = nil
toolAnimTime = time + .3
end
if time > toolAnimTime then
toolAnimTime = 0
toolAnim = "None"
end
animateTool()
else
stopToolAnimations()
toolAnim = "None"
toolAnimInstance = nil
toolAnimTime = 0
end
end
-- connect events
Humanoid.Died:connect(onDied)
Humanoid.Running:connect(onRunning)
Humanoid.Jumping:connect(onJumping)
Humanoid.Climbing:connect(onClimbing)
Humanoid.GettingUp:connect(onGettingUp)
Humanoid.FreeFalling:connect(onFreeFall)
Humanoid.FallingDown:connect(onFallingDown)
Humanoid.Seated:connect(onSeated)
Humanoid.PlatformStanding:connect(onPlatformStanding)
Humanoid.Swimming:connect(onSwimming)
-- setup emote chat hook
Game.Players.LocalPlayer.Chatted:connect(function(msg)
local emote = ""
if (string.sub(msg, 1, 3) == "/e ") then
emote = string.sub(msg, 4)
elseif (string.sub(msg, 1, 7) == "/emote ") then
emote = string.sub(msg, 8)
end
if (pose == "Standing" and emoteNames[emote] ~= nil) then
playAnimation(emote, 0.1, Humanoid)
end
-- print("===> " .. string.sub(msg, 1, 3) .. "(" .. emote .. ")")
end)
-- main program
local runService = game:service("RunService");
-- print("bottom")
-- initialize to idle
playAnimation("idle", 0.1, Humanoid)
pose = "Standing"
while Figure.Parent~=nil do
local _, time = wait(0.1)
move(time)
end
]]></ProtectedString>
</Properties>
<Item class="StringValue" referent="RBX46E2E332A429402F82B8165A9C0274B5">
<Properties>
<string name="Name">climb</string>
<string name="Value"></string>
</Properties>
<Item class="Animation" referent="RBX86915EC08DCE4F59ACD120FD238F349A">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=434415851</url></Content>
<string name="Name">ClimbAnim</string>
</Properties>
</Item>
</Item>
<Item class="StringValue" referent="RBX7A1F8B88C13549A5AF2CBF28C9EF4611">
<Properties>
<string name="Name">fall</string>
<string name="Value"></string>
</Properties>
<Item class="Animation" referent="RBX6EC39B2515BB452D84D31E6CF36ACFDB">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=434418643</url></Content>
<string name="Name">FallAnim</string>
</Properties>
</Item>
</Item>
<Item class="StringValue" referent="RBXC26C332F48294D14897B7BB010302641">
<Properties>
<string name="Name">idle</string>
<string name="Value"></string>
</Properties>
<Item class="Animation" referent="RBXDF0B3CD69EE54DA1B7B732D9B92C3FAB">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=434416649</url></Content>
<string name="Name">Animation1</string>
</Properties>
<Item class="NumberValue" referent="RBX61087E7864744B418198C8290A603722">
<Properties>
<string name="Name">Weight</string>
<double name="Value">9</double>
</Properties>
</Item>
</Item>
<Item class="Animation" referent="RBX3BC5344B91AB441F9CFE58BDD1A8DC6A">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=434417169</url></Content>
<string name="Name">Animation2</string>
</Properties>
<Item class="NumberValue" referent="RBXDD7D9684AACE428B905F512A95F5ADAA">
<Properties>
<string name="Name">Weight</string>
<double name="Value">1</double>
</Properties>
</Item>
</Item>
<Item class="Animation" referent="RBXAF93B9583F91430DA4CC77653CB25B25">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=434417655</url></Content>
<string name="Name">Animation3</string>
</Properties>
<Item class="NumberValue" referent="RBX8F359BD385614039BCCD8BA3195A33C6">
<Properties>
<string name="Name">Weight</string>
<double name="Value">1</double>
</Properties>
</Item>
</Item>
</Item>
<Item class="StringValue" referent="RBXFF6E3B718B0748CEBC9263C1E5F29A50">
<Properties>
<string name="Name">jump</string>
<string name="Value"></string>
</Properties>
<Item class="Animation" referent="RBX606D26FE17D343DFB970F328093A7BBC">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=434415339</url></Content>
<string name="Name">JumpAnim</string>
</Properties>
</Item>
</Item>
<Item class="StringValue" referent="RBX0ABEAC8348CA49D0B7C7B996BE8538E8">
<Properties>
<string name="Name">run</string>
<string name="Value"></string>
</Properties>
<Item class="Animation" referent="RBX2E15FFA1141F46E49B530ADEEBF24EEE">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=434418038</url></Content>
<string name="Name">RunAnim</string>
</Properties>
</Item>
</Item>
<Item class="StringValue" referent="RBX4F16A850E4334F29A5A17E6E1C0B3721">
<Properties>
<string name="Name">sit</string>
<string name="Value"></string>
</Properties>
<Item class="Animation" referent="RBX91144ECEDB034748B333C8621651A523">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=434419018</url></Content>
<string name="Name">SitAnim</string>
</Properties>
</Item>
</Item>
<Item class="StringValue" referent="RBXAD10A4020BA64B93AFC152DA9195F531">
<Properties>
<string name="Name">toolnone</string>
<string name="Value"></string>
</Properties>
<Item class="Animation" referent="RBX0A920533C1844D779D82A499930C6B10">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=434419638</url></Content>
<string name="Name">ToolNoneAnim</string>
</Properties>
</Item>
</Item>
<Item class="StringValue" referent="RBX3F4DCB146EB642F7B866DE4B65DDFD7A">
<Properties>
<string name="Name">walk</string>
<string name="Value"></string>
</Properties>
<Item class="Animation" referent="RBXCECB9B1E254F4A7293C0327AB396AA27">
<Properties>
<Content name="AnimationId"><url>http://www.watrbx.wtf/asset/?id=387947975</url></Content>
<string name="Name">WalkAnim</string>
</Properties>
</Item>
</Item>
</Item>
</roblox>
@@ -0,0 +1,11 @@
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.watrbx.wtf/roblox.xsd" version="4">
<External>null</External>
<External>nil</External>
<Item class="Script">
<Properties>
<bool name="Disabled">false</bool>
<string name="Name">Script</string>
<string name="Source">&#13;&#10;while script.Parent.Head==nil do&#13;&#10;&#9;wait(0.05)&#13;&#10;end&#13;&#10;&#13;&#10;function newSound(id)&#13;&#10;&#9;local sound = Instance.new(&quot;Sound&quot;)&#13;&#10;&#9;sound.SoundId = id&#13;&#10;&#9;sound.Parent = script.Parent.Head&#13;&#10;&#9;return sound&#13;&#10;end&#13;&#10;&#13;&#10;sDied = newSound(&quot;rbxasset://sounds/uuhhh.wav&quot;)&#13;&#10;sFallingDown = newSound(&quot;rbxasset://sounds/splat.wav&quot;)&#13;&#10;sFreeFalling = newSound(&quot;rbxasset://sounds/swoosh.wav&quot;)&#13;&#10;sGettingUp = newSound(&quot;rbxasset://sounds/hit.wav&quot;)&#13;&#10;sJumping = newSound(&quot;rbxasset://sounds/button.wav&quot;)&#13;&#10;sRunning = newSound(&quot;rbxasset://sounds/bfsl-minifigfoots1.mp3&quot;)&#13;&#10;sRunning.Looped = true&#13;&#10;&#13;&#10;function onDied()&#13;&#10;&#9;sDied:play()&#13;&#10;end&#13;&#10;&#13;&#10;function onState(state, sound)&#13;&#10;&#9;if state then&#13;&#10;&#9;&#9;sound:play()&#13;&#10;&#9;else&#13;&#10;&#9;&#9;sound:pause()&#13;&#10;&#9;end&#13;&#10;end&#13;&#10;&#13;&#10;function onRunning(speed)&#13;&#10;&#9;if speed&gt;0 then&#13;&#10;&#9;&#9;sRunning:play()&#13;&#10;&#9;else&#13;&#10;&#9;&#9;sRunning:pause()&#13;&#10;&#9;end&#13;&#10;end&#13;&#10;&#13;&#10;while script.Parent.Humanoid==nil do&#13;&#10;&#9;wait(0.05)&#13;&#10;end&#13;&#10;&#13;&#10;h = script.Parent.Humanoid&#13;&#10;h.Died:connect(onDied)&#13;&#10;h.Running:connect(onRunning)&#13;&#10;h.Jumping:connect(function(state) onState(state, sJumping) end)&#13;&#10;h.GettingUp:connect(function(state) onState(state, sGettingUp) end)&#13;&#10;h.FreeFalling:connect(function(state) onState(state, sFreeFalling) end)&#13;&#10;h.FallingDown:connect(function(state) onState(state, sFallingDown) end)&#13;&#10;&#13;&#10;-- regeneration&#13;&#10;while true do&#13;&#10;&#9;local s = wait(1)&#13;&#10;&#9;local health=h.Health&#13;&#10;&#9;if health&gt;0 and health&lt;h.MaxHealth then&#13;&#10;&#9;&#9;health = health + 0.01*s*h.MaxHealth&#13;&#10;&#9;&#9;if health*1.05 &lt; h.MaxHealth then&#13;&#10;&#9;&#9;&#9;h.Health = health&#13;&#10;&#9;&#9;else&#13;&#10;&#9;&#9;&#9;h.Health = h.MaxHealth&#13;&#10;&#9;&#9;end&#13;&#10;&#9;end&#13;&#10;end&#13;&#10;</string>
</Properties>
</Item>
</roblox>
@@ -0,0 +1,75 @@
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.watrbx.wtf/roblox.xsd" version="4">
<External>null</External>
<External>nil</External>
<Item class="Script" referent="RBX0">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">Sound</string>
<ProtectedString name="Source">-- util
function waitForChild(parent, childName)
&#9;local child = parent:findFirstChild(childName)
&#9;if child then return child end
&#9;while true do
&#9;&#9;child = parent.ChildAdded:wait()
&#9;&#9;if child.Name==childName then return child end
&#9;end
end
function newSound(id)
&#9;local sound = Instance.new(&quot;Sound&quot;)
&#9;sound.SoundId = id
&#9;sound.archivable = false
&#9;sound.Parent = script.Parent.Head
&#9;return sound
end
-- declarations
local sDied = newSound(&quot;rbxasset://sounds/uuhhh.wav&quot;)
local sFallingDown = newSound(&quot;rbxasset://sounds/splat.wav&quot;)
local sFreeFalling = newSound(&quot;rbxasset://sounds/swoosh.wav&quot;)
local sGettingUp = newSound(&quot;rbxasset://sounds/hit.wav&quot;)
local sJumping = newSound(&quot;rbxasset://sounds/button.wav&quot;)
local sRunning = newSound(&quot;rbxasset://sounds/bfsl-minifigfoots1.mp3&quot;)
sRunning.Looped = true
local Figure = script.Parent
local Head = waitForChild(Figure, &quot;Head&quot;)
local Humanoid = waitForChild(Figure, &quot;Humanoid&quot;)
-- functions
function onDied()
&#9;sDied:Play()
end
function onState(state, sound)
&#9;if state then
&#9;&#9;sound:Play()
&#9;else
&#9;&#9;sound:Pause()
&#9;end
end
function onRunning(speed)
&#9;if speed&gt;0.01 then
&#9;&#9;sRunning:Play()
&#9;else
&#9;&#9;sRunning:Pause()
&#9;end
end
-- connect up
Humanoid.Died:connect(onDied)
Humanoid.Running:connect(onRunning)
Humanoid.Jumping:connect(function(state) onState(state, sJumping) end)
Humanoid.GettingUp:connect(function(state) onState(state, sGettingUp) end)
Humanoid.FreeFalling:connect(function(state) onState(state, sFreeFalling) end)
Humanoid.FallingDown:connect(function(state) onState(state, sFallingDown) end)
</ProtectedString>
</Properties>
</Item>
</roblox>
@@ -0,0 +1,43 @@
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.watrbx.wtf/roblox.xsd" version="4">
<External>null</External>
<External>nil</External>
<Item class="Script" referent="RBX0">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">Sound</string>
<ProtectedString name="Source">-- util
function waitForChild(parent, childName)
&#9;local child = parent:findFirstChild(childName)
&#9;if child then return child end
&#9;while true do
&#9;&#9;child = parent.ChildAdded:wait()
&#9;&#9;if child.Name==childName then return child end
&#9;&#9;end
end
function newSound(id, name)
&#9;local sound = Instance.new(&quot;Sound&quot;)
&#9;sound.SoundId = id
&#9;sound.archivable = false
&#9;sound.Parent = script.Parent.Head
&#9;sound.Name = name
&#9;return sound
end
-- declarations
local Figure = script.Parent
local Head = waitForChild(Figure, &quot;Head&quot;)
local Humanoid = waitForChild(Figure, &quot;Humanoid&quot;)
local sDied = newSound(&quot;rbxasset://sounds/uuhhh.wav&quot;, &quot;DiedSound&quot;)
local sFallingDown = newSound(&quot;rbxasset://sounds/splat.wav&quot;, &quot;FallingDownSound&quot;)
local sFreeFalling = newSound(&quot;rbxasset://sounds/swoosh.wav&quot;, &quot;FreeFallingSound&quot;)
local sGettingUp = newSound(&quot;rbxasset://sounds/hit.wav&quot;, &quot;GettingUpSound&quot;)
local sJumping = newSound(&quot;rbxasset://sounds/button.wav&quot;, &quot;JumpingSound&quot;)
local sRunning = newSound(&quot;rbxasset://sounds/bfsl-minifigfoots1.mp3&quot;, &quot;RunningSound&quot;)
sRunning.Looped = true</ProtectedString>
</Properties>
</Item>
</roblox>
@@ -0,0 +1,160 @@
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.watrbx.wtf/roblox.xsd" version="4">
<External>null</External>
<External>nil</External>
<Item class="Script" referent="RBX0">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">Sound</string>
<ProtectedString name="Source"><![CDATA[-- util
function waitForChild(parent, childName)
local child = parent:findFirstChild(childName)
if child then return child end
while true do
child = parent.ChildAdded:wait()
if child.Name==childName then return child end
end
end
function newSound(id)
local sound = Instance.new("Sound")
sound.SoundId = id
sound.archivable = false
sound.Parent = script.Parent.Head
return sound
end
-- declarations
local sGettingUp = newSound("rbxasset://sounds/action_get_up.mp3")
local sDied = newSound("rbxasset://sounds/uuhhh.mp3")
local sFreeFalling = newSound("rbxasset://sounds/action_falling.mp3")
local sJumping = newSound("rbxasset://sounds/action_jump.mp3")
local sLanding = newSound("rbxasset://sounds/action_jump_land.mp3")
local sSplash = newSound("rbxasset://sounds/impact_water.mp3")
local sRunning = newSound("rbxasset://sounds/action_footsteps_plastic.mp3")
sRunning.Looped = true
local sSwimming = newSound("rbxasset://sounds/action_swim.mp3")
sSwimming.Looped = true
local sClimbing = newSound("rbxasset://sounds/action_footsteps_plastic.mp3")
sClimbing.Looped = true
local Figure = script.Parent
local Head = waitForChild(Figure, "Head")
local Humanoid = waitForChild(Figure, "Humanoid")
local prevState = "None"
-- functions
function onDied()
stopLoopedSounds()
sDied:Play()
end
local fallCount = 0
local fallSpeed = 0
function onStateFall(state, sound)
fallCount = fallCount + 1
if state then
sound.Volume = 0
sound:Play()
Spawn( function()
local t = 0
local thisFall = fallCount
while t < 1.5 and fallCount == thisFall do
local vol = math.max(t - 0.3 , 0)
sound.Volume = vol
wait(0.1)
t = t + 0.1
end
end)
else
sound:Stop()
end
fallSpeed = math.max(fallSpeed, math.abs(Head.Velocity.Y))
end
function onStateNoStop(state, sound)
if state then
sound:Play()
end
end
function onRunning(speed)
sClimbing:Stop()
sSwimming:Stop()
if (prevState == "FreeFall" and fallSpeed > 0.1) then
local vol = math.min(1.0, math.max(0.0, (fallSpeed - 50) / 110))
sLanding.Volume = vol
sLanding:Play()
fallSpeed = 0
end
if speed>0.5 then
sRunning:Play()
sRunning.Pitch = speed / 8.0
else
sRunning:Stop()
end
prevState = "Run"
end
function onSwimming(speed)
if (prevState ~= "Swim" and speed > 0.1) then
local volume = math.min(1.0, speed / 350)
sSplash.Volume = volume
sSplash:Play()
prevState = "Swim"
end
sClimbing:Stop()
sRunning:Stop()
sSwimming.Pitch = 1.6
sSwimming:Play()
end
function onClimbing(speed)
sRunning:Stop()
sSwimming:Stop()
if speed>0.01 then
sClimbing:Play()
sClimbing.Pitch = speed / 5.5
else
sClimbing:Stop()
end
prevState = "Climb"
end
-- connect up
function stopLoopedSounds()
sRunning:Stop()
sClimbing:Stop()
sSwimming:Stop()
end
Humanoid.Died:connect(onDied)
Humanoid.Running:connect(onRunning)
Humanoid.Swimming:connect(onSwimming)
Humanoid.Climbing:connect(onClimbing)
Humanoid.Jumping:connect(function(state) onStateNoStop(state, sJumping) prevState = "Jump" end)
Humanoid.GettingUp:connect(function(state) stopLoopedSounds() onStateNoStop(state, sGettingUp) prevState = "GetUp" end)
Humanoid.FreeFalling:connect(function(state) stopLoopedSounds() onStateFall(state, sFreeFalling) prevState = "FreeFall" end)
Humanoid.FallingDown:connect(function(state) stopLoopedSounds() end)
Humanoid.StateChanged:connect(function(old, new)
if not (new.Name == "Dead" or
new.Name == "Running" or
new.Name == "RunningNoPhysics" or
new.Name == "Swimming" or
new.Name == "Jumping" or
new.Name == "GettingUp" or
new.Name == "Freefall" or
new.Name == "FallingDown") then
stopLoopedSounds()
end
end)
]]></ProtectedString>
</Properties>
</Item>
</roblox>
@@ -0,0 +1,317 @@
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.watrbx.wtf/roblox.xsd" version="4">
<External>null</External>
<External>nil</External>
<Item class="Script" referent="RBX440EE2113E074565A1C69E447652B15D">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">Sound</string>
<ProtectedString name="Source"><![CDATA[---This server script creates the sounds and also exists so that it can be easily copied into an NPC and create sounds for that NPC.
--Remove the local script if you copy this into an NPC.
function waitForChild(parent, childName)
local child = parent:findFirstChild(childName)
if child then return child end
while true do
child = parent.ChildAdded:wait()
if child.Name==childName then return child end
end
end
function newSound(name, id)
local sound = Instance.new("Sound")
sound.SoundId = id
sound.Name = name
sound.archivable = false
sound.Parent = script.Parent.Head
return sound
end
-- declarations
local sGettingUp = newSound("GettingUp", "rbxasset://sounds/action_get_up.mp3")
local sDied = newSound("Died", "rbxasset://sounds/uuhhh.mp3")
local sFreeFalling = newSound("FreeFalling", "rbxasset://sounds/action_falling.mp3")
local sJumping = newSound("Jumping", "rbxasset://sounds/action_jump.mp3")
local sLanding = newSound("Landing", "rbxasset://sounds/action_jump_land.mp3")
local sSplash = newSound("Splash", "rbxasset://sounds/impact_water.mp3")
local sRunning = newSound("Running", "rbxasset://sounds/action_footsteps_plastic.mp3")
sRunning.Looped = true
local sSwimming = newSound("Swimming", "rbxasset://sounds/action_swim.mp3")
sSwimming.Looped = true
local sClimbing = newSound("Climbing", "rbxasset://sounds/action_footsteps_plastic.mp3")
sClimbing.Looped = true
local Figure = script.Parent
local Head = waitForChild(Figure, "Head")
local Humanoid = waitForChild(Figure, "Humanoid")
local hasPlayer = game.Players:GetPlayerFromCharacter(script.Parent)
local filteringEnabled = game.Workspace.FilteringEnabled
local prevState = "None"
-- functions
function onDied()
stopLoopedSounds()
sDied:Play()
end
local fallCount = 0
local fallSpeed = 0
function onStateFall(state, sound)
fallCount = fallCount + 1
if state then
sound.Volume = 0
sound:Play()
Spawn( function()
local t = 0
local thisFall = fallCount
while t < 1.5 and fallCount == thisFall do
local vol = math.max(t - 0.3 , 0)
sound.Volume = vol
wait(0.1)
t = t + 0.1
end
end)
else
sound:Stop()
end
fallSpeed = math.max(fallSpeed, math.abs(Head.Velocity.Y))
end
function onStateNoStop(state, sound)
if state then
sound:Play()
end
end
function onRunning(speed)
sClimbing:Stop()
sSwimming:Stop()
if (prevState == "FreeFall" and fallSpeed > 0.1) then
local vol = math.min(1.0, math.max(0.0, (fallSpeed - 50) / 110))
sLanding.Volume = vol
sLanding:Play()
fallSpeed = 0
end
if speed>0.5 then
sRunning:Play()
sRunning.Pitch = speed / 8.0
else
sRunning:Stop()
end
prevState = "Run"
end
function onSwimming(speed)
if (prevState ~= "Swim" and speed > 0.1) then
local volume = math.min(1.0, speed / 350)
sSplash.Volume = volume
sSplash:Play()
prevState = "Swim"
end
sClimbing:Stop()
sRunning:Stop()
sSwimming.Pitch = 1.6
sSwimming:Play()
end
function onClimbing(speed)
sRunning:Stop()
sSwimming:Stop()
if speed>0.01 then
sClimbing:Play()
sClimbing.Pitch = speed / 5.5
else
sClimbing:Stop()
end
prevState = "Climb"
end
-- connect up
function stopLoopedSounds()
sRunning:Stop()
sClimbing:Stop()
sSwimming:Stop()
end
if hasPlayer == nil then
Humanoid.Died:connect(onDied)
Humanoid.Running:connect(onRunning)
Humanoid.Swimming:connect(onSwimming)
Humanoid.Climbing:connect(onClimbing)
Humanoid.Jumping:connect(function(state) onStateNoStop(state, sJumping) prevState = "Jump" end)
Humanoid.GettingUp:connect(function(state) stopLoopedSounds() onStateNoStop(state, sGettingUp) prevState = "GetUp" end)
Humanoid.FreeFalling:connect(function(state) stopLoopedSounds() onStateFall(state, sFreeFalling) prevState = "FreeFall" end)
Humanoid.FallingDown:connect(function(state) stopLoopedSounds() end)
Humanoid.StateChanged:connect(function(old, new)
if not (new.Name == "Dead" or
new.Name == "Running" or
new.Name == "RunningNoPhysics" or
new.Name == "Swimming" or
new.Name == "Jumping" or
new.Name == "GettingUp" or
new.Name == "Freefall" or
new.Name == "FallingDown") then
stopLoopedSounds()
end
end)
end
]]></ProtectedString>
</Properties>
<Item class="LocalScript" referent="RBXACC3E7AAF68642CC9341039CBCE06F78">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">LocalSound</string>
<ProtectedString name="Source"><![CDATA[--This local script will run only for the player whos character it is in. It's changes to the sounds will replicate as they are changes to the character.
-- util
function waitForChild(parent, childName)
local child = parent:findFirstChild(childName)
if child then return child end
while true do
child = parent.ChildAdded:wait()
if child.Name==childName then return child end
end
end
-- declarations
local Figure = script.Parent.Parent
local Head = waitForChild(Figure, "Head")
local Humanoid = waitForChild(Figure, "Humanoid")
local sGettingUp = waitForChild(Head, "GettingUp")
local sDied = waitForChild(Head, "Died")
local sFreeFalling = waitForChild(Head, "FreeFalling")
local sJumping = waitForChild(Head, "Jumping")
local sLanding = waitForChild(Head, "Landing")
local sSplash = waitForChild(Head, "Splash")
local sRunning = waitForChild(Head, "Running")
sRunning.Looped = true
local sSwimming = waitForChild(Head, "Swimming")
sSwimming.Looped = true
local sClimbing =waitForChild(Head, "Climbing")
sClimbing.Looped = true
local prevState = "None"
-- functions
function onDied()
stopLoopedSounds()
sDied:Play()
end
local fallCount = 0
local fallSpeed = 0
function onStateFall(state, sound)
fallCount = fallCount + 1
if state then
sound.Volume = 0
sound:Play()
Spawn( function()
local t = 0
local thisFall = fallCount
while t < 1.5 and fallCount == thisFall do
local vol = math.max(t - 0.3 , 0)
sound.Volume = vol
wait(0.1)
t = t + 0.1
end
end)
else
sound:Stop()
end
fallSpeed = math.max(fallSpeed, math.abs(Head.Velocity.Y))
end
function onStateNoStop(state, sound)
if state then
sound:Play()
end
end
function onRunning(speed)
sClimbing:Stop()
sSwimming:Stop()
if (prevState == "FreeFall" and fallSpeed > 0.1) then
local vol = math.min(1.0, math.max(0.0, (fallSpeed - 50) / 110))
sLanding.Volume = vol
sLanding:Play()
fallSpeed = 0
end
if speed>0.5 then
sRunning:Play()
sRunning.Pitch = speed / 8.0
else
sRunning:Stop()
end
prevState = "Run"
end
function onSwimming(speed)
if (prevState ~= "Swim" and speed > 0.1) then
local volume = math.min(1.0, speed / 350)
sSplash.Volume = volume
sSplash:Play()
prevState = "Swim"
end
sClimbing:Stop()
sRunning:Stop()
sSwimming.Pitch = 1.6
sSwimming:Play()
end
function onClimbing(speed)
sRunning:Stop()
sSwimming:Stop()
if speed>0.01 then
sClimbing:Play()
sClimbing.Pitch = speed / 5.5
else
sClimbing:Stop()
end
prevState = "Climb"
end
-- connect up
function stopLoopedSounds()
sRunning:Stop()
sClimbing:Stop()
sSwimming:Stop()
end
Humanoid.Died:connect(onDied)
Humanoid.Running:connect(onRunning)
Humanoid.Swimming:connect(onSwimming)
Humanoid.Climbing:connect(onClimbing)
Humanoid.Jumping:connect(function(state) onStateNoStop(state, sJumping) prevState = "Jump" end)
Humanoid.GettingUp:connect(function(state) stopLoopedSounds() onStateNoStop(state, sGettingUp) prevState = "GetUp" end)
Humanoid.FreeFalling:connect(function(state) stopLoopedSounds() onStateFall(state, sFreeFalling) prevState = "FreeFall" end)
Humanoid.FallingDown:connect(function(state) stopLoopedSounds() end)
Humanoid.StateChanged:connect(function(old, new)
if not (new.Name == "Dead" or
new.Name == "Running" or
new.Name == "RunningNoPhysics" or
new.Name == "Swimming" or
new.Name == "Jumping" or
new.Name == "GettingUp" or
new.Name == "Freefall" or
new.Name == "FallingDown") then
stopLoopedSounds()
end
end)
]]></ProtectedString>
</Properties>
</Item>
</Item>
</roblox>
@@ -0,0 +1,12 @@
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.watrbx.wtf/roblox.xsd" version="4">
<External>null</External>
<External>nil</External>
<Item class="Script">
<Properties>
<bool name="Disabled">false</bool>
<string name="Name">Static</string>
<string name="Source">local Figure = script.Parent&#13;&#10;&#13;&#10;local Torso = Figure:findFirstChild(&quot;Torso&quot;)&#13;&#10;&#13;&#10;Torso:makeJoints()</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
</roblox>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,737 @@
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.watrbx.wtf/roblox.xsd" version="4">
<External>null</External>
<External>nil</External>
<utterance>Use the Chat menu to talk to me.</utterance>
<utterance>I can only see menu chats.</utterance>
<utterance>
Hello
<utterance>
Hi
<utterance>Hi there!</utterance>
<utterance>Hi everyone</utterance>
</utterance>
<utterance>
Howdy
<utterance>Howdy partner!</utterance>
</utterance>
<utterance>
Greetings
<utterance>Greetings everyone</utterance>
<utterance>Greetings Robloxians!</utterance>
<utterance>Seasons greetings!</utterance>
</utterance>
<utterance>
Welcome
<utterance>Welcome to my place</utterance>
<utterance>Welcome to our base</utterance>
<utterance>Welcome to my barbeque</utterance>
</utterance>
<utterance>Hey there!</utterance>
<utterance>
What's up?
<utterance>How are you doing?</utterance>
<utterance>How's it going?</utterance>
<utterance>What's new?</utterance>
</utterance>
<utterance>
Good day
<utterance>Good morning</utterance>
<utterance>Good afternoon</utterance>
<utterance>Good evening</utterance>
<utterance>Good night</utterance>
</utterance>
<utterance>
Silly
<utterance>Waaaaaaaz up?!</utterance>
<utterance>Hullo!</utterance>
<utterance>Behold greatness, mortals!</utterance>
<utterance>Pardon me, is this Sparta?</utterance>
<utterance>THIS IS SPARTAAAA!</utterance>
</utterance>
<utterance>
Happy Holidays!
<utterance>Happy New Year!</utterance>
<utterance>Happy Valentine's Day!</utterance>
<utterance>Beware the Ides of March!</utterance>
<utterance>Happy St. Patrick's Day! </utterance>
<utterance>Happy Easter!</utterance>
<utterance>Happy Earth Day!</utterance>
<utterance>Happy 4th of July!</utterance>
<utterance>Happy Thanksgiving!</utterance>
<utterance>Happy Halloween!</utterance>
<utterance>Happy Hanukkah!</utterance>
<utterance>Merry Christmas!</utterance>
<utterance>Happy Halloween!</utterance>
<utterance>Happy Earth Day!</utterance>
<utterance>Happy May Day!</utterance>
<utterance>Happy Towel Day!</utterance>
<utterance>Happy ROBLOX Day!</utterance>
<utterance>Happy LOL Day!</utterance>
</utterance>
</utterance>
<utterance>
Goodbye
<utterance>
Good Night
<utterance>Sweet dreams</utterance>
<utterance>Go to sleep!</utterance>
<utterance>Lights out!</utterance>
<utterance>Bedtime</utterance>
<utterance>Going to bed now</utterance>
</utterance>
<utterance>
Later
<utterance>See ya later</utterance>
<utterance>Later gator!</utterance>
<utterance>See you tomorrow</utterance>
</utterance>
<utterance>
Bye
<utterance>Hasta la bye bye!</utterance>
</utterance>
<utterance>I'll be right back</utterance>
<utterance>I have to go</utterance>
<utterance>
Farewell
<utterance>Take care</utterance>
<utterance>Have a nice day</utterance>
<utterance>Goodluck!</utterance>
<utterance>Ta-ta for now!</utterance>
</utterance>
<utterance>
Peace
<utterance>Peace out!</utterance>
<utterance>Peace dudes!</utterance>
<utterance>Rest in pieces!</utterance>
</utterance>
<utterance>
Silly
<utterance>To the batcave!</utterance>
<utterance>Over and out!</utterance>
<utterance>Happy trails!</utterance>
<utterance>I've got to book it!</utterance>
<utterance>Tootles!</utterance>
<utterance>Smell you later!</utterance>
<utterance>GG!</utterance>
<utterance>My house is on fire! gtg.</utterance>
</utterance>
</utterance>
<utterance>
Friend
<utterance>Wanna be friends?</utterance>
<utterance>
Follow me
<utterance>Come to my place!</utterance>
<utterance>Come to my base!</utterance>
<utterance>Follow me, team!</utterance>
<utterance>Follow me</utterance>
</utterance>
<utterance>
Your place is cool
<utterance>Your place is fun</utterance>
<utterance>Your place is awesome</utterance>
<utterance>Your place looks good</utterance>
<utterance>This place is awesome!</utterance>
</utterance>
<utterance>
Thank you
<utterance>Thanks for playing</utterance>
<utterance>Thanks for visiting</utterance>
<utterance>Thanks for everything</utterance>
<utterance>No, thank you</utterance>
<utterance>Thanx</utterance>
</utterance>
<utterance>
No problem
<utterance>Don't worry</utterance>
<utterance>That's ok</utterance>
<utterance>np</utterance>
</utterance>
<utterance>
You are ...
<utterance>You are great!</utterance>
<utterance>You are good!</utterance>
<utterance>You are cool!</utterance>
<utterance>You are funny!</utterance>
<utterance>You are silly!</utterance>
<utterance>You are awesome!</utterance>
<utterance>You are doing something I don't like, please stop</utterance>
</utterance>
<utterance>
I like ...
<utterance>I like your name</utterance>
<utterance>I like your shirt</utterance>
<utterance>I like your place</utterance>
<utterance>I like your style</utterance>
<utterance>I like you</utterance>
<utterance>I like items</utterance>
<utterance>I like money</utterance>
</utterance>
<utterance>
Sorry
<utterance>My bad!</utterance>
<utterance>I'm sorry</utterance>
<utterance>Whoops!</utterance>
<utterance>Please forgive me.</utterance>
<utterance>I forgive you.</utterance>
<utterance>I didn't mean to do that.</utterance>
<utterance>Sorry, I'll stop now.</utterance>
</utterance>
</utterance>
<utterance>
Questions
<utterance>
Who?
<utterance>Who wants to be my friend?</utterance>
<utterance>Who wants to be on my team?</utterance>
<utterance>Who made this brilliant game?</utterance>
<utterance>LOLWHO?</utterance>
</utterance>
<utterance>
What?
<utterance>What is your favorite animal?</utterance>
<utterance>What is your favorite game?</utterance>
<utterance>What is your favorite movie?</utterance>
<utterance>What is your favorite TV show?</utterance>
<utterance>What is your favorite music?</utterance>
<utterance>What are your hobbies?</utterance>
<utterance>LOLWUT?</utterance>
</utterance>
<utterance>
When?
<utterance>When are you online?</utterance>
<utterance>When is the new version coming out?</utterance>
<utterance>When can we play again?</utterance>
<utterance>When will your place be done?</utterance>
</utterance>
<utterance>
Where?
<utterance>Where do you want to go?</utterance>
<utterance>Where are you going?</utterance>
<utterance>Where am I?!</utterance>
<utterance>Where did you go?</utterance>
</utterance>
<utterance>
How?
<utterance>How are you today?</utterance>
<utterance>How did you make this cool place?</utterance>
<utterance>LOLHOW?</utterance>
</utterance>
<utterance>
Can I...
<utterance>Can I have a tour?</utterance>
<utterance>Can I be on your team?</utterance>
<utterance>Can I be your friend?</utterance>
<utterance>Can I try something?</utterance>
<utterance>Can I have that please?</utterance>
<utterance>Can I have that back please?</utterance>
<utterance>Can I have borrow your hat?</utterance>
<utterance>Can I have borrow your gear?</utterance>
</utterance>
</utterance>
<utterance>
Answers
<utterance>
You need help?
<utterance>Check out the news section</utterance>
<utterance>Check out the help section</utterance>
<utterance>Read the wiki!</utterance>
<utterance>All the answers are in the wiki!</utterance>
<utterance>I will help you with this.</utterance>
</utterance>
<utterance>
Some people ...
<utterance>Me</utterance>
<utterance>Not me</utterance>
<utterance>You</utterance>
<utterance>All of us</utterance>
<utterance>Everyone but you</utterance>
<utterance>Builderman!</utterance>
<utterance>Telamon!</utterance>
<utterance>My team</utterance>
<utterance>My group</utterance>
<utterance>Mom</utterance>
<utterance>Dad</utterance>
<utterance>Sister</utterance>
<utterance>Brother</utterance>
<utterance>Cousin</utterance>
<utterance>Grandparent</utterance>
<utterance>Friend</utterance>
</utterance>
<utterance>
Time ...
<utterance>In the morning</utterance>
<utterance>In the afternoon</utterance>
<utterance>At night</utterance>
<utterance>Tomorrow</utterance>
<utterance>This week</utterance>
<utterance>This month</utterance>
<utterance>Sometime</utterance>
<utterance>Sometimes</utterance>
<utterance>Whenever you want</utterance>
<utterance>Never</utterance>
<utterance>After this</utterance>
<utterance>In 10 minutes</utterance>
<utterance>In a couple hours</utterance>
<utterance>In a couple days</utterance>
</utterance>
<utterance>
Animals
<utterance>
Cats
<utterance>Lion</utterance>
<utterance>Tiger</utterance>
<utterance>Leopard</utterance>
<utterance>Cheetah</utterance>
</utterance>
<utterance>
Dogs
<utterance>Wolves</utterance>
<utterance>Beagle</utterance>
<utterance>Collie</utterance>
<utterance>Dalmatian</utterance>
<utterance>Poodle</utterance>
<utterance>Spaniel</utterance>
<utterance>Shepherd</utterance>
<utterance>Terrier</utterance>
<utterance>Retriever</utterance>
</utterance>
<utterance>
Horses
<utterance>Ponies</utterance>
<utterance>Stallions</utterance>
<utterance>Pwnyz</utterance>
</utterance>
<utterance>
Reptiles
<utterance>Dinosaurs</utterance>
<utterance>Lizards</utterance>
<utterance>Snakes</utterance>
<utterance>Turtles!</utterance>
</utterance>
<utterance>Hamster</utterance>
<utterance>Monkey</utterance>
<utterance>Bears</utterance>
<utterance>
Fish
<utterance>Goldfish</utterance>
<utterance>Sharks</utterance>
<utterance>Sea Bass</utterance>
<utterance>Halibut</utterance>
<utterance>Tropical Fish</utterance>
</utterance>
<utterance>
Birds
<utterance>Eagles</utterance>
<utterance>Penguins</utterance>
<utterance>Parakeets</utterance>
<utterance>Owls</utterance>
<utterance>Hawks</utterance>
<utterance>Pidgeons</utterance>
</utterance>
<utterance>Elephants</utterance>
<utterance>
Mythical Beasts
<utterance>Dragons</utterance>
<utterance>Unicorns</utterance>
<utterance>Sea Serpents</utterance>
<utterance>Sphinx</utterance>
<utterance>Cyclops</utterance>
<utterance>Minotaurs</utterance>
<utterance>Goblins</utterance>
<utterance>Honest Politicians</utterance>
<utterance>Ghosts</utterance>
<utterance>Scylla and Charybdis</utterance>
</utterance>
</utterance>
<utterance>
Games
<utterance>
Roblox
<utterance>BrickBattle</utterance>
<utterance>Community Building</utterance>
<utterance>Roblox Minigames</utterance>
<utterance>Contest Place</utterance>
</utterance>
<utterance>Action</utterance>
<utterance>Puzzle</utterance>
<utterance>Strategy</utterance>
<utterance>Racing</utterance>
<utterance>RPG</utterance>
<utterance>Obstacle Course</utterance>
<utterance>Tycoon</utterance>
<utterance>
Board games
<utterance>Chess</utterance>
<utterance>Checkers</utterance>
<utterance>Settlers of Catan</utterance>
<utterance>Tigris and Euphrates</utterance>
<utterance>El Grande</utterance>
<utterance>Stratego</utterance>
<utterance>Carcassonne</utterance>
</utterance>
</utterance>
<utterance>
Sports
<utterance>Hockey</utterance>
<utterance>Soccer</utterance>
<utterance>Football</utterance>
<utterance>Baseball</utterance>
<utterance>Basketball</utterance>
<utterance>Volleyball</utterance>
<utterance>Tennis</utterance>
<utterance>Sports team practice</utterance>
<utterance>
Watersports
<utterance>Surfing</utterance>
<utterance>Swimming</utterance>
<utterance>Water Polo</utterance>
</utterance>
<utterance>
Winter sports
<utterance>Skiing</utterance>
<utterance>Snowboarding</utterance>
<utterance>Sledding</utterance>
<utterance>Skating</utterance>
</utterance>
<utterance>
Adventure
<utterance>Rock climbing</utterance>
<utterance>Hiking</utterance>
<utterance>Fishing</utterance>
<utterance>Horseback riding</utterance>
</utterance>
<utterance>
Wacky
<utterance>Foosball</utterance>
<utterance>Calvinball</utterance>
<utterance>Croquet</utterance>
<utterance>Cricket</utterance>
<utterance>Dodgeball</utterance>
<utterance>Squash</utterance>
<utterance>Trampoline</utterance>
</utterance>
</utterance>
<utterance>
Movies/TV
<utterance>Science Fiction</utterance>
<utterance>
Animated
<utterance>Anime</utterance>
</utterance>
<utterance>Comedy</utterance>
<utterance>Romantic</utterance>
<utterance>Action</utterance>
<utterance>Fantasy</utterance>
</utterance>
<utterance>
Music
<utterance>Country</utterance>
<utterance>Jazz</utterance>
<utterance>Rap</utterance>
<utterance>Hip-hop</utterance>
<utterance>Techno</utterance>
<utterance>Classical</utterance>
<utterance>Pop</utterance>
<utterance>Rock</utterance>
</utterance>
<utterance>
Hobbies
<utterance>
Computers
<utterance>Building computers</utterance>
<utterance>Videogames</utterance>
<utterance>Coding</utterance>
<utterance>Hacking</utterance>
</utterance>
<utterance>
The Internet
<utterance>lol. teh internets!</utterance>
<utterance>Watching vids</utterance>
</utterance>
<utterance>Dance</utterance>
<utterance>Gymnastics</utterance>
<utterance>
Martial Arts
<utterance>Karate</utterance>
<utterance>Judo</utterance>
<utterance>Taikwon Do</utterance>
<utterance>Wushu</utterance>
<utterance>Street fighting</utterance>
</utterance>
<utterance>Listening to music</utterance>
<utterance>
Music lessons
<utterance>Playing in my band</utterance>
<utterance>Playing piano</utterance>
<utterance>Playing guitar</utterance>
<utterance>Playing violin</utterance>
<utterance>Playing drums</utterance>
<utterance>Playing a weird instrument</utterance>
</utterance>
<utterance>Arts and crafts</utterance>
</utterance>
<utterance>
Location
<utterance>
USA
<utterance>
West
<utterance>Alaska</utterance>
<utterance>Arizona</utterance>
<utterance>California</utterance>
<utterance>Colorado</utterance>
<utterance>Hawaii</utterance>
<utterance>Idaho</utterance>
<utterance>Montana</utterance>
<utterance>Nevada</utterance>
<utterance>New Mexico</utterance>
<utterance>Oregon</utterance>
<utterance>Utah</utterance>
<utterance>Washington</utterance>
<utterance>Wyoming</utterance>
</utterance>
<utterance>
Midwest
<utterance>Illinois</utterance>
<utterance>Indiana</utterance>
<utterance>Iowa</utterance>
<utterance>Kansas</utterance>
<utterance>Michigan</utterance>
<utterance>Minnesota</utterance>
<utterance>Missouri</utterance>
<utterance>Nebraska</utterance>
<utterance>North Dakota</utterance>
<utterance>Ohio</utterance>
<utterance>South Dakota</utterance>
<utterance>Wisconsin</utterance>
</utterance>
<utterance>
Northeast
<utterance>Connecticut</utterance>
<utterance>Delaware</utterance>
<utterance>Maine</utterance>
<utterance>Maryland</utterance>
<utterance>Massachusetts</utterance>
<utterance>New Hampshire</utterance>
<utterance>New Jersey</utterance>
<utterance>New York</utterance>
<utterance>Pennsylvania</utterance>
<utterance>Rhode Island</utterance>
<utterance>Vermont</utterance>
</utterance>
<utterance>
South
<utterance>Alabama</utterance>
<utterance>Arkansas</utterance>
<utterance>Florida</utterance>
<utterance>Georgia</utterance>
<utterance>Kentucky</utterance>
<utterance>Louisiana</utterance>
<utterance>Mississippi</utterance>
<utterance>North Carolina</utterance>
<utterance>Oklahoma</utterance>
<utterance>South Carolina</utterance>
<utterance>Tennessee</utterance>
<utterance>Texas</utterance>
<utterance>Virginia</utterance>
<utterance>West Virginia</utterance>
</utterance>
</utterance>
<utterance>
Canada
<utterance>Alberta</utterance>
<utterance>British Columbia</utterance>
<utterance>Manitoba</utterance>
<utterance>New Brunswick</utterance>
<utterance>Newfoundland</utterance>
<utterance>Northwest Territories</utterance>
<utterance>Nova Scotia</utterance>
<utterance>Nunavut</utterance>
<utterance>Ontario</utterance>
<utterance>Prince Edward Island</utterance>
<utterance>Quebec</utterance>
<utterance>Saskatchewan</utterance>
<utterance>Yukon</utterance>
</utterance>
<utterance>Mexico</utterance>
<utterance>Central America</utterance>
<utterance>
Europe
<utterance>
Great Britain
<utterance>England</utterance>
<utterance>Scotland</utterance>
<utterance>Wales</utterance>
<utterance>Northern Ireland</utterance>
</utterance>
<utterance>France</utterance>
<utterance>Germany</utterance>
<utterance>Spain</utterance>
<utterance>Italy</utterance>
<utterance>Poland</utterance>
<utterance>Switzerland</utterance>
<utterance>Greece</utterance>
<utterance>Romania</utterance>
<utterance>Netherlands</utterance>
</utterance>
<utterance>
Asia
<utterance>China</utterance>
<utterance>India</utterance>
<utterance>Japan</utterance>
<utterance>Korea</utterance>
<utterance>Russia</utterance>
<utterance>Vietnam</utterance>
</utterance>
<utterance>
South America
<utterance>Argentina</utterance>
<utterance>Brazil</utterance>
</utterance>
<utterance>
Africa
<utterance>Eygpt</utterance>
<utterance>Swaziland</utterance>
</utterance>
<utterance>Australia</utterance>
<utterance>Middle East</utterance>
<utterance>Antarctica</utterance>
<utterance>New Zealand</utterance>
</utterance>
<utterance>
Age
<utterance>Rugrat</utterance>
<utterance>Kid</utterance>
<utterance>Tween</utterance>
<utterance>Teen</utterance>
<utterance>Twenties</utterance>
<utterance>Old</utterance>
<utterance>Ancient</utterance>
<utterance>Mesozoic</utterance>
<utterance>I don't want to say my age. Don't ask.</utterance>
</utterance>
<utterance>
Mood
<utterance>Good</utterance>
<utterance>Great!</utterance>
<utterance>Not bad</utterance>
<utterance>Sad</utterance>
<utterance>Hyper</utterance>
<utterance>Chill</utterance>
<utterance>Happy</utterance>
<utterance>Kind of mad</utterance>
</utterance>
<utterance>Boy</utterance>
<utterance>Girl</utterance>
<utterance>I don't want to say boy or girl. Don't ask.</utterance>
</utterance>
<utterance>
Game
<utterance>Let's build</utterance>
<utterance>Let's battle</utterance>
<utterance>Nice one!</utterance>
<utterance>So far so good!</utterance>
<utterance>Lucky shot!</utterance>
<utterance>Oh man!</utterance>
<utterance>I challenge you to a fight!</utterance>
<utterance>Help me with this</utterance>
<utterance>Let's go to your game</utterance>
<utterance>Can you show me how do to that?</utterance>
<utterance>Backflip!</utterance>
<utterance>Frontflip!</utterance>
<utterance>Dance!</utterance>
<utterance>I'm on your side!</utterance>
<utterance>
Game Commands
<utterance>regen</utterance>
<utterance>reset</utterance>
<utterance>go</utterance>
<utterance>fix</utterance>
<utterance>respawn</utterance>
</utterance>
</utterance>
<utterance>
Silly
<utterance>Muahahahaha!</utterance>
<utterance>all your base are belong to me!</utterance>
<utterance>GET OFF MAH LAWN</utterance>
<utterance>TEH EPIK DUCK IS COMING!!!</utterance>
<utterance>ROFL</utterance>
<utterance>
1337
<utterance>i r teh pwnz0r!</utterance>
<utterance>w00t!</utterance>
<utterance>z0mg h4x!</utterance>
<utterance>ub3rR0xXorzage!</utterance>
</utterance>
</utterance>
<utterance>
Yes
<utterance>Absolutely!</utterance>
<utterance>Rock on!</utterance>
<utterance>Totally!</utterance>
<utterance>Juice!</utterance>
<utterance>Yay!</utterance>
<utterance>Yesh</utterance>
</utterance>
<utterance>
No
<utterance>Ummm. No.</utterance>
<utterance>...</utterance>
<utterance>Stop!</utterance>
<utterance>Go away!</utterance>
<utterance>Don't do that</utterance>
<utterance>Stop breaking the rules</utterance>
<utterance>I don't want to</utterance>
</utterance>
<utterance>
Ok
<utterance>Well... ok</utterance>
<utterance>Sure</utterance>
</utterance>
<utterance>
Uncertain
<utterance>Maybe</utterance>
<utterance>I don't know</utterance>
<utterance>idk</utterance>
<utterance>I can't decide</utterance>
<utterance>Hmm...</utterance>
</utterance>
<utterance>
:-)
<utterance>:-(</utterance>
<utterance>:D</utterance>
<utterance>:-O</utterance>
<utterance>lol</utterance>
<utterance>=D</utterance>
<utterance>D=</utterance>
<utterance>XD</utterance>
<utterance>;D</utterance>
<utterance>;)</utterance>
<utterance>O_O</utterance>
<utterance>=)</utterance>
<utterance>@_@</utterance>
<utterance>&gt;_&lt;</utterance>
<utterance>T_T</utterance>
<utterance>^_^</utterance>
<utterance>&lt;(0_0&lt;) &lt;(0_0)&gt; (&gt;0_0)&gt; KIRBY DANCE</utterance>
<utterance>)';</utterance>
<utterance>:3</utterance>
</utterance>
<utterance>
Ratings
<utterance>Rate it!</utterance>
<utterance>I give it a 1 out of 10</utterance>
<utterance>I give it a 2 out of 10</utterance>
<utterance>I give it a 3 out of 10</utterance>
<utterance>I give it a 4 out of 10</utterance>
<utterance>I give it a 5 out of 10</utterance>
<utterance>I give it a 6 out of 10</utterance>
<utterance>I give it a 7 out of 10</utterance>
<utterance>I give it a 8 out of 10</utterance>
<utterance>I give it a 9 out of 10</utterance>
<utterance>I give it a 10 out of 10!</utterance>
</utterance>
</roblox>
Binary file not shown.