I believe the correct translation is: In the battle of Zama,
Hannibal was overcome by Roman armies and second Punic war was finished at last.
This sentence is refers to the historic Battle of Zama
(Tunis) at the end of the Punic war, the war between Carthage and Roman Empire.
Because the war was against Carthage to this war is also referred to
Carthaginian war or Hannibalic war as the army of Carthage was led by Hannibal,
so you may put that in your translation if you will. Also, words such as army and
overcame may be exchanged for troop or overwhelm. This sentence is whole
written in passive voice of perfect indicative.
While starting a story, you should give the audience a perfect image of where they are standing at the beginning. When they have the image of their character's position, they could easily get along the path.