<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.splashdamage.com/index.php?action=history&amp;feed=atom&amp;title=Script%3AFiles%3Ascript%2Fplacement%2Fplayer.script</id>
	<title>Script:Files:script/placement/player.script - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.splashdamage.com/index.php?action=history&amp;feed=atom&amp;title=Script%3AFiles%3Ascript%2Fplacement%2Fplayer.script"/>
	<link rel="alternate" type="text/html" href="https://wiki.splashdamage.com/index.php?title=Script:Files:script/placement/player.script&amp;action=history"/>
	<updated>2026-04-07T16:56:30Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.splashdamage.com/index.php?title=Script:Files:script/placement/player.script&amp;diff=1886&amp;oldid=prev</id>
		<title>Wizz at 10:14, 5 November 2007</title>
		<link rel="alternate" type="text/html" href="https://wiki.splashdamage.com/index.php?title=Script:Files:script/placement/player.script&amp;diff=1886&amp;oldid=prev"/>
		<updated>2007-11-05T10:14:19Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt; &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;object&amp;lt;/span&amp;gt; [[ScriptClass:placement_player|placement_player]] {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;                preinit();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;                init();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;                destroy();&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:placement_player|placement_player]]::preinit() {&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:placement_player|placement_player]]::init() {&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; index = 1;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; jointHandle;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; jointName;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; waistJoint = [[ScriptEvent:getJointHandle|getJointHandle]]( [[ScriptEvent:getKeyWithDefault|getKeyWithDefault]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;waist_joint&amp;quot;&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;Spine&amp;quot;&amp;lt;/span&amp;gt; ) );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; waistAngles;&lt;br /&gt;
     waistAngles_x = [[ScriptEvent:getFloatKey|getFloatKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;waist_pitch&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     waistAngles_y = [[ScriptEvent:getFloatKey|getFloatKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;waist_yaw&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     waistAngles_z = [[ScriptEvent:getFloatKey|getFloatKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;waist_roll&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     [[ScriptEvent:setJointAngle|setJointAngle]]( waistJoint, JOINTMOD_WORLD, waistAngles );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; headJoint = [[ScriptEvent:getJointHandle|getJointHandle]]( [[ScriptEvent:getKeyWithDefault|getKeyWithDefault]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;head_joint&amp;quot;&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;Head&amp;quot;&amp;lt;/span&amp;gt; ) );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; headAngles;&lt;br /&gt;
     headAngles_x = [[ScriptEvent:getFloatKey|getFloatKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;head_pitch&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     headAngles_y = [[ScriptEvent:getFloatKey|getFloatKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;head_yaw&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     headAngles_z = [[ScriptEvent:getFloatKey|getFloatKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;head_roll&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     [[ScriptEvent:setJointAngle|setJointAngle]]( headJoint, JOINTMOD_WORLD, headAngles );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; neckJoint = [[ScriptEvent:getJointHandle|getJointHandle]]( [[ScriptEvent:getKeyWithDefault|getKeyWithDefault]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;neck_joint&amp;quot;&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;Neck&amp;quot;&amp;lt;/span&amp;gt; ) );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; neckAngles;&lt;br /&gt;
     neckAngles_x = [[ScriptEvent:getFloatKey|getFloatKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;neck_pitch&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     neckAngles_y = [[ScriptEvent:getFloatKey|getFloatKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;neck_yaw&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     neckAngles_z = [[ScriptEvent:getFloatKey|getFloatKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;neck_roll&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     [[ScriptEvent:setJointAngle|setJointAngle]]( neckJoint, JOINTMOD_WORLD, neckAngles );&lt;br /&gt;
 &lt;br /&gt;
         index = 1;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;while&amp;lt;/span&amp;gt; ( true ) {&lt;br /&gt;
         jointName = [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;joint&amp;quot;&amp;lt;/span&amp;gt; + index );&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( jointName == &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;&amp;quot;&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
             break;&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; joint = [[ScriptEvent:getJointHandle|getJointHandle]]( jointName );&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; angles;&lt;br /&gt;
         angles_x = [[ScriptEvent:getFloatKey|getFloatKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;joint&amp;quot;&amp;lt;/span&amp;gt; + index + &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;_pitch&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
         angles_y = [[ScriptEvent:getFloatKey|getFloatKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;joint&amp;quot;&amp;lt;/span&amp;gt; + index + &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;_yaw&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
         angles_z = [[ScriptEvent:getFloatKey|getFloatKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;joint&amp;quot;&amp;lt;/span&amp;gt; + index + &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;_roll&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
         [[ScriptEvent:setJointAngle|setJointAngle]]( joint, JOINTMOD_WORLD, angles );&lt;br /&gt;
 &lt;br /&gt;
         index = index + 1;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; anim = [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;anim&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; frame = [[ScriptEvent:getFloatKeyWithDefault|getFloatKeyWithDefault]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;frame&amp;quot;&amp;lt;/span&amp;gt;, -1 );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( anim != &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;&amp;quot;&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( frame != -1 ) {&lt;br /&gt;
             [[ScriptEvent:setAnimFrame|setAnimFrame]]( anim, ANIMCHANNEL_ALL, frame );&lt;br /&gt;
         } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( [[ScriptEvent:getFloatKey|getFloatKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;cycle&amp;quot;&amp;lt;/span&amp;gt; ) ) {&lt;br /&gt;
             [[ScriptEvent:playCycle|playCycle]]( ANIMCHANNEL_ALL, anim );&lt;br /&gt;
         } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; {&lt;br /&gt;
             [[ScriptEvent:playAnim|playAnim]]( ANIMCHANNEL_ALL, anim );&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; weaponModel = [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;weapon_model&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; weaponJoint;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; weaponEffect;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; weaponJointHandle;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; weapon;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( weaponModel != &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;&amp;quot;&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
         weapon = sys.[[ScriptEvent:spawn|spawn]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;placement_weapon&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
         weapon.[[ScriptEvent:setModel|setModel]]( weaponModel );&lt;br /&gt;
 &lt;br /&gt;
         weaponJoint = [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;weapon_joint&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( weaponJoint == &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;&amp;quot;&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
             sys.[[ScriptEvent:warning|warning]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;placement_player::init no joint specified for weapon&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
         } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; {&lt;br /&gt;
             weaponJointHandle = [[ScriptEvent:getJointHandle|getJointHandle]]( weaponJoint );&lt;br /&gt;
             weapon.[[ScriptEvent:setOrigin|setOrigin]]( [[ScriptEvent:getJointPos|getJointPos]]( weaponJointHandle ) );&lt;br /&gt;
             weapon.[[ScriptEvent:setAngles|setAngles]]( [[ScriptEvent:getJointAngle|getJointAngle]]( weaponJointHandle ) );&lt;br /&gt;
 &lt;br /&gt;
             weapon.[[ScriptEvent:bindToJoint|bindToJoint]]( self, weaponJoint, 1 );&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         weaponEffect = [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;weapon_effect&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     }    &lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; modelNumber = 1;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;while&amp;lt;/span&amp;gt; ( true ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; modelDefName = &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;model&amp;quot;&amp;lt;/span&amp;gt; + modelNumber;&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; modelName = [[ScriptEvent:getKey|getKey]]( modelDefName );    &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( modelName == &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;&amp;quot;&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
             break;&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; model = sys.[[ScriptEvent:spawn|spawn]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;placement_weapon&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
         model.[[ScriptEvent:setModel|setModel]]( modelName );&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; modelJoint = [[ScriptEvent:getKey|getKey]]( modelDefName + &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;_joint&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( modelJoint == &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;&amp;quot;&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
             sys.[[ScriptEvent:warning|warning]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;placement_player::init no joint for &amp;quot;&amp;lt;/span&amp;gt; + modelDefName );&lt;br /&gt;
         } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; {&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; modelJointHandle = [[ScriptEvent:getJointHandle|getJointHandle]]( modelJoint );&lt;br /&gt;
             model.[[ScriptEvent:setOrigin|setOrigin]]( [[ScriptEvent:getJointPos|getJointPos]]( modelJointHandle ) );&lt;br /&gt;
             model.[[ScriptEvent:setAngles|setAngles]]( [[ScriptEvent:getJointAngle|getJointAngle]]( modelJointHandle ) );&lt;br /&gt;
 &lt;br /&gt;
             model.[[ScriptEvent:bindToJoint|bindToJoint]]( self, modelJoint, 1 );&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         modelNumber++;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; effectJoint;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; effectWait;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( weaponEffect != &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;&amp;quot;&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
         effectJoint = [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;weapon_effect_joint&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
         effectWait = [[ScriptEvent:getFloatKey|getFloatKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;weapon_effect_wait&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;while&amp;lt;/span&amp;gt; ( true ) {&lt;br /&gt;
             weapon.[[ScriptEvent:playEffect|playEffect]]( weaponEffect, effectJoint, 0 );&lt;br /&gt;
 &lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( effectWait &amp;lt;= 0 ) {&lt;br /&gt;
                 break;&lt;br /&gt;
             }&lt;br /&gt;
             sys.[[ScriptEvent:wait|wait]]( effectWait );&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:placement_player|placement_player]]::destroy() {&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Wizz</name></author>
		
	</entry>
</feed>