# Free roam among web/tools/roam-crowd.mjs's players, every car slot in use
# (ROAM_CROWD_CARS friends' cars bunched round the new career's start:
# roam-crowd --n 62 --spread 10): the player jumps to the car lot, 2.4 km
# away, and back among them, JUMPS times.  The cars keep all five voices of
# the world's positional sounds busy, so voice requests wait, and each jump
# away frees the old place's objects with their sound sources: before the
# fix in overrides.c sub_00483e40 the voice arbitration trapped in
# sub_00481850 (or called 0 from it) within a few jumps.  The trace counts
# the sound objects (0x82b944).  Good: no trap, no UNRESOLVED INDIRECT CALL,
# quit at the end.
#   web: JUMPS=20 with roam-crowd on the same server, run-suite.mjs --script
#        roam_crowd_jumps.txt --marker jumps_end --net <name> --env NFSU2_ROAM=1
#        --env NFSU2_ROAM_WEBTEST=vlan --env ROAM_PROFILE=<name> --env ROAM_CROWD_CARS=32
0     tapuntil RETURN MC_Background.fng 120 4000
+120  tap LEFT
+30   tap RETURN
+240  tap BACK
+8    tap BACK
+8    tap BACK
+8    tap BACK
+20   type ${ROAM_PROFILE}
+60   tap RETURN
+240  tap RETURN
+0    waitfng GarageMain.fng 3000
+300  tap LEFT
+60   tap RETURN                      # Career
+300  tap RETURN                      # Start New Career
+0    waitfng UI_EngageMessageDialog.fng 8000
+120  tap RETURN                      # SMS: Continue
+0    roam waitroam 3000
+0    roam smsauto on
+0    roam mp waitpeers ${ROAM_CROWD_CARS} 6000
+0    roam mp waitcars ${ROAM_CROWD_CARS} 6000
+0    trace 300 objs=i:0x82b944
+600  status crowd
+0    loop ${JUMPS}
+0    log JUMP away
+0    roam shopgo CC_CAR_LOT_1
+300  log JUMP back
+0    teleport 1695 -884 24
+0    roam mp waitcars ${ROAM_CROWD_CARS} 1200
+300  status back
+0    endloop
+0    untrace
+60   status jumps_end
+60   quit
