mirror of
https://github.com/copyrighttxt/watrbx-game-engine.git
synced 2026-09-04 20:57:49 +00:00
2623 lines
42 KiB
Plaintext
2623 lines
42 KiB
Plaintext
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.watrbx.wtf/roblox.xsd" version="4">
|
|
|
|
<External>null</External>
|
|
|
|
<External>nil</External>
|
|
|
|
<Item class="Workspace" referent="RBX0">
|
|
|
|
<Properties>
|
|
|
|
<Ref name="CurrentCamera">RBX1</Ref>
|
|
|
|
<double name="DistributedGameTime">0</double>
|
|
|
|
<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">Workspace</string>
|
|
|
|
<Ref name="PrimaryPart">null</Ref>
|
|
|
|
</Properties>
|
|
|
|
<Item class="Part" referent="RBX2">
|
|
|
|
<Properties>
|
|
|
|
<bool name="Anchored">true</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">37</int>
|
|
|
|
<CoordinateFrame name="CFrame">
|
|
|
|
<X>5</X>
|
|
|
|
<Y>0.200000003</Y>
|
|
|
|
<Z>-2</Z>
|
|
|
|
<R00>1</R00>
|
|
|
|
<R01>0</R01>
|
|
|
|
<R02>0</R02>
|
|
|
|
<R10>0</R10>
|
|
|
|
<R11>1</R11>
|
|
|
|
<R12>0</R12>
|
|
|
|
<R20>0</R20>
|
|
|
|
<R21>0</R21>
|
|
|
|
<R22>1</R22>
|
|
|
|
</CoordinateFrame>
|
|
|
|
<bool name="CanCollide">true</bool>
|
|
|
|
<float name="Elasticity">0.5</float>
|
|
|
|
<float name="Friction">0.300000012</float>
|
|
|
|
<float name="FrontParamA">-0.5</float>
|
|
|
|
<float name="FrontParamB">0.5</float>
|
|
|
|
<token name="FrontSurface">0</token>
|
|
|
|
<token name="FrontSurfaceInput">0</token>
|
|
|
|
<float name="LeftParamA">-0.5</float>
|
|
|
|
<float name="LeftParamB">0.5</float>
|
|
|
|
<token name="LeftSurface">0</token>
|
|
|
|
<token name="LeftSurfaceInput">0</token>
|
|
|
|
<bool name="Locked">true</bool>
|
|
|
|
<token name="Material">256</token>
|
|
|
|
<string name="Name">Base</string>
|
|
|
|
<float name="Reflectance">0</float>
|
|
|
|
<float name="RightParamA">-0.5</float>
|
|
|
|
<float name="RightParamB">0.5</float>
|
|
|
|
<token name="RightSurface">0</token>
|
|
|
|
<token name="RightSurfaceInput">0</token>
|
|
|
|
<Vector3 name="RotVelocity">
|
|
|
|
<X>0</X>
|
|
|
|
<Y>0</Y>
|
|
|
|
<Z>0</Z>
|
|
|
|
</Vector3>
|
|
|
|
<float name="TopParamA">-0.5</float>
|
|
|
|
<float name="TopParamB">0.5</float>
|
|
|
|
<token name="TopSurface">3</token>
|
|
|
|
<token name="TopSurfaceInput">0</token>
|
|
|
|
<float name="Transparency">0</float>
|
|
|
|
<Vector3 name="Velocity">
|
|
|
|
<X>0</X>
|
|
|
|
<Y>0</Y>
|
|
|
|
<Z>0</Z>
|
|
|
|
</Vector3>
|
|
|
|
<token name="formFactorRaw">2</token>
|
|
|
|
<token name="shape">1</token>
|
|
|
|
<Vector3 name="size">
|
|
|
|
<X>508</X>
|
|
|
|
<Y>0.400000006</Y>
|
|
|
|
<Z>512</Z>
|
|
|
|
</Vector3>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="Camera" referent="RBX1">
|
|
|
|
<Properties>
|
|
|
|
<Ref name="CameraSubject">null</Ref>
|
|
|
|
<token name="CameraType">0</token>
|
|
|
|
<CoordinateFrame name="CoordinateFrame">
|
|
|
|
<X>85.4188309</X>
|
|
|
|
<Y>20.0802441</Y>
|
|
|
|
<Z>92.8921356</Z>
|
|
|
|
<R00>0.221595421</R00>
|
|
|
|
<R01>-0.387207836</R01>
|
|
|
|
<R02>0.894966781</R02>
|
|
|
|
<R10>-0</R10>
|
|
|
|
<R11>0.917784214</R11>
|
|
|
|
<R12>0.397079736</R12>
|
|
|
|
<R20>-0.975138783</R20>
|
|
|
|
<R21>-0.0879910514</R21>
|
|
|
|
<R22>0.20337674</R22>
|
|
|
|
</CoordinateFrame>
|
|
|
|
<float name="FieldOfView">70</float>
|
|
|
|
<CoordinateFrame name="Focus">
|
|
|
|
<X>67.5194931</X>
|
|
|
|
<Y>12.138648</Y>
|
|
|
|
<Z>88.8246002</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">Instance</string>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="Terrain" referent="RBX3">
|
|
|
|
<Properties>
|
|
|
|
<bool name="Anchored">true</bool>
|
|
|
|
<bool name="Archivable">true</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>-2</X>
|
|
|
|
<Y>126</Y>
|
|
|
|
<Z>-2</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>
|
|
|
|
<string name="ClusterGridV2"></string>
|
|
|
|
<float name="Elasticity">0.5</float>
|
|
|
|
<float name="Friction">0.300000012</float>
|
|
|
|
<float name="FrontParamA">-0.5</float>
|
|
|
|
<float name="FrontParamB">0.5</float>
|
|
|
|
<token name="FrontSurface">0</token>
|
|
|
|
<token name="FrontSurfaceInput">0</token>
|
|
|
|
<float name="LeftParamA">-0.5</float>
|
|
|
|
<float name="LeftParamB">0.5</float>
|
|
|
|
<token name="LeftSurface">0</token>
|
|
|
|
<token name="LeftSurfaceInput">0</token>
|
|
|
|
<bool name="Locked">true</bool>
|
|
|
|
<token name="Material">256</token>
|
|
|
|
<string name="Name">Terrain</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>
|
|
|
|
<Vector3 name="size">
|
|
|
|
<X>2044</X>
|
|
|
|
<Y>252</Y>
|
|
|
|
<Z>2044</Z>
|
|
|
|
</Vector3>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
watrbx.wtf
|
|
<Item class="Model" referent="RBX4">
|
|
|
|
<Properties>
|
|
|
|
<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">BuilderMan</string>
|
|
|
|
<Ref name="PrimaryPart">null</Ref>
|
|
|
|
</Properties>
|
|
|
|
<Item class="Part" referent="RBX5">
|
|
|
|
<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">226</int>
|
|
|
|
<CoordinateFrame name="CFrame">
|
|
|
|
<X>59.4832916</X>
|
|
|
|
<Y>4.8153162</Y>
|
|
|
|
<Z>90.9891281</Z>
|
|
|
|
<R00>0.0853810087</R00>
|
|
|
|
<R01>0</R01>
|
|
|
|
<R02>0.996348381</R02>
|
|
|
|
<R10>0</R10>
|
|
|
|
<R11>1</R11>
|
|
|
|
<R12>0</R12>
|
|
|
|
<R20>-0.996348381</R20>
|
|
|
|
<R21>0</R21>
|
|
|
|
<R22>0.0853810087</R22>
|
|
|
|
</CoordinateFrame>
|
|
|
|
<bool name="CanCollide">false</bool>
|
|
|
|
<float name="Elasticity">0.5</float>
|
|
|
|
<float name="Friction">0.300000012</float>
|
|
|
|
<float name="FrontParamA">-0.5</float>
|
|
|
|
<float name="FrontParamB">0.5</float>
|
|
|
|
<token name="FrontSurface">0</token>
|
|
|
|
<token name="FrontSurfaceInput">0</token>
|
|
|
|
<float name="LeftParamA">-0.5</float>
|
|
|
|
<float name="LeftParamB">0.5</float>
|
|
|
|
<token name="LeftSurface">0</token>
|
|
|
|
<token name="LeftSurfaceInput">0</token>
|
|
|
|
<bool name="Locked">true</bool>
|
|
|
|
<token name="Material">256</token>
|
|
|
|
<string name="Name">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>-11.3137083</X>
|
|
|
|
<Y>0</Y>
|
|
|
|
<Z>11.3137093</Z>
|
|
|
|
</Vector3>
|
|
|
|
<token name="formFactorRaw">0</token>
|
|
|
|
<token name="shape">1</token>
|
|
|
|
<Vector3 name="size">
|
|
|
|
<X>2</X>
|
|
|
|
<Y>1</Y>
|
|
|
|
<Z>1</Z>
|
|
|
|
</Vector3>
|
|
|
|
</Properties>
|
|
|
|
<Item class="SpecialMesh" referent="RBX6">
|
|
|
|
<Properties>
|
|
|
|
<token name="LODX">2</token>
|
|
|
|
<token name="LODY">2</token>
|
|
|
|
<Content name="MeshId"><null></null></Content>
|
|
|
|
<token name="MeshType">0</token>
|
|
|
|
<string name="Name">Mesh</string>
|
|
|
|
<Vector3 name="Offset">
|
|
|
|
<X>0</X>
|
|
|
|
<Y>0</Y>
|
|
|
|
<Z>0</Z>
|
|
|
|
</Vector3>
|
|
|
|
<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>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="Decal" referent="RBX7">
|
|
|
|
<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>
|
|
|
|
<float name="Transparency">0</float>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
</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">4</token>
|
|
|
|
<token name="BottomSurfaceInput">0</token>
|
|
|
|
<int name="BrickColor">24</int>
|
|
|
|
<CoordinateFrame name="CFrame">
|
|
|
|
<X>59.4832916</X>
|
|
|
|
<Y>3.31531644</Y>
|
|
|
|
<Z>90.9891281</Z>
|
|
|
|
<R00>0.0853810087</R00>
|
|
|
|
<R01>0</R01>
|
|
|
|
<R02>0.996348381</R02>
|
|
|
|
<R10>-0</R10>
|
|
|
|
<R11>1</R11>
|
|
|
|
<R12>-0</R12>
|
|
|
|
<R20>-0.996348381</R20>
|
|
|
|
<R21>0</R21>
|
|
|
|
<R22>0.0853810087</R22>
|
|
|
|
</CoordinateFrame>
|
|
|
|
<bool name="CanCollide">false</bool>
|
|
|
|
<float name="Elasticity">0.5</float>
|
|
|
|
<float name="Friction">0.300000012</float>
|
|
|
|
<float name="FrontParamA">-0.5</float>
|
|
|
|
<float name="FrontParamB">0.5</float>
|
|
|
|
<token name="FrontSurface">0</token>
|
|
|
|
<token name="FrontSurfaceInput">0</token>
|
|
|
|
<float name="LeftParamA">0</float>
|
|
|
|
<float name="LeftParamB">0</float>
|
|
|
|
<token name="LeftSurface">2</token>
|
|
|
|
<token name="LeftSurfaceInput">0</token>
|
|
|
|
<bool name="Locked">true</bool>
|
|
|
|
<token name="Material">256</token>
|
|
|
|
<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>-11.3137083</X>
|
|
|
|
<Y>0</Y>
|
|
|
|
<Z>11.3137093</Z>
|
|
|
|
</Vector3>
|
|
|
|
<token name="formFactorRaw">0</token>
|
|
|
|
<token name="shape">1</token>
|
|
|
|
<Vector3 name="size">
|
|
|
|
<X>2</X>
|
|
|
|
<Y>2</Y>
|
|
|
|
<Z>1</Z>
|
|
|
|
</Vector3>
|
|
|
|
</Properties>
|
|
|
|
<Item class="Decal" referent="RBX9">
|
|
|
|
<Properties>
|
|
|
|
<token name="Face">5</token>
|
|
|
|
<string name="Name">roblox</string>
|
|
|
|
<float name="Shiny">20</float>
|
|
|
|
<float name="Specular">0</float>
|
|
|
|
<Content name="Texture"><url>http://www.roblox.com/asset/?version=1&id=1000024</url></Content>
|
|
|
|
<float name="Transparency">0</float>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="Motor" referent="RBX10">
|
|
|
|
<Properties>
|
|
|
|
<CoordinateFrame name="C0">
|
|
|
|
<X>1</X>
|
|
|
|
<Y>0.5</Y>
|
|
|
|
<Z>0</Z>
|
|
|
|
<R00>0</R00>
|
|
|
|
<R01>0</R01>
|
|
|
|
<R02>1</R02>
|
|
|
|
<R10>0</R10>
|
|
|
|
<R11>1</R11>
|
|
|
|
<R12>0</R12>
|
|
|
|
<R20>-1</R20>
|
|
|
|
<R21>-0</R21>
|
|
|
|
<R22>-0</R22>
|
|
|
|
</CoordinateFrame>
|
|
|
|
<CoordinateFrame name="C1">
|
|
|
|
<X>-0.5</X>
|
|
|
|
<Y>0.5</Y>
|
|
|
|
<Z>0</Z>
|
|
|
|
<R00>0</R00>
|
|
|
|
<R01>0</R01>
|
|
|
|
<R02>1</R02>
|
|
|
|
<R10>0</R10>
|
|
|
|
<R11>1</R11>
|
|
|
|
<R12>0</R12>
|
|
|
|
<R20>-1</R20>
|
|
|
|
<R21>-0</R21>
|
|
|
|
<R22>-0</R22>
|
|
|
|
</CoordinateFrame>
|
|
|
|
<float name="DesiredAngle">-0.0427663997</float>
|
|
|
|
<float name="MaxVelocity">0.150000006</float>
|
|
|
|
<string name="Name">Right Shoulder</string>
|
|
|
|
<Ref name="Part0">null</Ref>
|
|
|
|
<Ref name="Part1">null</Ref>
|
|
|
|
</Properties>
|
|
|
|
</Item>watrbx.wtf
|
|
|
|
<Item class="Motor" referent="RBX11">
|
|
|
|
<Properties>
|
|
|
|
<CoordinateFrame name="C0">
|
|
|
|
<X>-1</X>
|
|
|
|
<Y>0.5</Y>
|
|
|
|
<Z>0</Z>
|
|
|
|
<R00>-0</R00>
|
|
|
|
<R01>-0</R01>
|
|
|
|
<R02>-1</R02>
|
|
|
|
<R10>0</R10>
|
|
|
|
<R11>1</R11>
|
|
|
|
<R12>0</R12>
|
|
|
|
<R20>1</R20>
|
|
|
|
<R21>0</R21>
|
|
|
|
<R22>0</R22>
|
|
|
|
</CoordinateFrame>
|
|
|
|
<CoordinateFrame name="C1">
|
|
|
|
<X>0.5</X>
|
|
|
|
<Y>0.5</Y>
|
|
|
|
<Z>0</Z>
|
|
|
|
<R00>-0</R00>
|
|
|
|
<R01>-0</R01>
|
|
|
|
<R02>-1</R02>
|
|
|
|
<R10>0</R10>
|
|
|
|
<R11>1</R11>
|
|
|
|
<R12>0</R12>
|
|
|
|
<R20>1</R20>
|
|
|
|
<R21>0</R21>
|
|
|
|
<R22>0</R22>
|
|
|
|
</CoordinateFrame>
|
|
|
|
<float name="DesiredAngle">-0.0427663997</float>
|
|
|
|
<float name="MaxVelocity">0.150000006</float>
|
|
|
|
<string name="Name">Left Shoulder</string>
|
|
|
|
<Ref name="Part0">null</Ref>
|
|
|
|
<Ref name="Part1">null</Ref>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="Motor" referent="RBX12">
|
|
|
|
<Properties>
|
|
|
|
<CoordinateFrame name="C0">
|
|
|
|
<X>1</X>
|
|
|
|
<Y>-1</Y>
|
|
|
|
<Z>0</Z>
|
|
|
|
<R00>0</R00>
|
|
|
|
<R01>0</R01>
|
|
|
|
<R02>1</R02>
|
|
|
|
<R10>0</R10>
|
|
|
|
<R11>1</R11>
|
|
|
|
<R12>0</R12>
|
|
|
|
<R20>-1</R20>
|
|
|
|
<R21>-0</R21>
|
|
|
|
<R22>-0</R22>
|
|
|
|
</CoordinateFrame>
|
|
|
|
<CoordinateFrame name="C1">
|
|
|
|
<X>0.5</X>
|
|
|
|
<Y>1</Y>
|
|
|
|
<Z>0</Z>
|
|
|
|
<R00>0</R00>
|
|
|
|
<R01>0</R01>
|
|
|
|
<R02>1</R02>
|
|
|
|
<R10>0</R10>
|
|
|
|
<R11>1</R11>
|
|
|
|
<R12>0</R12>
|
|
|
|
<R20>-1</R20>
|
|
|
|
<R21>-0</R21>
|
|
|
|
<R22>-0</R22>
|
|
|
|
</CoordinateFrame>
|
|
|
|
<float name="DesiredAngle">0.0427663997</float>
|
|
|
|
<float name="MaxVelocity">0.100000001</float>
|
|
|
|
<string name="Name">Right Hip</string>
|
|
|
|
<Ref name="Part0">null</Ref>
|
|
|
|
<Ref name="Part1">null</Ref>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="Motor" referent="RBX13">
|
|
|
|
<Properties>
|
|
|
|
<CoordinateFrame name="C0">
|
|
|
|
<X>-1</X>
|
|
|
|
<Y>-1</Y>
|
|
|
|
<Z>0</Z>
|
|
|
|
<R00>-0</R00>
|
|
|
|
<R01>-0</R01>
|
|
|
|
<R02>-1</R02>
|
|
|
|
<R10>0</R10>
|
|
|
|
<R11>1</R11>
|
|
|
|
<R12>0</R12>
|
|
|
|
<R20>1</R20>
|
|
|
|
<R21>0</R21>
|
|
|
|
<R22>0</R22>
|
|
|
|
</CoordinateFrame>
|
|
|
|
<CoordinateFrame name="C1">
|
|
|
|
<X>-0.5</X>
|
|
|
|
<Y>1</Y>
|
|
|
|
<Z>0</Z>
|
|
|
|
<R00>-0</R00>
|
|
|
|
<R01>-0</R01>
|
|
|
|
<R02>-1</R02>
|
|
|
|
<R10>0</R10>
|
|
|
|
<R11>1</R11>
|
|
|
|
<R12>0</R12>
|
|
|
|
<R20>1</R20>
|
|
|
|
<R21>0</R21>
|
|
|
|
<R22>0</R22>
|
|
|
|
</CoordinateFrame>
|
|
|
|
<float name="DesiredAngle">0.0427663997</float>
|
|
|
|
<float name="MaxVelocity">0.100000001</float>
|
|
|
|
<string name="Name">Left Hip</string>
|
|
|
|
<Ref name="Part0">null</Ref>
|
|
|
|
<Ref name="Part1">null</Ref>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="Snap" referent="RBX14">
|
|
|
|
<Properties>
|
|
|
|
<CoordinateFrame name="C0">
|
|
|
|
<X>0</X>
|
|
|
|
<Y>1</Y>
|
|
|
|
<Z>0</Z>
|
|
|
|
<R00>-1</R00>
|
|
|
|
<R01>-0</R01>
|
|
|
|
<R02>-0</R02>
|
|
|
|
<R10>0</R10>
|
|
|
|
<R11>0</R11>
|
|
|
|
<R12>1</R12>
|
|
|
|
<R20>0</R20>
|
|
|
|
<R21>1</R21>
|
|
|
|
<R22>0</R22>
|
|
|
|
</CoordinateFrame>
|
|
|
|
<CoordinateFrame name="C1">
|
|
|
|
<X>0</X>
|
|
|
|
<Y>-0.5</Y>
|
|
|
|
<Z>0</Z>
|
|
|
|
<R00>-1</R00>
|
|
|
|
<R01>-0</R01>
|
|
|
|
<R02>-0</R02>
|
|
|
|
<R10>0</R10>
|
|
|
|
<R11>0</R11>
|
|
|
|
<R12>1</R12>
|
|
|
|
<R20>0</R20>
|
|
|
|
<R21>1</R21>
|
|
|
|
<R22>0</R22>
|
|
|
|
</CoordinateFrame>
|
|
|
|
<string name="Name">Neck</string>
|
|
|
|
<Ref name="Part0">null</Ref>
|
|
|
|
<Ref name="Part1">null</Ref>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
</Item>
|
|
|
|
<Item class="Part" referent="RBX15">
|
|
|
|
<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>59.3552208</X>
|
|
|
|
<Y>3.31531644</Y>
|
|
|
|
<Z>92.4836502</Z>
|
|
|
|
<R00>0.0853810087</R00>
|
|
|
|
<R01>0</R01>
|
|
|
|
<R02>0.996348381</R02>
|
|
|
|
<R10>0</R10>
|
|
|
|
<R11>1</R11>
|
|
|
|
<R12>0</R12>
|
|
|
|
<R20>-0.996348381</R20>
|
|
|
|
<R21>0</R21>
|
|
|
|
<R22>0.0853810087</R22>
|
|
|
|
</CoordinateFrame>
|
|
|
|
<bool name="CanCollide">false</bool>
|
|
|
|
<float name="Elasticity">0.5</float>
|
|
|
|
<float name="Friction">0.300000012</float>
|
|
|
|
<float name="FrontParamA">-0.5</float>
|
|
|
|
<float name="FrontParamB">0.5</float>
|
|
|
|
<token name="FrontSurface">0</token>
|
|
|
|
<token name="FrontSurfaceInput">0</token>
|
|
|
|
<float name="LeftParamA">-0.5</float>
|
|
|
|
<float name="LeftParamB">0.5</float>
|
|
|
|
<token name="LeftSurface">0</token>
|
|
|
|
<token name="LeftSurfaceInput">0</token>
|
|
|
|
<bool name="Locked">true</bool>
|
|
|
|
<token name="Material">256</token>
|
|
|
|
<string name="Name">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>-11.3137083</X>
|
|
|
|
<Y>0</Y>
|
|
|
|
<Z>11.3137093</Z>
|
|
|
|
</Vector3>
|
|
|
|
<token name="formFactorRaw">0</token>
|
|
|
|
<token name="shape">1</token>
|
|
|
|
<Vector3 name="size">
|
|
|
|
<X>1</X>
|
|
|
|
<Y>2</Y>
|
|
|
|
<Z>1</Z>
|
|
|
|
</Vector3>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="Part" referent="RBX16">
|
|
|
|
<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>59.6113625</X>
|
|
|
|
<Y>3.31531644</Y>
|
|
|
|
<Z>89.494606</Z>
|
|
|
|
<R00>0.0853810087</R00>
|
|
|
|
<R01>0</R01>
|
|
|
|
<R02>0.996348381</R02>
|
|
|
|
<R10>0</R10>
|
|
|
|
<R11>1</R11>
|
|
|
|
<R12>0</R12>
|
|
|
|
<R20>-0.996348381</R20>
|
|
|
|
<R21>0</R21>
|
|
|
|
<R22>0.0853810087</R22>
|
|
|
|
</CoordinateFrame>
|
|
|
|
<bool name="CanCollide">false</bool>
|
|
|
|
<float name="Elasticity">0.5</float>
|
|
|
|
<float name="Friction">0.300000012</float>
|
|
|
|
<float name="FrontParamA">-0.5</float>
|
|
|
|
<float name="FrontParamB">0.5</float>
|
|
|
|
<token name="FrontSurface">0</token>
|
|
|
|
<token name="FrontSurfaceInput">0</token>
|
|
|
|
<float name="LeftParamA">-0.5</float>
|
|
|
|
<float name="LeftParamB">0.5</float>
|
|
|
|
<token name="LeftSurface">0</token>
|
|
|
|
<token name="LeftSurfaceInput">0</token>
|
|
|
|
<bool name="Locked">true</bool>
|
|
|
|
<token name="Material">256</token>
|
|
|
|
<string name="Name">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>-11.3137083</X>
|
|
|
|
<Y>0</Y>
|
|
|
|
<Z>11.3137093</Z>
|
|
|
|
</Vector3>
|
|
|
|
<token name="formFactorRaw">0</token>
|
|
|
|
<token name="shape">1</token>
|
|
|
|
<Vector3 name="size">
|
|
|
|
<X>1</X>
|
|
|
|
<Y>2</Y>
|
|
|
|
<Z>1</Z>
|
|
|
|
</Vector3>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="Part" referent="RBX17">
|
|
|
|
<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">24</int>
|
|
|
|
<CoordinateFrame name="CFrame">
|
|
|
|
<X>59.4406013</X>
|
|
|
|
<Y>1.31531644</Y>
|
|
|
|
<Z>91.4873047</Z>
|
|
|
|
<R00>0.0853810087</R00>
|
|
|
|
<R01>0</R01>
|
|
|
|
<R02>0.996348381</R02>
|
|
|
|
<R10>0</R10>
|
|
|
|
<R11>1</R11>
|
|
|
|
<R12>0</R12>
|
|
|
|
<R20>-0.996348381</R20>
|
|
|
|
<R21>0</R21>
|
|
|
|
<R22>0.0853810087</R22>
|
|
|
|
</CoordinateFrame>
|
|
|
|
<bool name="CanCollide">false</bool>
|
|
|
|
<float name="Elasticity">0.5</float>
|
|
|
|
<float name="Friction">0.300000012</float>
|
|
|
|
<float name="FrontParamA">-0.5</float>
|
|
|
|
<float name="FrontParamB">0.5</float>
|
|
|
|
<token name="FrontSurface">0</token>
|
|
|
|
<token name="FrontSurfaceInput">0</token>
|
|
|
|
<float name="LeftParamA">-0.5</float>
|
|
|
|
<float name="LeftParamB">0.5</float>
|
|
|
|
<token name="LeftSurface">0</token>
|
|
|
|
<token name="LeftSurfaceInput">0</token>
|
|
|
|
<bool name="Locked">true</bool>
|
|
|
|
<token name="Material">256</token>
|
|
|
|
<string name="Name">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>-11.3137083</X>
|
|
|
|
<Y>0</Y>
|
|
|
|
<Z>11.3137093</Z>
|
|
|
|
</Vector3>
|
|
|
|
<token name="formFactorRaw">0</token>
|
|
|
|
<token name="shape">1</token>
|
|
|
|
<Vector3 name="size">
|
|
|
|
<X>1</X>
|
|
|
|
<Y>2</Y>
|
|
|
|
<Z>1</Z>
|
|
|
|
</Vector3>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="Part" referent="RBX18">
|
|
|
|
<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">24</int>
|
|
|
|
<CoordinateFrame name="CFrame">
|
|
|
|
<X>59.5259819</X>
|
|
|
|
<Y>1.31531644</Y>
|
|
|
|
<Z>90.4909515</Z>
|
|
|
|
<R00>0.0853810087</R00>
|
|
|
|
<R01>0</R01>
|
|
|
|
<R02>0.996348381</R02>
|
|
|
|
<R10>0</R10>
|
|
|
|
<R11>1</R11>
|
|
|
|
<R12>0</R12>
|
|
|
|
<R20>-0.996348381</R20>
|
|
|
|
<R21>0</R21>
|
|
|
|
<R22>0.0853810087</R22>
|
|
|
|
</CoordinateFrame>
|
|
|
|
<bool name="CanCollide">false</bool>
|
|
|
|
<float name="Elasticity">0.5</float>
|
|
|
|
<float name="Friction">0.300000012</float>
|
|
|
|
<float name="FrontParamA">-0.5</float>
|
|
|
|
<float name="FrontParamB">0.5</float>
|
|
|
|
<token name="FrontSurface">0</token>
|
|
|
|
<token name="FrontSurfaceInput">0</token>
|
|
|
|
<float name="LeftParamA">-0.5</float>
|
|
|
|
<float name="LeftParamB">0.5</float>
|
|
|
|
<token name="LeftSurface">0</token>
|
|
|
|
<token name="LeftSurfaceInput">0</token>
|
|
|
|
<bool name="Locked">true</bool>
|
|
|
|
<token name="Material">256</token>
|
|
|
|
<string name="Name">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>-11.3137083</X>
|
|
|
|
<Y>0</Y>
|
|
|
|
<Z>11.3137093</Z>
|
|
|
|
</Vector3>
|
|
|
|
<token name="formFactorRaw">0</token>
|
|
|
|
<token name="shape">1</token>
|
|
|
|
<Vector3 name="size">
|
|
|
|
<X>1</X>
|
|
|
|
<Y>2</Y>
|
|
|
|
<Z>1</Z>
|
|
|
|
</Vector3>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="Humanoid" referent="RBX19">
|
|
|
|
<Properties>
|
|
|
|
<float name="Health">100</float>
|
|
|
|
<float name="MaxHealth">100</float>
|
|
|
|
<string name="Name">Humanoid</string>
|
|
|
|
<token name="NameOcclusion">0</token>
|
|
|
|
<float name="WalkSpeed">16</float>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="ShirtGraphic" referent="RBX20">
|
|
|
|
<Properties>
|
|
|
|
<Content name="Graphic"><url>http://www.roblox.com/asset/?version=1&id=1000024</url></Content>
|
|
|
|
<string name="Name">Shirt Graphic</string>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="BodyColors" referent="RBX21">
|
|
|
|
<Properties>
|
|
|
|
<int name="HeadColor">226</int>
|
|
|
|
<int name="LeftArmColor">24</int>
|
|
|
|
<int name="LeftLegColor">24</int>
|
|
|
|
<string name="Name">Body Colors</string>
|
|
|
|
<int name="RightArmColor">24</int>
|
|
|
|
<int name="RightLegColor">24</int>
|
|
|
|
<int name="TorsoColor">24</int>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="Script" referent="RBX22">
|
|
|
|
<Properties>
|
|
|
|
<bool name="Disabled">true</bool>
|
|
|
|
<Content name="LinkedSource"><null></null></Content>
|
|
|
|
<string name="Name">Zombie</string>
|
|
|
|
<ProtectedString name="Source">function waitForChild(parent, childName)
|
|
|
|
	while true do
