Difference between revisions of "Prevent fall damage or falling death"

From EDukeWiki
Jump to navigation Jump to search
m (minor fix based on extensive testing)
m
 
Line 11: Line 11:
 
<pre>
 
<pre>
 
getplayer[THISACTOR].falling_counter fallcounter
 
getplayer[THISACTOR].falling_counter fallcounter
ifvarg fallcounter 60
+
ifvarg fallcounter 60 // not 61, because there's a slim chance the number won't set properly in time
 
{
 
{
 
   setvar fallcounter 60 // any value under 62 is non-fatal
 
   setvar fallcounter 60 // any value under 62 is non-fatal
Line 22: Line 22:
 
<pre>
 
<pre>
 
getplayer[THISACTOR].falling_counter fallcounter
 
getplayer[THISACTOR].falling_counter fallcounter
ifvarg fallcounter 7
+
ifvarg fallcounter 7 // not 8, because there's a slim chance the number won't set properly in time
 
{
 
{
 
   setvar fallcounter 7 // any value under 9 does no damage
 
   setvar fallcounter 7 // any value under 9 does no damage

Latest revision as of 16:03, 16 October 2007

The following code can be used to prevent the player from either receiving fall damage, or from hitting 'terminal velocity', which results in death upon hitting the ground.

You'll need a single gamevar to hold the value of falling_counter.

gamevar fallcounter 0 1

Inside the APLAYER actor, use the following code to restrict the falling counter to prevent falling deaths:

getplayer[THISACTOR].falling_counter fallcounter
ifvarg fallcounter 60 // not 61, because there's a slim chance the number won't set properly in time
{
  setvar fallcounter 60 // any value under 62 is non-fatal
  setplayer[THISACTOR].falling_counter fallcounter
}

To prevent ANY fall damage to the player, change it to the following

getplayer[THISACTOR].falling_counter fallcounter
ifvarg fallcounter 7 // not 8, because there's a slim chance the number won't set properly in time
{
  setvar fallcounter 7 // any value under 9 does no damage
  setplayer[THISACTOR].falling_counter fallcounter
}