06.03.2014, 00:38
Hier grad mal ein kleiner Auszug aus dem NML-Code für eine Lok (BR 146) aus dem DACH Set....
Alle Codeschnipsel ohne Gewähr; kann Fehler enthalten
Und ja, das sind alles noch Züge mit Standardlänge.
Beim DACH-NG sind es dann kürzere, da weiß ich noch ned, wie ich das mit dem Code so schön hinbiegen soll/kann....
Alle Codeschnipsel ohne Gewähr; kann Fehler enthalten
Code:
//** -------------------- ID41 propbr146 BR 146 -------------------- **// BR 146
switch(FEAT_TRAINS,SELF,sw_br146_farbe,cargo_subtype){
1: gr_br146_ic;
gr_br146;
}
/* - Falls Wendezugbetrieb mit Nahverkehrswagen, checken ob der Zug gewendet wurde - */
switch(FEAT_TRAINS,SELF,sw_br146_gr_wendezug_silberlinge,vehicle_is_reversed){
1: gr_stwsil_front; // Wenn ja, dann wird die Lok durch den Nahverkehrssteuerwagen ersetzt
sw_br146_farbe; // Wenn nicht, dann normale Lokgrafik
}
/* - Falls Wendezugbetrieb mit Dostos, checken ob der Zug gewendet wurde - */
switch(FEAT_TRAINS,SELF,sw_br146_gr_wendezug,vehicle_is_reversed){
1: gr_stw_front; // Wenn ja, dann wird die Lok durch den Doppelstocksteuerwagen ersetzt
sw_br146_farbe; // Wenn nicht, dann normale Lokgrafik
}
/* - Falls Wendezugbetrieb mit DostoICs, checken ob der Zug gewendet wurde - */
switch(FEAT_TRAINS,SELF,sw_br146_gr_wendezug_dostoic,vehicle_is_reversed){
1: gr_stwdostoic_front; // Wenn ja, dann wird die Lok durch den Doppelstocksteuerwagen ersetzt
sw_br146_farbe; // Wenn nicht, dann normale Lokgrafik
}
/* - Check ob ein DOStoIC angekoppelt ist - */
switch(FEAT_TRAINS,SELF,sw_br146_keinesil,count_veh_id(stwdostoic) > 0 && count_veh_id(br146) == 1){
1: sw_br146_gr_wendezug_dostoic; // Wenn ja, dann Wendezugbetrieb mit DostoIC
sw_br146_farbe; // Wenn nicht, dann normale Lokgrafik
}
/* - Check ob ein Nahverkehrssteuerwagen angekoppelt ist - */
switch(FEAT_TRAINS,SELF,sw_br146_keinedostos,count_veh_id(stwsil) > 0 && count_veh_id(br146) == 1){
1: sw_br146_gr_wendezug_silberlinge; // Wenn ja, dann Wendezugbetrieb mit Nahverkehrswagen
sw_br146_keinesil; // Wenn nicht, dann normale Lokgrafik
}
/* - Check ob ein Doppelstocksteuerwagen angekoppelt ist - */
switch(FEAT_TRAINS,SELF,sw_br146_graphics,count_veh_id(stwdosto) > 0 && count_veh_id(br146) == 1){
1: sw_br146_gr_wendezug; // Wenn ja, dann Wendezugbetrieb mit Doppelstockwagen
sw_br146_keinedostos; // Wenn nicht, dann check ob Nahverkehrssteuerwagen im Zug
}
/* - Check ob der Zug im Wendezugbetrieb faehrt und Anpassung der visuellen Effekte - */
switch(FEAT_TRAINS,SELF,sw_br146_ve,((count_veh_id(stwdosto) > 0 || count_veh_id(stwsil) > 0 ||count_veh_id(stwdostoic) > 0 )&& vehicle_is_reversed == 1)){
0: visual_effect_and_powered(VISUAL_EFFECT_ELECTRIC,-2,ENABLE_WAGON_POWER); // Wenn nicht, dann normale visuelle Effekte fuer die Lok
visual_effect_and_powered(VISUAL_EFFECT_DISABLE,0,DISABLE_WAGON_POWER); // Wenn ja, dann visuelle Effekte fuer umgekehrte Fahrtrichtung ausschalten
}
/* - Check ob der Wagentyp angekoppelt werden darf - */
switch(FEAT_TRAINS,SELF,sw_dostostw_wagon_attach_kein_stw,vehicle_type_id){
stwsil: CB_RESULT_ATTACH_ALLOW; // DB Nahverkehrs Steuerwagen
silberlinge: CB_RESULT_ATTACH_ALLOW; // DB Nahverkehrswagen
stwdosto: CB_RESULT_ATTACH_ALLOW; // DB Doppelstocksteuerwagen
dostowaggon:CB_RESULT_ATTACH_ALLOW; // DB Doppelstockwagen
dostowaggonic:CB_RESULT_ATTACH_ALLOW;
stwdostoic:CB_RESULT_ATTACH_ALLOW;
br146: CB_RESULT_ATTACH_ALLOW; // Eine weitere BR 146
string(STR_CANNOT_ATTACH_LOK); // Alle anderen nicht
}
/* - Check ob ein Steuerwagen angekoppelt ist - */
switch(FEAT_TRAINS,PARENT,sw_dostostw_wagon_attach, bitmask_consist_info & bitmask(2)){
0: sw_dostostw_wagon_attach_kein_stw; // Wenn nicht, dann wird gecheckt ob der Wagentyp angekoppelt werden darf
string(STR_STW_VORHANDEN); // Wenn ja, darf kein weiterer Steuerwagen hinzukommen
}
Und ja, das sind alles noch Züge mit Standardlänge.
Beim DACH-NG sind es dann kürzere, da weiß ich noch ned, wie ich das mit dem Code so schön hinbiegen soll/kann....