[...] im Prinzip kannst du da genau so vorgehen, wie bei Bussen mit Repaints.
Kurz gesagt - ja 
Wenn du das Skript, was ma7t3 oben erklärt hat im {init}-Bereich einträgst, dann wird beim Laden des Busses eine zufällige der Texturen ausgewählt. Im {frame}-Bereich widerrum würde der Bus die Textur in jedem Frame des laufenden Spiels wechseln. Dabei kannst du z. B. einen Timer einbauen.
Grundsätzlich korrekt, allerdings sollte man natürlich beachten: Jeder Bus hat ja schon quasi ein "normales" Repaint, was man ganz regulär bei der Busauswahl mit auswählt.
Fügt man nun einfach neue Einträge hinzu, würde das dazu führen, dass alle Werbungen (z.B. in der Werbetafel im Bus oder wo auch immer) ebenfalls als reguläre Bus-Repaints angezeigt würden.
Ein Timer würde dann auch alle regulären Repaints zufällig mit umschalten, was vermutlich nicht gewollt ist. 
Allerdings habe ich kürzlich herausgefunden, dass OMSI scheinbar kein Problem damit hat, wenn ein Objekt (bei Bussen gehe ich mal auch davon aus) mehrere Repaints gleichzeitig besitzt, indem man einfach mehrere [CTC]-Befehle verwendet.
Müsste man aber mal ausprobieren, wonach sich OMSI richtet, welches Repaint für die Auswahl im Bus-Menü verwendet wird, vielleicht einfach das erste?
Hier nochmal der Ausschnitt, bei mir handelt es sich hier um ein Wartehäuschen mit Werbung, jedoch besitzt es zwei Werbeflächen, die unabhängig voneinander "geschaltet" werden sollen. Daher gibt es zwei seperate Repaint-Einträge, welche jedoch in diesem Fall auf den gleichen Ordner und somit auf eine gemeinsame "Repaintsammlung" zugreifen. Könnte man aber natürlich auch anders machen. Aber so können beide Werbeflächen unabhängig voneinander verschiedene Werbungen zeigen.
(Objekt ist ursprünglich von IREgio612 - mit Erlaubnis von mir modifiziert)
[CTC]
WerbungIndex1
texture\Werbung_Flensburg_Unterstand
0
[CTCTexture]
Werbung
Flensburg_Unterstand_Werbevitrine_Werbung_1.png
[CTC]
WerbungIndex2
texture\Werbung_Flensburg_Unterstand
0
[CTCTexture]
Werbung
Flensburg_Unterstand_Werbevitrine_Werbung_2.png
[varnamelist]
1
script\Flensburg_Unterstand_Zufallswerbung.txt
[script]
1
script\Flensburg_Unterstand_Werbung_Zufallswerbung.osc
Alles anzeigen
Hier im Script gibt es dann halt einfach zwei verschiedene Variablen für beide Repaints, die beide nacheinander mit verschiedenen Zufallswerten initialisiert werden.
{init}
16 random (S.L.WerbungIndex1)
16 random (S.L.WerbungIndex2)
{end}
Ich hoffe, das hilft weiter. 
wie baue ich so nen Timer ein?
Auch, wenn's schon etwas offtopic ist: Ein Timer im Script dient im Prinzip dazu, die ganze Zeit mitzuzählen, wie lange etwas dauert, um irgendetwas in einem bestimmten Interval (jedoch nicht in jedem Frame) auszuführen, wie bspw. den Wechsel einer Textur oder was auch immer. Dazu brauchst du eine "Zählvariable" hier "Timer" genannt, die du natürlich in einer Varlist zunächst definieren musst.
Dein Script sieht dann ungefähr so aus:
'Dieser ganze Abschnitt wird grundsätzlich in jedem einzelnen Frame, den OMSI rendert einmal ausgeführt
{frame}
'Hier wird der Timer immer erhöht und zwar genau um so viele Sekunden, wie der letzte Frame gedauert hat ("Timegap", normalerweise natürlich eine Dezimalzahl < 0)
'Das hat den Sinn, dass sich das Interval mit schwankender Framerate nicht verändert.
'Konkret gesagt, wird der aktuell Timer-Wert geladen, dann der aktuelle Timegap (letzte Framedauer) dazu addiert und der neue Wert wieder im Timer gespeichert.
(L.L.Timer) (L.S.Timegap) + (S.L.Timer)
'Jetzt prüfen wir, ob der Timer ein bestimmtes Limit überschritten hat (hier z.B. "3", damit wird der "innere" Abschnitt alle 3 Sekunden ausgeführt
(L.L.Timer) 3 >=
{if}
'Hier kannst du jetzt das programmieren, was du machen willst, was in diesem Fall alle 3 Sekunden einmal ausgeführt werden soll
'Danach noch den Timer durch eine Modulorechnung (Restrechtung) wieder zurücksetzten
(L.L.Timer) 1 % (S.L.Timer)
'Theoretisch könnte man ihn auch einfach direkt auf Null setzen, so ist es aber etwas cleaner, damit ein ggf. überschrittener "Rest" niübrig bleibt und nicht verschwindet, was den Timer etwas ungenau machen würde:
'Beispiel: 3.01 % 1 = 0.01
Da wir in diesem Durchgang statt 3 Sekunden schon bei 3.01 Sekunden waren, starten wir den Timer nicht wieder bei 0 sondern direkt bei 0.01.
{endif}
{end}
Alles anzeigen