|
|
|
|
		local child = parent:findFirstChild(childName)
|
|
|
|
		if child then
|
|
|
|
			return child
|
|
|
|
		end
|
|
|
|
		parent.ChildAdded:wait()
|
|
|
|
	end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function visit(item, f)
|
|
|
|
	for _, v in ipairs(item:GetChildren())
|
|
|
|
		do f(v) visit(v, f)
|
|
|
|
	end
|
|
|
|
end 	
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- declarations
|
|
|
|
|
|
|
|
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"
|
|
|
|
|
|
|
|
-- findBase
|
|
|
|
local base
|
|
|
|
|
|
|
|
visit(game,
|
|
|
|
	function (i)
|
|
|
|
		if i.Name == "Base" then	
|
|
|
|
			base = i
|
|
|
|
		end
|
|
|
|
	end
|
|
|
|
)
|
|
|
|
|
|
|
|
function move(time)
|
|
|
|
	intTime = math.floor(time)
|
|
|
|
	cycle = intTime % 4
|
|
|
|
	dx = 2 * math.floor(cycle/2) - 1
|
|
|
|
	dz = 2 * math.floor(cycle % 2) - 1
|
|
|
|
	delta = Vector3.new(dx*100, 0, dz*100)
|
|
|
|
	point = Torso.Position + delta
