Log in

View Full Version : [REL] Patrol Routine Scripts


Abd_von_Mumit
09-01-10, 08:47 AM
This mod adds scripts to Silent Hunter 5 game which can be run by user any time he wants.
The scripts are intended to ease the tedious daily patrol routine, some of them simply remind you to do things a good Kaleun should regularly do but sometimes forgets, some assist in plotting. There's also one script for those who like surprises.


Download: Patrol Routine Scripts v. 01.02 by Avm [contains also v. 01.00] (http://www.subsim.com/radioroom/downloads.php?do=file&id=2786)

http://www.subsim.com/radioroom/downloads/u126_at_sea_by_ariane_krause_7NH.jpg

Included scripts
Sonar scans

Regular economic speed sonar scan
Runs at TC x128 in NavMap mode, every ~1 hour does a sonar scan at depth of 20 metres, then goes back to surface to fuel efficient speed.
Intended to use in open waters for searching contacts. Runs until stopped by user.
Regular slow speed sonar scan
Runs at TC x128 in NavMap mode, every ~1 hour does a sonar scan at depth of 20 metres, then goes back to surface to slow speed (bell 1).
Intended to use in open waters for searching contacts. Runs until stopped by user.
Regular 1/3 speed sonar scan
Runs at TC x128 in NavMap mode, every ~1 hour does a sonar scan at depth of 20 metres, then goes back to surface to one third speed (bell 2).
Intended to use in open waters for searching contacts. Runs until stopped by user.
Regular standard speed sonar scan
Runs at TC x128 in NavMap mode, every ~1 hour does a sonar scan at depth of 20 metres, then goes back to surface to standard speed (bell 3).
Intended to use in open waters for searching contacts. Runs until stopped by user.
Regular full speed sonar scan
Runs at TC x128 in NavMap mode, every ~1 hour does a sonar scan at depth of 20 metres, then goes back to surface to full speed (bell 4).
Intended to use in open waters for searching contacts. Runs until stopped by user.
Frequent flank speed sonar scan
Runs at TC x64 in NavMap mode, every 15 minutes does a very fast sonar check at depth of 20 metres, gives you a short period of TC x1 to adjust course, then goes back to surface to flank speed and TC x64.
Intended to use for course adjustments when chasing already heard target. Runs until stopped by user. Running speed can by very easily modified to suit your needs.
Single cruise speed sonar scan
Does a sonar scan at depth of 20 metres, then goes back to surface to fuel efficient speed.
Runs once then stops, doesn't change TC or station, can be run in first person view.
Plotting assist

Regular 3'15" (x1) range checks
Runs at TC x64 in NavMap mode, and every 3 minutes 15 seconds lets you do your plotting on NavMap (doesn't do it for you).
Only useful for so called 3'15" (3 minutes 15 seconds) method of determining target's accurate course and speed (for details check: http://www.paulwasserman.net/SHIII/).
Runs until stopped by user.
Regular 6'30" (x2) range checks
Runs at TC x128 in NavMap mode, and every 6 minutes 30 seconds lets you do your plotting on NavMap (doesn't do it for you).
Only useful for so called 3'15" (3 minutes 15 seconds) method of determining target's accurate course and speed (for details check: http://www.paulwasserman.net/SHIII/).
Runs until stopped by user.
Regular 13' (x4) range checks
Runs at TC x128 in NavMap mode, and every 13 minutes lets you do your plotting on NavMap (doesn't do it for you).
Only useful for so called 3'15" (3 minutes 15 seconds) method of determining target's accurate course and speed (for details check: http://www.paulwasserman.net/SHIII/).
Runs until stopped by user.
Regular 32'30" (x10) range checks
Runs at TC x128 in NavMap mode, and every 32 minutes 30 seconds lets you do your plotting on NavMap (doesn't do it for you).
Only useful for so called 3'15" (3 minutes 15 seconds) method of determining target's accurate course and speed (for details check: http://www.paulwasserman.net/SHIII/).
Runs until stopped by user.
Reminders
Reminder: Report to BdU
Every 24 hours reminds to send a situational report to BdU, drops TC to x1. Activate at the time you want to send your reports at.
Runs until stopped by user.
Reminder: Special Meal
Every 2 and a half hours reminds that a Special Meal from the Cook is available, drops TC to x1. Activate when you order your Special Meal for the first time.
Runs until stopped by user.
Reminder: News from Vaterland
Every 24 and half hours reminds to order Radio News from Germany from the Radioman, drops TC to x1. Activate when you order your Fresh News for the first time.
Runs until stopped by user.
Specials
Bernaaard!!!
Let Bernard on your boat.
Lives until you keelhaul him or he kills you and your crew.
Use at your own risk.

:lurk:

What this mod won't ever do
It won't think instead of you.
It won't decide instead of you.
It won't assist you in attacking or avoiding enemy. The scripts are to stop (be stopped) upon detecting enemy contact - from this moment on it's all your call.


Requirements
Silent Hunter 5 v. 1.2 game
mod: Multiple UIs for SH5 with TDC by TheDarkWraith (http://www.subsim.com/radioroom/showthread.php?t=166093) v. 4.2 or higher (if you use obsolete version 4.1 of "Multple UIs", you need to install Patrol Routine Scripts v. 01.00, also included; the current version will likely crash your script engine).


Installation
Install using JSGME (http://www.subsim.com/radioroom/showthread.php?t=173323). For instructions check JSGME help files.
You may install this mod in any order - would be best to install it after "Multiple UIs" though, for logical reasons.
If you install it after other scriping mods (like "Multiple UIs") you may get a warning about overwriting an already existing folder - ignore it (click "Yes").
This mod doesn't modify any existing game files, it only adds new ones, so conflicts are extremely unlikely.
You can safely install this mod mid-patrol, even with game running (it won't work until game restart).
You can safely install this mod without having "Multiple UIs", but then it won't have any effect in game.


Updates
For newest version of this mod check: http://www.subsim.com/radioroom/showthread.php?p=1482536
To update remove any previous version of this mod and install the new one.


Known issues/conflicts

Due to internal game bug that hasn't been fixed by the community yet some commands are _sometimes_ not performed properly when game runs in high TC (x128 and higher, possibly also lower). This may cause the Reminder scripts not to drop TC to x1 and not to remind you at all. Luckily this may also render Bernard presence on your boat less damaging. The scan scripts are not affected.
In game clock and script clock are not perfectly synchronised, thus 3:15 minutes can be measured different by your Zentrale clock and by the script you use. Differences do not exceed 5%, so this only slightly affects 3'15" method scripts timing accuracy. Hopefully will be fixed by later versions of "Multiple UIs".
Only applies to version 1.0: In "Multiple UIs" v. 4.1 pressing Esc while running "Regular cruise sonar scan" will drop you to TC x1, but the script will still run in TC x128. This doesn't cause real issues, only the next sonar check will be performed sooner than it should. Solution: Don't use Esc to drop TC, use - and + or \. Should be fixed in later versions of "Multiple UIs".


Documentation of the scripts
Scripts are self documented (descriptions of how they work and how to modify them are inside the scripts). The only exception is the Bernaaard!!! script, which is intended to be surprising. You can open and edit the mod's .sha file in any text editor (like Notepad).


License
You may choose one of these 2 licences: "GNU General Public License" v. 2 or later or "ShareAlike" License.
The above means: you are free to do whatever you want with this mod, but if you publish/distribute it or its derivatives, you must make it available under the same license I do (the mod is to stay free). For details check the license of your choice or contact me.


Credits
TheDarkWraith - for being amazing, putting enormous effort in developing SH5 mods, creating the scripting engine and his marvellous "Multiple UIs" mod
Trevally. - for showing me how this works and giving his permission to modify and publish his version of the script, which gave a start to this mod


All criticism, feedback, tips and requests welcome. Meet me on SubSim Forums (http://www.subsim.com/radioroom/).

(-) Abd_von_Mumit


-------------


Changelog
2010.09.01, v. 01.00

Added "Regular cruise sonar scan" script
Added "Single sonar scan" script
2010.09.02, v. 01.01

Added descriptions to all scripts (required by "Multiple UIs for SH5 with TDC" v. 4.2 and later)
Slightly modified existing scripts for better performance and user friendliness
Added "Bernaaard!!!" script
Added "Reminder: Report to BdU" script
Added "Reminder: Special Meal" script
Added "Reminder: News from Vaterland" script

2010.09.04, v. 01.02
Renamed script categories to be more self-descriptive
Renamed "Regular cruise sonar scan" to "Regular economic speed sonar scan"
Renamed "Single sonar scan" to "Single cruise speed sonar scan"
Added "Regular slow speed sonar scan" script
Added "Regular 1/3 speed sonar scan" script
Added "Regular standard speed sonar scan" script
Added "Regular full speed sonar scan" script
Added "Frequent flank speed sonar scan" script
Added "Patrol routine plotting" scipt category
Added "Regular 3'15" (x1) range checks" script
Added "Regular 6'30" (x2) range checks" script
Added "Regular 13' (x4) range checks" script
Added "Regular 32'30" (x10) range checks" script

Abd_von_Mumit
09-01-10, 08:59 AM
; Anything that follows a semicolon is a comment, i.e. is not executed by the script.
; To learn more about scripts check ./data/Automation/TDW_Automation.SHA

[AS]
Regular economic speed sonar scan ; Script name
[CATEGORY]
Patrol routine scans ; Script category name
[COMMANDS]
Activate_NavMap_Station,0,0,0,0,0,1,0 ; Switch to Navigation Map, do it only once during whole script run, then immediately execute next line
Set_Time_Compression,128,0,0,0,0,1,0 ; Set TC to x128, do it only once during whole script run, then immediately execute next line
Print_message,0,0,New depth 20 m!,0,0,0,0 ; Display the specified message, then immediately execute next line. If TC is low this particular message can show twice in the message box.
Set_new_depth,20,0,0,0,0,0,60 ; Go to 20 metres depth, after 60 seconds execute next line
All_stop,0,0,0,0,0,0,120 ; Stop all engines, after 120 seconds execute next line
Report_nearest_sound_contact,0,0,0,0,0,0,60 ; Report nearest sound contact, after 60 seconds execute next line
Surface,0,0,0,0,0,0,0 ; Surface, then immediately execute next line
Ahead_slow,0,0,0,0,0,0,120 ; Engines slow ahead bell, after 120 seconds execute next line
Set_new_speed,7.4,0,0,0,0,0,3240 ; Set speed as 7.4 knots (most fuel efficient), after 3240 seconds (54 minutes) execute next line
Loop,-1,0,0,0,0,0,0 ; Loop the script, i.e. go again to execute first line. Do it indefinitely ("-1 times").
[COMMANDS_END]
[DESCRIPTION]
Runs at TC x128 in NavMap mode, every ~1 hour does a sonar scan at depth of 20 metres, then goes back to surface to economic (fuel efficient) speed of about 7.5 knots.
Intended to use in open waters for searching contacts. Runs until stopped by user.
[DESCRIPTION_END]


[AS]
Regular slow speed sonar scan ; Script name
[CATEGORY]
Patrol routine scans ; Script category name
[COMMANDS]
Activate_NavMap_Station,0,0,0,0,0,1,0 ; Switch to Navigation Map, do it only once during whole script run, then immediately execute next line
Set_Time_Compression,128,0,0,0,0,1,0 ; Set TC to x128, do it only once during whole script run, then immediately execute next line
Print_message,0,0,New depth 20 m!,0,0,0,0 ; Display the specified message, then immediately execute next line. If TC is low this particular message can show twice in the message box.
Set_new_depth,20,0,0,0,0,0,60 ; Go to 20 metres depth, after 60 seconds execute next line
All_stop,0,0,0,0,0,0,120 ; Stop all engines, after 120 seconds execute next line
Report_nearest_sound_contact,0,0,0,0,0,0,60 ; Report nearest sound contact, after 60 seconds execute next line
Surface,0,0,0,0,0,0,0 ; Surface, then immediately execute next line
Ahead_slow,0,0,0,0,0,0,3360 ; Engines standard ahead bell, after 3360 seconds (56 minutes) execute next line
Loop,-1,0,0,0,0,0,0 ; Loop the script, i.e. go again to execute first line. Do it indefinitely ("-1 times").
[COMMANDS_END]
[DESCRIPTION]
Runs at TC x128 in NavMap mode, every ~1 hour does a sonar scan at depth of 20 metres, then goes back to surface to slow speed (bell 1).
Intended to use in open waters for searching contacts. Runs until stopped by user.
[DESCRIPTION_END]


[AS]
Regular 1/3 speed sonar scan ; Script name
[CATEGORY]
Patrol routine scans ; Script category name
[COMMANDS]
Activate_NavMap_Station,0,0,0,0,0,1,0 ; Switch to Navigation Map, do it only once during whole script run, then immediately execute next line
Set_Time_Compression,128,0,0,0,0,1,0 ; Set TC to x128, do it only once during whole script run, then immediately execute next line
Print_message,0,0,New depth 20 m!,0,0,0,0 ; Display the specified message, then immediately execute next line. If TC is low this particular message can show twice in the message box.
Set_new_depth,20,0,0,0,0,0,60 ; Go to 20 metres depth, after 60 seconds execute next line
All_stop,0,0,0,0,0,0,120 ; Stop all engines, after 120 seconds execute next line
Report_nearest_sound_contact,0,0,0,0,0,0,60 ; Report nearest sound contact, after 60 seconds execute next line
Surface,0,0,0,0,0,0,0 ; Surface, then immediately execute next line
Ahead_one_third,0,0,0,0,0,0,3360 ; Engines one third ahead bell, after 3360 seconds (56 minutes) execute next line
Loop,-1,0,0,0,0,0,0 ; Loop the script, i.e. go again to execute first line. Do it indefinitely ("-1 times").
[COMMANDS_END]
[DESCRIPTION]
Runs at TC x128 in NavMap mode, every ~1 hour does a sonar scan at depth of 20 metres, then goes back to surface to one third speed (bell 2).
Intended to use in open waters for searching contacts. Runs until stopped by user.
[DESCRIPTION_END]

[AS]
Regular standard speed sonar scan ; Script name
[CATEGORY]
Patrol routine scans ; Script category name
[COMMANDS]
Activate_NavMap_Station,0,0,0,0,0,1,0 ; Switch to Navigation Map, do it only once during whole script run, then immediately execute next line
Set_Time_Compression,128,0,0,0,0,1,0 ; Set TC to x128, do it only once during whole script run, then immediately execute next line
Print_message,0,0,New depth 20 m!,0,0,0,0 ; Display the specified message, then immediately execute next line. If TC is low this particular message can show twice in the message box.
Set_new_depth,20,0,0,0,0,0,60 ; Go to 20 metres depth, after 60 seconds execute next line
All_stop,0,0,0,0,0,0,120 ; Stop all engines, after 120 seconds execute next line
Report_nearest_sound_contact,0,0,0,0,0,0,60 ; Report nearest sound contact, after 60 seconds execute next line
Surface,0,0,0,0,0,0,0 ; Surface, then immediately execute next line
Ahead_standard,0,0,0,0,0,0,3360 ; Engines one third ahead bell, after 3360 seconds (56 minutes) execute next line
Loop,-1,0,0,0,0,0,0 ; Loop the script, i.e. go again to execute first line. Do it indefinitely ("-1 times").
[COMMANDS_END]
[DESCRIPTION]
Runs at TC x128 in NavMap mode, every ~1 hour does a sonar scan at depth of 20 metres, then goes back to surface to standard speed (bell 3).
Intended to use in open waters for searching contacts. Runs until stopped by user.
[DESCRIPTION_END]


[AS]
Regular full speed sonar scan ; Script name
[CATEGORY]
Patrol routine scans ; Script category name
[COMMANDS]
Activate_NavMap_Station,0,0,0,0,0,1,0 ; Switch to Navigation Map, do it only once during whole script run, then immediately execute next line
Set_Time_Compression,128,0,0,0,0,1,0 ; Set TC to x128, do it only once during whole script run, then immediately execute next line
Print_message,0,0,New depth 20 m!,0,0,0,0 ; Display the specified message, then immediately execute next line. If TC is low this particular message can show twice in the message box.
Set_new_depth,20,0,0,0,0,0,60 ; Go to 20 metres depth, after 60 seconds execute next line
All_stop,0,0,0,0,0,0,120 ; Stop all engines, after 120 seconds execute next line
Report_nearest_sound_contact,0,0,0,0,0,0,60 ; Report nearest sound contact, after 60 seconds execute next line
Surface,0,0,0,0,0,0,0 ; Surface, then immediately execute next line
Ahead_full,0,0,0,0,0,0,3360 ; Engines one third ahead bell, after 3360 seconds (56 minutes) execute next line
Loop,-1,0,0,0,0,0,0 ; Loop the script, i.e. go again to execute first line. Do it indefinitely ("-1 times").
[COMMANDS_END]
[DESCRIPTION]
Runs at TC x128 in NavMap mode, every ~1 hour does a sonar scan at depth of 20 metres, then goes back to surface to full speed (bell 4).
Intended to use in open waters for searching contacts. Runs until stopped by user.
[DESCRIPTION_END]


[AS]
Frequent flank speed sonar scan ; Script name
[CATEGORY]
Patrol routine scans ; Script category name
[COMMANDS]
Activate_NavMap_Station,0,0,0,0,0,1,0 ; Switch to Navigation Map, do it only once during whole script run, then immediately execute next line
Set_Time_Compression,64,0,0,0,0,1,0 ; Set TC to x64, do it only once during whole script run, then immediately execute next line
Print_message,0,0,New depth 20 m!,0,0,0,0 ; Display the specified message, then immediately execute next line. If TC is low this particular message can show twice in the message box.
Set_new_depth,20,0,0,0,0,0,50 ; Go to 20 metres depth, after 50 seconds execute next line
All_stop,0,0,0,0,0,0,30 ; Stop all engines, after 30 seconds execute next line
Set_Time_Compression,1,0,0,0,0,0,0; Set TC to x1, then immediately seconds execute next line
Print_message,0,0,Surface and go ahead flank in 30 seconds!,0,0,0,15 ; Display the specified message, after 15 seconds execute next line.
Report_nearest_sound_contact,0,0,0,0,0,0,15 ; Report nearest sound contact, after 15 seconds execute next line
Activate_NavMap_Station,0,0,0,0,0,0,0 ; Switch to Navigation Map, then immediately execute next line
Set_Time_Compression,64,0,0,0,0,0,0; Set TC to x64, then immediately execute next line
Surface,0,0,0,0,0,0,0 ; Surface, then immediately execute next line
Ahead_flank,0,0,0,0,0,0,780 ; Engines flank ahead bell, after 13 minutes execute next line. (flank can be changed to slow, one_third, standard, full)
Loop,-1,0,0,0,0,0,0 ; Loop the script, i.e. go again to execute first line. Do it indefinitely ("-1 times").
[COMMANDS_END]
[DESCRIPTION]
Runs at TC x64 in NavMap mode, every 15 minutes does a very fast sonar check at depth of 20 metres, gives you a short period of TC x1 to adjust course, then goes back to surface to flank speed and TC x64.
Intended to use for course adjustments when chasing already heard target. Runs until stopped by user. Running speed can by very easily modified to suit your needs.
[DESCRIPTION_END]


[AS]
Single cruise speed sonar scan ; Script name
[CATEGORY]
Patrol routine scans ; Script category name
[COMMANDS]
Print_message,0,0,New depth 20 m!,0,0,0,0 ; Display the specified message, then immediately execute next line. If TC is low this particular message can show twice in the message box.
Set_new_depth,20,0,0,0,0,0,60 ; Go to 20 metres depth, after 60 seconds execute next line
All_stop,0,0,0,0,0,0,120 ; Stop all engines, after 120 seconds execute next line
Report_nearest_sound_contact,0,0,0,0,0,0,60 ; Report nearest sound contact, after 60 seconds execute next line
Surface,0,0,0,0,0,0,0 ; Surface, then immediately execute next line
Ahead_slow,0,0,0,0,0,0,120 ; Engines slow ahead bell, after 120 seconds execute next line
Set_new_speed,7.4,0,0,0,0,0,0 ; Set speed as 7.4 knots (most fuel efficient)
[COMMANDS_END] ; End of the script
[DESCRIPTION]
Does a sonar scan at depth of 20 metres, then goes back to surface to fuel efficient speed.
Runs once then stops, doesn't change TC or station, can be run in first person view.
[DESCRIPTION_END]



[AS]
Regular 3'15" (x1) range checks ; Script name
[CATEGORY]
Patrol routine plotting ; Script category name
[COMMANDS]
Set_Time_Compression,1,0,0,0,0,0,0 ; Set TC to x1, then immediately execute next line.
Activate_NavMap_Station,0,0,0,0,0,0,0 ; Switch to Navigation Map, then immediately execute next line.
Print_message,0,0,New measurement in 15 seconds!,0,0,0,5 ; Display the specified message, after 5 seconds execute next line.
Print_message,0,0,New measurement in 10 seconds!,0,0,0,4 ; Display the specified message, after 4 seconds execute next line.
Print_message,0,0,Get ready!,0,0,0,1 ; Display the specified message, after 1 second execute next line.
Print_message,0,0,Five!,0,0,0,1 ; Display the specified message, after 1 second execute next line.
Print_message,0,0,Four!,0,0,0,1 ; Display the specified message, after 1 second execute next line.
Print_message,0,0,Three!,0,0,0,1 ; Display the specified message, after 1 second execute next line.
Print_message,0,0,Two!,0,0,0,1 ; Display the specified message, after 1 second execute next line.
Print_message,0,0,One!,0,0,0,1 ; Display the specified message, after 1 second execute next line.
Report_nearest_visual_contact,0,0,0,0,0,0,45 ; Order WO to report range and bearing to nearest visual contact, after 45 seconds execute next line.
Print_message,0,0,15 more seconds to finish plotting!,0,0,0,15 ; Display the specified message, after 15 seconds execute next line.
Set_Time_Compression,64,0,0,0,0,0,118 ; Set TC to x64, after 2 minutes execute next line (with -2 s adjustment to compensate for game/script clock issues).
Loop,-1,0,0,0,0,0,0 ; Loop the script, i.e. go again to execute first line. Do it indefinitely ("-1 times").
[COMMANDS_END]
[DESCRIPTION]
Runs at TC x64 in NavMap mode, and every 3 minutes 15 seconds lets you do your plotting on NavMap (doesn't do it for you).
Only useful for so called 3'15" (3 minutes 15 seconds) method of determining target's accurate course and speed (for details check: http://www.paulwasserman.net/SHIII/).
Runs until stopped by user.
[DESCRIPTION_END]



[AS]
Regular 6'30" (x2) range checks ; Script name
[CATEGORY]
Patrol routine plotting ; Script category name
[COMMANDS]
Set_Time_Compression,1,0,0,0,0,0,0 ; Set TC to x1, then immediately execute next line.
Activate_NavMap_Station,0,0,0,0,0,0,0 ; Switch to Navigation Map, then immediately execute next line.
Print_message,0,0,New measurement in 15 seconds!,0,0,0,5 ; Display the specified message, after 5 seconds execute next line.
Print_message,0,0,New measurement in 10 seconds!,0,0,0,4 ; Display the specified message, after 4 seconds execute next line.
Print_message,0,0,Get ready!,0,0,0,1 ; Display the specified message, after 1 second execute next line.
Print_message,0,0,Five!,0,0,0,1 ; Display the specified message, after 1 second execute next line.
Print_message,0,0,Four!,0,0,0,1 ; Display the specified message, after 1 second execute next line.
Print_message,0,0,Three!,0,0,0,1 ; Display the specified message, after 1 second execute next line.
Print_message,0,0,Two!,0,0,0,1 ; Display the specified message, after 1 second execute next line.
Print_message,0,0,One!,0,0,0,1 ; Display the specified message, after 1 second execute next line.
Report_nearest_visual_contact,0,0,0,0,0,0,45 ; Order WO to report range and bearing to nearest visual contact, after 45 seconds execute next line.
Print_message,0,0,15 more seconds to finish plotting!,0,0,0,15 ; Display the specified message, after 15 seconds execute next line.
Set_Time_Compression,128,0,0,0,0,0,310 ; Set TC to x128, after 5 minutes 15 seconds execute next line (with -5 s adjustment to compensate for game/script clock issues).
Loop,-1,0,0,0,0,0,0 ; Loop the script, i.e. go again to execute first line. Do it indefinitely ("-1 times").
[COMMANDS_END]
[DESCRIPTION]
Runs at TC x128 in NavMap mode, and every 6 minutes 30 seconds lets you do your plotting on NavMap (doesn't do it for you).
Only useful for so called 3'15" (3 minutes 15 seconds) method of determining target's accurate course and speed (for details check: http://www.paulwasserman.net/SHIII/).
Runs until stopped by user.
[DESCRIPTION_END]



[AS]
Regular 13' (x4) range checks ; Script name
[CATEGORY]
Patrol routine plotting ; Script category name
[COMMANDS]
Set_Time_Compression,1,0,0,0,0,0,0 ; Set TC to x1, then immediately execute next line.
Activate_NavMap_Station,0,0,0,0,0,0,0 ; Switch to Navigation Map, then immediately execute next line.
Print_message,0,0,New measurement in 15 seconds!,0,0,0,5 ; Display the specified message, after 5 seconds execute next line.
Print_message,0,0,New measurement in 10 seconds!,0,0,0,4 ; Display the specified message, after 4 seconds execute next line.
Print_message,0,0,Get ready!,0,0,0,1 ; Display the specified message, after 1 second execute next line.
Print_message,0,0,Five!,0,0,0,1 ; Display the specified message, after 1 second execute next line.
Print_message,0,0,Four!,0,0,0,1 ; Display the specified message, after 1 second execute next line.
Print_message,0,0,Three!,0,0,0,1 ; Display the specified message, after 1 second execute next line.
Print_message,0,0,Two!,0,0,0,1 ; Display the specified message, after 1 second execute next line.
Print_message,0,0,One!,0,0,0,1 ; Display the specified message, after 1 second execute next line.
Report_nearest_visual_contact,0,0,0,0,0,0,45 ; Order WO to report range and bearing to nearest visual contact, after 45 seconds execute next line.
Print_message,0,0,15 more seconds to finish plotting!,0,0,0,15 ; Display the specified message, after 15 seconds execute next line.
Set_Time_Compression,128,0,0,0,0,0,695 ; Set TC to x128, after 11 minutes 45 seconds execute next line (with -10 s adjustment to compensate for game/script clock issues).
Loop,-1,0,0,0,0,0,0 ; Loop the script, i.e. go again to execute first line. Do it indefinitely ("-1 times").
[COMMANDS_END]
[DESCRIPTION]
Runs at TC x128 in NavMap mode, and every 13 minutes lets you do your plotting on NavMap (doesn't do it for you).
Only useful for so called 3'15" (3 minutes 15 seconds) method of determining target's accurate course and speed (for details check: http://www.paulwasserman.net/SHIII/).
Runs until stopped by user.
[DESCRIPTION_END]



[AS]
Regular 32'30" (x10) range checks ; Script name
[CATEGORY]
Patrol routine plotting ; Script category name
[COMMANDS]
Set_Time_Compression,1,0,0,0,0,0,0 ; Set TC to x1, then immediately execute next line.
Activate_NavMap_Station,0,0,0,0,0,0,0 ; Switch to Navigation Map, then immediately execute next line.
Print_message,0,0,New measurement in 15 seconds!,0,0,0,5 ; Display the specified message, after 5 seconds execute next line.
Print_message,0,0,New measurement in 10 seconds!,0,0,0,4 ; Display the specified message, after 4 seconds execute next line.
Print_message,0,0,Get ready!,0,0,0,1 ; Display the specified message, after 1 second execute next line.
Print_message,0,0,Five!,0,0,0,1 ; Display the specified message, after 1 second execute next line.
Print_message,0,0,Four!,0,0,0,1 ; Display the specified message, after 1 second execute next line.
Print_message,0,0,Three!,0,0,0,1 ; Display the specified message, after 1 second execute next line.
Print_message,0,0,Two!,0,0,0,1 ; Display the specified message, after 1 second execute next line.
Print_message,0,0,One!,0,0,0,1 ; Display the specified message, after 1 second execute next line.
Report_nearest_visual_contact,0,0,0,0,0,0,45 ; Order WO to report range and bearing to nearest visual contact, after 45 seconds execute next line.
Print_message,0,0,15 more seconds to finish plotting!,0,0,0,15 ; Display the specified message, after 15 seconds execute next line.
Set_Time_Compression,128,0,0,0,0,0,1850 ; Set TC to x128, after 31 minutes 15 seconds execute next line (with -25 s adjustment to compensate for game/script clock issues).
Loop,-1,0,0,0,0,0,0 ; Loop the script, i.e. go again to execute first line. Do it indefinitely ("-1 times").
[COMMANDS_END]
[DESCRIPTION]
Runs at TC x128 in NavMap mode, and every 32 minutes 30 seconds lets you do your plotting on NavMap (doesn't do it for you).
Only useful for so called 3'15" (3 minutes 15 seconds) method of determining target's accurate course and speed (for details check: http://www.paulwasserman.net/SHIII/).
Runs until stopped by user.
[DESCRIPTION_END]



[AS]
Reminder: Report to BdU ; Script name
[CATEGORY]
Patrol routine reminders ; Script category name
[COMMANDS]
Wait,0,0,0,0,0,0,86400 ; Wait 24 hours, then execute the next line.
Set_Time_Compression,1,0,0,0,0,0,0 ; Set TC to x1, then immediately execute next line
Print_message,0,0,Time to send situation report to BdU Herr Kaleun!,0,0,0,86400 ; Display the specified message, then wait 24 hours and execute next line.
Loop,-1,0,0,0,0,0,0 ; Loop the script, i.e. go again to execute first line. Do it indefinitely ("-1 times").
[COMMANDS_END] ; End of the script
[DESCRIPTION]
Every 24 hours reminds to send a situational report to BdU, drops TC to x1. Activate at the time you want to send your reports at.
Runs until stopped by user.
[DESCRIPTION_END]


[AS]
Reminder: Special Meal ; Script name
[CATEGORY]
Patrol routine reminders ; Script category name
[COMMANDS]
Wait,0,0,0,0,0,0,9000 ; Wait 2.5 hours, then execute the next line.
Set_Time_Compression,1,0,0,0,0,0,0 ; Set TC to x1, then immediately execute next line
Print_message,0,0,Olaf caught some fresh fish to cook Herr Kaleun!,0,0,0,9000 ; Display the specified message, then wait 2.5 hours and execute next line.
Loop,-1,0,0,0,0,0,0 ; Loop the script, i.e. go again to execute first line. Do it indefinitely ("-1 times").
[COMMANDS_END] ; End of the script
[DESCRIPTION]
Every 2 and a half hours reminds that a Special Meal from the Cook is available, drops TC to x1. Activate when you order your Special Meal for the first time.
Runs until stopped by user.
[DESCRIPTION_END]


[AS]
Reminder: News from Vaterland ; Script name
[CATEGORY]
Patrol routine reminders ; Script category name
[COMMANDS]
Wait,0,0,0,0,0,0,88200 ; Wait 24.5 hours, then execute the next line.
Set_Time_Compression,1,0,0,0,0,0,0 ; Set TC to x1, then immediately execute next line
Print_message,0,0,Let's ask Wolfi for some radio news from Vaterland Herr Kaleun!,0,0,0,88200 ; Display the specified message, then wait 24.5 hours and execute next line.
Loop,-1,0,0,0,0,0,0 ; Loop the script, i.e. go again to execute first line. Do it indefinitely ("-1 times").
[COMMANDS_END] ; End of the script
[DESCRIPTION]
Every 24 and half hours reminds to order Radio News from Germany from the Radioman, drops TC to x1. Activate when you order your Fresh News for the first time.
Runs until stopped by user.
[DESCRIPTION_END]


[AS]
Bernaaard!!! ; Script name
[CATEGORY]
Patrol routine specials ; Script category name
[COMMANDS]
Wait,0,0,0,0,0,0,61920
Surface,0,0,0,0,0,0,180
Print_message,0,0,Bernaaard!!!,0,0,0,61920
All_stop,0,0,0,0,0,0,180
Print_message,0,0,Bernaaard!!!,0,0,0,61920
Set_new_course,249,0,0,0,0,0,180
Print_message,0,0,Bernaaard!!!,0,0,0,61920
Rise_whole_periscope,0,0,0,0,0,0,180
Print_message,0,0,Bernaaard!!!,0,0,0,61920
Get_depth_under_sub_keel,0,0,0,0,0,0,180
Print_message,0,0,Bernaaard!!!,0,0,0,61920
Disable_silent_running,0,0,0,0,0,0,180
Print_message,0,0,Bernaaard!!!,0,0,0,61920
Set_new_course,71,0,0,0,0,0,180
Print_message,0,0,Bernaaard!!!,0,0,0,61920
Ahead_slow,0,0,0,0,0,0,180
Print_message,0,0,Bernaaard!!!,0,0,0,61920
Print_message,0,0,He's sleeping... Let's paint his face.,0,0,0,61920
Ahead_flank,0,0,0,0,0,0,180
Print_message,0,0,Bernaaard!!!,0,0,0,61920
Periscope_depth,0,0,0,0,0,0,180
Print_message,0,0,Bernaaard!!!,0,0,0,61920
Back_full,0,0,0,0,0,0,180
Print_message,0,0,Bernaaard!!!,0,0,0,61920
Set_guns,2,1,0,1,4,0,0
Print_message,0,0,Bernaaard!!!,0,0,0,61920
Rise_whole_obs_periscope,0,0,0,0,0,0,180
Print_message,0,0,Bernaaard!!!,0,0,0,61920
All_stop,0,0,0,0,0,0,180
Print_message,0,0,Bernaaard!!!,0,0,0,61920
Set_new_depth_relative,30,0,0,0,0,0,180
Print_message,0,0,Bernaaard!!!,0,0,0,61920
Knuckle_port,0,0,0,0,0,0,180
Print_message,0,0,Bernaaard!!!,0,0,0,61920
Set_new_course,180,0,0,0,0,0,180
Print_message,0,0,Bernaaard!!!,0,0,0,61920
Surface,0,0,0,0,0,0,180
Print_message,0,0,Bernaaard!!!,0,0,0,61920
Disable_silent_running,0,0,0,0,0,0,180
Print_message,0,0,Bernaaard!!!,0,0,0,61920
Loop,-1,0,0,0,0,0,0
[COMMANDS_END] ; End of the script
[DESCRIPTION]
Let Bernard on your boat.
Lives until you keelhaul him or he kills you and your crew.
Use at your own risk.
[DESCRIPTION_END]

TheDarkWraith
09-01-10, 09:06 AM
just a question: why have the scripts run indefinitely until stopped by user? I put bits in them to have them stop, pause, pause game, or terminate script on contact spotted to avoid user intervention required. What you've done isn't incorrect or wrong in any way. I'm just curious as to why you set them up that way.

Abd_von_Mumit
09-01-10, 09:10 AM
just a question: why have the scripts run indefinitely until stopped by user? I put bits in them to have them stop, pause, pause game, or terminate script on contact spotted to avoid user intervention required. What you've done isn't incorrect or wrong in any way. I'm just curious as to why you set them up that way.

I see an update for this micro mod coming. :)

The answer to your question is - I didn't know. Must check the documentation again. Is it in ./data/Automation/TDW_Automation.SHA or some other place?

TheDarkWraith
09-01-10, 09:14 AM
I see an update for this micro mod coming. :)

The answer to your question is - I didn't know. Must check the documentation again. Is it in ./data/Automation/TDW_Automation.SHA or some other place?

yes it's in the TDW_Automation.SHA fie:

; Sweep_Scope,x,y,a,b,c,0,t - sweep the scope from a start of y degrees to an end of a degrees. Time to sweep from y to a determined by b. Next command will be issued after time t (time t doesn't start until sweeping complete). x = the scope station number (0=attack, 1=obs, 2=UZO). c is a decimal number representing the bits set for the following options (use windows calc to input binary number then convert to decimal):
; this function will wait for scope station to be visible (will wait for 15 seconds and if not visible then a skip command will be issued)
; bit 0 = lock the contact on contact spotted (if bit 2,3,4, or 5 isn't set then contact will be immediately unlocked)
; bit 1 = set current heading for contact on contact spotted
; bit 2 = stop sweep on contact spotted
; bit 3 = stop sweep and follow target on contact spotted
; bit 4 = pause sweep on contact spotted
; bit 5 = pause sweep and follow target on contact spotted
; bit 6 = pause game (and either also pause sweep) on contact spotted
; bit 7 = abort script on contact spotted
; bit 8 = inform user that contact was detected


; Sweep_hydrophone,x,y,a,b - sweep the hydrophone from a start of x degrees to an end of y degrees. Time to sweep from x to y determined by a. Next command will be issued after time t (time t doesn't start until sweeping complete). b is a decimal number representing the bits set for the following options (use windows calc to input binary number then convert to decimal):
; this function will wait for scope station to be visible (will wait for 15 seconds and if not visible then a skip command will be issued)
; bit 0 = inform user that contact was detected
; bit 1 = set current heading for contact on Unknown contact detected
; bit 2 = set current heading for contact on Warship contact detected
; bit 3 = set current heading for contact on Merchant contact detected
; bit 4 = stop sweep on Unknown contact detected
; bit 5 = stop sweep on Warship contact detected
; bit 6 = stop sweep on Merchant contact detected
; bit 7 = pause sweep on Unknown contact detected
; bit 8 = pause sweep on Warship contact detected
; bit 9 = pause sweep on Merchant contact detected
; bit 10 = pause game (and either also pause sweep) on contact detected
; bit 11 = abort script on contact detected
; bit 12 = set time compression to 1 on contact detected

bit 12 of Sweep_hydrophone will be in v4.2.0

Abd_von_Mumit
09-01-10, 09:21 AM
I didn't use the Sweep commands as I understood that they move the player to the station instead of doing the sweep in background. I'll now check them. Thanks. :salute:

TheDarkWraith
09-01-10, 09:49 AM
I didn't use the Sweep commands as I understood that they move the player to the station instead of doing the sweep in background. I'll now check them. Thanks. :salute:

they will not work unless you have the station activated. I made the activate stations commands 'move' you there and then 'move' you back to where you were when you leave them.

Abd_von_Mumit
09-01-10, 10:02 AM
they will not work unless you have the station activated. I made the activate stations commands 'move' you there and then 'move' you back to where you were when you leave them.

So this is the answer to your question - I can't use these two commands as the script is intended to run "silently" in high TC. However I'll test them a bit and consider making alternative scripts for those who don't mind going to lower TC and manning the station themselves as well. Maybe we'll find some more issues to fix. :)

TheDarkWraith
09-01-10, 10:11 AM
So this is the answer to your question - I can't use these two commands as the script is intended to run "silently" in high TC. However I'll test them a bit and consider making alternative scripts for those who don't mind going to lower TC and manning the station themselves as well. Maybe we'll find some more issues to fix. :)

there are commands available to automatically man and disman the stations in Automation

Abd_von_Mumit
09-01-10, 10:39 AM
there are commands available to automatically man and disman the stations in Automation

But would Sweep_hydrophone,x,y,a,b work as intended if the station was unmanned immediately upon command start and TC x128 restored? As I understand manning the station drops TC to 1, so I would then have to:
1. switch to NavMap (TC x128 is not possible in first person view),
2. Restore TC x128

TheDarkWraith
09-01-10, 10:47 AM
But would Sweep_hydrophone,x,y,a,b work as intended if the station was unmanned immediately upon command start and TC x128 restored?

nope. I have condition in the Sweep_hydrophone command that says if station is not manned in 15 seconds to order a skip command.

Abd_von_Mumit
09-01-10, 10:54 AM
nope. I have condition in the Sweep_hydrophone command that says if station is not manned in 15 seconds to order a skip command.

So conclusion is I can't use the two Sweep commands without interrupting TC x128, is that correct?

Btw, while testing the scripts I came to conclusion that there should be a "Description" tag that would show its value on hover in game. :D Well, also a "Print" would be good, that sends its value to message box, possibly with some parameters... I know, I know... :P

TheDarkWraith
09-01-10, 10:59 AM
So conclusion is I can't use the two Sweep commands without interrupting TC x128, is that correct?

Btw, while testing the scripts I came to conclusion that there should be a "Description" tag that would show its value on hover in game. :D Well, also a "Print" would be good, that sends its value to message box, possibly with some parameters... I know, I know... :P

manning hydrophone doesn't drop your TC level to 1. Just tried it at TC32 and it stayed at 32.

You can exceed 32 inside the sub but you have to edit your \Documents\SH5\data\cfg\main.cfg file:

[TIME COMPRESSION]
; The first value is the default one, the second value is used when 'travel mode' is activated.
; The two values should be separated by a comma.
; If only one value is specified, that value is used for both default and travel mode.
TimeStop=0
RealTime=1
LandProximity=8,8192
CriticalDamage=1,1024
CrewEfficiency=128
AirEnemyDetected=1,8
SoundEffects=2
CharacterAnim=32
FriendDetected=32,8192
EnemyDetected=8,64
RadioReport=32,8192
Particles=32
PrayState=8,32
HunterState=8,32
3DRender=32
Maximum=8192

I believe 3DRender is the value that will need to be changed to be able to exceed 32 inside the sub.

What is this "Description" tag and "Print" that you are referencing? What would they do?

Abd_von_Mumit
09-01-10, 11:11 AM
[...] I believe 3DRender is the value that will need to be changed to be able to exceed 32 inside the sub.

I understand that, but that would require players to manually edit the file if they wanted the TC to be higher than x32, which kind of defeats the purpose of this simple little mod. I'll think about it though.

What is this "Description" tag and "Print" that you are referencing? What would they do?

Description would be to tell player what the automation script does or whatever else the author would need to include in it. This would serve user friendliness - I assume the number of user scripts will grow fast as time passes, and one day people will have too many of them to remember what each one of them is for (name is too short to include all details). As an example for my main script the value of Description would say something like:
Runs at TC x128 in NavMap mode,
every ~1 hour does a sonar scan at depth of 20 metres
then goes back to surface to fuel efficient speed,
intended to use in open waters for searching contacts.
Runs until stopped by user.
This would show on mouse hover in Automation window.

Print would just post a message in message box, for example I would add a line that says "New depth 20 metres", as for a reason I don't know Set_new_depth doesn't give a message in message box at all.

It could serve other purposes, like a script that reminds you every X hours to do something ("Herr Kaleun, time to clean the toilet Sir!", "Talk to Cook for another Special Meal", "Past Midnight, time to update your ChalkBoard!") and so on.


Another suggestion is: the message box info about a loop being started again is a bit of an immersion killer. :) Players use scripts, but do they want to be reminded about that in the message box?

TheDarkWraith
09-01-10, 11:16 AM
Description would be to tell player what the automation script does or whatever else the author would need to include in it. This would serve user friendliness - I assume the number of user scripts will grow fast as time passes, and one day people will have too many of them to remember what each one of them is for (name is too short to include all details). As an example for my main script the value of Description would say something like:
Runs at TC x128 in NavMap mode,
every ~1 hour does a sonar scan at depth of 20 metres
then goes back to surface to fuel efficient speed,
intended to use in open waters for searching contacts.
Runs until stopped by user.
This would show on mouse hover in Automation window.

Print would just post a message in message box, for example I would add a line that says "New depth 20 metres", as for a reason I don't know Set_new_depth doesn't give a message in message box at all.

It could serve other purposes, like a script that reminds you every X hours to do something ("Herr Kaleun, time to clean the toilet Sir!", "Talk to Cook for another Special Meal", "Past Midnight, time to update your ChalkBoard!") and so on.

Another suggestion is: the message box info about a loop being started again is a bit of an immersion killer. :) Players use scripts, but do they want to be reminded about that in the message box?

I like the Print thing...I'll add a new command in Automation for this

Description I like also but it would fundamentally change the script parser....I'll see what I can do.

What I'll do about the start, stop, and loop message box messages from Automation is to define a user option so you can control if they are all displayed or not.

Abd_von_Mumit
09-02-10, 12:19 PM
IMPORTANT: You need version 4.2 (latest) of "Multiple UIs" mod to use these scripts. If you still use older version of "Multiple UIs", do not update my mod.

Updated to version 01.01:
- Added descriptions to all scripts (required by "Multiple UIs for SH5 with TDC" v. 4.2 and later)
- Slightly modified existing scripts for better performance and user friendliness
- Added "Bernaaard!!!" script
- Added "Reminder: Report to BdU" script
- Added "Reminder: Special Meal" script
- Added "Reminder: News from Vaterland" script

New scripts added:
Bernaaard!!!
Let Bernard on your boat.
Lives until you keelhaul him or he kills you and your crew.
Use at your own risk.
Reminder: Report to BdU
Every 24 hours reminds to send a situational report to BdU, drops TC to x1. Activate at the time you want to send your reports at.
Runs until stopped by user.
Reminder: Special Meal
Every 2 and a half hours reminds that a Special Meal from the Cook is available, drops TC to x1. Activate you order your Special Meal for the first time.
Runs until stopped by user.
Reminder: News from Vaterland
Every 24 and half hours reminds to order Radio News from Germany from the Radioman, drops TC to x1. Activate you order your Fresh News for the first time.
Runs until stopped by user.

Download:
Patrol Routine Scripts v. 01.01 by Avm [contains also v. 01.00] (http://www.subsim.com/radioroom/downloads.php?do=file&id=2786)

Ragtag
09-02-10, 04:17 PM
I love this script. Especially the 128x sonar search script. Just one thing.
For those that use Darkwraith's "no hydrophone surface" mod, you have to edit the script to dive to 30 meters or your'e sonarman won't detect anything. Just a heads up :)

Abd_von_Mumit
09-02-10, 05:23 PM
For those that use Darkwraith's "no hydrophone surface" mod, you have to edit the script to dive to 30 meters or your'e sonarman won't detect anything. Just a heads up :)

I use TheDarkWraith's "no hydrophone on surface" and I detect targets at 20 metres. As far as I know his "no hydrophone" switches sonar off at any depth above 9 m, so 20 metres should be far enough. I'll look into it though, so if you're correct, I'll modify my scripts accordingly.

There are at least 2 reasons I see for it to be rather 20 metres than 30 metres:
- historical correctness (although it would be rather incorrect to dive to sonar check every hour),
- safety - shallow waters of continental shelve, especially at British Eastern coast, would kill any sub attempting to dive to 30 metres every hour. :)

Thanks for info.

Ragtag
09-02-10, 11:57 PM
Hmm sorry my mistake. Looks like it works at 20 now :)

Abd_von_Mumit
09-03-10, 06:29 AM
Changed host from FileFront to SubSim and added a very sexy photo.

Thanks Neal! :salute:

Abd_von_Mumit
09-04-10, 11:10 AM
Updated to version 01.02:
Renamed script categories to be more self-descriptive
Renamed "Regular cruise sonar scan" to "Regular economic speed sonar scan"
Renamed "Single sonar scan" to "Single cruise speed sonar scan"
Added "Regular slow speed sonar scan" script
Added "Regular 1/3 speed sonar scan" script
Added "Regular standard speed sonar scan" script
Added "Regular full speed sonar scan" script
Added "Frequent flank speed sonar scan" script
Added "Patrol routine plotting" scipt category
Added "Regular 3'15" (x1) range checks" script
Added "Regular 6'30" (x2) range checks" script
Added "Regular 13' (x4) range checks" script
Added "Regular 32'30" (x10) range checks" script


New scripts added:


Regular slow speed sonar scan
Runs at TC x128 in NavMap mode, every ~1 hour does a sonar scan at depth of 20 metres, then goes back to surface to slow speed (bell 1).
Intended to use in open waters for searching contacts. Runs until stopped by user.
Regular 1/3 speed sonar scan
Runs at TC x128 in NavMap mode, every ~1 hour does a sonar scan at depth of 20 metres, then goes back to surface to one third speed (bell 2).
Intended to use in open waters for searching contacts. Runs until stopped by user.
Regular standard speed sonar scan
Runs at TC x128 in NavMap mode, every ~1 hour does a sonar scan at depth of 20 metres, then goes back to surface to standard speed (bell 3).
Intended to use in open waters for searching contacts. Runs until stopped by user.
Regular full speed sonar scan
Runs at TC x128 in NavMap mode, every ~1 hour does a sonar scan at depth of 20 metres, then goes back to surface to full speed (bell 4).
Intended to use in open waters for searching contacts. Runs until stopped by user.
Frequent flank speed sonar scan
Runs at TC x64 in NavMap mode, every 15 minutes does a very fast sonar check at depth of 20 metres, gives you a short period of TC x1 to adjust course, then goes back to surface to flank speed and TC x64.
Intended to use for course adjustments when chasing already heard target. Runs until stopped by user. Running speed can by very easily modified to suit your needs.


Regular 3'15" (x1) range checks
Runs at TC x64 in NavMap mode, and every 3 minutes 15 seconds lets you do your plotting on NavMap (doesn't do it for you).
Only useful for so called 3'15" (3 minutes 15 seconds) method of determining target's accurate course and speed (for details check: http://www.paulwasserman.net/SHIII/).
Runs until stopped by user.
Regular 6'30" (x2) range checks
Runs at TC x128 in NavMap mode, and every 6 minutes 30 seconds lets you do your plotting on NavMap (doesn't do it for you).
Only useful for so called 3'15" (3 minutes 15 seconds) method of determining target's accurate course and speed (for details check: http://www.paulwasserman.net/SHIII/).
Runs until stopped by user.
Regular 13' (x4) range checks
Runs at TC x128 in NavMap mode, and every 13 minutes lets you do your plotting on NavMap (doesn't do it for you).
Only useful for so called 3'15" (3 minutes 15 seconds) method of determining target's accurate course and speed (for details check: http://www.paulwasserman.net/SHIII/).
Runs until stopped by user.
Regular 32'30" (x10) range checks
Runs at TC x128 in NavMap mode, and every 32 minutes 30 seconds lets you do your plotting on NavMap (doesn't do it for you).
Only useful for so called 3'15" (3 minutes 15 seconds) method of determining target's accurate course and speed (for details check: http://www.paulwasserman.net/SHIII/).
Runs until stopped by user.

Known issue related to the newly added scripts:
In game clock and script clock are not perfectly synchronised, thus 3:15 minutes can be measured different by your Zentrale clock and by the script you use. Differences do not exceed 5%, so this only slightly affects 3'15" method scripts timing accuracy. Hopefully will be fixed by later versions of "Multiple UIs".


Download: Patrol Routine Scripts v. 01.02 by Avm [contains also v. 01.00] (http://www.subsim.com/radioroom/downloads.php?do=file&id=2786)

Abd_von_Mumit
09-05-10, 09:44 PM
Reediting this message after I realised I was editing wrong menu.cfg file. :damn:

You can exceed 32 inside the sub but you have to edit your \Documents\SH5\data\cfg\main.cfg file:
[...]
I believe 3DRender is the value that will need to be changed to be able to exceed 32 inside the sub.

Edited and works, thanks a lot. Still trying to work out what some of the other lines mean. Main concern right now - how to make the _sound_ make behave in TC > 32 as it was TC =< 32. Now all the sounds are "fast forwarded" in an irritating, non-immersive and unacceptable manner whenever TC > 32 in 3Dmode. Can't find an option to change that though.

Abd_von_Mumit
09-09-10, 03:56 PM
Shameless bump with something useful in it:

When you use my "sonar check" series scripts with default game/TDW's mod settings, your TC does NOT drop to x1 when a contact is established (for me it silently drops to TC x32, which is much too much). Here is what I did to change this default behaviour:

Find your TheDarkWraithUserOptions.py file (located in \MODS\NewUIs_TDC_4_3_0_ByTheDarkWraith\data\Script s\Menu - a MUST READ), which you can edit with Notepad, find the line that says:

TCxOnMessageBoxText =
and make sure the value is True, i.e. the line looks like that after you edit it:

TCxOnMessageBoxText = True
This will let some messages displayed in your message box drop the TC.

Then find the line that says:

TCxOnMessageBoxTextDesiredTCLevel =
and input any TC you want the game to drop to when message is received. You can set it to 0 if you want the game paused, other values must be generally powers of 2, i.e.: 1, 2, 4, 8, 16, 32, 64, 128, 256 and higher. Mine is 1:

TCxOnMessageBoxTextDesiredTCLevel = 1

The last step is telling your game on what messages it should drop the TC. Find the line that says:

TCxOnMessageBoxTextNumbers = [ 9200,9201,9202,9203,9204,9205,817,4800,4801,9206,9 207,9208,9209,9210,9211,9212,7666,7667 ]
The numbers are associated with records from menu.txt file. The default set that TDW put here is somewhat narrow - no idea why. I added MUCH more values to this line, and now my game does drop to 1 whenever something of significance happens. You can find out your own best set up by going through menu.txt, or you can just copy my one:

TCxOnMessageBoxTextNumbers = [ 810,811,812,813,814,815,816,817,819,4202,4203,4352 ,4353,4354,4355,4517,4518,4723,4800,4801,4806,4912 ,5879,7636,7637,7638,7639,7642,7644,7645,7666,7667 ,8000,8001,8002,8004,8005,8006,8007,8008,8009,8010 ,8011,8012,8013,8014,8015,8016,8017,8018,8019,8020 ,8021,8022,8023,8024,8025,8026,8027,8028,8029,8030 ,8031,8032,8033,8034,8035,8036,8037,8038,8039,8040 ,8041,8042,8043,8044,8045,8046,8047,8048,8049,8050 ,8051,8052,8053,8054,8057,8058,8062,8063,8064,8065 ,8066,8067,8068,8069,9200,9201,9202,9203,9204,9205 ,9206,9207,9208,9209,9210,9211,9212 ]


All lthe values I added are explained below:
#810=Ship sighted! Bearing %03d! %s
#811=Aircraft spotted! Bearing %03d! %s
#812=Submarine sighted! Bearing %03d! %s
#813=Coastal defenses sighted! Bearing %03d! %s
#814=Single contact! Bearing %03d! %s
#815=New contact, %s %s %s Bearing %03d! %s; xls: 834, 838-841, 850-851, 852, 853, 855, 862-864
#816=Radio Report Received! %s %s, %s, Course %s, Speed %d KTS!
#817=Detecting radar signals!
#819=Sir, we've sighted a liferaft. Bearing %03d! %s
#4202=Convoy sighted.|Estimated speed %d knots.|Estimated course %d degrees.
#4203=Task Force sighted.|Estimated speed %d knots.|Estimated course %d degrees.
#4352=Oh, my God!!!
#4353=God help us!!!
#4354=We're going to die!!!
#4355=Alaaaaaarm!
#4517=Pressure hull breached!!!
#4518=We cannot stop the flooding!!!
#4723=Last waypoint reached!
#4806=Enemy radio message intercepted!
#4912=Nearest sound contact: %s %s! %s Bearing %03.0f! %s;type,speed,aspect,bearing,range
#5879=CO2 level is critical, sir!
#7636=Convoy sighted! Bearing %03d! %s
#7637=Escort sighted! Bearing %03d! %s
#7638=Capital ship sighted! Bearing %03d! %s
#7639=Unidentified ship sighted! Bearing %03d! %s
#7642=U-Boat sighted! Bearing %03d! %s
#7644=Periscope sighted! Bearing %03d! %s
#7645=Smoke on the horizon! Bearing %03d!
#7666=Task Force sighted!
#7667=We have a task force in sight!
#; Chief engineer.
#8000=Periscope repaired!
#8001=Periscope damaged!
#8002=Periscope destroyed!
#8003=Batteries now operational!
#8004=Batteries damaged!
#8005=Fore Battery disabled!
#8006=Aft Battery disabled!
#8007=Compressor repaired!
#8008=Compressor damaged!
#8009=Compressor destroyed!
#8010=Diesel engines repaired!
#8011=Port Diesel engine damaged!
#8012=Starboard Diesel engine damaged!
#8013=Diesel propulsion not functional!
#8014=Dive planes repaired!
#8015=Dive planes damaged!
#8016=Dive planes inoperational!
#8017=Propeller repaired!
#8018=Propeller damaged!
#8019=Propeller destroyed!
#8020=Rudder repaired!
#8021=Rudder damaged!
#8022=Rudder jammed!
#8023=Rudder is not responding!
#8024=Electric engines repaired!
#8025=Port Electric engine damaged!
#8026=Starboard Electric engine damaged!
#8027=Underwater propulsion not functional!
#8028=We have flooding!
#8029=We have heavy flooding
#8030=Flooding is out of control!
#8031=Flooding is under control!
#8032=Main Pump repaired!
#8033=Main Pump damaged!
#8034=Main Pump disabled!
#8035=Hydrophone out of action!
#8036=Hydrophone back on line!
#8037=Pressure hull repaired!
#8038=Pressure hull taking damage!
#8039=Pressure hull breached!
#8040=Pressure hull heavily damaged!
#; RadioMan.
#8041=Radar damaged, sir!
#8042=Radar destroyed, sir!
#8043=Radar repaired, sir!
#8044=Radio damaged, sir!
#8045=Radio destroyed, sir!
#8046=Radio repaired, sir!
#8047=We are diving too deep!
#8048=We are below critical depth!
#; Sound guy
#8049=New contact,
#8050=unknown type
#8051=warship
#8052=merchant
#8053=escort
#8054=destroyer
#8057=but I can't make out what it is
#8058=New contact, %s bearing %03d!; xls: 834, 860
#8062=I'm picking up something, but I can't make it out.
#8063=Deck gun is out of order.
#8064=Deck gun operational.
#8065=Flak gun operational.
#8066=Flak gun damaged.
#8067=Hydrophone damaged!
#8068=Torpedo tube %d is damaged! ; xls: 1093
#8069=Torpedo tube %d repaired! ; xls: 1097


Most probably some of this values are never used by game and do nothing, but this is not a problem for me.

Farinhir
01-08-11, 02:39 AM
So I have been trying to get this to work with TDWs UI which is of version 6.3 and I still have not seen any of the scripts show up. I can get krauter's and travelly's scripts going so I do not understand it at all. Any help would be appreciated.

TheDarkWraith
01-08-11, 08:50 AM
So I have been trying to get this to work with TDWs UI which is of version 6.3 and I still have not seen any of the scripts show up. I can get krauter's and travelly's scripts going so I do not understand it at all. Any help would be appreciated.

he never updated them to the new version the mod expects. I had to make a fundamental change to the way the scripts were coded some versions back.

Farinhir
01-08-11, 12:47 PM
he never updated them to the new version the mod expects. I had to make a fundamental change to the way the scripts were coded some versions back.

Thats ok. I was able to stumble upon travelly's scripts 0.3 which do some of what I was looking for. The reminders from this would be nice. I just do not know what is needed to update them else I would myself.

Only glitch I see with travelly's scripts (not really a glitch and not really his fault) is that I am now playing with real navigation and can not set waypoints, so I can not run his patrol script, which does a dive to check SONAR every hour, a turn to check baffles, then surfaces while performing an RtC command. The issue is it calls return to course and my navigator calls all stop since we do not have a plotted course. I am wondering if there is a way to add in a generic course plot. Basically, you would just set a true course as your plot and the return to course command would basically recall what course you were on. I do not know. I am just trying to figure out a workaround for this issue.

TheDarkWraith
01-08-11, 12:50 PM
Thats ok. I was able to stumble upon travelly's scripts 0.3 which do some of what I was looking for. The reminders from this would be nice. I just do not know what is needed to update them else I would myself.

Only glitch I see with travelly's scripts (not really a glitch and not really his fault) is that I am now playing with real navigation and can not set waypoints, so I can not run his patrol script, which does a dive to check SONAR every hour, a turn to check baffles, then surfaces while performing an RtC command. The issue is it calls return to course and my navigator calls all stop since we do not have a plotted course. I am wondering if there is a way to add in a generic course plot. Basically, you would just set a true course as your plot and the return to course command would basically recall what course you were on. I do not know. I am just trying to figure out a workaround for this issue.

that's not going to be solved until I make the next MAJOR fundamental change to Automation - ability to define variables and call functions like I did with the tutorial feature. As it's going to be a daunting task of making this change it's going to take some time to do.

Trevally.
01-08-11, 02:05 PM
good spot Farinhir

When script runs a dive hydro check (o bearing) followed by a 90 deg starboard - hydro check then return to course.

This could be fixed by changing the "return to course" with a 90deg left turn and a set speed.

just delete lines:-

Return_to_course,0,0,0,0,0,0,5
Surface,0,0,0,0,0,0,5

and insert this:-

Set_new_course,-90,0,0,0,0,0,5
Surface,0,0,0,0,0,0,60

I will add a real nav search on patrol to v0.4

:yeah:

Farinhir
01-08-11, 03:31 PM
that's not going to be solved until I make the next MAJOR fundamental change to Automation - ability to define variables and call functions like I did with the tutorial feature. As it's going to be a daunting task of making this change it's going to take some time to do.

@TDW.
Take your time. I am thankful for the awesome work you have already done.

@Travally.
Good call. This should fix my headache for now. At least the one from in-game stuff, not the one from sinus pressure. ;)

dcb
01-23-11, 02:01 AM
As I don't know very well how scripts are working, I'm not sure if what I have in mind is possible, but I'll ask anyway:

I'm thinking about an automated behavior that will initiate emergency dive and evasive maneuvers as soon as a plane is spotted. IRL, this was the job of the watch crew, and not that of the captain (he might have been asleep, or eating, or whatever). Relaying the 'plane spotted' message to the skipper and waiting for him to order the emergency dive would have wasted valuable seconds, so it was up to the watch crew to ring the alarm.

Can scripts replicate this behavior, so that the AI takes evasive maneuvers on its own?

Trevally.
01-23-11, 06:04 AM
As I don't know very well how scripts are working, I'm not sure if what I have in mind is possible, but I'll ask anyway:

I'm thinking about an automated behavior that will initiate emergency dive and evasive maneuvers as soon as a plane is spotted. IRL, this was the job of the watch crew, and not that of the captain (he might have been asleep, or eating, or whatever). Relaying the 'plane spotted' message to the skipper and waiting for him to order the emergency dive would have wasted valuable seconds, so it was up to the watch crew to ring the alarm.

Can scripts replicate this behavior, so that the AI takes evasive maneuvers on its own?

See this thread here http://www.subsim.com/radioroom/showthread.php?t=174400

For now it can't run when a plane is spotted. You still need to run the script.

TDW has however posted notes in the automation txt that commands we have in the tutorial files will be added to automation.
When this happen - the script you discribe will then be possible:up:

Akula4745
01-23-11, 08:27 AM
For now it can't run when a plane is spotted. You still need to run the script.

TDW has however posted notes in the automation txt that commands we have in the tutorial files will be added to automation.
When this happen - the script you discribe will then be possible:up:

Now that sounds promising!!

Trevally.
01-23-11, 08:37 AM
This is the sweep cammand from automation:-


; Sweep_Scope,x,y,a,b,c,0,t - sweep the scope from a start of y degrees to an end of a degrees. Time to sweep from y to a determined by b. Next command will be issued after time t (time t doesn't start until sweeping complete). x = the scope station number (0=attack, 1=obs, 2=UZO). c is a decimal number representing the bits set for the following options (use windows calc to input binary number then convert to decimal):
; this function will wait for scope station to be visible (will wait for 15 seconds and if not visible then a skip command will be issued)
; bit 0 = lock the contact on contact spotted (if bit 2,3,4, or 5 isn't set then contact will be immediately unlocked)
; bit 1 = set current heading for contact on contact spotted
; bit 2 = stop sweep on contact spotted
; bit 3 = stop sweep and follow target on contact spotted
; bit 4 = pause sweep on contact spotted
; bit 5 = pause sweep and follow target on contact spotted
; bit 6 = pause game (and either also pause sweep) on contact spotted
; bit 7 = abort script on contact spotted
; bit 8 = inform user that contact was detected


If this could be used without having to be at the station - it could be used to continuously to fix the "my watch crew are blind" problem.

Also if this could be added :-


;Operation|a|b|c|d|e|f - performs operation, a, on b and c. d, if used, is a valid Label command or variable/pointer to a label command. a can be a variable or pointer (needs to be enclosed in <>). b, c and d, if used, can be variables or pointers and needs to be enclosed in <<>> or specify None.
; if b is None then operand 1 is the value retrieved from g_TR1 else operand 1 is the value retrieved for b (if value retrieved is a pointer it will be dereferenced)
; if c is a literal value (i.e. 5 or 7.9) then it must have a type declarer following it. Specify u for unsigned integer, i for integer, f for float, and nothing for strings
; if a is + or - then e defines the dial type: 0 = not a dial, 1 = a dial whose values are -180 to 180, 2 = a dial whose values are 0 to 360


Then all sorts of things could be done.:up:

dcb
01-23-11, 01:21 PM
See this thread here http://www.subsim.com/radioroom/showthread.php?t=174400

For now it can't run when a plane is spotted. You still need to run the script.

TDW has however posted notes in the automation txt that commands we have in the tutorial files will be added to automation.
When this happen - the script you discribe will then be possible:up:


Thank you for your answer. I took the time and read the thread you mentioned, and found an idea that looks promising, at least to me. This is one of the posts by TDW in the thread:

Yes the script can either pause or pause the game on contact detected.

If a script can do something like this on contact detected, then imagine a plane evasion script activated at the beginning of the patrol, which stays "silent" until the plane is detected, then runs the series of commands. It's like some sort of "sleeping script" that only activates itself when a certain condition (plane detected) is met. After the evasion maneuvers are completed, the script ends and it is up to the player to reactivate it again when he resurfaces.Is something like this possible? Unfortunately, I know nothing about Python and working with scripts, so here I am bothering you and other people who know.:D

Trevally.
01-23-11, 01:37 PM
For this to work the sweep scope (uzo) would need to work when not at station. I don't know if this is possible.

When TDW added the message feature he scanned a radius around the boat for contacts and send a message etc.
If this same command could be introduced into automation, it could then be used to set conditions.

It would need to be able to detect height so as to determine ship or aeroplane. I know detecting speed is not possible - so height:06:

If all this could be done it would go a long way to getting better info from your crew. Some scripts could be set to take action and others could just flash up a message for you to take action.

Paco
09-10-12, 02:24 PM
Hello,

are these scripts usable with New UI 7.x.x? Or are they outdated, I'm not shure.:hmmm:

Paco.

TheDarkWraith
09-10-12, 10:45 PM
Hello,

are these scripts usable with New UI 7.x.x? Or are they outdated, I'm not shure.:hmmm:

Paco.

Yes they are usable. My Automation class hasn't changed for many, many versions now :up:

Paco
09-11-12, 01:08 AM
Yes they are usable. My Automation class hasn't changed for many, many versions now :up:

Thanks! :up:

Shmal_
02-25-16, 03:06 PM
Who ever tryed to remake it for Magui interface mod?