Good evening,
I'm trying to use the $detach and $pickup or $attach commands, based on a 12-page pdf-file, dated May 2017, that I found on this forum, but due to a comment on a Polish YouTube video. I am attaching a screenshot of what, with my poor English language, I managed to understand. The problem is that when I want to start the game, it gives an error and does not start. I don't know where the error is.
Thanks!
$detach, $pickup & $attach commands I can't learn to use
#2
Posted 03 April 2020 - 05:47 AM
#3
Posted 03 April 2020 - 06:10 AM
Hi Leonardo, you don`t say what error you are getting. Your timetable is arranged differently to most timetables I have seen, and I suggest that you try changing it in line with the May 2017 .pdf. There is also a more recent document, but the 2017 is valid. I don`t know if the order of your timetable matters, but I suggest making the following changes.
1) write times as hh/mm as you have h/mm. So your 0:35 should be 00:35 and 2:53 02:53
2) $forms=RRplayaAV-147-ES-Columna149$detach /units=1 /static
I have reversed the order putting $forms first, then the detach. I don`t know if this order is important but please try it . Also do you mean to detach 1 unit from the front of the train? If so units = 1 is ok . But usually in a form and detach the last unit would be detached so units=-1
3) In all timetable I have seen the #dispose row comes last in the column, after all the station stops. I f you are using an excel type spread sheet you could cut the #dispose row and "paste special" at the bottom of the timetable
I don`t know if my suggestions will cure your problem, but if you can attach the log.txt, it will help others help you.
Rick
1) write times as hh/mm as you have h/mm. So your 0:35 should be 00:35 and 2:53 02:53
2) $forms=RRplayaAV-147-ES-Columna149$detach /units=1 /static
I have reversed the order putting $forms first, then the detach. I don`t know if this order is important but please try it . Also do you mean to detach 1 unit from the front of the train? If so units = 1 is ok . But usually in a form and detach the last unit would be detached so units=-1
3) In all timetable I have seen the #dispose row comes last in the column, after all the station stops. I f you are using an excel type spread sheet you could cut the #dispose row and "paste special" at the bottom of the timetable
I don`t know if my suggestions will cure your problem, but if you can attach the log.txt, it will help others help you.
Rick
#4
Posted 03 April 2020 - 07:05 AM
Hi Rick, I put the contents of the #dispose cell as you suggested:
$ forms = RRplayaAV-147-ES-Columna149 $ detach / units = 1 / static
but the error continues. The rows order does not affect Open Rails, I have checked. I attach the last LOG. Regards.
$ forms = RRplayaAV-147-ES-Columna149 $ detach / units = 1 / static
but the error continues. The rows order does not affect Open Rails, I have checked. I attach the last LOG. Regards.
This is a log file for Open Rails. Please include this file in bug reports. -------------------------------------------------------------------------------- Date/time = 03/04/2020 12:03:43 p.m. (2020-04-03 15:03:43Z) BIOS = BIOS Date: 12/02/14 10:32:53 Ver: 04.06.05 (American Megatrends Inc.) Processor = AMD A10-5800K APU with Radeon(tm) HD Graphics (4 threads, 4 cores, 3,8 GHz) (L1 CACHE 192 KB) (L2 CACHE 4096 KB) Memory = 7,9 GB Video = NVIDIA GeForce 210 (1,0 GB RAM) (nvlddmkm 9.18.13.4192) Display = \\.\DISPLAY1 (1360 x 768, 32-bit, primary, 0 x 0) Sound = Realtek High Definition Audio (rtkvhd64 6.0.1.7266) Sound = NVIDIA High Definition Audio (nvhda64v 1.3.30.1) Sound = NVIDIA High Definition Audio (nvhda64v 1.3.30.1) Sound = NVIDIA Virtual Audio Device (Wave Extensible) (WDM) (nvvad64v 1.2.27.0) Sound = NVIDIA High Definition Audio (nvhda64v 1.3.30.1) Sound = NVIDIA High Definition Audio (nvhda64v 1.3.30.1) Disk = C: (Disco fijo local, NTFS, 134,7 GB, 20,2 GB free) Disk = D: (Disco fijo local, NTFS, 778,7 GB, 79,6 GB free) Disk = E: (Disco CD-ROM, ) Disk = F: (Disco extraíble, FAT32, 30,0 GB, 22,3 GB free) Disk = G: (Disco extraíble, ) Disk = H: (Disco extraíble, ) Disk = I: (Disco extraíble, ) Disk = J: (Disco fijo local, NTFS, 0,3 GB, 0,1 GB free) Disk = K: (Disco CD-ROM, ) Disk = L: (Disco extraíble, ) Disk = X: (Disco fijo local, NTFS, 17,7 GB, 2,9 GB free) OS = Microsoft Windows 7 Enterprise 64 bits (6.1.7600) Runtimes = 2.0.50727 SP2 3.0 SP2 3.5 SP1 4 Client 4 Full 4.0 Client Runtime = 2.0.50727.4927 (32bit) \\.\DISPLAY1 = NVIDIA GeForce 210 (nvd3dum.dll 9.18.13.4192) Anisotropy = 16 Render Targets = 4 Streams = 16 (stride 255) Textures = 8 (8192 x 8192, repeat 8192, ratio 8192) Points = 8192^2 Volumes = 2048^3 Primitives = 8388607 Vertexes = 16777215 Vertex Shader = 3.0 (4096 slots, 256 constants) Pixel Shader = 3.0 (4096 slots) Clip Planes = 8 -------------------------------------------------------------------------------- Version = X4259 Build = 0.0.6859.33208 (2018-10-12 18:26:56Z) Logfile = C:\Users\Garcia\Desktop\OpenRailsLog.txt Executable = RunActivityLAA.exe Argument = -start Argument = -timetable Argument = D:\MEGA\T\ROUTES\FCPBA_V3\ACTIVITIES\OPENRAILS\FCPBA.timetable_or Argument = FCPBA:AA Argument = 0 Argument = 1 Argument = 0 -------------------------------------------------------------------------------- ActRandomizationLevel = 0 ActWeatherRandomizationLevel = 0 AdhesionFactor = 130 AdhesionFactorChange = 10 AdhesionMovingAverageFilterSize = 10 AdhesionProportionalToWeather = False Alerter = False AlerterDisableExternal = True Autopilot = False AuxActionEnabled = False AvatarURL = http://openrails.org/images/support-logos.jpg BrakePipeChargingRate = 21 BreakCouplers = False Cab2DStretch = 0 CarVibratingLevel = 0 CircularSpeedGauge = False ConditionalLoadOfDayOrNightTextures = False CorrectQuestionableBrakingParams = False CurveResistanceDependent = False CurveSpeedDependent = False DataLogger = False DataLoggerSeparator = (user set) semicolon DataLogMisc = False DataLogPerformance = (user set) False DataLogPhysics = False DataLogSpeedUnits = route DataLogStart = False DataLogStationStops = False DataLogSteamPerformance = False DataLogTrainSpeed = False DataLogTSContents = 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 DataLogTSInterval = 10 DayAmbientLight = 20 DebriefActivityEval = False DebriefEvalFilename = OR-DebriefEval.txt DebriefTTActivityEval = False DisableTCSScripts = False DistantMountains = (user set) False DistantMountainsViewingDistance = 40000 DoubleWire = False DynamicShadows = False ExtendedAIShunting = False ExternalSoundPassThruPercent = (user set) 25 FastFullScreenAltTab = False FullScreen = False GraduatedRelease = False HotStart = True Language = (user set) en LODBias = (user set) -33 LODViewingExtention = False Logging = True LoggingFilename = OpenRailsLog.txt LoggingPath = C:\Users\Garcia\Desktop Menu_Selection = (user set) D:\MEGA\T, D:\MEGA\T\ROUTES\FCPBA_V3, D:\MEGA\T\ROUTES\FCPBA_V3\ACTIVITIES\OPENRAILS\FCPBA.timetable_or, FCPBA, 1, 0, , 1, 0 ModelInstancing = False MSTSBINSound = True Multiplayer = False Multiplayer_Host = 127.0.0.1 Multiplayer_Port = 30000 Multiplayer_UpdateInterval = 10 Multiplayer_User = Garcia MultiplayerClient = False MultiplayerServer = False NoForcedRedAtStationStops = (user set) True OpenDoorsInAITrains = False OverrideNonElectrifiedRoutes = False PerformanceTuner = False PerformanceTunerTarget = (user set) 10 PrecipitationBoxHeight = 100 PrecipitationBoxLength = 500 PrecipitationBoxWidth = 500 PreferDDSTexture = False PressureUnit = (user set) bar Profiling = False ProfilingFrameCount = 0 ProfilingTime = 0 ReplayPauseBeforeEnd = True ReplayPauseBeforeEndS = 0 RetainersOnAllCars = False ScreenshotPath = C:\Users\Garcia\Pictures\Open Rails ShaderModel = 3 ShadowAllShapes = (user set) True ShadowMapBlur = True ShadowMapCount = 4 ShadowMapDistance = 450 ShadowMapResolution = 1024 ShowAvatar = False ShowErrorDialogs = True SignalLightGlow = False SoundDetailLevel = (user set) 2 SoundVolumePercent = (user set) 30 SpeedControl = True SuperElevationGauge = 1435 SuperElevationMinLen = 50 SuppressConfirmations = False SuppressShapeWarnings = True TTCreateTrainOnPoolUnderflow = True TTOutputTimetableFullEvaluation = False TTOutputTimetableTrainInfo = False TTUseRestartDelays = True TunnelResistanceDependent = False Units = (user set) Metric UseAdvancedAdhesion = True UseLargeAddressAware = True UseLocationPassingPaths = False UseMSTSEnv = False UseSuperElevation = 0 VerticalSync = False ViewDispatcher = (user set) True ViewingDistance = (user set) 900 ViewingFOV = 45 WindowGlass = False WindowPosition_Activity = (user set) 0, 50 WindowPosition_CarOperations = (user set) 24, 39 WindowPosition_Compass = (user set) 0, 0 WindowPosition_ComposeMessage = (user set) 0, 50 WindowPosition_DriverAid = 100, 100 WindowPosition_Help = (user set) 0, 41 WindowPosition_NextStation = (user set) 100, 100 WindowPosition_Quit = (user set) 56, 100 WindowPosition_Switch = (user set) 0, 47 WindowPosition_TrackMonitor = (user set) 0, 100 WindowPosition_TrainList = 100, 0 WindowPosition_TrainOperations = (user set) 89, 79 WindowSize = (user set) 800x600 WindResistanceDependent = False Wire = True WorldObjectDensity = (user set) 8 YoungestFailedToRestore = 0 -------------------------------------------------------------------------------- Mode = timetable File = D:\MEGA\T\ROUTES\FCPBA_V3\ACTIVITIES\OPENRAILS\FCPBA.timetable_or Train = FCPBA:AA Day = 0 Season = Summer (1) Weather = Clear (0) -------------------------------------------------------------------------------- Loading TRK TDB SIGCFG DAT ACT RDB CARSPAWN SIGSCR WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW TT File : D:\MEGA\T\ROUTES\FCPBA_V3\ACTIVITIES\OPENRAILS\FCPBA.timetable_or Error: System.NullReferenceException: Object reference not set to an instance of an object. at Orts.Simulation.Timetables.TimetableInfo.TTTrainInfo.BuildTrain(List`1 fileStrings, rowType[] RowInfo, Int32 pathRow, Int32 consistRow, Int32 startRow, Int32 disposeRow, String description, Dictionary`2 stationNames, Single actSpeedConv, TimetableInfo ttInfo) in E:\Documents\Coding\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulation\Timetables\ProcessTimetable.cs:line 1344 at Orts.Simulation.Timetables.TimetableInfo.ConvertFileContents(TimetableReader fileContents, Signals signalRef, List`1& trainInfoList, Int32 indexcount, String filePath) in E:\Documents\Coding\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulation\Timetables\ProcessTimetable.cs:line 651 at Orts.Simulation.Timetables.TimetableInfo.ProcessTimetable(String[] arguments, CancellationToken cancellation) in E:\Documents\Coding\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulation\Timetables\ProcessTimetable.cs:line 126 at Orts.Simulation.Simulator.StartTimetable(String[] arguments, CancellationToken cancellation) in E:\Documents\Coding\Jenkins\jobs\Open Rails Testing\workspace\Source\Orts.Simulation\Simulation\Simulator.cs:line 466 at Orts.Viewer3D.Processes.GameStateRunActivity.Start(UserSettings settings, String acttype, String[] args) in E:\Documents\Coding\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Processes\GameStateRunActivity.cs:line 287 at Orts.Viewer3D.Processes.GameStateRunActivity.<>c__DisplayClass35_0.<Load>b__3() in E:\Documents\Coding\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Processes\GameStateRunActivity.cs:line 158 at Orts.Viewer3D.Processes.GameStateRunActivity.Load() in E:\Documents\Coding\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Processes\GameStateRunActivity.cs:line 199 at Orts.Viewer3D.Processes.LoaderProcess.Load() in E:\Documents\Coding\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Processes\LoaderProcess.cs:line 158 at Orts.Viewer3D.Processes.LoaderProcess.DoLoad() in E:\Documents\Coding\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Processes\LoaderProcess.cs:line 138 at Orts.Viewer3D.Processes.LoaderProcess.LoaderThread() in E:\Documents\Coding\Jenkins\jobs\Open Rails Testing\workspace\Source\RunActivity\Viewer3D\Processes\LoaderProcess.cs:line 109 at System.Threading.ThreadHelper.ThreadStart_Context(Object state) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart() Loader: Time = 00:00:05.0660470 ms Loader: Expected = 298.918.282 bytes Loader: Actual = 63.319.903 bytes Loader: Difference = -235.598.379 bytes (-78,8 %) Information: Game.PopState()
#6
Posted 03 April 2020 - 11:39 AM
Pleased you are making progress, and I`m sorry my comments may not have helped!
Please follow M61 advice and make the first collumn empty. You can only have the timetable name in the first cell in the top corner, and station stop commands like $hold and $terminus.
So insert a new collumn before train AA. please
Train AA has LP in the LaPlata station Row and P in the Puerto row. In these cells there should only be times or $commands.
Also train 1004 has "Llega" in the LaPlata row. This doesn`t seem right.
AGAV-146-ER-801 forms playero so playero doesn`t need $create in the start row. Just put the time playero becomes active. And the same for train 1004, formed from Jaulas
Hope this helps, Rick
Please follow M61 advice and make the first collumn empty. You can only have the timetable name in the first cell in the top corner, and station stop commands like $hold and $terminus.
So insert a new collumn before train AA. please
Train AA has LP in the LaPlata station Row and P in the Puerto row. In these cells there should only be times or $commands.
Also train 1004 has "Llega" in the LaPlata row. This doesn`t seem right.
AGAV-146-ER-801 forms playero so playero doesn`t need $create in the start row. Just put the time playero becomes active. And the same for train 1004, formed from Jaulas
Hope this helps, Rick
#7
Posted 04 April 2020 - 03:21 PM
No comment is ever useless. Someday, that which you comment may bring me some consequence. We never know.
What you see in the first column ("AA") is an old habit of mine: it is a single locomotive, that I modifying her schedule and path, the use of "lookout", to only watch trains passively. The indications "LP" in La Plata and "P" in Puerto are the telegraphic calls that was used in those stations and I use them for the names of the Paths. They never brought me trouble. I don't use $terminus. $Hold I use particularly on each train, when appropriate. Keep in mind that my Timetable has 530 trains and each one has its own particularities. Can I insert one more column, to the left of the empty one? I did not know. "Llega" ("arrives") is a human indication that does not affect Open Rails, because train 1004 does not arrive at a "La Plata" station, it only arrives at an adjacent yard.
Regards!
(Please, apologize my for my English lang.)
What you see in the first column ("AA") is an old habit of mine: it is a single locomotive, that I modifying her schedule and path, the use of "lookout", to only watch trains passively. The indications "LP" in La Plata and "P" in Puerto are the telegraphic calls that was used in those stations and I use them for the names of the Paths. They never brought me trouble. I don't use $terminus. $Hold I use particularly on each train, when appropriate. Keep in mind that my Timetable has 530 trains and each one has its own particularities. Can I insert one more column, to the left of the empty one? I did not know. "Llega" ("arrives") is a human indication that does not affect Open Rails, because train 1004 does not arrive at a "La Plata" station, it only arrives at an adjacent yard.
Regards!
(Please, apologize my for my English lang.)
#8
Posted 20 September 2020 - 03:40 PM
Have a problem with $pickup command.
When the Timetable Activity starts before there $pickup occurs, the locomotive does attaching to the cars. But if the Activity starts after the time of $pickup, I found the locomotive at the end of its path "inside" cars of the static consist. It is like the loco runs "through" the cars.
The start time is 03:00
https://i.ibb.co/sPFX3ng/Run-Activity-2020-09-21-00-21-40-54.png
The start time is 03:07
https://i.ibb.co/w4LNS2W/Run-Activity-2020-09-21-01-35-13-41.png
Regards
Oleg
When the Timetable Activity starts before there $pickup occurs, the locomotive does attaching to the cars. But if the Activity starts after the time of $pickup, I found the locomotive at the end of its path "inside" cars of the static consist. It is like the loco runs "through" the cars.
The start time is 03:00
https://i.ibb.co/sPFX3ng/Run-Activity-2020-09-21-00-21-40-54.png
The start time is 03:07
https://i.ibb.co/w4LNS2W/Run-Activity-2020-09-21-01-35-13-41.png
Regards
Oleg
Attached File(s)
-
OpenRailsLog.txt (27.53K)
Number of downloads: 6
#9
Posted 21 September 2020 - 12:35 PM
It looks like the train was too long. Replacing it with a shorter one solved the problem. Now I want to understand how to calculate the length of the train to avoid similar cases in the future.
#10
Posted 22 September 2020 - 12:43 AM
It's not just the lenght of the train which matters here, it is the distance from the front of the static train to the last signal ahead of it.
What happens is that an approaching train only gets the information on the position of the static train as it passes the last signal protecting this train. Until that moment, the train is running under clear signals and will therefor run at the maximum allowed speed.
If the front of the static train is very close to this last signal, the approaching engine may not have time enough to stop at the correct position.
That it works correct when in 'normal' mode but fails during prerun is caused by the fact that the update rate during prerun is much lower. At this much lower rate, the distance travelled between updates is obviously larger. At the moment of the last update for the engine when it is still ahead of the signal, the engine is still running under clear signals, perhaps at maximum allowed speed. At the next update the engine will change to mode 'train ahead', but if that 'train ahead' is very close to the signal then, due to the larger distance travelled during the interval, the engine may have allready passed the front of the static train.
The update interval during prerun is 5 secs. So, to be on the save side, the distance between the front of the train and the preceding signal should at least be 3 or 4 times the distance travelled by the approaching engine in 5 secs. at maximum allowed speed.
There are two ways to resolve the problem.
One is to reduce the length of the static train, and so increase the distance between the front of the train and the last signal.
The other is to reduce the speed of the approaching engine. This can be done by setting a much lower max. speed in the timetable. It can also be done be setting an approach control sequence for the last signal, keeping it at danger when the section beyond is occupied until the approaching engine has stopped. If a specific aspect is shown on occupied track, it is also possible to set a maximum speed for this specific aspect.
Regards,
Rob Roeterdink
What happens is that an approaching train only gets the information on the position of the static train as it passes the last signal protecting this train. Until that moment, the train is running under clear signals and will therefor run at the maximum allowed speed.
If the front of the static train is very close to this last signal, the approaching engine may not have time enough to stop at the correct position.
That it works correct when in 'normal' mode but fails during prerun is caused by the fact that the update rate during prerun is much lower. At this much lower rate, the distance travelled between updates is obviously larger. At the moment of the last update for the engine when it is still ahead of the signal, the engine is still running under clear signals, perhaps at maximum allowed speed. At the next update the engine will change to mode 'train ahead', but if that 'train ahead' is very close to the signal then, due to the larger distance travelled during the interval, the engine may have allready passed the front of the static train.
The update interval during prerun is 5 secs. So, to be on the save side, the distance between the front of the train and the preceding signal should at least be 3 or 4 times the distance travelled by the approaching engine in 5 secs. at maximum allowed speed.
There are two ways to resolve the problem.
One is to reduce the length of the static train, and so increase the distance between the front of the train and the last signal.
The other is to reduce the speed of the approaching engine. This can be done by setting a much lower max. speed in the timetable. It can also be done be setting an approach control sequence for the last signal, keeping it at danger when the section beyond is occupied until the approaching engine has stopped. If a specific aspect is shown on occupied track, it is also possible to set a maximum speed for this specific aspect.
Regards,
Rob Roeterdink