forked from aya/aya
Initial commit
This commit is contained in:
BIN
client/common/content/avatar/animations/climb.rbxm
Normal file
BIN
client/common/content/avatar/animations/climb.rbxm
Normal file
Binary file not shown.
3115
client/common/content/avatar/animations/emotes/cheer.rbxm
Normal file
3115
client/common/content/avatar/animations/emotes/cheer.rbxm
Normal file
File diff suppressed because it is too large
Load Diff
BIN
client/common/content/avatar/animations/emotes/dance1_0.rbxm
Normal file
BIN
client/common/content/avatar/animations/emotes/dance1_0.rbxm
Normal file
Binary file not shown.
BIN
client/common/content/avatar/animations/emotes/dance1_1.rbxm
Normal file
BIN
client/common/content/avatar/animations/emotes/dance1_1.rbxm
Normal file
Binary file not shown.
BIN
client/common/content/avatar/animations/emotes/dance1_2.rbxm
Normal file
BIN
client/common/content/avatar/animations/emotes/dance1_2.rbxm
Normal file
Binary file not shown.
BIN
client/common/content/avatar/animations/emotes/dance2_0.rbxm
Normal file
BIN
client/common/content/avatar/animations/emotes/dance2_0.rbxm
Normal file
Binary file not shown.
BIN
client/common/content/avatar/animations/emotes/dance2_1.rbxm
Normal file
BIN
client/common/content/avatar/animations/emotes/dance2_1.rbxm
Normal file
Binary file not shown.
BIN
client/common/content/avatar/animations/emotes/dance2_2.rbxm
Normal file
BIN
client/common/content/avatar/animations/emotes/dance2_2.rbxm
Normal file
Binary file not shown.
BIN
client/common/content/avatar/animations/emotes/dance3_0.rbxm
Normal file
BIN
client/common/content/avatar/animations/emotes/dance3_0.rbxm
Normal file
Binary file not shown.
BIN
client/common/content/avatar/animations/emotes/dance3_1.rbxm
Normal file
BIN
client/common/content/avatar/animations/emotes/dance3_1.rbxm
Normal file
Binary file not shown.
BIN
client/common/content/avatar/animations/emotes/dance3_2.rbxm
Normal file
BIN
client/common/content/avatar/animations/emotes/dance3_2.rbxm
Normal file
Binary file not shown.
3309
client/common/content/avatar/animations/emotes/laugh.rbxm
Normal file
3309
client/common/content/avatar/animations/emotes/laugh.rbxm
Normal file
File diff suppressed because it is too large
Load Diff
3309
client/common/content/avatar/animations/emotes/point.rbxm
Normal file
3309
client/common/content/avatar/animations/emotes/point.rbxm
Normal file
File diff suppressed because it is too large
Load Diff
4570
client/common/content/avatar/animations/emotes/wave.rbxm
Normal file
4570
client/common/content/avatar/animations/emotes/wave.rbxm
Normal file
File diff suppressed because it is too large
Load Diff
BIN
client/common/content/avatar/animations/fall.rbxm
Normal file
BIN
client/common/content/avatar/animations/fall.rbxm
Normal file
Binary file not shown.
BIN
client/common/content/avatar/animations/idle0.rbxm
Normal file
BIN
client/common/content/avatar/animations/idle0.rbxm
Normal file
Binary file not shown.
BIN
client/common/content/avatar/animations/idle1.rbxm
Normal file
BIN
client/common/content/avatar/animations/idle1.rbxm
Normal file
Binary file not shown.
1854
client/common/content/avatar/animations/jump.rbxm
Normal file
1854
client/common/content/avatar/animations/jump.rbxm
Normal file
File diff suppressed because it is too large
Load Diff
BIN
client/common/content/avatar/animations/sit.rbxm
Normal file
BIN
client/common/content/avatar/animations/sit.rbxm
Normal file
Binary file not shown.
323
client/common/content/avatar/animations/toollunge.rbxm
Normal file
323
client/common/content/avatar/animations/toollunge.rbxm
Normal file
@@ -0,0 +1,323 @@
|
||||
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="4" assettype="animation">
|
||||
<External>null</External>
|
||||
<External>nil</External>
|
||||
<Item class="KeyframeSequence" referent="RBX0">
|
||||
<Properties>
|
||||
<bool name="Loop">false</bool>
|
||||
<string name="Name">Test</string>
|
||||
<token name="Priority">0</token>
|
||||
</Properties>
|
||||
<Item class="Keyframe" referent="RBX1">
|
||||
<Properties>
|
||||
<string name="Name">Keyframe</string>
|
||||
<float name="Time">0</float>
|
||||
</Properties>
|
||||
<Item class="Pose" referent="RBX2">
|
||||
<Properties>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<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>
|
||||
<float name="MaskWeight">0</float>
|
||||
<string name="Name">HumanoidRootPart</string>
|
||||
<float name="Weight">1</float>
|
||||
</Properties>
|
||||
<Item class="Pose" referent="RBX3">
|
||||
<Properties>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
<R00>0.999999881</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>
|
||||
<float name="MaskWeight">0</float>
|
||||
<string name="Name">Torso</string>
|
||||
<float name="Weight">1</float>
|
||||
</Properties>
|
||||
<Item class="Pose" referent="RBX4">
|
||||
<Properties>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>5.96046448e-008</X>
|
||||
<Y>-2.98023224e-008</Y>
|
||||
<Z>0</Z>
|
||||
<R00>0.0355361402</R00>
|
||||
<R01>-0.99936831</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0.99936831</R10>
|
||||
<R11>0.0355361402</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>1</R22>
|
||||
</CoordinateFrame>
|
||||
<float name="MaskWeight">0</float>
|
||||
<string name="Name">Left Leg</string>
|
||||
<float name="Weight">1</float>
|
||||
</Properties>
|
||||
</Item>
|
||||
<Item class="Pose" referent="RBX5">
|
||||
<Properties>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
<R00>0.819770932</R00>
|
||||
<R01>-0.57269156</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0.57269156</R10>
|
||||
<R11>0.819770932</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>1</R22>
|
||||
</CoordinateFrame>
|
||||
<float name="MaskWeight">0</float>
|
||||
<string name="Name">Right Leg</string>
|
||||
<float name="Weight">1</float>
|
||||
</Properties>
|
||||
</Item>
|
||||
<Item class="Pose" referent="RBX6">
|
||||
<Properties>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>0</X>
|
||||
<Y>-2.98023224e-008</Y>
|
||||
<Z>0</Z>
|
||||
<R00>0.815004945</R00>
|
||||
<R01>-0.579453945</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0.579453945</R10>
|
||||
<R11>0.815004945</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>1</R22>
|
||||
</CoordinateFrame>
|
||||
<float name="MaskWeight">0</float>
|
||||
<string name="Name">Left Arm</string>
|
||||
<float name="Weight">1</float>
|
||||
</Properties>
|
||||
</Item>
|
||||
<Item class="Pose" referent="RBX7">
|
||||
<Properties>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>0</X>
|
||||
<Y>2.56113708e-008</Y>
|
||||
<Z>0</Z>
|
||||
<R00>0.00526433345</R00>
|
||||
<R01>-0.999986172</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0.999986172</R10>
|
||||
<R11>0.00526433345</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>1</R22>
|
||||
</CoordinateFrame>
|
||||
<float name="MaskWeight">0</float>
|
||||
<string name="Name">Right Arm</string>
|
||||
<float name="Weight">1</float>
|
||||
</Properties>
|
||||
</Item>
|
||||
<Item class="Pose" referent="RBX8">
|
||||
<Properties>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
<R00>0.999999881</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>
|
||||
<float name="MaskWeight">0</float>
|
||||
<string name="Name">Head</string>
|
||||
<float name="Weight">1</float>
|
||||
</Properties>
|
||||
</Item>
|
||||
</Item>
|
||||
</Item>
|
||||
</Item>
|
||||
<Item class="Keyframe" referent="RBX9">
|
||||
<Properties>
|
||||
<string name="Name">Keyframe</string>
|
||||
<float name="Time">1.49062502</float>
|
||||
</Properties>
|
||||
<Item class="Pose" referent="RBX10">
|
||||
<Properties>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<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>
|
||||
<float name="MaskWeight">0</float>
|
||||
<string name="Name">HumanoidRootPart</string>
|
||||
<float name="Weight">1</float>
|
||||
</Properties>
|
||||
<Item class="Pose" referent="RBX11">
|
||||
<Properties>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
<R00>0.999999881</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>
|
||||
<float name="MaskWeight">0</float>
|
||||
<string name="Name">Torso</string>
|
||||
<float name="Weight">1</float>
|
||||
</Properties>
|
||||
<Item class="Pose" referent="RBX12">
|
||||
<Properties>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>5.96046448e-008</X>
|
||||
<Y>-2.98023224e-008</Y>
|
||||
<Z>0</Z>
|
||||
<R00>0.0355361402</R00>
|
||||
<R01>-0.99936831</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0.99936831</R10>
|
||||
<R11>0.0355361402</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>1</R22>
|
||||
</CoordinateFrame>
|
||||
<float name="MaskWeight">0</float>
|
||||
<string name="Name">Left Leg</string>
|
||||
<float name="Weight">1</float>
|
||||
</Properties>
|
||||
</Item>
|
||||
<Item class="Pose" referent="RBX13">
|
||||
<Properties>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
<R00>0.819770932</R00>
|
||||
<R01>-0.57269156</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0.57269156</R10>
|
||||
<R11>0.819770932</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>1</R22>
|
||||
</CoordinateFrame>
|
||||
<float name="MaskWeight">0</float>
|
||||
<string name="Name">Right Leg</string>
|
||||
<float name="Weight">1</float>
|
||||
</Properties>
|
||||
</Item>
|
||||
<Item class="Pose" referent="RBX14">
|
||||
<Properties>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>0</X>
|
||||
<Y>-2.98023224e-008</Y>
|
||||
<Z>0</Z>
|
||||
<R00>0.815004945</R00>
|
||||
<R01>-0.579453945</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0.579453945</R10>
|
||||
<R11>0.815004945</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>1</R22>
|
||||
</CoordinateFrame>
|
||||
<float name="MaskWeight">0</float>
|
||||
<string name="Name">Left Arm</string>
|
||||
<float name="Weight">1</float>
|
||||
</Properties>
|
||||
</Item>
|
||||
<Item class="Pose" referent="RBX15">
|
||||
<Properties>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>0</X>
|
||||
<Y>2.56113708e-008</Y>
|
||||
<Z>0</Z>
|
||||
<R00>0.00526433345</R00>
|
||||
<R01>-0.999986172</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0.999986172</R10>
|
||||
<R11>0.00526433345</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>1</R22>
|
||||
</CoordinateFrame>
|
||||
<float name="MaskWeight">0</float>
|
||||
<string name="Name">Right Arm</string>
|
||||
<float name="Weight">1</float>
|
||||
</Properties>
|
||||
</Item>
|
||||
<Item class="Pose" referent="RBX16">
|
||||
<Properties>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
<R00>0.999999881</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>
|
||||
<float name="MaskWeight">0</float>
|
||||
<string name="Name">Head</string>
|
||||
<float name="Weight">1</float>
|
||||
</Properties>
|
||||
</Item>
|
||||
</Item>
|
||||
</Item>
|
||||
</Item>
|
||||
<Item class="Keyframe" referent="RBX17">
|
||||
<Properties>
|
||||
<string name="Name">KF1.5</string>
|
||||
<float name="Time">1.5</float>
|
||||
</Properties>
|
||||
</Item>
|
||||
</Item>
|
||||
</roblox>
|
||||
BIN
client/common/content/avatar/animations/toolnone.rbxm
Normal file
BIN
client/common/content/avatar/animations/toolnone.rbxm
Normal file
Binary file not shown.
203
client/common/content/avatar/animations/toolslash.rbxm
Normal file
203
client/common/content/avatar/animations/toolslash.rbxm
Normal file
@@ -0,0 +1,203 @@
|
||||
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="4" assettype="animation">
|
||||
<External>null</External>
|
||||
<External>nil</External>
|
||||
<Item class="KeyframeSequence" referent="RBX0">
|
||||
<Properties>
|
||||
<bool name="Loop">false</bool>
|
||||
<string name="Name">Test</string>
|
||||
<token name="Priority">0</token>
|
||||
</Properties>
|
||||
<Item class="Keyframe" referent="RBX1">
|
||||
<Properties>
|
||||
<string name="Name">Keyframe</string>
|
||||
<float name="Time">0</float>
|
||||
</Properties>
|
||||
<Item class="Pose" referent="RBX3">
|
||||
<Properties>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<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>
|
||||
<float name="MaskWeight">0</float>
|
||||
<string name="Name">Torso</string>
|
||||
<float name="Weight">1</float>
|
||||
</Properties>
|
||||
<Item class="Pose" referent="RBX4">
|
||||
<Properties>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>0</X>
|
||||
<Y>1.86264515e-009</Y>
|
||||
<Z>0</Z>
|
||||
<R00>-0.0374366008</R00>
|
||||
<R01>-0.99929899</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0.99929899</R10>
|
||||
<R11>-0.0374366008</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>1</R22>
|
||||
</CoordinateFrame>
|
||||
<float name="MaskWeight">0</float>
|
||||
<string name="Name">Right Arm</string>
|
||||
<float name="Weight">1</float>
|
||||
</Properties>
|
||||
</Item>
|
||||
</Item>
|
||||
</Item>
|
||||
<Item class="Keyframe" referent="RBX5">
|
||||
<Properties>
|
||||
<string name="Name">Keyframe</string>
|
||||
<float name="Time">0.200000003</float>
|
||||
</Properties>
|
||||
<Item class="Pose" referent="RBX6">
|
||||
<Properties>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<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>
|
||||
<float name="MaskWeight">0</float>
|
||||
<string name="Name">Torso</string>
|
||||
<float name="Weight">1</float>
|
||||
</Properties>
|
||||
<Item class="Pose" referent="RBX7">
|
||||
<Properties>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>3.25962901e-009</X>
|
||||
<Y>-5.96046448e-008</Y>
|
||||
<Z>0</Z>
|
||||
<R00>0.999995768</R00>
|
||||
<R01>-0.00290136319</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0.00290136319</R10>
|
||||
<R11>0.999995768</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>1</R22>
|
||||
</CoordinateFrame>
|
||||
<float name="MaskWeight">0</float>
|
||||
<string name="Name">Right Arm</string>
|
||||
<float name="Weight">1</float>
|
||||
</Properties>
|
||||
</Item>
|
||||
</Item>
|
||||
</Item>
|
||||
<Item class="Keyframe" referent="RBX8">
|
||||
<Properties>
|
||||
<string name="Name">Keyframe</string>
|
||||
<float name="Time">0.300000012</float>
|
||||
</Properties>
|
||||
<Item class="Pose" referent="RBX9">
|
||||
<Properties>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<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>
|
||||
<float name="MaskWeight">0</float>
|
||||
<string name="Name">Torso</string>
|
||||
<float name="Weight">1</float>
|
||||
</Properties>
|
||||
<Item class="Pose" referent="RBX10">
|
||||
<Properties>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>3.25962901e-009</X>
|
||||
<Y>-5.96046448e-008</Y>
|
||||
<Z>0</Z>
|
||||
<R00>0.999995768</R00>
|
||||
<R01>-0.00290136319</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0.00290136319</R10>
|
||||
<R11>0.999995768</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>1</R22>
|
||||
</CoordinateFrame>
|
||||
<float name="MaskWeight">0</float>
|
||||
<string name="Name">Right Arm</string>
|
||||
<float name="Weight">1</float>
|
||||
</Properties>
|
||||
</Item>
|
||||
</Item>
|
||||
</Item>
|
||||
<Item class="Keyframe" referent="RBX11">
|
||||
<Properties>
|
||||
<string name="Name">Keyframe</string>
|
||||
<float name="Time">0.5</float>
|
||||
</Properties>
|
||||
<Item class="Pose" referent="RBX12">
|
||||
<Properties>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<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>
|
||||
<float name="MaskWeight">0</float>
|
||||
<string name="Name">Torso</string>
|
||||
<float name="Weight">1</float>
|
||||
</Properties>
|
||||
<Item class="Pose" referent="RBX13">
|
||||
<Properties>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>0</X>
|
||||
<Y>1.86264515e-009</Y>
|
||||
<Z>0</Z>
|
||||
<R00>-0.0374366008</R00>
|
||||
<R01>-0.99929899</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0.99929899</R10>
|
||||
<R11>-0.0374366008</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>1</R22>
|
||||
</CoordinateFrame>
|
||||
<float name="MaskWeight">0</float>
|
||||
<string name="Name">Right Arm</string>
|
||||
<float name="Weight">1</float>
|
||||
</Properties>
|
||||
</Item>
|
||||
</Item>
|
||||
</Item>
|
||||
</Item>
|
||||
</roblox>
|
||||
BIN
client/common/content/avatar/animations/walk.rbxm
Normal file
BIN
client/common/content/avatar/animations/walk.rbxm
Normal file
Binary file not shown.
606
client/common/content/avatar/character.rbxmx
Normal file
606
client/common/content/avatar/character.rbxmx
Normal file
@@ -0,0 +1,606 @@
|
||||
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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>ayaasset://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>
|
||||
BIN
client/common/content/avatar/characterR15.rbxm
Normal file
BIN
client/common/content/avatar/characterR15.rbxm
Normal file
Binary file not shown.
BIN
client/common/content/avatar/compositing/CompositExtraSlot0.mesh
Normal file
BIN
client/common/content/avatar/compositing/CompositExtraSlot0.mesh
Normal file
Binary file not shown.
BIN
client/common/content/avatar/compositing/CompositExtraSlot1.mesh
Normal file
BIN
client/common/content/avatar/compositing/CompositExtraSlot1.mesh
Normal file
Binary file not shown.
BIN
client/common/content/avatar/compositing/CompositExtraSlot2.mesh
Normal file
BIN
client/common/content/avatar/compositing/CompositExtraSlot2.mesh
Normal file
Binary file not shown.
BIN
client/common/content/avatar/compositing/CompositExtraSlot3.mesh
Normal file
BIN
client/common/content/avatar/compositing/CompositExtraSlot3.mesh
Normal file
Binary file not shown.
BIN
client/common/content/avatar/compositing/CompositExtraSlot4.mesh
Normal file
BIN
client/common/content/avatar/compositing/CompositExtraSlot4.mesh
Normal file
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.
BIN
client/common/content/avatar/compositing/CompositTShirt.mesh
Normal file
BIN
client/common/content/avatar/compositing/CompositTShirt.mesh
Normal file
Binary file not shown.
BIN
client/common/content/avatar/compositing/CompositTorsoBase.mesh
Normal file
BIN
client/common/content/avatar/compositing/CompositTorsoBase.mesh
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
client/common/content/avatar/heads/head.mesh
Normal file
BIN
client/common/content/avatar/heads/head.mesh
Normal file
Binary file not shown.
BIN
client/common/content/avatar/heads/headA.mesh
Normal file
BIN
client/common/content/avatar/heads/headA.mesh
Normal file
Binary file not shown.
BIN
client/common/content/avatar/heads/headB.mesh
Normal file
BIN
client/common/content/avatar/heads/headB.mesh
Normal file
Binary file not shown.
BIN
client/common/content/avatar/heads/headC.mesh
Normal file
BIN
client/common/content/avatar/heads/headC.mesh
Normal file
Binary file not shown.
BIN
client/common/content/avatar/heads/headD.mesh
Normal file
BIN
client/common/content/avatar/heads/headD.mesh
Normal file
Binary file not shown.
BIN
client/common/content/avatar/heads/headE.mesh
Normal file
BIN
client/common/content/avatar/heads/headE.mesh
Normal file
Binary file not shown.
BIN
client/common/content/avatar/heads/headF.mesh
Normal file
BIN
client/common/content/avatar/heads/headF.mesh
Normal file
Binary file not shown.
BIN
client/common/content/avatar/heads/headG.mesh
Normal file
BIN
client/common/content/avatar/heads/headG.mesh
Normal file
Binary file not shown.
BIN
client/common/content/avatar/heads/headH.mesh
Normal file
BIN
client/common/content/avatar/heads/headH.mesh
Normal file
Binary file not shown.
BIN
client/common/content/avatar/heads/headI.mesh
Normal file
BIN
client/common/content/avatar/heads/headI.mesh
Normal file
Binary file not shown.
BIN
client/common/content/avatar/heads/headJ.mesh
Normal file
BIN
client/common/content/avatar/heads/headJ.mesh
Normal file
Binary file not shown.
BIN
client/common/content/avatar/heads/headK.mesh
Normal file
BIN
client/common/content/avatar/heads/headK.mesh
Normal file
Binary file not shown.
BIN
client/common/content/avatar/heads/headL.mesh
Normal file
BIN
client/common/content/avatar/heads/headL.mesh
Normal file
Binary file not shown.
BIN
client/common/content/avatar/heads/headM.mesh
Normal file
BIN
client/common/content/avatar/heads/headM.mesh
Normal file
Binary file not shown.
BIN
client/common/content/avatar/heads/headN.mesh
Normal file
BIN
client/common/content/avatar/heads/headN.mesh
Normal file
Binary file not shown.
BIN
client/common/content/avatar/heads/headO.mesh
Normal file
BIN
client/common/content/avatar/heads/headO.mesh
Normal file
Binary file not shown.
BIN
client/common/content/avatar/heads/headP.mesh
Normal file
BIN
client/common/content/avatar/heads/headP.mesh
Normal file
Binary file not shown.
BIN
client/common/content/avatar/meshes/leftarm.mesh
Normal file
BIN
client/common/content/avatar/meshes/leftarm.mesh
Normal file
Binary file not shown.
BIN
client/common/content/avatar/meshes/leftleg.mesh
Normal file
BIN
client/common/content/avatar/meshes/leftleg.mesh
Normal file
Binary file not shown.
BIN
client/common/content/avatar/meshes/rightarm.mesh
Normal file
BIN
client/common/content/avatar/meshes/rightarm.mesh
Normal file
Binary file not shown.
BIN
client/common/content/avatar/meshes/rightleg.mesh
Normal file
BIN
client/common/content/avatar/meshes/rightleg.mesh
Normal file
Binary file not shown.
BIN
client/common/content/avatar/meshes/torso.mesh
Normal file
BIN
client/common/content/avatar/meshes/torso.mesh
Normal file
Binary file not shown.
4298
client/common/content/avatar/scripts/characterCameraScript.rbxmx
Normal file
4298
client/common/content/avatar/scripts/characterCameraScript.rbxmx
Normal file
File diff suppressed because it is too large
Load Diff
2067
client/common/content/avatar/scripts/characterControlScript.rbxmx
Normal file
2067
client/common/content/avatar/scripts/characterControlScript.rbxmx
Normal file
File diff suppressed because it is too large
Load Diff
34
client/common/content/avatar/scripts/dialogTimeout.rbxmx
Normal file
34
client/common/content/avatar/scripts/dialogTimeout.rbxmx
Normal file
@@ -0,0 +1,34 @@
|
||||
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="4">
|
||||
<External>null</External>
|
||||
<External>nil</External>
|
||||
<Item class="Script" referent="RBX0">
|
||||
<Properties>
|
||||
<bool name="Disabled">true</bool>
|
||||
<Content name="LinkedSource"><null></null></Content>
|
||||
<string name="Name">ReenableDialogScript</string>
|
||||
<ProtectedString name="Source">wait(5)
|
||||
local dialog = script.Parent
|
||||
if dialog:IsA("Dialog") then
|
||||
dialog.InUse = false
|
||||
end
|
||||
script:Remove()
|
||||
</ProtectedString>
|
||||
<bool name="archivable">true</bool>
|
||||
</Properties>
|
||||
</Item>
|
||||
<Item class="Script" referent="RBX1">
|
||||
<Properties>
|
||||
<bool name="Disabled">true</bool>
|
||||
<Content name="LinkedSource"><null></null></Content>
|
||||
<string name="Name">TimeoutScript</string>
|
||||
<ProtectedString name="Source">wait(15)
|
||||
local dialog = script.Parent
|
||||
if dialog:IsA("Dialog") then
|
||||
dialog.InUse = false
|
||||
end
|
||||
script:Remove()
|
||||
</ProtectedString>
|
||||
<bool name="archivable">true</bool>
|
||||
</Properties>
|
||||
</Item>
|
||||
</roblox>
|
||||
689
client/common/content/avatar/scripts/humanoidAnimate.rbxmx
Normal file
689
client/common/content/avatar/scripts/humanoidAnimate.rbxmx
Normal file
@@ -0,0 +1,689 @@
|
||||
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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 = "ayaasset://avatar/animations/idle0.rbxm", weight = 9 },
|
||||
{ id = "ayaasset://avatar/animations/idle1.rbxm", weight = 1 }
|
||||
},
|
||||
walk = {
|
||||
{ id = "ayaasset://avatar/animations/walk.rbxm", weight = 10 }
|
||||
},
|
||||
run = {
|
||||
{ id = "ayaasset://avatar/animations/walk.rbxm", weight = 10 }
|
||||
},
|
||||
jump = {
|
||||
{ id = "ayaasset://avatar/animations/jump.rbxm", weight = 10 }
|
||||
},
|
||||
fall = {
|
||||
{ id = "ayaasset://avatar/animations/fall.rbxm", weight = 10 }
|
||||
},
|
||||
climb = {
|
||||
{ id = "ayaasset://avatar/animations/climb.rbxm", weight = 10 }
|
||||
},
|
||||
sit = {
|
||||
{ id = "ayaasset://avatar/animations/sit.rbxm", weight = 10 }
|
||||
},
|
||||
toolnone = {
|
||||
{ id = "ayaasset://avatar/animations/toolnone.rbxm", weight = 10 }
|
||||
},
|
||||
toolslash = {
|
||||
{ id = "ayaasset://avatar/animations/toolslash.rbxm", weight = 10 }
|
||||
},
|
||||
toollunge = {
|
||||
{ id = "ayaasset://avatar/animations/toollunge.rbxm", weight = 10 }
|
||||
},
|
||||
wave = {
|
||||
{ id = "ayaasset://avatar/animations/emotes/wave.rbxm", weight = 10 }
|
||||
},
|
||||
point = {
|
||||
{ id = "ayaasset://avatar/animations/emotes/point.rbxm", weight = 10 }
|
||||
},
|
||||
dance1 = {
|
||||
{ id = "ayaasset://avatar/animations/emotes/dance1_0.rbxm", weight = 10 },
|
||||
{ id = "ayaasset://avatar/animations/emotes/dance1_1.rbxm", weight = 10 },
|
||||
{ id = "ayaasset://avatar/animations/emotes/dance1_2.rbxm", weight = 10 }
|
||||
},
|
||||
dance2 = {
|
||||
{ id = "ayaasset://avatar/animations/emotes/dance2_0.rbxm", weight = 10 },
|
||||
{ id = "ayaasset://avatar/animations/emotes/dance2_1.rbxm", weight = 10 },
|
||||
{ id = "ayaasset://avatar/animations/emotes/dance2_2.rbxm", weight = 10 }
|
||||
},
|
||||
dance3 = {
|
||||
{ id = "ayaasset://avatar/animations/emotes/dance3_0.rbxm", weight = 10 },
|
||||
{ id = "ayaasset://avatar/animations/emotes/dance3_1.rbxm", weight = 10 },
|
||||
{ id = "ayaasset://avatar/animations/emotes/dance3_2.rbxm", weight = 10 }
|
||||
},
|
||||
laugh = {
|
||||
{ id = "ayaasset://avatar/animations/emotes/laugh.rbxm", weight = 10 }
|
||||
},
|
||||
cheer = {
|
||||
{ id = "ayaasset://avatar/animations/emotes/cheer.rbxm", 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 == "ayaasset://avatar/animations/walk.rbxm" 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>ayaasset://avatar/animations/idle0.rbxm</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>ayaasset://avatar/animations/idle1.rbxm</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>ayaasset://avatar/animations/walk.rbxm</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>ayaasset://avatar/animations/walk.rbxm</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>ayaasset://avatar/animations/jump.rbxm</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>ayaasset://avatar/animations/climb.rbxm</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>ayaasset://avatar/animations/toolnone.rbxm</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>ayaasset://avatar/animations/fall.rbxm</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>ayaasset://avatar/animations/sit.rbxm</url>
|
||||
</Content>
|
||||
<string name="Name">SitAnim</string>
|
||||
</Properties>
|
||||
</Item>
|
||||
</Item>
|
||||
</Item>
|
||||
</roblox>
|
||||
BIN
client/common/content/avatar/scripts/humanoidAnimateR15.rbxm
Normal file
BIN
client/common/content/avatar/scripts/humanoidAnimateR15.rbxm
Normal file
Binary file not shown.
466
client/common/content/avatar/scripts/humanoidSound.rbxmx
Normal file
466
client/common/content/avatar/scripts/humanoidSound.rbxmx
Normal file
@@ -0,0 +1,466 @@
|
||||
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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", "ayaasset://sounds/action_get_up.mp3")
|
||||
local sDied = newSound("Died", "ayaasset://sounds/uuhhh.mp3")
|
||||
local sFreeFalling = newSound("FreeFalling", "ayaasset://sounds/action_falling.mp3")
|
||||
local sJumping = newSound("Jumping", "ayaasset://sounds/action_jump.mp3")
|
||||
local sLanding = newSound("Landing", "ayaasset://sounds/action_jump_land.mp3")
|
||||
local sSplash = newSound("Splash", "ayaasset://sounds/impact_water.mp3")
|
||||
local sRunning = newSound("Running", "ayaasset://sounds/action_footsteps_plastic.mp3")
|
||||
sRunning.Looped = true
|
||||
local sSwimming = newSound("Swimming", "ayaasset://sounds/action_swim.mp3")
|
||||
sSwimming.Looped = true
|
||||
local sClimbing = newSound("Climbing", "ayaasset://sounds/action_footsteps_plastic.mp3")
|
||||
sClimbing.Looped = true
|
||||
|
||||
local classic_sFallingDown = newSound("classic_FallingDown", "ayaasset://sounds/splat.mp3")
|
||||
local classic_sFreeFalling = newSound("classic_FreeFalling", "ayaasset://sounds/swoosh.mp3")
|
||||
local classic_sGettingUp = newSound("classic_GettingUp", "ayaasset://sounds/hit.mp3")
|
||||
local classic_sJumping = newSound("classic_Jumping", "ayaasset://sounds/button.mp3")
|
||||
local classic_sRunning = newSound("classic_Running", "ayaasset://sounds/bfsl-minifigfoots1.mp3")
|
||||
classic_sRunning.Looped = true
|
||||
|
||||
local GameSettings = UserSettings().GameSettings
|
||||
local useClassicSounds = GameSettings.VirtualVersion == Enum.VirtualVersion['2012'] or GameSettings.VirtualVersion == Enum.VirtualVersion['2013']
|
||||
|
||||
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)
|
||||
if useClassicSounds then
|
||||
if speed > 0.01 then
|
||||
classic_sRunning:Play()
|
||||
else
|
||||
classic_sRunning:Pause()
|
||||
end
|
||||
|
||||
return
|
||||
end
|
||||
|
||||
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
|
||||
|
||||
function onState(state, sound)
|
||||
if state then
|
||||
sound:Play()
|
||||
end
|
||||
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)
|
||||
if useClassicSounds then
|
||||
onState(state, classic_sJumping)
|
||||
else
|
||||
onStateNoStop(state, sJumping)
|
||||
prevState = "Jump"
|
||||
end
|
||||
end)
|
||||
|
||||
Humanoid.GettingUp:connect(function(state)
|
||||
if useClassicSounds then
|
||||
onState(state, classic_sGettingUp)
|
||||
else
|
||||
stopLoopedSounds()
|
||||
onStateNoStop(state, sGettingUp)
|
||||
prevState = "GetUp"
|
||||
end
|
||||
end)
|
||||
|
||||
Humanoid.FreeFalling:connect(function(state)
|
||||
if useClassicSounds then
|
||||
onState(state, classic_sFreeFalling)
|
||||
|
||||
if classic_sJumping.IsPlaying then
|
||||
classic_sJumping:Stop()
|
||||
end
|
||||
else
|
||||
stopLoopedSounds()
|
||||
onStateFall(state, sFreeFalling)
|
||||
prevState = "FreeFall"
|
||||
end
|
||||
end)
|
||||
|
||||
Humanoid.FallingDown:connect(function(state)
|
||||
if useClassicSounds then
|
||||
onState(state, classic_sFallingDown)
|
||||
else
|
||||
stopLoopedSounds()
|
||||
end
|
||||
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") and not useClassicSounds then
|
||||
stopLoopedSounds()
|
||||
end
|
||||
end)
|
||||
|
||||
GameSettings.Changed:connect(function(property)
|
||||
if property == "VirtualVersion" then
|
||||
useClassicSounds = GameSettings.VirtualVersion == Enum.VirtualVersion['2012'] or GameSettings.VirtualVersion == Enum.VirtualVersion['2013']
|
||||
if useClassicSounds then
|
||||
stopLoopedSounds()
|
||||
end
|
||||
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 classic_sFallingDown = waitForChild(Head, "classic_FallingDown")
|
||||
local classic_sFreeFalling = waitForChild(Head, "classic_FreeFalling")
|
||||
local classic_sGettingUp = waitForChild(Head, "classic_GettingUp")
|
||||
local classic_sJumping = waitForChild(Head, "classic_Jumping")
|
||||
local classic_sRunning = waitForChild(Head, "classic_Running")
|
||||
classic_sRunning.Looped = true
|
||||
|
||||
local GameSettings = UserSettings().GameSettings
|
||||
local useClassicSounds = GameSettings.VirtualVersion == Enum.VirtualVersion['2012'] or GameSettings.VirtualVersion == Enum.VirtualVersion['2013']
|
||||
|
||||
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)
|
||||
if useClassicSounds then
|
||||
if speed > 0.01 then
|
||||
classic_sRunning:Play()
|
||||
else
|
||||
classic_sRunning:Pause()
|
||||
end
|
||||
|
||||
return
|
||||
end
|
||||
|
||||
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
|
||||
|
||||
function onState(state, sound)
|
||||
if state then
|
||||
sound:Play()
|
||||
end
|
||||
end
|
||||
|
||||
Humanoid.Died:connect(onDied)
|
||||
Humanoid.Running:connect(onRunning)
|
||||
Humanoid.Swimming:connect(onSwimming)
|
||||
Humanoid.Climbing:connect(onClimbing)
|
||||
Humanoid.Jumping:connect(function(state)
|
||||
if useClassicSounds then
|
||||
onState(state, classic_sJumping)
|
||||
else
|
||||
onStateNoStop(state, sJumping)
|
||||
prevState = "Jump"
|
||||
end
|
||||
end)
|
||||
|
||||
Humanoid.GettingUp:connect(function(state)
|
||||
if useClassicSounds then
|
||||
onState(state, classic_sGettingUp)
|
||||
else
|
||||
stopLoopedSounds()
|
||||
onStateNoStop(state, sGettingUp)
|
||||
prevState = "GetUp"
|
||||
end
|
||||
end)
|
||||
|
||||
Humanoid.FreeFalling:connect(function(state)
|
||||
if useClassicSounds then
|
||||
if classic_sJumping.IsPlaying then
|
||||
classic_sJumping:Stop()
|
||||
end
|
||||
|
||||
onState(state, classic_sFreeFalling)
|
||||
else
|
||||
stopLoopedSounds()
|
||||
onStateFall(state, sFreeFalling)
|
||||
prevState = "FreeFall"
|
||||
end
|
||||
end)
|
||||
|
||||
Humanoid.FallingDown:connect(function(state)
|
||||
if useClassicSounds then
|
||||
onState(state, classic_sFallingDown)
|
||||
else
|
||||
stopLoopedSounds()
|
||||
end
|
||||
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") and not useClassicSounds then
|
||||
stopLoopedSounds()
|
||||
end
|
||||
end)
|
||||
|
||||
GameSettings.Changed:connect(function(property)
|
||||
if property == "VirtualVersion" then
|
||||
useClassicSounds = GameSettings.VirtualVersion == Enum.VirtualVersion['2012'] or GameSettings.VirtualVersion == Enum.VirtualVersion['2013']
|
||||
if useClassicSounds then
|
||||
stopLoopedSounds()
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
]]> </ProtectedString>
|
||||
</Properties>
|
||||
</Item>
|
||||
</Item>
|
||||
</roblox>
|
||||
Reference in New Issue
Block a user