If there isn't, how can I improve upon this nonsense I've been starting to work on to create my own button_down proc for things like holding north and east buttons at the same time to have the guy travel north east?
client
var
pushed
North()
var
MV = Multikey_Check(NORTH, pushed)
pushed = "north"
sleep(2)
world << "[MV]"
if(MV)
step(src, MV)
return
pushed = null
..()
East()
var
MV = Multikey_Check(EAST, pushed)
pushed = "east"
sleep(2)
world << MV
if(MV)
step(src, MV)
return
pushed = null
..()
proc
Multikey_Check(direction,previous_direction)
if(direction == previous_direction) return 0
if((direction == NORTH && previous_direction == "east") || (direction == EAST && previous_direction == "north"))
return NORTHEAST
if((direction == NORTH && previous_direction == "west") || (direction == WEST && previous_direction == "north"))
return NORTHWEST
if((direction == SOUTH && previous_direction == "east") || (direction == EAST && previous_direction == "south"))
return SOUTHEAST
if((direction == SOUTH && previous_direction == "west") || (direction == WEST && previous_direction == "south"))
return SOUTHWEST