i see a few things that don't make sense to me:
1) When you start in the safe zone, it will send you a message that you left the kill zone before your time was up, but the countdown never even started...
2)#startcivdeath
? (p1 == Player) : Goto "death1"
? (p2 == Player) : Goto "death2"
? (p3 == Player) : Goto "death3"
? (p4 == Player) : Goto "death4"
? (p5 == Player) : Goto "death5"
#death1
p1 setdamage 1
#death2
p2 setdamage 1
#death3
p3 setdamage 1
#death4
p4 setdamage 1
#death5
p5 setdamage 1
#startcivsaved
? (p1 == Player) : Goto "save1"
? (p2 == Player) : Goto "save2"
? (p3 == Player) : Goto "save3"
? (p4 == Player) : Goto "save4"
? (p5 == Player) : Goto "save5"
with that, if the player who leaves happens to be p1, you're going to kill off all the others along with him.
you need to put a goto command there so it won't kill all of them
3) in reference to the same section as above, even if you kill the player, it will still tell him he got out in time
4)you never exit the script (the exit command)
5)#check1
? (p1 == Player) AND (p1 distance columbia < 800) : Goto "startciv1"
? (p2 == Player) AND (p2 distance columbia < 800) : Goto "startciv2"
? (p3 == Player) AND (p3 distance columbia < 800) : Goto "startciv3"
? (p4 == Player) AND (p4 distance columbia < 800) : Goto "startciv4"
? (p5 == Player) AND (p5 distance columbia < 800) : Goto "startciv5"
there are no startciv2, startciv3, startciv4, or startciv5 labels in your script
6)you never use the varible _unit that you are calling the script with
thats all for now, its bedtime