createDiaryRecord: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Add setDiaryRecordText link)
m (Remove syntaxhighlight spoiler hack)
 
(63 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{Command|Comments=
{{RV|type=command
____________________________________________________________________________________________


| arma2 |Game name=
|game1= arma2
|version1= 1.00


|1.00|Game version=
|game2= arma2oa
|version2= 1.50


|eff= local |Multiplayer Effects=
|game3= tkoh
____________________________________________________________________________________________
|version3= 1.00


| Creates a diary entry. Supported tags and their parameters: <spoiler>
|game4= arma3
{{{!}} class{{=}}"bikitable sortable"
|version4= 0.50
 
|gr1= Briefing
 
|eff= local
 
|arg= local
 
|descr= Creates a [[Diary]] entry. Supported tags and their parameters: <spoiler>
{| class="wikitable sortable valign-top"
! Tag
! Tag
!class{{=}}"unsortable" {{!}} Options
! class="unsortable" | Options
{{!}}-
! class="unsortable" | Example
{{!}} img
|-
{{!}}
| img
|
* ''image'': [[String]] - path to image. When present, any element with it will be displayed as image.
* ''image'': [[String]] - path to image. When present, any element with it will be displayed as image.
* ''width'': [[Number]] - image width in pixels.
* ''width'': [[Number]] - image width in pixels.
* ''height'': [[Number]] - image height in pixels.
* ''height'': [[Number]] - image height in pixels.
{{!}}-
* {{GVI|arma3|2.10|size= 0.75}} ''title'': [[String]] - tooltip to show on mouse over image
{{!}} font
* {{GVI|arma3|2.10|size= 0.75}} ''src'': [[String]] - alternative to 'image'
{{!}}
{{Feature|arma3|Maximum width supported seems to be '''370''' pixels as a wider image will be cut off. Height should be calculated with the aspect ratio of the image. {{hl|height {{=}} 370; ratio {{=}} 16/9; height {{=}} width / ratio;}}}}
* ''color'': [[String]] - [http://en.wikipedia.org/wiki/HTML_color HTML color] in format #aarrggbb or #rrggbb
|
* ''size'': [[Number]] - font height in pixels.
<syntaxhighlight lang="html"><img image="picture.paa" width="128" height="64" /></syntaxhighlight>
* ''face'': [[String]] - font type (class from CfgFontFamilies)
<br>
{{!}}-
Since {{arma3}} v2.10:
{{!}} br
<syntaxhighlight lang="html"><img src="picture.paa" width="128" height="64" title="this is an image" /></syntaxhighlight>
{{!}} {{n/a}}
|-
{{!}}-
| font
{{!}} marker
|
{{!}}
* ''color'': [[String]] - {{Link|https://en.wikipedia.org/wiki/HTML_color|HTML color}} in format #aarrggbb or #rrggbb
* ''size'': [[Number]] - font height in pixels (default: 14)
* ''face'': [[String]] - font type (see [[FXY File Format#Available Fonts|Fonts]])
| <syntaxhighlight lang="html"><font color="#FF00FF" size="16" face="LucidaConsoleB">Hello there</font></syntaxhighlight>
|-
| br
| {{n/a}}
| <syntaxhighlight lang="html">Line 1<br />Line 2</syntaxhighlight>
|-
| marker
|
* ''name'': [[String]] - marker name
* ''name'': [[String]] - marker name
{{!}}-
| <syntaxhighlight lang="html"><marker name="respawn_west">Respawn point</marker></syntaxhighlight>
{{!}} execute
|-
{{!}}
| execute
|
* ''expression'': [[String]] - executed code
* ''expression'': [[String]] - executed code
{{!}}-
| <syntaxhighlight lang="html"><execute expression="player setDamage 1">Die!</execute></syntaxhighlight>
{{!}} executeClose
|-
{{!}}
| executeClose
|
* ''expression'': [[String]] - executed code, diary is closed afterwards
* ''expression'': [[String]] - executed code, diary is closed afterwards
{{!}}-
| <syntaxhighlight lang="html"><executeClose expression="player setDamage 1">Die and close</executeClose></syntaxhighlight>
{{!}} [[createDiaryLink|log]]
|-
{{!}}
| [[createDiaryLink|log]]
|
* ''subject'': [[String]] - [[createDiarySubject|subject]] name.
* ''subject'': [[String]] - [[createDiarySubject|subject]] name.
* ''record'': [[String]] - record name (e.g. "Record6" or "Unit1059524")
* ''record'': [[String]] - record ID (e.g. "Record6" or "Unit1059524")
{{!}}-
| <syntaxhighlight lang="html"><log subject="Hello">Get to the "Hello" subject</log></syntaxhighlight>
{{!}} gear
<syntaxhighlight lang="html"><log subject="Hello" record="Record0">Go to the first record added to "Hello"</log></syntaxhighlight>
{{!}}
|-
| gear
|
* ''unit'': [[Number]] - unit ID
* ''unit'': [[Number]] - unit ID
{{!}}-
| <syntaxhighlight lang="html"><gear unit="123456">Open unit 123456's gear</gear></syntaxhighlight>
{{!}} teamSwitch
|-
{{!}}
| teamSwitch
|
* ''unit'': [[Number]] - unit ID
* ''unit'': [[Number]] - unit ID
{{!}}-
| <syntaxhighlight lang="html"><teamSwitch unit="123456">Switch to unit 123456</teamSwitch></syntaxhighlight>
{{!}} kick
|-
{{!}}
| kick
|
* ''id'': [[Number]] - unit ID
| <syntaxhighlight lang="html"><kick unit="123456">Kick player unit 123456</kick></syntaxhighlight>
|-
| ban
|
* ''id'': [[Number]] - unit ID
| <syntaxhighlight lang="html"><ban unit="123456">ban player unit 123456</ban></syntaxhighlight>
|-
| mute
|
* ''id'': [[Number]] - unit ID
* ''id'': [[Number]] - unit ID
{{!}}-
| <syntaxhighlight lang="html"><mute unit="123456">mute player unit 123456</mute></syntaxhighlight>
{{!}} ban
|-
{{!}}
| voteadmin
|
* ''id'': [[Number]] - unit ID
* ''id'': [[Number]] - unit ID
{{!}}-
| <syntaxhighlight lang="html"><voteadmin unit="123456">vote admin unit 123456</voteadmin></syntaxhighlight>
{{!}} mute
|-
{{!}}
| votekick
|
* ''id'': [[Number]] - unit ID
* ''id'': [[Number]] - unit ID
{{!}}-
| <syntaxhighlight lang="html"><votekick unit="123456">vote kick player unit 123456</votekick></syntaxhighlight>
{{!}} currentTask
|-
{{!}}
| currentTask
|
* ''id'': [[Number]] - task ID
* ''id'': [[Number]] - task ID
{{!}}}</spoiler>
* ''action'': [[String]] - 'n' or 's' (select)
{{Informative | If [[createDiaryRecord]] command fails, it returns null record, but since there is no null record unary command, you can make a variable and compare against it.
| <syntaxhighlight lang="html"><currentTask id="my_task">get to my_task task</currentTask></syntaxhighlight>
[[private]] _nullRecord <nowiki>=</nowiki> [[objNull]] [[createDiaryRecord]] [];
|}</spoiler>
[[if]] ([[player]] [[createDiaryRecord]] ["Diary", ["title", "description"]] [[isEqualTo]] _nullRecord) [[then]] { [[hint]] "Failed" };
{{Feature|informative|
}} |DESCRIPTION=
If the [[createDiaryRecord]] command fails, it returns a null record.
____________________________________________________________________________________________
Before {{arma3}} v2.00, [[isNull]] did not work with the diary record type and [[diaryRecordNull]] did not exist.
In order to verify a null record, it is possible to create a variable and compare against it:
<sqf>
private _recordNull = objNull createDiaryRecord [];
private _createdRecord = player createDiaryRecord ["Diary", ["Title", "Description"]];
if (_createdRecord isEqualTo _recordNull) then { hint "Failed"; };
</sqf>
}}


| unitName [[createDiaryRecord]] [subject, text, task, taskState, showTitle] |SYNTAX=
|s1= player [[createDiaryRecord]] [subject, textInfo, task, taskState, showTitle]


|p1= unitName: [[Object]] |PARAMETER1=
|p1= player: [[Object]]


|p2= subject: [[String]] |PARAMETER2=
|p2= subject: [[String]]


|p3= text: [[String]] |PARAMETER3=
|p3= textInfo: [[String]] or [[Array]] of [[String]]s - can be:
* [[String]] - the record's content - its title will be empty
* [[Array]] of [[String]]s - format [title, text, icon]:
** title: [[String]]
** text: [[String]]
** {{GVI|arma3|2.10|size= 0.75}} icon: [[String]] - (Optional) icon to show next to the title


|p4= task: (optional): [[Task]] |PARAMETER4=
|p4= task: [[Task]] - (Optional, default [[taskNull]])


|p5= taskState: (optional): [[String]] - Changes the state of the given task. Can be "CANCELED", "ASSIGNED", "FAILED", "CREATED", "SUCCEEDED"|PARAMETER5=
|p5= taskState: [[String]] - (Optional, default {{hl|"NONE"}}) changes the state of the given task. Can be one of:
{{Columns|3|
* {{hl|"NONE"}}
* {{hl|"CREATED"}}
* {{hl|"ASSIGNED"}}
* {{hl|"SUCCEEDED"}}
* {{hl|"FAILED"}}
* {{hl|"CANCELED"}}
}}


|p6= showTitle (Optional): [[Boolean]] - Title visibility. Default: [[true]] {{GVI|arma3|1.96}} |PARAMETER6=
|p6= showTitle: [[Boolean]] - (Optional, default [[true]]) whether or not to show title in the description section as well
|p6since= arma3 1.96


| [[Diary Record]] |RETURNVALUE=
|r1= [[Diary Record]]
____________________________________________________________________________________________


|s2= unitName [[createDiaryRecord]] [subject, [title, text], task, stateState, showTitle] |SYNTAX2=
|x1= <sqf>player createDiaryRecord ["Diary", ["Intel", "Enemy base is on grid <marker name='enemyBase'>161170</marker>"]]</sqf>


|p21= unitName: [[Object]] |PARAMETER21=
|x2= <sqf>player createDiaryRecord ["Diary", "Information gathered.<br /><img image='wellDone_ca.paa' />"]</sqf>


|p22= subject: [[String]] |PARAMETER22=
|x3= <sqf>player createDiaryRecord ["Diary", ["Title", "Description"], taskNull, "", false];</sqf>


|p23= title: [[String]] |PARAMETER23=
|x4= <sqf>
player createDiaryRecord [
"Diary",
["Font tag", "<font color='#7FFF00' size='30' face='TahomaB'>This will changed text size, colour and font</font>"],
taskNull,
"",
false
];
</sqf>


|p24= text: [[String]] |PARAMETER24=
|x5= <sqf>
player createDiaryRecord [
"Diary",
["Image", "<img image='\A3\Ui_F_Curator\Data\Logos\arma3_curator_artwork.jpg' width='500' height='800' />"],
taskNull,
"",
false
];
</sqf>


|p25= task: (optional): [[Task]]|PARAMETER25=
|x6= <sqf>player createDiaryRecord ["Diary", ["Linebreak", "Line1<br />Line2<br /><br />Line4"], taskNull, "", false];</sqf>


|p26= taskState: (optional): [[String]] - Changes the state of the given task. Can be "CANCELED", "ASSIGNED", "FAILED", "CREATED", "SUCCEEDED" |PARAMETER26=
|x7= <sqf>player createDiaryRecord ["Diary", ["Execute","<execute expression='hint ""Some code"";'>Some text</execute>"], taskNull, "", false];</sqf>


|p27= showTitle (Optional): [[Boolean]] - Title visibility. Default: [[true]] {{GVI|arma3|1.96}} |PARAMETER27=
|x8= <sqf>player createDiaryRecord ["Diary", ["ExecuteClose", "<executeClose expression=""hint 'Diary closed';"">Close Diary</executeClose>"], taskNull, "", false];</sqf>


|r2= [[Diary Record]] |RETURNVALUE2=
|seealso= [[allDiaryRecords]] [[processDiaryLink]] [[createDiaryLink]] [[createDiarySubject]] [[diarySubjectExists]] [[setDiaryRecordText]] [[removeDiaryRecord]]
____________________________________________________________________________________________
}}


|x1= <code>[[player]] [[createDiaryRecord]] ["Diary", ["Intel", "Enemy base is on grid <nowiki><marker name='enemyBase'>161170</marker></nowiki>"]]</code>|EXAMPLE1=
{{Note
|user= Tankbuster
|timestamp= 20170324201100
|text= When adding multiple diary records, be aware that they appear in reverse order. ie the first one you add will appear last and the last one you add will be first.
}}


|x2= <code>[[player]] [[createDiaryRecord]] ["Diary", "Information gathered.<nowiki><br />&lt;img image='wellDone_ca.paa' /&gt;</nowiki>"]</code>|EXAMPLE2=
{{Note
|user= R3vo
|timestamp= 20190622162800
|text= It seems that the '''task''' parameter has no effect in {{arma3}} because the task entry in the briefing menu is created when the task itself was created.
}}


|x3= <code>[[player]] [[createDiaryRecord]] ["Diary", ["No Title", "description"], [[taskNull]], "", [[false]]];</code>|EXAMPLE3=
{{Note
 
|user= Honger
|x4= <code>[[player]] [[createDiaryRecord]] ["Diary", ["Font tag","<nowiki><font color='#7FFF00' size='30' face='TahomaB'>This will changed text size, colour and font</font></nowiki>"], [[taskNull]], "",[[false]]];</code>|EXAMPLE4=
|timestamp= 20221018175112
 
|text= <nowiki><log></nowiki>, as <sqf inline>createDiaryLink</sqf>, requires declaring '''both''' subject and ID of the record belonging to said subject. Otherwise generated text will not be clickable or might open a non-existing record (behaviour similar to clicking on map when viewing Diary).
|x5= <code>[[player]] [[createDiaryRecord]] ["Diary", ["Image", "<nowiki><img image='\A3\Ui_F_Curator\Data\Logos\arma3_curator_artwork.jpg' width='500' height='800'/></nowiki>"], [[taskNull]], "", [[false]]];</code>|EXAMPLE5=
 
|x6= <code>[[player]] [[createDiaryRecord]] ["Diary", ["Linebreak","<nowiki>Line1<br></br>Line2<br></br><br></br>Line4</nowiki>"], [[taskNull]], "", [[false]]];</code>|EXAMPLE6=
 
|x7= <code>[[player]] [[createDiaryRecord]] ["Diary", ["Execute","<nowiki><execute expression='hint ""Some code"";'>Some text</execute></nowiki>"], [[taskNull]], "", [[false]]];</code>|EXAMPLE7=
 
|x8= <code>[[player]] [[createDiaryRecord]] ["Diary", ["ExecuteClose", "<nowiki><executeClose expression=""hint 'Diary closed';"">Close Diary</executeClose></nowiki>"], [[taskNull]], "", [[false]]];</code>|EXAMPLE8=
 
| [[processDiaryLink]], [[createDiaryLink]], [[createDiarySubject]], [[diarySubjectExists]], [[setDiaryRecordText]], [[removeDiaryRecord]] |SEEALSO=
 
|  |MPBEHAVIOUR=
}}
}}
<h3 style='display:none'>Bottom Section</h3>
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Take On Helicopters|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]
[[Category:Command Group: Briefing|{{uc:{{PAGENAME}}}}]]
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on March 24, 2017 - 20:11 (UTC)</dd>
<dt class="note">[[User:Tankbuster|Tankbuster]]</dt>
<dd class="note">
When adding multiple diary records, be aware that they appear in reverse order. ie the first one you add will appear last and the last one you add will be first.
</dd>
<dd class="notedate">Posted on May 21, 2018 - 08:21 (UTC)</dd>
<dt class="note">[[User:Kalthramis|Kalthramis]]</dt>
<dd class="note">
To add an entry under the 'Briefing' subject, which is available by default, use "Diary" as the subject.
</dd>
<dd class="notedate">Posted on June 22, 2019 - 16:28 (UTC)</dd>
<dt class="note">[[User:R3vo|R3vo]]</dt>
<dd class="note">
It seems that the '''task''' parameter has no effect because the task entry in the briefing menu is created when the task itself was created.
</dd>
</dl>
<!-- DISCONTINUE Notes -->

Latest revision as of 14:51, 23 June 2023

Hover & click on the images for description

Description

Description:
Creates a Diary entry. Supported tags and their parameters:
Tag Options Example
img
  • image: String - path to image. When present, any element with it will be displayed as image.
  • width: Number - image width in pixels.
  • height: Number - image height in pixels.
  • Arma 3 logo black.png2.10 title: String - tooltip to show on mouse over image
  • Arma 3 logo black.png2.10 src: String - alternative to 'image'
Arma 3
Maximum width supported seems to be 370 pixels as a wider image will be cut off. Height should be calculated with the aspect ratio of the image. height = 370; ratio = 16/9; height = width / ratio;
<img image="picture.paa" width="128" height="64" />


Since Arma 3 v2.10:

<img src="picture.paa" width="128" height="64" title="this is an image" />
font
<font color="#FF00FF" size="16" face="LucidaConsoleB">Hello there</font>
br N/A
Line 1<br />Line 2
marker
<marker name="respawn_west">Respawn point</marker>
execute
  • expression: String - executed code
<execute expression="player setDamage 1">Die!</execute>
executeClose
  • expression: String - executed code, diary is closed afterwards
<executeClose expression="player setDamage 1">Die and close</executeClose>
log
<log subject="Hello">Get to the "Hello" subject</log>
<log subject="Hello" record="Record0">Go to the first record added to "Hello"</log>
gear
<gear unit="123456">Open unit 123456's gear</gear>
teamSwitch
<teamSwitch unit="123456">Switch to unit 123456</teamSwitch>
kick
<kick unit="123456">Kick player unit 123456</kick>
ban
<ban unit="123456">ban player unit 123456</ban>
mute
<mute unit="123456">mute player unit 123456</mute>
voteadmin
<voteadmin unit="123456">vote admin unit 123456</voteadmin>
votekick
<votekick unit="123456">vote kick player unit 123456</votekick>
currentTask
<currentTask id="my_task">get to my_task task</currentTask>
↑ Back to spoiler's top
If the createDiaryRecord command fails, it returns a null record.

Before Arma 3 v2.00, isNull did not work with the diary record type and diaryRecordNull did not exist. In order to verify a null record, it is possible to create a variable and compare against it:

private _recordNull = objNull createDiaryRecord []; private _createdRecord = player createDiaryRecord ["Diary", ["Title", "Description"]]; if (_createdRecord isEqualTo _recordNull) then { hint "Failed"; };
Groups:
Briefing

Syntax

Syntax:
player createDiaryRecord [subject, textInfo, task, taskState, showTitle]
Parameters:
player: Object
subject: String
textInfo: String or Array of Strings - can be:
task: Task - (Optional, default taskNull)
taskState: String - (Optional, default "NONE") changes the state of the given task. Can be one of:
  • "NONE"
  • "CREATED"
  • "ASSIGNED"
  • "SUCCEEDED"
  • "FAILED"
  • "CANCELED"
since Arma 3 logo black.png1.96
showTitle: Boolean - (Optional, default true) whether or not to show title in the description section as well
Return Value:
Diary Record

Examples

Example 1:
player createDiaryRecord ["Diary", ["Intel", "Enemy base is on grid <marker name='enemyBase'>161170</marker>"]]
Example 2:
player createDiaryRecord ["Diary", "Information gathered.<br /><img image='wellDone_ca.paa' />"]
Example 3:
player createDiaryRecord ["Diary", ["Title", "Description"], taskNull, "", false];
Example 4:
player createDiaryRecord [ "Diary", ["Font tag", "<font color='#7FFF00' size='30' face='TahomaB'>This will changed text size, colour and font</font>"], taskNull, "", false ];
Example 5:
player createDiaryRecord [ "Diary", ["Image", "<img image='\A3\Ui_F_Curator\Data\Logos\arma3_curator_artwork.jpg' width='500' height='800' />"], taskNull, "", false ];
Example 6:
player createDiaryRecord ["Diary", ["Linebreak", "Line1<br />Line2<br /><br />Line4"], taskNull, "", false];
Example 7:
player createDiaryRecord ["Diary", ["Execute","<execute expression='hint ""Some code"";'>Some text</execute>"], taskNull, "", false];
Example 8:
player createDiaryRecord ["Diary", ["ExecuteClose", "<executeClose expression=""hint 'Diary closed';"">Close Diary</executeClose>"], taskNull, "", false];

Additional Information

See also:
allDiaryRecords processDiaryLink createDiaryLink createDiarySubject diarySubjectExists setDiaryRecordText removeDiaryRecord

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
Tankbuster - c
Posted on Mar 24, 2017 - 20:11 (UTC)
When adding multiple diary records, be aware that they appear in reverse order. ie the first one you add will appear last and the last one you add will be first.
R3vo - c
Posted on Jun 22, 2019 - 16:28 (UTC)
It seems that the task parameter has no effect in Arma 3 because the task entry in the briefing menu is created when the task itself was created.
Honger - c
Posted on Oct 18, 2022 - 17:51 (UTC)
<log>, as createDiaryLink, requires declaring both subject and ID of the record belonging to said subject. Otherwise generated text will not be clickable or might open a non-existing record (behaviour similar to clicking on map when viewing Diary).