I know what you mean. A year ago I started working on my next game (LOL it's in the backburner for when I finish my current game and DBPro is a lot more bug free), an FF clone. I did most of the battle system but that part was a bit tricky. How to have 6 different timers for the 6 different character in the battle (My party of 3 and 3 enemies). Let's see if I can remember how I did it.
`I had an array storing the ammount of time (In number of loop cycles
`and not really seconds) each character had to wait before attacking
sync on
hide mouse
dim Character_wait_time#(5)
Character_wait_time#(0)=50
Character_wait_time#(1)=40
Character_wait_time#(2)=45
Character_wait_time#(3)=48
Character_wait_time#(4)=39
Character_wait_time#(5)=40
`Then another array storing the total time already waited
Dim Character_total_wait#(5)
`And another that keeps track of which character attacks in the current
`loop cycle
dim character_attacks(5)
`main loop
do
cls
for character=0 to 5
character_total_wait#(character)=character_total_wait#(character)+1
`If time waited equals the total time needed to attack
if character_total_wait#(character)=Character_wait_time#(character)
`character attacks this turn
character_attacks(character)=1
`reset time waited
character_total_wait#(character)=0
else
`character doesn't attack
character_attacks(character)=0
endif
`percentage of time passed
percentage#=(character_total_wait#(character)/Character_wait_time#(character))
text 0,character*20,str$(character+1)+":Time waited= "+STR$(character_total_wait#(character))+" Attack= "+str$(character_attacks(character))+" "
ink rgb(0,200,0),0
`draw box that that grows along with the percentage.
box 200,character*20,200+(percentage#*300),10+(character*20)
ink rgb(255,255,255),0
next character
sync
`wait to see things happen :)
wait 50
loop
Man it only took me an hour to figure this out this. Last year It took me the best part of a day.
Of course, I used Darkedit's types instead of arrays. It's the same thing only tidier. And for better results the total time values should be quite big. Around 500.
Hope this is what you wanted.
If you want a demo of this in action you can download mine
http://pwp.netcabo.pt/atomr/battle2.zip
Take care
AtomR