@name WallRider
@inputs [Pod EGP]:wirelink 
@outputs MPH 
@persist En:entity 
@trigger 
runOnTick(1)

MPH = toUnit("mph",entity():vel():length())

if (first() | dupefinished()) {
    En=entity():isWeldedTo()
    
    EGP:egpClear()
    EGP:egpText(1,"000",vec2(256,256))
    EGP:egpSize(1,90)
    EGP:egpFont(1,"ChatFont")
    EGP:egpAlign(1,1,1)
}

EGP:egpSetText(1,"" + round(MPH))

local Seat = Pod["Entity",entity]
local Driver = Seat:driver()
local W = Driver:keyForward()
local A = Driver:keyLeft()
local S = Driver:keyBack()
local D = Driver:keyRight()

rangerFilter(En)
rangerFilter(entity())
rangerFilter(players())
Rng = rangerOffset(65,En:pos(),En:right())

Shift = Rng:hit()

En:applyForce(En:mass()*-En:up()*200+vec(0,0,gravity())+En:right()*En:mass()*100*(W-S))
En:applyAngForce(ang(0,En:mass()*(A-D)*3500,En:mass()*(S-W)*Shift*10000))
