Files
watrbx-game-engine/RobloxTest/MultiPlayerTests/ThreePlayersJoinAndWalk.clienttest
2025-09-18 17:55:52 -04:00

325 lines
9.6 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">28.533334821462631</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="Camera" referent="RBX1">
<Properties>
<Ref name="CameraSubject">null</Ref>
<token name="CameraType">0</token>
<CoordinateFrame name="CoordinateFrame">
<X>-0.103864059</X>
<Y>19.1871071</Y>
<Z>-32.5613251</Z>
<R00>-0.999998808</R00>
<R01>0.00103332219</R01>
<R02>-0.0011497013</R02>
<R10>-0</R10>
<R11>0.743747175</R11>
<R12>0.668461025</R12>
<R20>0.00154582271</R20>
<R21>0.66846025</R21>
<R22>-0.743746281</R22>
</CoordinateFrame>
<float name="FieldOfView">70</float>
<CoordinateFrame name="Focus">
<X>-0.10314548</X>
<Y>18.76931</Y>
<Z>-32.0964737</Z>
<R00>-1</R00>
<R01>-3.93499592e-021</R01>
<R02>-9.07900899e-022</R02>
<R10>-3.93499592e-021</R10>
<R11>1</R11>
<R12>5.67107758e-021</R12>
<R20>9.07900899e-022</R20>
<R21>5.67107758e-021</R21>
<R22>-1</R22>
</CoordinateFrame>
<string name="Name">Camera</string>
</Properties>
</Item>
<Item class="Terrain" 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">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.300000012</float>
<float name="Friction">0.5</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>
</Item>
<Item class="StarterPack" referent="RBX3">
<Properties>
<string name="Name">StarterPack</string>
</Properties>
</Item>
<Item class="StarterGui" referent="RBX4">
<Properties>
<string name="Name">StarterGui</string>
<bool name="ShowDevelopmentGui">true</bool>
</Properties>
</Item>
<Item class="SoundService" referent="RBX5">
<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="RBX6">
<Properties>
<string name="Name">CollectionService</string>
</Properties>
</Item>
<Item class="PhysicsService" referent="RBX7">
<Properties>
<string name="Name">PhysicsService</string>
</Properties>
</Item>
<Item class="BadgeService" referent="RBX8">
<Properties>
<string name="Name">BadgeService</string>
</Properties>
</Item>
<Item class="Geometry" referent="RBX9">
<Properties>
<string name="Name">Geometry</string>
</Properties>
</Item>
<Item class="RenderHooksService" referent="RBX10">
<Properties>
<string name="Name">RenderHooksService</string>
</Properties>
</Item>
<Item class="SocialService" referent="RBX11">
<Properties>
<string name="Name">SocialService</string>
</Properties>
</Item>
<Item class="GamePassService" referent="RBX12">
<Properties>
<string name="Name">GamePassService</string>
</Properties>
</Item>
<Item class="Debris" referent="RBX13">
<Properties>
<int name="MaxItems">1000</int>
<string name="Name">Debris</string>
</Properties>
</Item>
<Item class="TimerService" referent="RBX14">
<Properties>
<string name="Name">Instance</string>
</Properties>
</Item>
<Item class="ScriptInformationProvider" referent="RBX15">
<Properties>
<string name="Name">Instance</string>
</Properties>
</Item>
<Item class="CookiesService" referent="RBX16">
<Properties>
<string name="Name">CookiesService</string>
</Properties>
</Item>
<Item class="TeleportService" referent="RBX17">
<Properties>
<string name="Name">Teleport Service</string>
</Properties>
</Item>
<Item class="Players" referent="RBX18">
<Properties>
<bool name="CharacterAutoLoads">true</bool>
<string name="Name">Players</string>
</Properties>
</Item>
<Item class="FWService" referent="RBX19">
<Properties>
<string name="Name">Instance</string>
</Properties>
</Item>
<Item class="UserInputService" referent="RBX20">
<Properties>
<string name="Name">Instance</string>
</Properties>
</Item>
<Item class="ContextActionService" referent="RBX21">
<Properties>
<string name="Name">ContextActionService</string>
</Properties>
</Item>
<Item class="ScriptService" referent="RBX22">
<Properties>
<string name="Name">Instance</string>
</Properties>
</Item>
<Item class="Selection" referent="RBX23">
<Properties>
<string name="Name">Selection</string>
</Properties>
</Item>
<Item class="ChangeHistoryService" referent="RBX24">
<Properties>
<string name="Name">ChangeHistoryService</string>
</Properties>
</Item>
<Item class="Lighting" referent="RBX25">
<Properties>
<Color3 name="Ambient">4286677377</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>
<bool name="GlobalShadows">false</bool>
<string name="Name">Lighting</string>
<Color3 name="OutdoorAmbient">4286611584</Color3>
<bool name="Outlines">true</bool>
<Color3 name="ShadowColor">4290032825</Color3>
<string name="TimeOfDay">14:00:00</string>
</Properties>
</Item>
<Item class="TestService" referent="RBX26">
<Properties>
<bool name="AutoRuns">false</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>
<int name="NumberOfPlayers">0</int>
<double name="Timeout">3000</double>
</Properties>
<Item class="Script" referent="RBX27">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">Client</string>
<ProtectedString name="Source">--RBX_MESSAGE(&quot;***From Client: Player joining&quot;)
wait(10)
torso = game.Players.LocalPlayer.Character.Torso
local xCheck = math.abs(torso.Position.x) &lt; 2
local yCheck = torso.Position.y &gt; 0.0
local zCheck = math.abs(torso.Position.z) &lt; 2
local success = 0
if(xCheck and yCheck and zCheck) then success = 1 end
RBX_CHECK_MESSAGE(success, &quot;Check 1: Players at correct starting position&quot;)
wait(20)
success = 0
RBX_MESSAGE(torso.Position.x)
RBX_MESSAGE(torso.Position.y)
RBX_MESSAGE(torso.Position.z)
if(game.Players.LocalPlayer.Name == &quot;Player1&quot;) then
&#9;xCheck = math.abs(torso.Position.x) &lt; 2
elseif(game.Players.LocalPlayer.Name == &quot;Player2&quot;) then
&#9;xCheck = math.abs(torso.Position.x - 20) &lt; 2
elseif(game.Players.LocalPlayer.Name == &quot;Player3&quot;) then
&#9;xCheck = math.abs(torso.Position.x + 20) &lt; 2
end
&#9;
yCheck = torso.Position.y &gt; 0.0
zCheck = math.abs(torso.Position.z - 77) &lt; 10
if(xCheck and yCheck and zCheck) then success = 1 end
RBX_CHECK_MESSAGE(success, &quot;Check 2: Players at correct end position&quot;)
-- wait long enough so the server test ends before players leave
wait(600)
</ProtectedString>
</Properties>
</Item>
</Item>
<Item class="Teams" referent="RBX28">
<Properties>
<string name="Name">Teams</string>
</Properties>
</Item>
</roblox>