|
|
|
|
	Humanoid:MoveTo(point, base)
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
-- main program
|
|
|
|
|
|
|
|
local nextTime = 0
|
|
|
|
local runService = game:service("RunService");
|
|
|
|
|
|
|
|
while Figure.Parent~=nil do
|
|
|
|
	time = runService.Stepped:wait()
|
|
|
|
	if time > nextTime then
|
|
|
|
		move(time)
|
|
|
|
		nextTime = time + 0.5
|
|
|
|
	end
|
|
|
|
end</ProtectedString>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
</Item>
|
|
|
|
<Item class="Script" referent="RBX23">
|
|
|
|
<Properties>
|
|
|
|
<bool name="Disabled">true</bool>
|
|
|
|
<Content name="LinkedSource"><null></null></Content>
|
|
|
|
<string name="Name">Script</string>
|
|
|
|
<ProtectedString name="Source">local char = game.Workspace.BuilderMan
|
|
|
|
local charStart = char.Torso.CFrame
|
|
|
|
local testService = game:GetService("TestService")
|
|
|
|
|
|
|
|
local charMovementThreshold = 3 -- more than 3 studs means char was knocked down
|
|
|
|
|
|
|
|
local sizes = {Small = Vector3.new(1, 1, 1), Medium = Vector3.new(3, 3, 3), Large = Vector3.new(8, 8, 8)}
|
|
|
|
local speeds = {Slow = 20, Medium = 35, Fast = 60}
|
|
|
|
local directions = {Front = Vector3.new(0, 0, -1), Back = Vector3.new(0, 0, 1), Above = Vector3.new(0, 1, 0), Side = Vector3.new(1, 0, 0)}
|
|
|
|
local shapes = {Ball = "Ball"}
|
|
|
|
local targets = {Centered = char.Torso.CFrame, Glancing = char["Right Arm"].CFrame}
|
|
|
|
|
|
|
|
|
|
|
|
local expectedTestResults = {}
|
|
|
|
expectedTestResults["Fast"] = {Small = false, Medium = true, Large = true}
|
|
|
|
expectedTestResults["Slow"] = {Small = false, Medium = false, Large = true}
|
|
|
|
expectedTestResults["Medium"] = {Small = false, Medium = false, Large = true}
|
|
|
|
|
|
|
|
local boulder = Instance.new("Part")
|
|
|
|
boulder.formFactor = "Custom"
|
|
|
|
boulder.CanCollide = true
|
|
|
|
boulder.Anchored = false
|
|
|
|
|
|
|
|
|
|
|
|
function charHasMoved(char, armStart, torsoStart)
|
|
|
|
	return ((char.Torso.CFrame.p - torsoStart).magnitude > charMovementThreshold) or ((char["Right Arm"].CFrame.p - armStart).magnitude > charMovementThreshold)
