diff options
Diffstat (limited to 'advtrains/advtrains/trainhud.lua')
-rw-r--r-- | advtrains/advtrains/trainhud.lua | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/advtrains/advtrains/trainhud.lua b/advtrains/advtrains/trainhud.lua index e69f04a..3830b65 100644 --- a/advtrains/advtrains/trainhud.lua +++ b/advtrains/advtrains/trainhud.lua @@ -7,6 +7,7 @@ advtrains.hud[player:get_player_name()] = nil end) local mletter={[1]="F", [-1]="R", [0]="N"} +local doorstr={[-1]="|<>| >|<", [0]=">|< >|<", [1]=">|< |<>|"} function advtrains.on_control_change(pc, train, flip) if pc.sneak then @@ -48,6 +49,20 @@ function advtrains.on_control_change(pc, train, flip) train.movedir = -train.movedir end end + if pc.left then + if train.door_open ~= 0 then + train.door_open = 0 + else + train.door_open = -train.movedir + end + end + if pc.right then + if train.door_open ~= 0 then + train.door_open = 0 + else + train.door_open = train.movedir + end + end if train.brake_hold_state~=2 then train.brake = false end @@ -101,7 +116,7 @@ function advtrains.hud_train_format(train, flip) local tvel=advtrains.abs_ceil(train.tarvelocity) local topLine, firstLine, secondLine - topLine="Train".." ["..mletter[fct*train.movedir].."] "..(train.brake and "="..( train.brake_hold_state==2 and "^" or "" ).."B=" or "") + topLine=" ["..mletter[fct*train.movedir].."] "..doorstr[(train.door_open or 0) * train.movedir].." "..(train.brake and "="..( train.brake_hold_state==2 and "^" or "" ).."B=" or "") firstLine="Speed: |"..string.rep("+", vel)..string.rep("_", max-vel)..">" secondLine="Target: |"..string.rep("+", tvel)..string.rep("_", max-tvel)..">" |