Also...einerseits habe ich gestern was beim Timer-Skript verbockt. So, wie es da oben bei mir steht, funktioniert es nicht, weil ich short genommen habe. GetSecondsPassed liefert aber die Zeit seit dem letzten Frame in float. Addiere eine float < 1 auf eine short = 0, dann bleibt diese immer Null. Definiere die Variable mit float timeCounter, und alles flutscht. Habs oben reineditiert.

Dein Counter blockt im Moment das gesamte Skript!
Code:
set timecounter to ( getsecondspassed + 1 )
Setzt timeCounter bei jedem Durchlauf auf ~1.02 (1 + Zeit zum Rendern des letzten Frames). Die timeCounter-Variable erhöht sich so niemals, also wird der >10-Teil nie ausgeführt. (Das mit dem (2*getsecondspassed -1) check ich nicht so ganz, paßt jedenfalls nicht dazu, wie GetSecondsPassed funktioniert.)

btw
Code:
if  ( cTime >= 21 && cTime <= 5.59 )
wird niemals eintreffen, da cTime nicht gleichzeitig >21 und <6 sein kann. Mach ein || draus, dann passiert da auch was.

P.S. hab ein bisserl rumgetestet. Spells sind doch blöd...jedesmal kommt die Meldung "Spruch blablabla hinzugefügt". Und ich weiß nicht, wie/ob man das unterdrücken kann.