|
|
|
|
end
|
|
|
|
|
|
|
|
function testBoulder(rock, char)
|
|
|
|
	char.Torso.CFrame = charStart
|
|
|
|
	
|
|
|
|
	local charArmStart = char["Right Arm"].CFrame.p
|
|
|
|
	local charTorsoStart = char.Torso.CFrame.p
|
|
|
|
|
|
|
|
	wait(2)
|
|
|
|
	rock.Parent = game.Workspace
|
|
|
|
|
|
|
|
	--wait(5) -- should be more than enough for each test to complete
|
|
|
|
|
|
|
|
	local wasRagdoll = false
|
|
|
|
	local armMovementTotal = 0
|
|
|
|
	local torsoMovementTotal = 0
|
|
|
|
	for i = 0, 5, .5 do
|
|
|
|
		--wasRagdoll = wasRagdoll or char.Humanoid.Ragdoll
|
|
|
|
		--wasRagdoll = wasRagdoll or charHasMoved(char, charArmStart, charTorsoStart)
|
|
|
|
		armMovementTotal = armMovementTotal + (char["Right Arm"].CFrame.p - charArmStart).magnitude
|
|
|
|
		charArmStart = char["Right Arm"].CFrame.p
|
|
|
|
|
|
|
|
		torsoMovementTotal = torsoMovementTotal + (char.Torso.CFrame.p - charTorsoStart).magnitude
