Post by Gunter Severloh on Mar 8, 2021 3:44:51 GMT -6
Adding Briefings, & notes
Step 1.
Get this tool: Armaedit
www.armaholic.com/page.php?id=1455&highlight=ARMAEDIT
get the patch for it: www.armaholic.com/page.php?id=1508&highlight=ARMAEDIT
Install and run the tool, this tool will help you create scripts.
step 2.
Run Armaedit, go to File (top left) then
go to new file and choose function file (sqf)
step 3.
your page should be white, now add the following code:
In the first bracket it says: ["Credits", "Mission Built by your name here. "]];
you can change the word credits to whatever you want, same for the words after but the layout which is this:
player createDiaryRecord["Diary", ["title", "description. "]];
must remain as is.
Notice the order of the subjects, in the game the order will start with briefing at the top, but in the script you need to have it as seen above.
step 4.
Save the script as briefing
then put the briefing.sqf into the same folder as your mission
step 5.
Go back to Armaedit, go to file, then go to new file, then create briefing file (.html)
save it and then add it to the same folder you put the briefing.sqf file in.
step 6.
Go to Armaedit one more time, go to file, then go to new file, then create a function file (sqf)
paste the following code in it:
save it as: init
put the init.sqf script in the same folder as your mission like the other scripts.
==============
Now start up your mission go to map and look at the notes.
Step 1.
Get this tool: Armaedit
www.armaholic.com/page.php?id=1455&highlight=ARMAEDIT
get the patch for it: www.armaholic.com/page.php?id=1508&highlight=ARMAEDIT
Install and run the tool, this tool will help you create scripts.
step 2.
Run Armaedit, go to File (top left) then
go to new file and choose function file (sqf)
step 3.
your page should be white, now add the following code:
player createDiaryRecord["Diary", ["Credits", "Mission Built by your name here. "]];
player createDiaryRecord["Diary", ["Ammo", "You have an Ammobox available to you. "]];
player createDiaryRecord["Diary", ["Objectives", "find and locate the enemy, and destroy them. "]];
player createDiaryRecord["Diary", ["Respawn", "When and if you should die you can respawn at base. "]];
player createDiaryRecord["Diary", ["Briefing", "The enemy has moved to a location and setup base. "]];
In the first bracket it says: ["Credits", "Mission Built by your name here. "]];
you can change the word credits to whatever you want, same for the words after but the layout which is this:
player createDiaryRecord["Diary", ["title", "description. "]];
must remain as is.
Notice the order of the subjects, in the game the order will start with briefing at the top, but in the script you need to have it as seen above.
step 4.
Save the script as briefing
then put the briefing.sqf into the same folder as your mission
step 5.
Go back to Armaedit, go to file, then go to new file, then create briefing file (.html)
save it and then add it to the same folder you put the briefing.sqf file in.
step 6.
Go to Armaedit one more time, go to file, then go to new file, then create a function file (sqf)
paste the following code in it:
execVM "briefing.sqf";
save it as: init
put the init.sqf script in the same folder as your mission like the other scripts.
==============
Now start up your mission go to map and look at the notes.
hope that helps.
================
An alternative method for briefings and tasks is one done here by Sander
An alternative method to define mission objectives and notes is to explicitly create them for each named playable unit. This method is a bit crude, but in my experience a lot more reliable than the alternative methods, where switching between units, JIP, respawning or reloading save games have all resulted in tasks or notes not showing up. It is a robust method that involves some duplication, but offers improved reliability when it comes to availability of the briefing tasks and diary information whenever one switches between playable units, respawns into another playable unit or joins in progress. For example for two playable units one defines separately named tasks that are assigned to a specific playable unit. In the mission one does need to update the specific named tasks in the on activation field of the associated trigger.
In this example two playable units are named soldier` and soldier2 and have their own tasks assigned, each with a different identification:
It is necessary to update both named tasks to ensure both playable units have the task greened up, so in the on activation field of the trigger one would write for the first objective:
An alternative method to define mission objectives and notes is to explicitly create them for each named playable unit. This method is a bit crude, but in my experience a lot more reliable than the alternative methods, where switching between units, JIP, respawning or reloading save games have all resulted in tasks or notes not showing up. It is a robust method that involves some duplication, but offers improved reliability when it comes to availability of the briefing tasks and diary information whenever one switches between playable units, respawns into another playable unit or joins in progress. For example for two playable units one defines separately named tasks that are assigned to a specific playable unit. In the mission one does need to update the specific named tasks in the on activation field of the associated trigger.
In this example two playable units are named soldier` and soldier2 and have their own tasks assigned, each with a different identification:
// tasks
task2a = soldier1 createSimpleTask ["Destroy the supplies"];
task2a setSimpleTaskDescription ["Destroy the supplies", "Destroy the supplies", "Destroy the supplies"];
task2a setSimpleTaskDestination markerpos "obj2";
task1a = soldier1 createSimpleTask ["Capture the village"];
task1a setSimpleTaskDescription ["Capture the village", "Capture the village", "Capture the village"];
task1a setSimpleTaskDestination markerpos "obj1";
// tasks
task2b = soldier2 createSimpleTask ["Destroy the supplies"];
task2b setSimpleTaskDescription ["Destroy the supplies", "Destroy the supplies", "Destroy the supplies"];
task2b setSimpleTaskDestination markerpos "obj2";
task1b = soldier2 createSimpleTask ["Capture the village"];
task1b setSimpleTaskDescription ["Capture the village", "Capture the village", "Capture the village"];
task1b setSimpleTaskDestination markerpos "obj1";
// diary entries
soldier1 createDiaryRecord["Diary", ["Background",
"
In order to deny our enemy vital stores of fuel and ammunition it is imperative that our forces clear the <marker name='obj1'>village</marker> to allow demolition charges to be set on all <marker name='obj2'>resupply vehicles</marker>. As the squad is composed of veterans with considerable experience the platoon commander has picked <marker name='start'>our unit</marker> for this important task.
< br/>
< br/>
Although our forces are outnumbered by the enemy additional automatic weapons have been made available to increase the firepower by a considerable margin. The allocation of a sniper rifle allows stand off engagement of the defenders to reduce their numbers before a close assault is made by the remainder of the unit.
"]];
soldier1 createDiaryRecord["Diary", ["Enemy",
"
The <marker name='obj1'>village</marker> is garrisoned by a platoon sized unit of light infantry with an assault gun for armoured support. Lack of engineer supplies has prevented extensive fortification efforts, though some crew served weapons have been positioned in protected emplacements.
< br/>
< br/>
Interrogation of a prisoner has revealed the presence of two ammunition trucks as well as three fuel trucks. Signal intercepts of enemy radio communications appear to corroborate this testimony. These <marker name='obj2'>vehicles</marker> must be destroyed using explosives or expedient means.
"]];
soldier1 createDiaryRecord["Diary", ["Mission",
"<marker name='start'>Infantry</marker> will capture the <marker name='obj1'>village</marker> and destroy the <marker name='obj2'>supply vehicles</marker>."]];
// diary entries
soldier2 createDiaryRecord["Diary", ["Background",
"
In order to deny our enemy vital stores of fuel and ammunition it is imperative that our forces clear the <marker name='obj1'>village</marker> to allow demolition charges to be set on all <marker name='obj2'>resupply vehicles</marker>. As the squad is composed of veterans with considerable experience the platoon commander has picked <marker name='start'>our unit</marker> for this important task.
< br/>
< br/>
Although our forces are outnumbered by the enemy additional automatic weapons have been made available to increase the firepower by a considerable margin. The allocation of a sniper rifle allows stand off engagement of the defenders to reduce their numbers before a close assault is made by the remainder of the unit.
"]];
soldier2 createDiaryRecord["Diary", ["Enemy",
"
The <marker name='obj1'>village</marker> is garrisoned by a platoon sized unit of light infantry with an assault gun for armoured support. Lack of engineer supplies has prevented extensive fortification efforts, though some crew served weapons have been positioned in protected emplacements.
< br/>
< br/>
Interrogation of a prisoner has revealed the presence of two ammunition trucks as well as three fuel trucks. Signal intercepts of enemy radio communications appear to corroborate this testimony. These <marker name='obj2'>vehicles</marker> must be destroyed using explosives or expedient means.
"]];
soldier2 createDiaryRecord["Diary", ["Mission",
"<marker name='start'>Infantry</marker> will capture the <marker name='obj1'>village</marker> and destroy the <marker name='obj2'>supply vehicles</marker>."]];
It is necessary to update both named tasks to ensure both playable units have the task greened up, so in the on activation field of the trigger one would write for the first objective:
VictoryCondition1 = 1; publicVariable "VictoryCondition1"; "1" ObjStatus "DONE"; task1a settaskstate "SUCCEEDED"; task1b settaskstate "SUCCEEDED";