gm99999
Geregistreerd op: 15 Aug 2020 Berichten: 475
|
Geplaatst: 15 Aug 2020 14:40:35 Onderwerp: Scripten NL introductie |
|
|
Scripten NL: introductie
Wat kun je o.a. met scripten binnen Trainz:
-een tekst laten zien/verdwijnen of veranderen
-een lampje (corona) aan of uit zetten of laten knipperen
-een mesh aan of uit zetten
-een animatie starten, stoppen, de snelheid veranderen, of op een frame(fase van de animatie) zetten
(voorbeeld ruitenwisser, deuren etc.)
-een geluid afspelen, starten, stoppen.
-een textuur veranderen/wisselen
-de status opvragen van een item binnen trainz
voorbeelden: gewicht, lengte, aantallen, stand van iets(een knop, een sein etc.)
-schermpjes(interface) maken en html (een webpagina)
-gegevens op slaan en terug halen (bijv. een bestemming)
Eigenlijk als je al een config.txt hebt gemaakt of veranderd, weet je basis
een table (bijv mesh-table) begint met een haakje { en eindigt ermee }
Elk deel van een script begint met een naam dan een openings haakje { en sluit het deel af met }
delen binnen die haakjes kunnen ook weer beeindigt worden met een ; of een combinatie van { en }
Voorbeeld:
naam scriptdeel {
dit heb ik; dit heb ik nodig;
dit wil ik { verander dit en dat; zeg dan gedaan;}
of dit wil ik { verander het niet; zeg dan niks gedaan;}
}
Taal
De basis taal lijkt het meest op C++ is computer engels maar dan vaak afgekort
voorbeelden:
int, een integer heel getal
float, een floatingpoint getal met comma
bool, boolean een schakelaar 0 of 1
string, een tekst
while, zolang dit geldt....
if, een als conditie
else, het alternatief als niet if
for, een loop conditie
soup, de database, opslag van gegevens
return, geef terug
get, lees of haal op
set, zet, breng
asset, ding/onderdeel, kan van alles zijn
sleep, rust/pauseer met de tijd erbij
cast, letterlijk werp, maak verbinding met.
//, dit is commentaar en wordt niet door script gelezen/gebruikt
later zullen we deze behandelen met voorbeelden
basis script layout:
1) de bovenste regel bevat includes. dat wil zeggen, welke andere scripts of basis scipts worden naar verwezen/gebruikt
voorbeeld: include "locomotive.gs" //maakt gebruikt van het standaard locomotief script van Auran
2) dan volgt de class (wat voor script is het)
voorbeeld: class virm isclass Locomotive { //dus het virm script is een locomotiefscript, die we erboven hebben "include"
in deze sectie kondigen we aan (declare) welke scriptdelen volgen en benoemen variabelen.
voorbeeld: thread void sparky();Asset spark; //kondigt aan dat er een functie is voor panto sparks en een onderdeel spark
3) bevat meestal de Init, (initiatie) wat moet er gebeuren bij de start van het script.
voorbeeld: public void Init() {inherited(); WiperControl(); //inherited betekent ge-erft dus ook de init van locomotive.gs
en je ziet dat bij init een wiper functie wordt gestart.
4) Nu komen onder elkaar de aparte script functies (totaal afhankelijk van wat je wil en volgt later)
5) een script eindigt met ;
genoeg voor 1 dag |
|