|
|
|
|
		charTorsoStart = char.Torso.CFrame.p
|
|
|
|
|
|
|
|
		wait(.5)
|
|
|
|
	end
|
|
|
|
	
|
|
|
|
|
|
|
|
	rock.Parent = nil
|
|
|
|
|
|
|
|
--	return ((char.Torso.CFrame.p - charStart.p).magnitude > charTorsoMovementThreshold)
|
|
|
|
	--return wasRagdoll
|
|
|
|
	return (torsoMovementTotal > charMovementThreshold) or (armMovementTotal > charMovementThreshold)
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
-- test EVERYTHING
|
|
|
|
for targetName, target in pairs(targets) do
|
|
|
|
	for shapeName, shape in pairs(shapes) do
|
|
|
|
		for sizeName, size in pairs(sizes) do
|
|
|
|
			for speedName, speed in pairs(speeds) do
|
|
|
|
				for directionName, direction in pairs(directions) do
|
|
|
|
					local relativeDirection = charStart:vectorToWorldSpace(direction)
|
|
|
|
					boulder.Shape = shape
|
|
|
|
					boulder.Size = size
|
|
|
|
					boulder.CFrame = CFrame.new(target.p + relativeDirection * boulder.Size.magnitude * 2 + Vector3.new(0, boulder.Size.Y/2, 0))
