Hallo Leute! Ich habe die Woche mit dem Programmieren der Attergaubahn begonnen und konnte dabei schon erste Erfolge erzielen (man kann eine Fahne einstecken).
Jetzt möchte ich die Türen animieren und habe dazu eine "script_sth26109_doors.pas" angelegt. Nun habe ich das Problem, dass das ganze Script inkl. Fahne nicht mehr funktioniert, wenn das "script_sth26109_doors.pas" miteinbezogen ist. Beim Reimportieren kommt trotzdem immer die Meldung, dass das Script erfolgreich kompiliert wurde.
Eine Info am Rande: Wenn nur in der "script_sth26109_main.pas" der Verweis auf das Türscript "{$I script_sth26109_doors.pas}" aktiviert ist, das gesamte Türscript aber auskommentiert ist, funktioniert die Fahne noch; sobald aber ein Teil, und da reicht schon nur das "end.", im Türscript nicht mehr auskommentiert ist, funktioniert gar nichts mehr trotz "erfolgreicher Kompilierung".
Ich habe noch relativ wenig Erfahrung mit Scripting und möchte deshalb ev. blöde Fehler entschuldigen. Ich würde mich sehr freuen, wenn mir jemand weiterhelfen könnte.
- script_sth26109_main.pas:
- {PUBLIC_VARS
- Timegap: single;
- testC: single;
- Mouse_X: single;
- Mouse_Y: single;
- RealisticElecSupply: boolean;
- InitNotReadyForMovement: boolean;
- v_Axle_mps: single;
- A_CP_Sollwertgeber: single;
- A_CP_TS_Notbremse: single;
- A_CP_TS_Fsp: single;
- A_CP_SW_Aussenbel: single;
- A_CP_SW_Innenbel: single;
- A_Flagge: single;
- Snd_Horn1: integer;
- Snd_Horn1_Volume: integer;
- DebugVar: single;
- panto_0: single;
- Tuer1R: single;
- // Tuer1Rg: single;
- Tuer1L: single;
- // Tuer1Lg: single;
- Tuer2R: single;
- // Tuer2Rg: single;
- Tuer2L: single;
- // Tuer2Lg: single;
- a_ground: single;
- loadforce_Axle_N_1_1: single;
- M_Axle_N_0_0: single;
- M_Axle_N_0_1: single;
- M_Axle_N_1_0: single;
- M_Axle_N_1_1: single;
- M_Axle_N_2_0: single;
- M_Axle_N_2_1: single;
- M_Axle_N_3_0: single;
- M_Axle_N_3_1: single;
- M_Axle_N_4_0: single;
- M_Axle_N_4_1: single;
- MBrake_Axle_N_0_0: single;
- MBrake_Axle_N_0_1: single;
- MBrake_Axle_N_1_0: single;
- MBrake_Axle_N_1_1: single;
- MBrake_Axle_N_2_0: single;
- MBrake_Axle_N_2_1: single;
- MBrake_Axle_N_3_0: single;
- MBrake_Axle_N_3_1: single;
- MBrake_Axle_N_4_0: single;
- MBrake_Axle_N_4_1: single;
- F_RailBrake_Bogie_N_0: single;
- invradius_0_0: single;
- invradius_abs_max: single;
- TestInt: integer;
- }
- {PUBLIC_BUTTONS
- Throttle;
- Neutral;
- Brake;
- MaxBrake;
- EmergencyBrake;
- ParkBrakeOn;
- ParkBrakeOff;
- ParkBrakeToggle;
- FrontLightPlus;
- FrontLightMinus;
- CabinLightToggle;
- Horn1;
- Flaggestecken;
- Tueroeffnen1R;
- Tueroeffnen1L;
- Tueroeffnen2R;
- Tueroeffnen2L;
- }
- {PUBLIC_AXIS
- Throttle;
- }
- {$I StdElements.pas}
- {$I TechElements.pas}
- {$I script_sth26109_doors.pas}
- var
- gas: boolean;
- bremse: boolean;
- notbremse: boolean;
- Flagge: TSwitch;
- procedure SimStep;
- var
- gaskraft: single;
- bremskraft: single;
- begin
- script_sth26109_doors_SimStep;
- if gas then
- gaskraft := 20000
- else if bremse then
- gaskraft := -40000;
- if notbremse then
- F_RailBrake_Bogie_N_0 := 1000000
- else
- F_RailBrake_Bogie_N_0 := 0;
- A_Flagge := Flagge.Pos;
- M_Axle_N_0_0 := gaskraft;
- M_Axle_N_0_1 := M_Axle_N_0_0;
- M_Axle_N_1_0 := M_Axle_N_0_0;
- M_Axle_N_1_1 := M_Axle_N_0_0;
- MBrake_Axle_N_0_0 := bremskraft;
- MBrake_Axle_N_0_1 := MBrake_Axle_N_0_0;
- MBrake_Axle_N_1_0 := MBrake_Axle_N_0_0;
- MBrake_Axle_N_1_1 := MBrake_Axle_N_0_0;
- end;
- procedure Initialize;
- begin
- A_Flagge := 1;
- end;
- procedure OnFloatInput(id: string; value: single; cockpitIndex: integer);
- begin
- if id = 'Throttle' then
- TestC := value;
- end;
- procedure OnButton(id: string; value: boolean; cockpitIndex: byte);
- begin
- script_sth26109_doors_OnButton(id, value);
- if (id = 'Brake') then
- bremse := value
- else if (id = 'Throttle') then
- gas := value
- else if (id = 'MaxBrake') then
- notbremse := value
- else if (id = 'Flaggestecken') and value then begin Switch_Toggle (Flagge) end
- end;
- end.
- script_sth26109_doors:
- var
- Tuer1R_offen: TSwitch;
- Tuer1L_offen: TSwitch;
- Tuer2R_offen: TSwitch;
- Tuer2L_offen: TSwitch;
- procedure script_sth26109_doors_SimStep;
- begin
- Tuer1R := Tuer1R_offen.Pos;
- Tuer1L := Tuer1L_offen.Pos;
- Tuer2R := Tuer2R_offen.Pos;
- Tuer2L := Tuer2L_offen.Pos;
- end;
- procedure script_sth26109_doors_OnButton(id: string; value: boolean);
- begin
- if (id = 'Tueroeffnen1R') and value then begin Switch_Toggle (Tuer1R_offen) end
- else if (id = 'Tueroeffnen1L') and value then begin Switch_Toggle (Tuer1L_offen) end
- else if (id = 'Tueroeffnen2R') and value then begin Switch_Toggle (Tuer2R_offen) end
- else if (id = 'Tueroeffnen2L') and value then begin Switch_Toggle (Tuer2L_offen) end
- end;
- end.