98 Honda Civic Stopped in the road with flashing engine light and had to tow it home?

My Civic stopped (169k miles) while driving and now won't start. When checking codes by OBD II scanner, it shows P303, P304, P300 and P1399 which is misfire. Any ideas, how should I go about diagnostics. As car is pretty old, not worth of taking to mechanic

Thanks in advance.

Added (1). It was bad battery and bad wireset combination. Replaced both, car started as before.

Check the O2 sensor and the coil pack.

Trade it in or scrap it and don't waste your money on it

There are many possibilities here. You sound willing to throw part darts and could get a bulls eye at first but you will likely not. Could need the valves adjusted. Could be a bad distributor. Could be a failing main relay. Could be the timing belt jumped a tooth. A good tech will diag this in minutes with the car in front of them. BTW this doesn't have a coil pack and it is not the O2 sensor. If it was the sensor there would be a lean or rich code.

Have you ever changed the rotor or distributor cap? Do you have a spark at all? I keep an old plug to check that, clamping it to the engine and putting a plug wire on it.

Check the spark plugs, but since the car stopped on the road while driving, there's a chance that the problem is deep inside the engine. If you know how to work on cars go for it, but if you have to take it to the mechanic, I recommend you sell the car. Because for a 1998 and at nearly 170k miles, it is not worth it. Engine misfires are pretty common after 150k miles.

Start with the simple things, is there fuel in the tank? Is it getting through to the carb?
If the engine is turning over then it's not seized.

Those are famous for blowing head gaskets.

All of these codes are misfire codes for cylinders. Replace all the spark plugs and plug wires. Your car is 20 years old so I guarantee all the plug wires need replacing.

Have you EVER PULLED THE DIPSTICK TO SEE IF YOU HAD OIL?
Main reason engines stop is low or no oil. You messed up bad.

Check the timing belt marks to make sure the timing belt didn't jump.