|
|
|
|
					boulder.Velocity = -relativeDirection * speed
|
|
|
|
					boulder.RotVelocity = Vector3.new(0, 0, 0)
|
|
|
|
	
|
|
|
|
					local testName = speedName .. " " .. sizeName .. " " .. shapeName .. " " .. targetName .. " " .. directionName .. " ragdoll test"
|
|
|
|
	
|
|
|
|
					local expectedResultsForSpeed = expectedTestResults[speedName]
|
|
|
|
					local expectedResult = expectedResultsForSpeed[sizeName]
|
|
|
|
					if directionName == "Above" and sizeName ~= "Large" then expectedResult = false end
|
|
|
|
	
|
|
|
|
					local actualResult = testBoulder(boulder, char)
|
|
|
|
					print(testName .. ": ", actualResult, " expected ", expectedResult)
|
|
|
|
					--testService:Check(actualResult == expectedResult, testName)
|
|
|
|
				end
|
|
|
|
			end
|
|
|
|
		end
|
|
|
|
	end
|
|
|
|
end
|
|
|
|
|
|
|
|
</ProtectedString>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
</Item>
|
|
|
|
<Item class="StarterPack" referent="RBX24">
|
|
|
|
<Properties>
|
|
|
|
<string name="Name">StarterPack</string>
|
|
|
|
</Properties>
|
|
|
|
<Item class="HopperBin" referent="RBX25">
|
|
|
|
<Properties>
|
|
|
|
<bool name="Active">false</bool>
|
|
|
|
<token name="BinType">2</token>
|
|
|
|
<string name="Name">HopperBin</string>
|
|
|
|
<Content name="TextureId"><url>rbxasset://Textures/Grab.png</url></Content>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="HopperBin" referent="RBX26">
|
|
|
|
<Properties>
|
|
|
|
<bool name="Active">false</bool>
|
|
|
|
<token name="BinType">4</token>
|
|
|
|
<string name="Name">HopperBin</string>
|
|
|
|
<Content name="TextureId"><url>rbxasset://Textures/Hammer.png</url></Content>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="HopperBin" referent="RBX27">
|
|
|
|
<Properties>
|
|
|
|
<bool name="Active">false</bool>
|
|
|
|
<token name="BinType">3</token>
|
|
|
|
<string name="Name">HopperBin</string>
|
|
|
|
<Content name="TextureId"><url>rbxasset://Textures/Clone.png</url></Content>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
</Item>
|
|
|
|
<Item class="StarterGui" referent="RBX28">
|
|
|
|
<Properties>
|
|
|
|
<string name="Name">StarterGui</string>
|
|
|
|
<bool name="ShowDevelopmentGui">true</bool>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="SoundService" referent="RBX29">
|
|
|
|
<Properties>
|
|
|
|
<token name="AmbientReverb">0</token>
|
|
|
|
<float name="DistanceFactor">10</float>
|
|
|
|
<float name="DopplerScale">1</float>
|
|
|
|
<string name="Name">SoundService</string>
|
|
|
|
<float name="RolloffScale">1</float>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="CollectionService" referent="RBX30">
|
|
|
|
<Properties>
|
|
|
|
<string name="Name">CollectionService</string>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="PhysicsService" referent="RBX31">
|
|
|
|
<Properties>
|
|
|
|
<string name="Name">PhysicsService</string>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="BadgeService" referent="RBX32">
|
|
|
|
<Properties>
|
|
|
|
<string name="Name">BadgeService</string>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="Geometry" referent="RBX33">
|
|
|
|
<Properties>
|
|
|
|
<string name="Name">Geometry</string>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="RenderHooksService" referent="RBX34">
|
|
|
|
<Properties>
|
|
|
|
<string name="Name">RenderHooksService</string>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="SocialService" referent="RBX35">
|
|
|
|
<Properties>
|
|
|
|
<string name="Name">SocialService</string>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="Debris" referent="RBX36">
|
|
|
|
<Properties>
|
|
|
|
<int name="MaxItems">1000</int>
|
|
|
|
<string name="Name">Debris</string>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="TimerService" referent="RBX37">
|
|
|
|
<Properties>
|
|
|
|
<string name="Name">Instance</string>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="ScriptInformationProvider" referent="RBX38">
|
|
|
|
<Properties>
|
|
|
|
<string name="Name">Instance</string>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="CookiesService" referent="RBX39">
|
|
|
|
<Properties>
|
|
|
|
<string name="Name">CookiesService</string>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="TeleportService" referent="RBX40">
|
|
|
|
<Properties>
|
|
|
|
<string name="Name">Teleport Service</string>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="Players" referent="RBX41">
|
|
|
|
<Properties>
|
|
|
|
<bool name="CharacterAutoLoads">true</bool>
|
|
|
|
<string name="Name">Players</string>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="Selection" referent="RBX42">
|
|
|
|
<Properties>
|
|
|
|
<string name="Name">Selection</string>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="Lighting" referent="RBX43">
|
|
|
|
<Properties>
|
|
|
|
<Color3 name="Ambient">4286874756</Color3>
|
|
|
|
<float name="Brightness">1</float>
|
|
|
|
<Color3 name="ColorShift_Bottom">4278190080</Color3>
|
|
|
|
<Color3 name="ColorShift_Top">4278190080</Color3>
|
|
|
|
<Color3 name="FogColor">4290822336</Color3>
|
|
|
|
<float name="FogEnd">100000</float>
|
|
|
|
<float name="FogStart">0</float>
|
|
|
|
<float name="GeographicLatitude">41.7332993</float>
|
|
|
|
<string name="Name">Lighting</string>
|
|
|
|
<Color3 name="ShadowColor">4290230204</Color3>
|
|
|
|
<string name="TimeOfDay">14:00:00</string>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="ChangeHistoryService" referent="RBX44">
|
|
|
|
<Properties>
|
|
|
|
<string name="Name">ChangeHistoryService</string>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
<Item class="TestService" referent="RBX45">
|
|
|
|
<Properties>
|
|
|
|
<bool name="AutoRuns">true</bool>
|
|
|
|
<string name="Description"></string>
|
|
|
|
<bool name="Is30FpsThrottleEnabled">true</bool>
|
|
|
|
<bool name="IsPhysicsEnvironmentalThrottled">true</bool>
|
|
|
|
<bool name="IsSleepAllowed">true</bool>
|
|
|
|
<string name="Name">TestService</string>
|
|
|
|
<double name="Timeout">800</double>
|
|
|
|
</Properties>
|
|
|
|
<Item class="Script" referent="RBX46">
|
|
|
|
<Properties>
|
|
|
|
<bool name="Disabled">false</bool>
|
|
|
|
<Content name="LinkedSource"><null></null></Content>
|
|
|
|
<string name="Name">Script</string>
|
|
|
|
<ProtectedString name="Source">local char = game.Workspace.BuilderMan
|
|
|
|
local charStart = char.Torso.CFrame
|
|
|
|
local testService = game:GetService("TestService")
|
|
|
|
|
|
|
|
--local charMovementThreshold = 3 -- more than 3 studs means char was knocked down
|
|
|
|
local charMovementThreshold = 1
|
|
|
|
|
|
|
|
local sizes = {Small = Vector3.new(1, 1, 1), Medium = Vector3.new(3, 3, 3), Large = Vector3.new(8, 8, 8)}
|
|
|
|
|
|
|
|
local speeds = {Slow = 20, Fast = 80}
|
|
|
|
--local directions = {Front = Vector3.new(0, 0, -1), Back = Vector3.new(0, 0, 1), Above = Vector3.new(0, 1, 0), Side = Vector3.new(1, 0, 0)}
|
|
|
|
local directions = {Front = Vector3.new(0, 0, -1), Back = Vector3.new(0, 0, 1), Side = Vector3.new(1, 0, 0)}
|
|
|
|
local shapes = {Ball = "Ball"}
|
|
|
|
local targets = {Centered = char.Torso.CFrame, Glancing = char["Right Arm"].CFrame}
|
|
|
|
|
|
|
|
local expectedTestResults = {}
|
|
|
|
expectedTestResults["Fast"] = {Small = false, Medium = true, Large = true}
|
|
|
|
expectedTestResults["Slow"] = {Small = false, Medium = false, Large = false}
|
|
|
|
--expectedTestResults["Medium"] = {Small = false, Medium = false, Large = true}
|
|
|
|
|
|
|
|
local boulder = Instance.new("Part")
|
|
|
|
boulder.formFactor = "Custom"
|
|
|
|
boulder.CanCollide = true
|
|
|
|
boulder.Anchored = false
|
|
|
|
|
|
|
|
|
|
|
|
function charHasMoved(char, armStart, torsoStart)
|
|
|
|
	return ((char.Torso.CFrame.p - torsoStart).magnitude > charMovementThreshold) or ((char["Right Arm"].CFrame.p - armStart).magnitude > charMovementThreshold)
