Как да пиша скриптове за Trainz

Как да пиша скриптове за Trainz

Това е първата версия на статията, предназначена главно за тези, които вече са запознати с програмирането, тъй като няма да обяснявам основните понятия. Тоест, предполага се, че вече имате представа за това какви са типовете данни, процедури, функции и обектно-ориентирано програмиране. Всички, които за първи път са чували за това, първо изпращам към книги по езици за програмиране, където са обяснени всички тези термини.

Trainz скриптовете са написани на вътрешен език, който е много подобен на езици за програмиране като C ++ или Java, въпреки че това е собственият език на Auran. Оригиналният скриптов файл е обикновен текстов файл ASCII, който по подразбиране получава разширението .gs

От този файл, използвайки програмата за компилация gsc.exe, се получава изпълним файл с разширение .gsc, който вече ще бъде изпълнен в средата Trainz. Доколкото разбрах, Trainz има вграден специален многонишков преводач. Многонишковото означава, че можете да изпълнявате паралелно множество процеси, които ще се изпълняват независимо един от друг. Например можете да напишете отделна нишка за всеки влак във вашия сценарий, която напълно да контролира поведението му, след което всички тези нишки могат да бъдат изпълнени за изпълнение и всяка от тях ще бъде изпълнена независимо. По-точно, почти независимо, тъй като многопоточността в Trainz, доколкото разбрах, се имитира. Тоест, ако в една от нишките започнете да изпълнявате дълга процедура, без да извиквате събитията за изчакване на събития, например създаване на подреждания, тогава всички процеси, включително основната игра, се спират, докато тази процедура приключи.