Log in

View Full Version : Hand writing missions


Reinhard Hardegen
07-19-08, 01:55 PM
Does anyone still know were I can find information on hand writing missiond for SH2, There used to be a manual for it a long time ago, from our friends in the Wolfpack League. It is getting so hard to find anything on the internet for SH2, and I know there are still people who play it, as I do.

Any help would be great.

Thanks,

Hitman
07-20-08, 03:39 AM
Look in that section pointed by Mikhail for the "Silent Hunter II Scenario Hand Edit Guide" and also you can try to find klh's mission editing notes, a very resourceful document. :up:

Reinhard Hardegen
07-21-08, 08:14 AM
Thanks guys I do have the download manual from subsim, I was looking more on how to edit and make radio messages by waypoints, which is not covered there. Hitman, were can I find klh's mission editing notes?

Thanks again guys.

Hitman
07-21-08, 02:36 PM
It's just a small txt (SDF extension for SH2) file, so I've copied it here:


; Scenario Definition File (SDF) Editor's Aid
; for Silent Hunter II and Destroyer Command
;
; file SDFNotes.sdf
; by Kapitänleutnant Hähl (klh)
; version 22-Sept-2003
;
;================================================= ===========
; General Notes
;================================================= ===========
; This is a compilation of notes from various sources, existing scenarios, forum entries, as well as results from my own testing.
; Whilst efforts have been made to ensure accuracy, there may be errors, so please contact me through the www.subsim.com (http://www.subsim.com/) forum.
; This SDF can be used as a template to create new missions or simply as a reference. This is not intended to be a comprehensive SDF editing guide as there are already several good ones available.
; My apologies for not citing the original sources of each piece of information. If you discovered an item shown here, please accept the thanks of the community.
;
; The format of a scenario definition file (SDF) is a series of blocks which contain parameters to define many things such as the location, weather, time, units that will appear, etc.
; Blocks are formatted as [BLOCK] or [BLOCKx] or [BLOCKx.x] - note that the title "BLOCK" is actually an appropriate title such as "OBJECTIVE" or "GROUP" or "UNIT", and must be capital letters
; "x" is a sequential number in blocks where multiple blocks of the same type are needed, such as units or objectives. The number may also be in the format of x.x to denote subgroups (see below for more explanation).
; Where multiple blocks are commonly used, this file contains a commented block written as [BLOCK0] with accompanying notes. The [BLOCK0] should not be used except as a reference. The SDF writer should modify [BLOCK1] and add subsequent blocks as needed.
; The game engine reads blocks sequentially. If there are repeated blocks, the game engine reads the first block only and then none after that. Missing blocks also cause all subsequent blocks to be ignored.
; Parameters may be placed in any order within a block (except Group Orders which must be sequential).
; Any text preceded by a ";" will be ignored by the game engine. This is useful for adding comments.
; Parameter options in this file are shown in { }. Where known or appropriate, the default option is listed first.
; Descriptions and other notes are generally shown in ( ).
;
; In general, distances are in metres or nautical miles (in SH2 and DC, 1 nm = 2000 metres), and longitudes and latitudes are in decimal degrees up to six decimal places (with positive being east of Greenwich or north of equator, negative is south or west)
;
; Once the mission sdf is comlete, place it in the \Shell\Scenarios folder to run it as a Single Mission.
; To create a mission briefing, create a text file with the same title as the ".sdf", but with the extension ".txt".
; Place this file into the ...\Text\English folder (in this example, the file would be SDFNotes.txt)
; It is customary to place the same briefing in a radio message delivered just after the mission begins so the player can easily refer to it during the mission.
;================================================= ===========
; Scenario Parameters (provides data for the setup of the scenario)
;================================================= ===========
[SCENARIO]
Date = 19441101; (date for start of scenario in YYYYMMDD)
Time = 0800; (military time for start of scenario 0-2359)
TitleEnglish = Example Mission; (the title which will show in English games)
TitleGerman = Beispielmission; (the title which will show in German games)
Type=SINGLE; {SINGLE, TYPE A, MULTIPLAYER} (establishes the scenario type, TYPE A is for campaigns)
Origin=-30.017392,50.015448; {longitude, latitude} (initial location for mission map, use up to six decimal places, this may affect friendly spawning groups' location, it's best to make this the initial location for player's vessel)
;Weather=PARTIAL; {CLEAR, FOGGY, HIGH_CLOUDS, PARTIAL, OVERCAST, OVERCAST_RAINY, SQUALLS, STORM} (these settings are detailed in weather.ini, do not include this line if using weather blocks, CLEAR is the default)
; (CLEAR gives clear skies with occasional cirrus clouds)
; (FOGGY gives overcast skies with fog)
; (HIGH_CLOUDS gives continuous high cirrus clouds)
; (PARTIAL gives multiple formations of denser clouds)
; (OVERCAST gives an overcast sky)
; (OVERCAST_RAINY gives overcast sky with intermittent rain)
; (SQUALLS gives PARTIAL with occasional rain squalls)
; (STORM gives continuous stormy weather)
; (NOTE - to give a rain effect in stock game...Go to SIM\SCENARIOS, open WEATHER.ini and remove the ";" which is commenting out the PRECIPITATION lines in [FRONT8] to [FRONT10].)
Preprocess = TRUE; {FALSE, TRUE} (must be true if using group probability or mutex functions, may not work in campaigns, does not work if program is run from sim.exe)
;InvertColors=FALSE; {FALSE, TRUE} (changes enemies to blue and player to red)
; (NOTE - The following are scenario parameters seen in various SDFs that are not actually used by the game engine and can be left out.)
;Map=W020N90; (this does not do appear to do anything and can be left out)
;InitialZoom=5; {1-?} (NOT USED, initial zoom for map)
;Duration = 4500; (NOT USED, the duration of the scenario)
;TimeOut=10000; (NOT USED, number of seconds mission is allowed to run)
;Major=10; (NOT USED)
;Minor=5; (NOT USED)
;DrawOvlyText = TRUE; {TRUE, FALSE} (NOT USED, was for UbiSoft mission editor)
;================================================= ===========
; Multiplayer Parameters (only needed for MULTIPLAYER type games)
;================================================= ===========
;[MULTI]
;Type=SH2; {DC+SH2, SH2, DC} (defines if a multiplayer game is an interop between SH2 and DC, for SH2 only, or for DC only)
;Style=TEAM; {TEAM, MELEE, COOP} (two defined teams, every one for himself, all players against game engine's AI)
;================================================= ===========
; Weather Parameters (only needed if setting changing weather fronts)
;================================================= ===========
; (NOTE - Delete the "Weather=" line in the [SCENARIO] block if [WEATHER] and [FRONTx] blocks are used.)
[WEATHER]; (defines global weather state which lasts the duration of the mission and extends over the entire area of operations except where fronts are present.)
Name=CLEAR; {CLEAR, FOGGY, HIGH_CLOUDS, PARTIAL, OVERCAST, OVERCAST_RAINY, SQUALLS, STORM} (these settings are detailed in weather.ini, see the notes above in the [SCENARIO] block)
Wind=5,W; {n knots, N/E/S/W} (wind speed in knots and direction it is blowing towards, default is 5,W)
SeaState=3; {0-6} (current sea state, may go higher than 6 with strange results, higher number is heavier seas)
Visibility=3; {0-8} (fog density, default is 1, can use decimals, higher number is poorer visibility)
Temperature=20; {n degrees C} (ambient temperature in degrees Celsius)
;[FRONT0]; (defines a weather system that moves through the area during the mission.)
; NOTE - Set up multiple fronts to move throughout the scenario to simulate changing weather.
; NOTE - Wind speed, sea state, precipitation, temperature and visibility are attenuated based on the distance from the edge of the weather front.
;Location=-30,55; {longitude, latitude} (this is the center of the front)
;Size=120,100; {nm East to West, nm North to South} (Rectangular dimensions of formation in nautical miles)
;Altitude=5000; (altitude of cloud formations in metres)
;Movement=5,S; {n knots, N/E/S/W} (speed in knots default is 0 and direction it is moving towards)
;CloudType=PARTIAL; {CLEAR, PARTIAL, OVERCAST, STORM} (default is CLEAR)
;CloudID=Cloud003; (cloud graphics texture name, look in \...\Sim\Art\Textures folder)
;Transparent=TRUE; {TRUE, FALSE} (True if cloud texture is transparent)
;Wind=20,S; {n knots, N/E/S/W} (wind speed in knots and direction it is blowing towards)
;SeaState=4; {0-6} (current sea state, may go higher than 6 with strange results, higher number is heavier seas)
; (NOTE - It appears the SeaState entry in the [WEATHER] block dictates the sea state seen by the player for the entire mission)
;Precipitation=LIGHT; {NONE, LIGHT, HEAVY, SNOW, BLIZZARD} (default is NONE)
;Intermittent=TRUE; {TRUE, FALSE} (Precipitation is intermittent)
;Temperature=10 ; (Ambient temperature in degrees Celsius)
;Visibility=5; (Fog density 0 to 8 - default is 1, higher density is more fog)
;Continuous=FALSE ; {TRUE, FALSE} (Weather front is continuous, i.e. covers the whole sky)
[FRONT1]
Location=-32.166300,50.000000
Size=50,125
Altitude=1300
Movement=15,E
CloudType=PARTIAL
CloudID=Cirrus005
Transparent=TRUE
Wind=25,N
SeaState=5
Precipitation=LIGHT
Temperature=16
Visibility=3
Continuous=FALSE
;================================================= ===========
; Objectives (specify accomplishments to successfully complete mission)
;================================================= ===========
;[OBJECTIVE0]; (defines an objective for the player)
;Primary=TRUE; {FALSE, TRUE} (forces player to achieve objective to successfully complete mission)
;Objective=TONNAGE; {DAMAGE, DESTROY, DURATION, IDENTIFY, RADIO_CONTACT, RADIO_WEATHER, REACH, RETURN_TO_BASE, SURVIVE, TONNAGE} (see below for descriptions of parameter settings)
; (DAMAGE requires player to damage a specified unit or group)
; (DESTROY requires player to destroy a specified unit, group, or percentage of vessel type)
; (DURATION may be for multiplayer games or may not work at all)
; (IDENTIFY requires player to make visual contact with a group or unit)
; (RADIO_CONTACT requires player to make a specified number of hourly contact reports)
; (RADIO_WEATHER requires player to make a specified number of 4-hourly weather reports)
; (REACH requires player to reach a specified position, group, or unit. With units as the target, player must approach from the stern and within 200 metres.)
; (RETURN_TO_BASE requires player to return to a specified base, note base can be one defined in bases.ini or a named base defined in this SDF)
; (SURVIVE requires that specified units, groups, or percentage of vessel types must survive)
; (TONNAGE requires player to sink a minimum amount of tonnes, can specify the type of vessel tonnage)
;
;Tonnage=10000; (used with TONNAGE objective)
;Group=2; {group number} (used with IDENTIFY, DAMAGE, DESTROY, or REACH objectives)
;Unit=2; {unit number} (used with IDENTIFY, DAMAGE, DESTROY, or REACH objectives)
;Count=4; {whole number} (used with the RADIO objectives, number of hourly reports that must be received)
;Percentage=50; {1-100} (used with DESTROY or SURVIVE objectives to specify what percentage of UNIT/GROUP/TYPE must be destroyed or survive)
;Type=CARGO; {CARGO, WARSHIP, GUN, ?} (used with TONNAGE, DESTROY, or SURVIVE objectives to specify type of ship that counts toward objective, otherwise any ships count, also use "Percentage=" if not all need to be destroyed)
;Longitude=-15.000000; (used with REACH objective)
;Latitude=45.500000; (used with REACH objective)
;Range=1000; {metres} (used with REACH objective)
;Radius=1000; {metres} (possibly used with REACH objective but may be incorrect syntax)
;Home=Brest; {name of base} (used with RETURN_TO_BASE, see bases.ini for lists or use a base defined and named in this SDF)
;Score=50; (used for campaign missions)
;
;Hidden=FALSE; {FALSE, TRUE} (hidden objectives do not show up at beginning of mission, and must have a trigger to activate them)
;Trigger=CONTACT; {CONTACT, REACH, TIME, DESTRUCT}; (specifies what must happen for hidden objectives to be revealed, see below)
; (CONTACT triggers the objective when the player makes visual contact with a specified unit or group)
; (REACH triggers the objective when a player travels within a specified distance of a specified location)
; (TIME triggers the hidden objective at the specified time)
; (DESTRUCT triggers the hidden objective when the specified unit is destroyed)
;TriggerContact=2; {unit number} (use with CONTACT trigger)
;TriggerGroup=2; {group number} (used with CONTACT trigger)
;TriggerLongitude=-28.000000; (use with REACH trigger)
;TriggerLatitude=51.000000; (use with REACH trigger)
;TriggerRange=200; {metres} (radius around trigger location that will reveal hidden objective, use with REACH trigger, default is 200)
;DateTrigger=19411101; {YYYYMMDD} (use with TIME trigger)
;TimeTrigger=1500; {military time} (use with TIME trigger)
;
;Location=; (appears not to be used)
;PlayerMust=FALSE; (not used?)
;Duration=500; (perhaps requires player to survive a certain period of time?)
;Side=#; (for use in multiplayer to specify which team owns the objective)
;DateStart = 19400408; (used to specify time frame when objective must be completed)
;TimeStart = 1030; (used to specify time frame when objective must be completed)
;DateEnd = 19400409; (used to specify time frame when objective must be completed)
;TimeEnd = 0400; (used to specify time frame when objective must be completed)
;TimeEnd=Displayed; ? (saw this in a mission file, but unknown what it does?)
;Date=19411106; (specify by when objective must be completed?)
;Time=100; (specify by when objective must be completed?)
[OBJECTIVE1]; (requires player to return to Wilhelmshaven)
Objective=RETURN_TO_BASE
Home=Wilhelmshaven
Primary=TRUE
[OBJECTIVE2]; (requires player to sink 1000 tonnes of shipping)
Objective=TONNAGE
Tonnage=1000
Primary=FALSE
;================================================= ===========
; Sides (specify the alignments of each side, including neutrals)
;================================================= ===========
;[SIDE0]
;Alignment=ALLIES; {AXIS, ALLIES, NEUTRAL} (defines friends, enemies, and non-combatants)
;Name=Allies; (specify the text name of the fighting force)
;Doctrine=AMERICAN; {AMERICAN, BRITISH, GERMAN, ITALIAN, JAPANESE, NEUTRAL} (specifies how game AI will behave)
; (NOTE - This corresponds to the appropriate *.bai file in \Sim\AI folder)
[SIDE1]
Alignment=ALLIES
Name=US Navy
Doctrine=AMERICAN
[SIDE2]
Alignment=AXIS
Name=Kriegsmarine
Doctrine=GERMAN
[SIDE3]
Alignment=NEUTRAL
Name=Neutrals
Doctrine=NEUTRAL
;================================================= ===========
; Radio Messages (sets up radio messages and their triggers)
;================================================= ===========
; (NOTE - To create a radio message, save a text file with the title specified in File=, but with the extension ".msg", and place in the ...\Text\English\Messages folder)
;[RADIO0]
;Title=Mission Briefing; this will be the title on the message log in the radio room
;File=SDFNotes1; place the text file SDFNotes1.msg in the ...\Text\English\Messages folder
;
;Trigger=TIME; {TIME, ATTACK, DESTRUCT, CONTACT, SIGHTING} (specify what causes message to be sent to player, use with longitude=, latitude=,Side=# or ;Group=,Unit=, etc.?)
; (TIME triggers the message at the specified date and time)
; (ATTACK triggers the message when the specified unit or group comes under attack)
; (DESTRUCT triggers the message when the specified unit is destroyed)
; (CONTACT triggers the message when the player makes visual contact with a specified unit or group)
; (SIGHTING triggers the message when the specified unit or group is sighted by an airbase)
;Date=19411101; {YYYYMMDD} (specifies date for a time trigger)
;Time=0801; {military time} (specifies a time for a time trigger)
;
;unit=3; (use this to give data for appropriate trigger)
;group=2; (use this to give data for appropriate trigger)
;category=SUBMARINE; (use this to give data for appropriate trigger)
; HINTS:
; To put dynamic text in a contact message, use "%s" (without quotes) in text of message and use a Trigger=SIGHTING or Trigger=DESTRUCT, and specify Group=x.
; If the trigger is SIGHTING, the "%s" will be replaced in the message by the grid position and longitude/latitude of the group.
; If the trigger is DESTRUCT, the "%s" will be replaced by the name of the ship destroyed.
; It is customary to put the initial mission briefing into a radio message delivered just after the start of the scenario for easy reference by the player.
[RADIO1]; sends message at start of mission
Trigger=TIME
Date=19441101
Time=0801
File=SDFNotes1
Title=New Orders
;================================================= ===========
; Map Notes (places push pins on map with text)
;================================================= ===========
;[MAPNOTE0]
;Location= -30.0173922,50.015448; {longitude, latitude}
;Text=starting point; (insert any text to be attached to map)
[MAPNOTE1]
Location=-28,50
Text=enemy sighting
;================================================= ===========
; Bases (sets up AI lookouts to spawn groups or contact reports)
;================================================= ===========
;[BASE0]; this example will spawn a group if axis units detected
;Location=-45.396942,54.154048; {longitude,latitude}
;Alignment=ALLIES; {ALLIES, AXIS, NEUTRAL} (specifies which side owns the base, bases detect enemy and neutral units)
;Name=Rendezvous; (gives base a text name that can be used as an objective goal)
;AirProbability=0.05; {0.0-1.0} (probability of being detected each detection sweep)
;AirRadius=20000; (metres, within which there is a chance of enemy units being detected)
;Timer=6.5; (time in minutes between detection sweeps, default is 6, decimal values are allowed)
;OneShot=FALSE; {FALSE, TRUE} (If TRUE, once a unit is detected, the base will shut down. If FALSE, base can spawn groups repeatedly.)
;NightAir=TRUE; {TRUE, FALSE} (TRUE allows detection at night)
;Group=5; (Defines which group is spawned when enemy unit is detected. Set this group's entrydate/time/interval in the far future so it doesn't spawn on its own during the mission.)
;Resupply=2; (Defines a group which will respond to a resupply request in SH2 if player is within base AirRadius.)
;Airsupport=13; (Defines a group which will respond to a Air Support request in DC if player is within base AirRadius.)
;Model=XDKDock2; {XDKDock1, XDKDock2, XDKDock3, XLHLighthouse, XORRefinery} (specifies for graphics to display at the base, see folder /sim/models for options)
;Type=Port; {Uboat, Port, Naval, City} (specifies the type of graphics to display at the base)
;Size=Medium; {Small, Medium, Large} (specifies size for graphics to display at the base)
;Orientation=180; {0-359} (specifies direction graphics model is facing, 0 is north)
;
; (NOTE - You can assign the same group to many bases. If no group is specified, a contact message will be sent to player if base is a friendly.)
; (NOTE - A base reportedly can spawn a different group each time with up to three different groups. Define Group=3,4,5 and each different group will be spawned in that sequence when the base detects an enemy.)
; (NOTE - Even though the name indicates this as an airbase, they can call any type of group/unit containing ships, subs, or aircraft.)
; (NOTE - Airbases will only spawn groups, not subgroups)
; (NOTE - Templates can also be called by bases. For example, if the group the base is calls is set up to call templates (File1,File2,File3), the base will spawn one of them randomly. This allows great randomisation possibilities.)
; (NOTE - Entry parameters (EntryDate, EntryTime, EntryInterval) for groups attached to bases must be in the SDF.)
; (NOTE - If the group is spawned by a base, then entry parameters will not be followed. The unit will disappear a while after there are no enemy units nearby. Until then, it blocks the base from spawning any more groups.)
; (NOTE - If a group is already spawned via entry parameters, then nothing should happen if a base calls that same group. Typically, the entry parameters are only used to delay spawning indefinitely so the base can spawn them.)
;
; HINTS:
;
; Defining TIMER and AIRPROBABILITY values is critical to a realistic scenario. Use this formula as a guide...
; If the desired average time between attacks is 360 minutes and the desired minimum time between attacks is 45 minutes, set
;TIMER=45 (minutes)
;AIRPROBABILITY=0.125 (45/360)
; The TIMER interval comes first, then the attack. It's not "attack-interval-attack". It's "interval-attack-interval" when a base radius is entered.
; There is a MINIMUM time between attacks of 25 minutes regardless of TIMER or AIRPROBABILITY values. Attacks will not occur more frequently than every 25 minutes from one airbase.
;
; To set up an attached airbase, assign the airbase to the unit that will carry the base. The base will then follow the unit as it travels. If the unit sinks, the base is destroyed and the base will no longer spawn.
; This is useful to create a working aircraft carrier, or a scout plane that calls a destroyer group.
; Place the following in the unit (not group) information: "AirBase=n" (where "n" is the BASE number, this attaches the airbase to the unit). Next, assign a group to airbase block "Group=n" (where "n" is the GROUP number to be spawned).
; Attached airbases can also be used to have uboat send contact reports, or cause other enemy units to spawn friendly wolfpacks when a sub is detected.
;
; To set up Resupply in SH2 that can be called by a radio request from the player, include the correct line in the base parameters
; Resupply = n (where "n" is the group called, it must contain appropriate resupply orders)
;
; To set up Air Support in DC that can be called by a radio request from the player, include the correct line in the base parameters
; AirSupport = n (where "n" is the group number called, usually an air squadron)
;
; To create a base as a rendezvous point, give the base a name, then define a return_to_base objective with home= the base name. Add a model to the base to give a graphical representation (such as a ship or port).
[BASE1]; this will generate a contact report if allied units are detected
Alignment=AXIS
Location=-34.449449,50.327013
AirRadius=25000
AirProbability=0.050000
Timer=20.000000
NightAir=TRUE
;================================================= ===========
; Groups (define parameters for a logical groupings of units)
;================================================= ===========
;[GROUP0]
;Name=UBoat; (a text name to call the group, will be used on map)
;
;Side=2; (Determines the alignment of the group, get this number from SIDE block. It is not necessary to include a Side= entry for subgroups as they are always on the side of the main group)
;
;Commander = HUMAN; {AI, HUMAN} (defines whether the player or computer control the group)
;
;Type = SHIPDIVISION; {SHIPSQUADRON, SHIPDIVISION, SUBWOLFPACK, AIRWING, SHIPCONVOY, SHIPTASKFORCE, AIRSQUADRON, SHIPTASKGROUP} (see below for notes)
; (SHIPSQUADRON is used for main surface vessel task force groups)
; (SHIPDIVISION is used for sub-groups of a main task force)
; (SUBWOLFPACK is a special case used only for submarines and only if you want to use the picketline order, do not use with sub-groups)
; (AIRWING is for aircraft groups)
; (SHIPCONVOY is used in DC for player-escorted groups and allows player to control course and speed of the convoy)
; (SHIPTASKFORCE may not work properly, do not use)
; (AIRSQUADRON may not work properly, do not use)
; (SHIPTASKGROUP may not work properly, do not use)
;
;UnitType = SUBMARINE; {SUBMARINE, DESTROYER, BATTLESHIP, CRUISER, CARRIER, MERCHANT, TANKER, TRANSPORT, SCOUTPLANE, FIGHTER, TORPEDO, BOMBER, DIVEBOMBER, GUN} (in conjunction with the side's doctrine setting, defines AI behaviour for the group, see below for notes)
; (SUBMARINE)
; (DESTROYER)
; (BATTLESHIP)
; (CRUISER)
; (CARRIER)
; (MERCHANT)
; (TANKER)
; (TRANSPORT)
; (SCOUTPLANE will fly over without attacking unless ROE is given to attack)
; (FIGHTER groups strafe with guns)
; (TORPEDO is an aircraft that drops torpedos at lower altitudes)
; (BOMBER drops bombs from high altitude)
; (DIVEBOMBER dives down and drops bombs)
; (GUN is used for shore gun emplacements)
; (NOTE - behaviour for these groups can be modified somewhat with ROE orders)
; (NOTE - all units within a group should be of same type, and behaviours will only be correct if the individual unit has the appropriate weapons and/or capabilities)
;
;EntryDate=19410510; {YYYYMMDD} (sets the date of spawning of group, can be left out)
;EntryTime=1200; {military time} (sets time of spawning of group, can be left out)
;EntryInterval=9930; {hhmm} (sets the time interval in hours and minutes between spawnings of new groups, new groups will spawn regardless of status of previously spawned groups, prior groups will be deleted if still alive, can be left out)
; (NOTE - Groups must have all three parameters - EntryDate, EntryTime, EntryInterval - or none of them. If left out, the group will be present at the start of the mission.)
; (NOTE - Entry parameters are often used to delay the entry of a group until it is called by a base. Set the entry date to a future date beyond when the mission will be played, and the group will only spawn when the base detects an enemy.)
; (NOTE - A base-spawned group will disappear after a period of time with no enemy contacts.)
; (NOTE - Do not put Entry parameters in subgroups.)
;
;PlayerEscort=TRUE; {FALSE, TRUE} (allows a human player escorting a group in DC to see and control their waypoints)
; (NOTE - the player controls course and speed of a player-escorted SHIPCONVOY, but other group types may not allow full player control).
;
;Probability=50; {0-100} (a randomisation feature to define probability of group appearing in mission, must have "Preprocess=TRUE" in SCENARIO block)
;
;Inactive = FALSE; {FALSE, TRUE} (initial setting for electronic systems such as active sonar and radar, if set to TRUE, group will not use active systems until a passive contact is made)
;
;Active=CONTACT; (Reported to cause a group that is stationary to begin moving and attacking when an enemy is detected.)
;
;Torpedo=20; {number of minutes between torpedo transfers} (used by resupply vessels to set rate of resupply operations, use with a group that has a resupply order and is called by a resupply base)
;
;Order1.1=ROE,SUBMARINES,Unlimited,Destroy,Best,Fu ll,-1,-1; {see below for the many order options, replace x.x with correct numbers} (Orders give instructions to AI groups to define their movement, combat, or other activities.)
; (NOTE - the -1,-1 seen at the end of orders was designed for duration and target time settings, but they are not used and can be left off)
; (NOTE - Order sets are followed sequentially such that one order set must be completed, usually by reaching a waypoint, before the next set is executed. A typical order set would include a formation, speed, attack or rule of engagement, and a waypoint.)
; (NOTE - It is usually best to define a set of orders such as 1.1, 1.2, 1.3, etc. with the last order in the set being a waypoint, then repeating for 2.1, 2.2, 2.3, etc.)
;
; (NOTE - The following sections detail the various MOVEMENT orders)
;Orderx.x=Formation,Form_As_Are,1000,2; {Formation,type,distance,lead_unit} (see below for type options, distance is metres between units in the group, lead_unit is the unit number that leads the group's formation - place a GUIDE=TRUE in that unit's block)
; (type options: BENT_ECHELON_LEFT, BENT_ECHELON_RIGHT, COLUMN, CRESCENT, DIAMOND, ECHELON_LEFT, ECHELON_RIGHT, FORM_AS_ARE, LINE_ABREAST, WEDGE)
; (NOTE - default formation is a column, and groups will change into that formation whenever "group mode" is activated by the simulation, e.g. when player's unit is far away)
;
;Orderx.x=Depth,10,5; {metres,?} (Used with AI subs to set a depth, exact syntax is unknown)
;
;Orderx.x=Speed,EXACT,5; {Speed,EXACT,mps} (sets an exact speed in metres per second so that all units, regardless of their engine capabilities travel at the same speed)
; (NOTE - EXACT speed units are meters per second. In reality 1m/s=1.944 knots, so 1NM=1852m. However, SH2 uses 1NM=2000m. Therefore,
; 1 mps = 1.8 knots
; 5 mps = 9.0 knots
; 10 mps = 18.0 knots)
;Orderx.x=Speed,TELEGRAPH,ONE_THIRD; {Speed,TELEGRAPH,setting} (sets a speed based on capabilities of the individual units' engines, see below for the setting options)
; (setting options: STOP, ONE_THIRD, TWO_THIRDS, STANDARD, FULL, FLANK)
; (NOTE - it's wise to place a stop order at the last waypoint so group does not sail on forever)
;
;Orderx.x=WayPt,-30,50; {WayPt, longitude, latitude} (The WayPt setting directs group to travel to specified location, but allows AI to plot a safe course around obstacles such as land)
;Orderx.x=WayPt2,-30,50; {WayPt2,longitude,latitude} (The WayPt2 setting directs group to travel to specified location, but forces AI to go to directly to the waypoint)
; (NOTE - the Waypoint order should be the last in an order block, i.e. 1.1, 1.2, 1.3, with only one per block)
;
;Orderx.x=Patrol,-30,50,10000; {Patrol, longitude, latitude,radius} (radius is in metres or metres^2?. There is also a time setting in some examples which does not seem to work and can be left off.)
;Orderx.x=PicketLine,-30,50, -35, 45; {PicketLine, from_long, from_lat, to_long, to_lat} (use with SUBWOLFPACK grouptype and instructs AI to patrol back and forth between the specified locations)
;
; (NOTE - The following section details COMBAT orders)
;Orderx.x=Attack,1,Main_Battery,Unit; {unit#/group#, weapon, unit/group, duration, target_time} (specify the group or unit to be attacked first, see below for the weapon options, specify whether the first number is a unit or a group)
; (weapon options: Torpedoes, Main_Battery, Secondary_Battery)
; (NOTE - secondary_battery may not work in all cases, destroyers do not have them)
; (NOTE - other weapons such as machine_gun, aa_guns, turret, depthcharge, bomb may work, but this is not confirmed)
; (NOTE - multiple attack orders can be given in an order block, or an appropriate ROE can be set)
; (NOTE - attacks against a specified unit do not always work, the AI will often attack other units at random)
;
;Orderx.x=BombDC; (instructs AI bomber to drop depthcharges)
;Orderx.x=BombLow; (instructs AI bomber to drop bombs from low altitude)
;Orderx.x=BombHigh; (instructs AI bomber to drop bombs from high altitude)
;Orderx.x=Bombtorpedo; (instructs AI bomber to drop torpedo, this is not confirmed to work)?
; (NOTE - "bomb" orders are not always necessary as aircraft will behave according to their predefined behaviours. The aircraft must have the proper weapons to comply with this order.)
;Orderx.x=Kamikazi; (instructs AI to use unit as a weapon by collision)
;
;Orderx.x=ROE,AIRCRAFT,LIMITED,AVOID,EVADE,FULL; {ROE, targeting, engagement, objective, movement, initiative} (sets Rules of Engagement for AI groups, options found in roe.dsf, see option lists below)
;
; (targeting options: ALL, AIRCRAFT, CAPITAL, LANDING, MERCHANTMEN, SCREEN, SHORE_TARGETS, SUBMARINES, TARGET=#, TRANSPORTS)
; (ALL instructs AI to attack any enemy unit.
; (AIRCRAFT instructs AI to focus attack on enemy aircraft.)
; (CAPITAL instructs AI to focus attack on enemy warships.)
; (LANDING instructs AI to focus attack on enemy landing craft.)
; (MERCHANT or MERCHANTMEN(?) instructs AI to focus attack on enemy merchants.)
; (SCREEN instructs AI to get between the enemy and any friendly capital ship.)
; (SHORE or SHORE_TARGETS(?) instructs AI to focus attack on enemy shore emplacements.)
; (SUBMARINE or SUBMARINES(?) instructs AI to focus attack on enemy submarines.)
; (TARGET=# instructs AI to focus attack on a specific group, replace # with the number of the group to be attacked.)
; (TRANSPORT or TRANSPORTS(?) instructs AI to focus attack on enemy transports.)
; (NOTE - There are some questions as to which is the correct syntax as shown above. Have also seen CRUISER, DESTROYER, and SPECIFIC?)
; (NOTE - Target=xxx probably refers to the group number, not the unit number, but designating a target does NOT necessarily seem to focus the attack on that unit)
;
; (engagement options: LIMITED, RECON, STEALTHY, UNLIMITED)
; (NOTE - the true effect of these variables on AI behaviour is unclear)
;
; (objective options: DESTROY, HARASS, HIT_AND_RUN, REPULSE, SHADOW)
; (NOTE - the true effect of these variables on AI behaviour is unclear, SNEAK and AVOID have also been reported.)
;
; (movement options: BEST, CONSERVE, CRUISING, EVADE)
; (BEST instructs AI to move at the most efficient rate of speed for the current conditions. AI ships will turn on all their boilers when this order is given.)
; (CONSERVE instructs AI to move at the most fuel-efficient rate. AI ships will turn off half of their boilers when this order is given.)
; (CRUISE or CRUISING instructs AI to move at the fastest pace given the current sea state.)
; (EVASIVE or EVADE instructs AI to move randomly in an effort to make themselves hard to hit. This order will be suspended when time compression is above 32x.)
; (NOTE - There are some questions as to which is the correct syntax as shown above.
;
; (initiative options: FULL, NONE, PERMISSION) (also saw EXPLICIT in a mission?)
; (NOTE - the true effect of these variables on AI behaviour is unclear)
;
; (NOTE - subgroups can have a different ROE from the main group, but they will follow main group's waypoints.)
;
; (NOTE - The following section details OTHER orders)
;Orderx.x=LoopPatrol,1,-1; {LoopPatrol,order#,iterations} (Specify the whole number of the order to loop back to. The iterations can be a whole number greater than 0, or a -1 will cause the loop to repeat indefinitely.)
; (NOTE - place a LoopPatrol order in its own block and use it to repeat a sequence of orders. This is useful for a patrolling group. LoopPatrol orders can not be nested.)
;Orderx.x=Resupply,1,Fuel,UNIT,-1,-1; {Resupply, unit#, Fuel, Unit} (this order must be given to a resupply vessel to know which unit it can resupply)
;Orderx.x=Land,14.325967,37.007713,23; {Land,longitude,latitude,escort_unit#} (the use of this order is unknown)
;Orderx.x=Profile,extreme,extreme,extreme; (reported by some to make AI of the group more aggressive, allowable settings are unknown)
;Orderx.x=Patrol,25.359000,36.410000,14000,5,-1 {Patrol, longitude, latitude, radius, iterations, duration} (The Patrol order specifies a map position, a "radius" of a square in metres, the number of circles the patrol craft makes, and a duration that's almost always -1 for infinite.)
; (NOTE - AI may not successfully resume orders afer a patrol ends. Remember, map projection can do weird things so test the patrol order carefully.)
;
; (NOTE - The following are group parameters seen in various SDFs that are not actually used by the game engine and can be left out.)
;WayptDisplay=DO_NOT_SHOW; {DO_NOT_SHOW, SHOW_AS_WAYPT} (NOT USED and can be left out, was part of Ubi mission editor)
;Nationality=GERMANY; {AMERICAN, BRITAIN, FRANCE, GERMANY, ITALY, JAPAN, NETHERLANDS, NORWAY, PANAMANIAN, POLAND, RUSSIAN, SWEDEN} (NOT USED and can be left out)
; (NOTE - To change a unit's nationality as displayed on the CIC map, copy the unit's UDF file and edit the nationality line. For example, take a British merchant UDF and edit it to make it "Australian". The unit would show "Australian Merchant" instead of "British Merchant" on the map.)
;
; (NOTE - sub-groups are noted by #.# format underneath their parent group, they follow parent group waypoints)
; (NOTE - subgroups can have a their own entry parameters different than the main group, which is useful for setting up combat air patrols.)
; (NOTE - if convoy is group 2 with 3 dd escorts, assigning ALL 3 dd to group 2.1 will result in all 3 immediately engaging an enemy on contact. If assigned as 1 each to 2.1,2.2, 2.3 then they will generally engage INDIVIDUALLY.)
; (NOTE - A parent group is not required to have units assigned to it.)
[GROUP1]; the player's sub
Type=SHIPDIVISION
UnitType=Submarine
Commander=Human
Side=2
Name=U113
[GROUP2]; a merchant group
Type=SHIPSQUADRON
UnitType=Merchant
Side=1
Name=Convoy 604
Order1.1=Formation,FORM_AS_ARE,2000,2
Order1.2=Speed,EXACT,4
Order1.3=WayPt2,-35.5,50.02
Order2.1=WayPt2,-30.057334,44.879738
Order3.1=WayPt2,-28,50
Order3.1=LoopPatrol,1,5
Order4.1=Speed,EXACT,0
[GROUP2.1]; a attached destroyer group
Type=SHIPDIVISION
UnitType=Destroyer
Side=1
Name=Escort
;================================================= ===========
; Mutex (defines mutually exclusive groups to randomise the mission)
;================================================= ===========
;[MUTEX0]; (Each mutex can have up to three groups, the game engine will choose one of them to be present in the mission. PreProcess=TRUE must be set in the SCENARIO block.)
;Group1=12
;Group2=15
;Group3=10
; (NOTE - Mutex settings can be used to vary the types of units the player will see, or to vary the starting location of any particular group or the player.)
;================================================= ===========
; Units (defines parameters for each unit in the scenario)
;================================================= ===========
;[UNIT0]
;Group=1; {number of group block this unit belongs to} (do not mix unit types within a group)
;Class=NSSUBoat7C; (see database for allowable classes, must match the *.udf names in \Sim\Units folder)
;Name=U-113; (text name for individual unit)
;Designation=U69; for graphics to paint on hull (works only for DD's)
;Control=HUMAN; AI/HUMAN
;Location=-44.396942,53.154048; {longitude,latitude} (initial unit position)
;Orientation = 58; {0-359} (initial direction unit is facing in compass degrees)
;Fuel = 0.45; {0.0-1.0} (initial fuel load 0-100% for human ships, AI ships have infinite fuel)
;Damage=0.2; {0.0-1.0} (initial damage setting for units, 0 is no damage)
;BoilersHot = TRUE; {TRUE/FALSE} (If true, warships can reach top speed quickly. If false, simulates only half of boilers running.)
;Active=CONTACT; reported to cause an inactive DD to begin moving and attacking when it detects an enemy
;Depth=0; {metres} (for submarines only, 0 is surfaced, 12 is periscope depth)
;Guide=TRUE; {FALSE/TRUE} (for groups, true for unit that is the "leader")
;Flag=TRUE; {FALSE/TRUE} (for Destroyer Command only, determines which unit is in command of the player group)
;Throttle=0.8; {0.0-1.0} (initial throttle setting 0-100% for airplanes)
;Altitude=1000; (initial altitude for airplanes in metres)
;MultiSelect=TRUE; {FALSE/TRUE} (true if this is a selectable unit in multiplayer missions)
;IconName=SUBMARINE; {AIRCRAFT2/GUN/MSHIP/NONE/NSHIP/SUBMARINE} (supposedly specifies icon seen on map, can be left out)
; (NOTE - It has been reported that a merchant given IconName=NSHIP instead of MSHIP will behave more like a warship than a merchant.)
;
; (NOTE - The following are unit parameters seen in various SDFs that are not actually used by the game engine and can be left out.)
;Captain = 80; 0-100 captain's proficiency (NOT USED)
;Crew = 80; 0-100 crew's proficiency (NOT USED)
;Display=SHOW_AS_UNIT; {SHOW_AS_UNIT/SHOW_AS_GROUP/ DO_NOT_SHOW} (was syntax for the internal scenario editor, NOT USED)
;TypeAbrev=SS; (this variable was used by scenario editors, not by the game itself, NOT USED)
; (NOTE - the original typeabrev settings are useful for naming units)...
; AA,Attack
; AVP,Submarine Tender
; BB,Battleship
; BC,Battlecruiser
; CA,Cruiser
; CE,Escort
; CL,Light Cruiser
; CO,Corvette
; CV,Carrier
; CVE,Carrier Escort
; DD,Destroyer
; DE,Destroyer Escort
; DMS,Destroyer Mine Sweeper
; FA,Fighter Attack
; FI,Fighter
; FF,Frigate
; FC,Fast Cargo Ship
; HB,High Level Bomber
; HH,Hospital Ship
; KK,Kamikaze
; LC,Landingcraft
; LL,Liberty Ship
; OT,Oil Tanker
; PC,Patrol Boat
; PP,Passenger Ship
; PT,Torpedo Patrol Boat
; SB,Sail Boat
; SC,Slow Cargo Ship
; SS,Submarine
; DD,Torpedo Boat (database mistakenly says "TB")
; TB,Torpedo Bomber (database mistakenly says "TBM")
; TF,Fleet Tender
;
; (NOTE - The following are unknown unit parameters seen in various SDFs.)
;Origin=?
;Alignment=?
;ShortName=?
;Texture=?
;Vessel=SUBMARINE; {MERCHANT/SUBMARINE/TANKER} ?
;
; (NOTE - group affiliation dictates the side of each unit. However, if a unit has no group affiliation, side must be specified for that individual unit.)
[UNIT1]
Group=1
Class=NSSUBoat7C
Name=U113
Location=-30.017392,50.015448
Orientation=305
Fuel=0.65
Control=HUMAN
[UNIT2]
Group=2
Class=MFCVictory
Name=SS Pendleton
Location=-28.01,50.02
Orientation=270
Guide=TRUE
[UNIT3]
Group=2
Class=MFCVictory
Name=SS Greenwood
Location=-28.00,50.02
Orientation=270
[UNIT4]
Group=2.1
Class=NDDBenson
Name=USS Lafayette
Location=-28.025,50.02
Orientation=270
;================================================= ===========
; Testing/Debugging Notes
;================================================= ===========
;
; (NOTE - Set "limited visibility" to OFF in the game so that you can see all the units from the Plot screen.)
;
; (NOTE - Set "vulnerability" to low levels (e.g. 10%) to help you to survive attacks while testing the game.)
;
; (NOTE - Place the .sdf file in the \sim\scenarios folder and edit the sim.ini file to specify which .sdf to run. The sim.ini files should contain:
;
;[SIM]
;Module = Periscope
;Scenario = ScenarioName
;
; (where ScenarioName is ScenarioName.sdf which is placed in \sim\scenarios folder)
; You can then edit the file from this folder directly while testing, then doubleclick sim.exe to start your test run.
; However, the preprocess functions such as MUTEX and PROBABILITY will not work if scenario is started with this method.)
;
; (NOTE - You can add a debug script line to the Sim.ini file found in SH2\Sim folder to allow full viewing of the environment even while submerged
; Just below the [SIM] block, add these lines:
;
;[DEBUG]
;FullCameraElevation = TRUE
;
; Then use the up/down arrows to raise the view above/below the water line.)
;
; (NOTE - Pressing Ctrl-d in the game will bring up a debug overlay giving information such as Frames per Second. Pressing Ctrl-d again gives the exact longitude/latitude for your current position.)

Reinhard Hardegen
07-21-08, 03:17 PM
Thanks so to see a message file I just open with notepad?

I wrote missions by hand many years ago, what was the way you could place a message to open at a waypoint. I did this in Atlanik! first mission in 03. were when you reached a wypt the massage would come in. I did this too with ship incounters, to show at a wypt reach. Just cant remember the code and how I did it.

Hitman
07-22-08, 01:09 AM
Yes radio messages are plain txt files.

To have them work on a waypoint you should theoretically use TRIGGER=Waypoint but I'm not sure if that was broken in the game.

Take a look at the navigation practice missions, I think there was a message with that trigger :hmm:

FUBAR295
08-02-08, 10:34 PM
You might want to try Kreigstanz which is a mission writer for SH2. Makes it fairly easy to create missions without having to run through all the code. Downloadable from here :

http://www.brookview.karoo.net/Kriegstanz/

Has a user manaul with it.

Good Hunting,
FUBAR295