(NEW YORK) — A man driving a U-Haul was “suffering from a mental health crisis” and was off his medication when he allegedly struck nine people with the rented box truck in Brooklyn on Monday, one of whom died, NYPD Chief of Detectives James Essig said.

The suspect, Weng Sor, told police he saw an “invisible object” come toward his vehicle and said, “I’ve had enough” before beginning what police later called a “violent rampage” through Brooklyn, Essig said.

Sor, 62, was charged Tuesday with one count of murder and seven counts of attempted murder.

The incident left four people hospitalized, two in critical condition and two in serious condition, according to police.

Police Commissioner Keechant Sewell promised to work with the Brooklyn DA’s office to achieve a “measure of justice” for the victims.

One victim, a 44-year-old, died from his injuries, police sources later told ABC News.

The NYPD said the victims range in age from 30 to 66 years old.

One of the eight injured was a police officer who tried to stop the driver, Sewell said.

According to Essig, when police finally stopped Sor near the Battery Tunnel, he said to the officers, “You should have shot me.”

Sor lives with his mother in Las Vegas, where he has eight prior arrests dating back to 2002 for DWI, evading a police officer, battery, resisting arrest, domestic battery and battery with a deadly weapon, according to authorities.

He was also stopped in South Carolina in the rented U-Haul on Feb. 5 for reckless driving and marijuana possession, police said.

Sor rented the U-Haul in West Palm Beach, Florida, on Feb. 1 and remained in the state through Feb. 4, which police said they confirmed through ATM withdrawals.

On Feb. 6, he showed up at the Brooklyn residence of his son, from whom he is estranged, to shower. He returned to Brooklyn Monday after driving through Millburn, New Jersey, a day earlier, Essig said.

Police said the rampage lasted more than an hour, beginning at 10:20 a.m. in Sunset Park, continuing through Bay Ridge before finally ending at 11:24 a.m. in Red Hook.

U-Haul said in a statement that the truck was rented for 30 days with a return date of March 3, and that the daily cost of the rental was paid in advance and on a valid contract.

“It was an in-town rental, meaning the equipment was supposed to be returned to the location from which it was dispatched,” U-Haul said. “Our customers provide valid identification/driver’s license, valid form of payment, and any additional forms of meaningful assurance our rental agents deem necessary to try to make certain our equipment will be returned in proper condition, and at the stipulated time and place. These criteria must be met before a transaction occurs.”

ABC News’ Emily Shapiro contributed to this report.

Copyright © 2023, ABC Audio. All rights reserved.