Posts by User139
-
-
Mikes Nope, that won't work. You have to use:
-
Try this:
Display MoreCode- {PUBLIC_VARS
- TimeOfDay: single;
- hour: single;
- minute: single;
- second: single;
- previousSecond: single;
- displayText: string;
- TexID_Draw: integer;
- }
- procedure Initialize;
- begin
- temptime := (temptime - Minute) * 60; //temptime = Zeit seit der letzten vollen Minute in Sekunden (mit Bruchteilen)
- previousSecond:= trunc(temptime); // ganze Sekunden
- end;
- procedure SimStep;
- var
- temptime: single;
- HourStr : string;
- MinuteStr : string;
- SecondStr : string;
- begin
- temptime := TimeOfDay * 24; // temptime = Zeit seit Mitternacht in Stunden (mit Bruchteilen)
- Hour := trunc(temptime); // ganze Stunden
- temptime := (temptime - Hour) * 60; //temptime = Zeit seit der letzten vollen Stunde in Minuten (mit Bruchteilen)
- Minute := trunc(temptime); // ganze Minuten
- temptime := (temptime - Minute) * 60; //temptime = Zeit seit der letzten vollen Minute in Sekunden (mit Bruchteilen)
- Second := trunc(temptime); // ganze Sekunden
- if Second <> previousSecond then begin
- HourStr := IntToStr(Hour);
- MinuteStr := IntToStr(Minute);
- SecondStr := IntToStr(Second);
- displayText := (HourStr+':'+MinuteStr+':'+SecondStr)
- previousSecond := Second;
- end
- end;
- end.
-
I apologize if my questions or advice come to someone nonsensical, or someone tells me how I can't solve this simple thing.
No problem, can you show me the configuration of your text-texture in the object tool and the mesh config of the timer display mesh?
Btw. this is what you need to change:
-
There‘s a semicolon missing. Also, to answer your question about the tram triggering your „time since last train“-display, that‘s impossible right now, it will be possible later tho.
-
You redefined the procedure for ScriptTextures. You can't create a new procedure because that would clash with LOTUS function, so you have to do something like:
Display MoreCode- {PUBLIC_VARS
- TimeOfDay: single;
- hour: single;
- minute: single;
- second: single;
- previousSecond: single;
- TexID_Draw: integer;
- }
- procedure Initialize;
- begin
- temptime := (temptime - Minute) * 60; //temptime = Zeit seit der letzten vollen Minute in Sekunden (mit Bruchteilen)
- previousSecond:= trunc(temptime); // ganze Sekunden
- end;
- procedure SimStep;
- var
- temptime: single;
- begin
- temptime := TimeOfDay * 24; // temptime = Zeit seit Mitternacht in Stunden (mit Bruchteilen)
- Hour := trunc(temptime); // ganze Stunden
- temptime := (temptime - Hour) * 60; //temptime = Zeit seit der letzten vollen Stunde in Minuten (mit Bruchteilen)
- Minute := trunc(temptime); // ganze Minuten
- temptime := (temptime - Minute) * 60; //temptime = Zeit seit der letzten vollen Minute in Sekunden (mit Bruchteilen)
- Second := trunc(temptime); // ganze Sekunden
- if Second <> previousSecond then begin
- TexSelTex(Self, 0);
- TexSetColor(Self, Color(240, 120, 0, 0));
- TexSetBlendMode(Self, 1);
- TexClear(Self);
- TexWriteLn(IntToStr(Hour) + ':' + IntToStr(Minute) + ':' + IntToStr(Second));
- end
- end;
- end.
Although I think in your case it would be a lot smarter to use Text-Textures, where you will only need:
Display MoreCode- {PUBLIC_VARS
- TimeOfDay: single;
- hour: single;
- minute: single;
- second: single;
- previousSecond: single;
- displayText: string;
- TexID_Draw: integer;
- }
- procedure Initialize;
- begin
- temptime := (temptime - Minute) * 60; //temptime = Zeit seit der letzten vollen Minute in Sekunden (mit Bruchteilen)
- previousSecond:= trunc(temptime); // ganze Sekunden
- end;
- procedure SimStep;
- var
- temptime: single;
- begin
- temptime := TimeOfDay * 24; // temptime = Zeit seit Mitternacht in Stunden (mit Bruchteilen)
- Hour := trunc(temptime); // ganze Stunden
- temptime := (temptime - Hour) * 60; //temptime = Zeit seit der letzten vollen Stunde in Minuten (mit Bruchteilen)
- Minute := trunc(temptime); // ganze Minuten
- temptime := (temptime - Minute) * 60; //temptime = Zeit seit der letzten vollen Minute in Sekunden (mit Bruchteilen)
- Second := trunc(temptime); // ganze Sekunden
- if Second <> previousSecond then begin
- displayText := (IntToStr(Hour) + ':' + IntToStr(Minute) + ':' + IntToStr(Second))
- end
- end;
- end.