|
|
|
|
end
|
|
|
|
|
|
|
|
function testBoulder(rock, char)
|
|
|
|
	char.Torso.CFrame = charStart
|
|
|
|
	
|
|
|
|
	--local charArmStart = char["Right Arm"].CFrame.p
|
|
|
|
	--local charTorsoStart = char.Torso.CFrame.p
|
|
|
|
	local charArmStart = char["Right Arm"].CFrame:vectorToWorldSpace(Vector3.new(1, 1, 1))
|
|
|
|
	local charTorsoStart = char.Torso.CFrame:vectorToWorldSpace(Vector3.new(1, 1, 1))
|
|
|
|
|
|
|
|
	char.Humanoid.Jump = true
|
|
|
|
|
|
|
|
	wait(2)
|
|
|
|
	rock.Parent = game.Workspace
|
|
|
|
|
|
|
|
	--wait(5) -- should be more than enough for each test to complete
|
|
|
|
|
|
|
|
	local wasRagdoll = false
|
|
|
|
	local armMovementTotal = 0
|
|
|
|
	local torsoMovementTotal = 0
|
|
|
|
	for i = 0, 5, .2 do
|
|
|
|
		--wasRagdoll = wasRagdoll or char.Humanoid.Ragdoll
|
|
|
|
		--wasRagdoll = wasRagdoll or charHasMoved(char, charArmStart, charTorsoStart)
