Why playing 5 animations at the same time when you need just 1?
Just use a timer and after it reaches the 30 minutes delete the old animation and load the new one.
something like this:
global timerAnimation
global maximumTime
global numberAnimation
global maxNumberAnimation
timerAnimation= timer()
maximumTime = 1800000 rem milliseconds in 30 minutes
numberAnimation= 1
maxNumberAnimation= 20
do
ChangeAnimation()
sync
loop
function ChangeAnimation()
if timer()> timerAnimation + maximumTime
if animation exist(1)=1
if animation playing(1)=1 then stop animation 1
delete animation 1
inc numberAnimation
if numberAnimation > maxNumberAnimation then numberAnimation=1
if numberAnimation=1 then load animation filename1$,1
if numberAnimation=2 then load animation filename2$,1
if numberAnimation=3 then load animation filename3$,1
if numberAnimation=4 then load animation filename4$,1
if numberAnimation=5 then load animation filename5$,1
if numberAnimation=6 then load animation filename6$,1
if numberAnimation=7 then load animation filename7$,1
if numberAnimation=8 then load animation filename8$,1
if numberAnimation=9 then load animation filename9$,1
if numberAnimation=10 then load animation filename10$,1
if numberAnimation=11 then load animation filename11$,1
if numberAnimation=12 then load animation filename12$,1
if numberAnimation=13 then load animation filename13$,1
if numberAnimation=14 then load animation filename14$,1
if numberAnimation=15 then load animation filename15$,1
if numberAnimation=16 then load animation filename16$,1
if numberAnimation=17 then load animation filename17$,1
if numberAnimation=18 then load animation filename18$,1
if numberAnimation=19 then load animation filename19$,1
if numberAnimation=20 then load animation filename20$,1
play animation 1 rem or play animation to image in your case with all the variables it needs
endif
timerAnimation= timer()
endif
endfunction