Slide Mechanic

From Unofficial EFPSE wiki Extended
Revision as of 01:26, 13 December 2024 by Pixelwolf (talk | contribs) (Created page with "Put this to your loop_script: <pre> //DASH LOGIC// bind space dash player check rotation rotx roty degtorad=$roty degtorad+=90 degtorad*=0.0174533 dashy=COS($degtorad) dashx=SIN($degtorad) degtorad=$rotx degtorad-=90 degtorad*=0.0174533 dashz=SIN($degtorad) dash_reduct=COS($degtorad) dash_speed=900 dashz*=$dash_speed dashy*=$dash_speed dashx*=$dash_speed dashy*=$dash_reduct dashx*=$dash_reduct if $global.player_dash == 1 { player velocity set $dashx $dashy $dashz...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Put this to your loop_script:

//DASH LOGIC//
bind space dash
player check rotation rotx roty
degtorad=$roty
degtorad+=90
degtorad*=0.0174533
dashy=COS($degtorad)
dashx=SIN($degtorad)
 
degtorad=$rotx
degtorad-=90
degtorad*=0.0174533
dashz=SIN($degtorad)
dash_reduct=COS($degtorad)
 
dash_speed=900

dashz*=$dash_speed
dashy*=$dash_speed
dashx*=$dash_speed
dashy*=$dash_reduct
dashx*=$dash_reduct

if $global.player_dash == 1 {
player velocity set $dashx $dashy $dashz
global.player_dash=2
}

if $global.player_dash == 2 {
dash_time+=$global.deltaTime
if $dash_time >= 0.5 {
global.player_dash=0
dash_time=0
}
}

Make a script named "dash.script" and put this inside:

if $global.player_dash == 0 {
global.player_dash=1
}

map quickreturn 2`

Now every 0.5 seconds you press space key, the player is launched with a force of 900 units per second to the direction you look at. It doesn't ignores gravity like regular dash should do but disabling gravity while giving player any velocity results in player flying out of bounds on cosmic speeds.