<?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%2Fvehicles%2Fplatypus.script</id>
	<title>Script:Files:script/vehicles/platypus.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%2Fvehicles%2Fplatypus.script"/>
	<link rel="alternate" type="text/html" href="https://wiki.splashdamage.com/index.php?title=Script:Files:script/vehicles/platypus.script&amp;action=history"/>
	<updated>2026-04-07T22:15:00Z</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/vehicles/platypus.script&amp;diff=1842&amp;oldid=prev</id>
		<title>Wizz at 10:01, 5 November 2007</title>
		<link rel="alternate" type="text/html" href="https://wiki.splashdamage.com/index.php?title=Script:Files:script/vehicles/platypus.script&amp;diff=1842&amp;oldid=prev"/>
		<updated>2007-11-05T10:01:59Z</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:vehicle_platypus|vehicle_platypus]] : [[ScriptClass:vehicle_base|vehicle_base]] {&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;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            OnCollision( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;object&amp;lt;/span&amp;gt; traceObject, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; velocity, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; mins, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; maxs );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            OnWeaponSelected( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; p, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; index );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            OnPlayerEntered( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; p, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; position );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            DriverAnimThread();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;            driverAnimThread;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;            steerJoint;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;            throttleJoint;&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:vehicle_platypus|vehicle_platypus]]::preinit() {&lt;br /&gt;
     driverAnimThread = -1;&lt;br /&gt;
 &lt;br /&gt;
     steerJoint = [[ScriptEvent:getJointHandle|getJointHandle]]( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;joint_steer&amp;quot;&amp;lt;/span&amp;gt; ) );&lt;br /&gt;
     throttleJoint = [[ScriptEvent:getJointHandle|getJointHandle]]( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;joint_throttle&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;void&amp;lt;/span&amp;gt; [[ScriptClass:vehicle_platypus|vehicle_platypus]]::init() {&lt;br /&gt;
     [[ScriptEvent:setLightsEnabled|setLightsEnabled]]( 0, false );&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:vehicle_platypus|vehicle_platypus]]::OnCollision( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;object&amp;lt;/span&amp;gt; traceObject, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; velocity, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; mins, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; maxs ) {&lt;br /&gt;
     OnCollision_Base( traceObject, velocity, mins, maxs );&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:vehicle_platypus|vehicle_platypus]]::OnWeaponSelected( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; p, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&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; ( index == 0 ) {&lt;br /&gt;
         FireDecoy( p );&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:vehicle_platypus|vehicle_platypus]]::OnPlayerEntered( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; p, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; position ) {&lt;br /&gt;
     OnPlayerEntered_Base( p, position );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( position == 0 ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( driverAnimThread == -1 ) {&lt;br /&gt;
             driverAnimThread = &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;thread&amp;lt;/span&amp;gt; DriverAnimThread();&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;#define&amp;lt;/span&amp;gt; PLATYPUS_STEER_SPEED 3.f&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;#define&amp;lt;/span&amp;gt; PLATYPUS_STEER_LIMIT 60.f&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;#define&amp;lt;/span&amp;gt; PLATYPUS_STEER_AXIS steerAngles_x&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;#define&amp;lt;/span&amp;gt; PLATYPUS_THROTTLE_SPEED 1.f&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;#define&amp;lt;/span&amp;gt; PLATYPUS_THROTTLE_LIMIT 30.f&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;#define&amp;lt;/span&amp;gt; PLATYPUS_THROTTLE_AXIS throttleAngles_y&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:vehicle_platypus|vehicle_platypus]]::DriverAnimThread() {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; steerAngles;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; throttleAngles;&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;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; driver = [[ScriptEvent:getDriver|getDriver]]();&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; input;&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( driver == &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&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; ( PLATYPUS_STEER_AXIS == 0.f &amp;amp;&amp;amp; PLATYPUS_THROTTLE_AXIS == 0.f ) {&lt;br /&gt;
                 break;&lt;br /&gt;
             }&lt;br /&gt;
             input = '0 0 0';&lt;br /&gt;
         } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; {&lt;br /&gt;
             input = driver.[[ScriptEvent:getMove|getMove]]();&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( input_x &amp;gt; 0.f ) {&lt;br /&gt;
             PLATYPUS_THROTTLE_AXIS += PLATYPUS_THROTTLE_SPEED;&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( PLATYPUS_THROTTLE_AXIS &amp;gt; PLATYPUS_THROTTLE_LIMIT ) {&lt;br /&gt;
                 PLATYPUS_THROTTLE_AXIS = PLATYPUS_THROTTLE_LIMIT;&lt;br /&gt;
             }&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; ( input_x &amp;lt; 0.f ) {&lt;br /&gt;
             PLATYPUS_THROTTLE_AXIS -= PLATYPUS_THROTTLE_SPEED;&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( PLATYPUS_THROTTLE_AXIS &amp;lt; -PLATYPUS_THROTTLE_LIMIT ) {&lt;br /&gt;
                 PLATYPUS_THROTTLE_AXIS = -PLATYPUS_THROTTLE_LIMIT;&lt;br /&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;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( PLATYPUS_THROTTLE_AXIS &amp;gt; 0.f ) {&lt;br /&gt;
                 PLATYPUS_THROTTLE_AXIS -= PLATYPUS_THROTTLE_SPEED;&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( PLATYPUS_THROTTLE_AXIS &amp;lt; 0.f ) {&lt;br /&gt;
                     PLATYPUS_THROTTLE_AXIS = 0.f;&lt;br /&gt;
                 }&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; ( PLATYPUS_THROTTLE_AXIS &amp;lt; 0.f ) {&lt;br /&gt;
                 PLATYPUS_THROTTLE_AXIS += PLATYPUS_THROTTLE_SPEED;&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( PLATYPUS_THROTTLE_AXIS &amp;gt; 0.f ) {&lt;br /&gt;
                     PLATYPUS_THROTTLE_AXIS = 0.f;&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;if&amp;lt;/span&amp;gt; ( input_y &amp;lt; 0.f ) {&lt;br /&gt;
             PLATYPUS_STEER_AXIS += PLATYPUS_STEER_SPEED;&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( PLATYPUS_STEER_AXIS &amp;gt; PLATYPUS_STEER_LIMIT ) {&lt;br /&gt;
                 PLATYPUS_STEER_AXIS = PLATYPUS_STEER_LIMIT;&lt;br /&gt;
             }&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; ( input_y &amp;gt; 0.f ) {&lt;br /&gt;
             PLATYPUS_STEER_AXIS -= PLATYPUS_STEER_SPEED;&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( PLATYPUS_STEER_AXIS &amp;lt; -PLATYPUS_STEER_LIMIT ) {&lt;br /&gt;
                 PLATYPUS_STEER_AXIS = -PLATYPUS_STEER_LIMIT;&lt;br /&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;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( PLATYPUS_STEER_AXIS &amp;gt; 0.f ) {&lt;br /&gt;
                 PLATYPUS_STEER_AXIS -= PLATYPUS_STEER_SPEED;&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( PLATYPUS_STEER_AXIS &amp;lt; 0.f ) {&lt;br /&gt;
                     PLATYPUS_STEER_AXIS = 0.f;&lt;br /&gt;
                 }&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; ( PLATYPUS_STEER_AXIS &amp;lt; 0.f ) {&lt;br /&gt;
                 PLATYPUS_STEER_AXIS += PLATYPUS_STEER_SPEED;&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( PLATYPUS_STEER_AXIS &amp;gt; 0.f ) {&lt;br /&gt;
                     PLATYPUS_STEER_AXIS = 0.f;&lt;br /&gt;
                 }&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         [[ScriptEvent:setJointAngle|setJointAngle]]( steerJoint, JOINTMOD_LOCAL, steerAngles );&lt;br /&gt;
         [[ScriptEvent:setJointAngle|setJointAngle]]( throttleJoint, JOINTMOD_LOCAL, throttleAngles );&lt;br /&gt;
 &lt;br /&gt;
         sys.[[ScriptEvent:waitFrame|waitFrame]]();&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     driverAnimThread = -1;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Wizz</name></author>
		
	</entry>
</feed>