Die 5 gehört zum say Befehl (
http://community.bistudio.com/wiki/say) und ist nur für eine etwaige Kameraposition notwendig. Eigentlich sollte der Aufruf auch nur mit Unit say "Sound" gehen.
random 3 gibt einen Dezimalwert von 0 - 2,9999 zurück.
ceil rundet alles auf eine Ganzzahl auf.
ceil (random 3) ergibt 1, 2 oder 3.
floor schneidet alle Nachkommastellen ab.
froor (random 3) ergibt 0, 1 oder 2 (ideal für Array Index).
Der Index eines Arrays beginnt bei 0. Verwendet man dafür ceil, dann erfordert das für den Array Index -1 anzufügen.
round (random 3) ergibt 0, 1, 2 oder 3.
Für ein Array mit 3 Feldern würden das zu Fehlern führen. Auch ist die Zufallsverteilung nicht korrekt:
0 = 0,00 - 0,49
1 = 0,50 - 1,49
2 = 1,50 - 2,49
3 = 2,50 - 2,99
ceil und floor ergeben ein ausgewogenes Zufallsverhältnis.
Edit: Verwendet man für den Array-Index
ArrayName select random 3, dann rundet select und es kommt zum round - Fehler.