|
|
|
|
		--armMovementTotal = armMovementTotal + (char["Right Arm"].CFrame.p - charArmStart).magnitude
|
|
|
|
		--charArmStart = char["Right Arm"].CFrame.p
|
|
|
|
		armMovementTotal = armMovementTotal + (char["Right Arm"].CFrame:vectorToWorldSpace(Vector3.new(1, 1, 1)) - charArmStart).magnitude
|
|
|
|
		charArmStart = char["Right Arm"].CFrame:vectorToWorldSpace(Vector3.new(1, 1, 1))
|
|
|
|
|
|
|
|
		--torsoMovementTotal = torsoMovementTotal + (char.Torso.CFrame.p - charTorsoStart).magnitude
|
|
|
|
		--charTorsoStart = char.Torso.CFrame.p
|
|
|
|
		torsoMovementTotal = torsoMovementTotal + (char.Torso.CFrame:vectorToWorldSpace(Vector3.new(1, 1, 1)) - charTorsoStart).magnitude
|
|
|
|
		charTorsoStart = char.Torso.CFrame:vectorToWorldSpace(Vector3.new(1, 1, 1))
|
|
|
|
|
|
|
|
		--wasRagdoll = wasRagdoll or char.Humanoid:IsRagdoll()
|
|
|
|
|
|
|
|
		wait(.2)
|
|
|
|
	end
|
|
|
|
	
|
|
|
|
|
|
|
|
	rock.Parent = nil
|
|
|
|
|
|
|
|
--	return ((char.Torso.CFrame.p - charStart.p).magnitude > charTorsoMovementThreshold)
|
|
|
|
	--return wasRagdoll
|
|
|
|
	return (torsoMovementTotal > charMovementThreshold) or (armMovementTotal > charMovementThreshold)
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
-- test EVERYTHING
|
|
|
|
for targetName, target in pairs(targets) do
|
|
|
|
	for shapeName, shape in pairs(shapes) do
|
|
|
|
		for sizeName, size in pairs(sizes) do
|
|
|
|
			for speedName, speed in pairs(speeds) do
|
|
|
|
				for directionName, direction in pairs(directions) do
|
|
|
|
					local relativeDirection = charStart:vectorToWorldSpace(direction)
|
|
|
|
					boulder.Shape = shape
|
|
|
|
					boulder.Size = size
|
|
|
|
					boulder.CFrame = CFrame.new(target.p + relativeDirection * (boulder.Size.X + 1) + Vector3.new(0, boulder.Size.Y/2, 0))
|
|
|
|
					boulder.Velocity = -relativeDirection * speed
|
|
|
|
					boulder.RotVelocity = Vector3.new(0, 0, 0)
|
|
|
|
	
|
|
|
|
					local testName = speedName .. " " .. sizeName .. " " .. shapeName .. " " .. targetName .. " " .. directionName .. " ragdoll test"
|
|
|
|
	
|
|
|
|
					local expectedResultsForSpeed = expectedTestResults[speedName]
|
|
|
|
					local expectedResult = expectedResultsForSpeed[sizeName]
|
|
|
|
					if directionName == "Above" then expectedResult = false end
|
|
|
|
	
|
|
|
|
					local actualResult = testBoulder(boulder, char)
|
|
|
|
					print(testName .. ": ", actualResult, " expected ", expectedResult)
|
|
|
|
					testService:Check(actualResult == expectedResult, testName)
|
|
|
|
				end
|
|
|
|
			end
|
|
|
|
		end
|
|
|
|
	end
|
|
|
|
end
|
|
|
|
|
|
|
|
</ProtectedString>
|
|
|
|
</Properties>
|
|
|
|
</Item>
|
|
|
|
</Item>
|
|
|
|
</roblox> |