setWaypointStatements: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
m (Some wiki formatting)
 
(57 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Command|= Comments
{{RV|type=command
____________________________________________________________________________________________


| arma |= Game name
|game1= ofpe
|version1= 1.00


|1.00|= Game version
|game2= arma1
____________________________________________________________________________________________
|version2= 1.00


| The waypoint is done only when the condition is fulfilled. When the waypoint is done, the statement expression is executed.
|game3= arma2
<br>
|version3= 1.00
<br>
 
|game4= arma2oa
|version4= 1.50
 
|game5= tkoh
|version5= 1.00
 
|game6= arma3
|version6= 0.50
 
|gr1= Waypoints
 
|descr= The waypoint is done only when the condition is fulfilled. When the waypoint is done, the statement expression is executed.<br>
Within the Condition & Statement code string:
Within the Condition & Statement code string:
* [[this]] refers to the group leader
* [[Magic Variables#this_2|this]] refers to the group leader
* [[this#thisList|thisList]] refers to an array containing each unit in the group |= Description
* [[Magic Variables#thisList|thisList]] refers to the group's units
____________________________________________________________________________________________
{{Feature | important | The '''Condition''' code is evaluated on the [[groupOwner|group owner]]'s machine. When condition returns [[true]], for some strange reason, the condition is evaluated one more time. The '''OnActivation''' code is executed '''[[Multiplayer Scripting#Locality|globally]]''', a.k.a on every client! See [[Waypoints]].}}


| waypoint '''setWaypointStatements''' [condition, statement] |= Syntax
|s1= waypoint [[setWaypointStatements]] [condition, statement]


|p1= waypoint: [[Array]] - format [[Waypoint]] |= Parameter 1
|p1= waypoint: [[Array]] - format [[Waypoint]]
|p2= [condition, statement]: [[Array]] |= Parameter 2
|p3= condition: [[String]] |= Parameter 3
|p4= statement: [[String]] |= Parameter 4


| [[Nothing]] |= Return value
|p2= condition: [[String]]
____________________________________________________________________________________________
 
|x1= <code>new_wp [[setWaypointStatements]] ["[[true]]", "[[hint]] 'hello'; [[hint]] 'goodbye<nowiki>'</nowiki>"];</code> |= Example 1


|x2= <code>new_wp [[setWaypointStatements]] ["[[true]]", "[[diag_log]] ['GroupLeader: ', [[this]]<nowiki>]</nowiki>; [[diag_log]] ['Units: ', [[this#thislist|thislist]]<nowiki>]</nowiki>"];</code> |= Example 2
|p3= statement: [[String]]
____________________________________________________________________________________________


| [[waypoints]], [[deleteWaypoint]], [[copyWaypoints]], [[setCurrentWaypoint]], [[setWaypointBehaviour]], [[setWaypointCombatMode]], [[setWaypointCompletionRadius]], [[setWaypointDescription]], [[setWaypointFormation]], [[setWaypointHousePosition]], [[setWaypointPosition]], [[setWaypointScript]], [[setWaypointSpeed]], [[setWaypointTimeout]], [[setWaypointType]], [[setWaypointVisible]], [[waypointAttachVehicle]], [[waypointAttachedVehicle]], [[setWaypointLoiterRadius]], [[waypointLoiterRadius]], [[addWaypoint]], [[setWaypointLoiterType]], [[waypointSpeed]] |= See also
|r1= [[Nothing]]


}}
|x1= <sqf>_waypoint setWaypointStatements ["true", "hint 'hello'; hint 'goodbye'"];</sqf>


<h3 style="display:none">Notes</h3>
|x2= <sqf>_waypoint setWaypointStatements ["true", "diag_log ['GroupLeader: ', this]; diag_log ['Units: ', thislist]"];</sqf>
<dl class="command_description">
<!-- Note Section BEGIN -->


<!-- Note Section END -->
|seealso= [[waypointStatements]]
</dl>
}}


<h3 style="display:none">Bottom Section</h3>
{{Note
[[Category:Scripting Commands|SETWAYPOINTSTATEMENTS]]
|user= SilentSpike
[[Category:Scripting Commands OFP Elite |SETWAYPOINTSTATEMENTS]]
|timestamp= 20160521161900
[[Category:Scripting Commands ArmA|SETWAYPOINTSTATEMENTS]]
|text= Within the completion statement [[currentWaypoint]] will give the index of the waypoint being completed (as opposed to the following one).<br><br>
[[Category:Command_Group:_Waypoints|SETWAYPOINTSTATEMENTS]]
This is particularly useful if you need a self deleting waypoint:
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]
<sqf>_waypoint setWaypointStatements ["true", "deleteWaypoint [group this, currentWaypoint group this]"]</sqf>
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
}}
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]


<!-- CONTINUE Notes -->
{{Note
<dl class="command_description">
|user= RHfront
<dd class="notedate">Posted on May 21, 2016 - 16:19 (UTC)</dd>
|timestamp= 20170509163500
<dt class="note">[[User:SilentSpike|SilentSpike]]</dt>
|text= The condition block carries the same rules as functions which return a value.
<dd class="note">
The return value must be a [[Boolean]].
Within the completion statement [[currentWaypoint]] will give the index of the waypoint being completed (as opposed to the following one).<br><br>
One can bypass the use of triggers in this manner:
This is particularly useful if you need a self deleting waypoint:<code>[[setWaypointStatements]] ["[[true]]","[[deleteWaypoint]] <nowiki>[</nowiki>[[group]] this, [[currentWaypoint]] ([[group]] this)]"]</code>
<sqf>_waypoint setWaypointStatements ["code code code; _returnBool", "onActivation block;"];</sqf>
</dd>
}}
</dl>
<!-- DISCONTINUE Notes -->
 
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on May 9, 2017 - 16:35 (UTC)</dd>
<dt class="note">[[User:RHfront|RHfront]]</dt>
<dd class="note">
The condition block carries the same rules as functions which return a value. The return value must be of type Boolean. I can bypass the use of triggers in this manner. <br>
<code>_wp setWaypointStatements [" ''code code code;'' '''_returnBool'''", "''onActivation block;''"];</code>
</dd>
</dl>
<!-- DISCONTINUE Notes -->

Latest revision as of 14:56, 22 May 2022

Hover & click on the images for description

Description

Description:
The waypoint is done only when the condition is fulfilled. When the waypoint is done, the statement expression is executed.
Within the Condition & Statement code string:
  • this refers to the group leader
  • thisList refers to the group's units
The Condition code is evaluated on the group owner's machine. When condition returns true, for some strange reason, the condition is evaluated one more time. The OnActivation code is executed globally, a.k.a on every client! See Waypoints.
Groups:
Waypoints

Syntax

Syntax:
waypoint setWaypointStatements [condition, statement]
Parameters:
waypoint: Array - format Waypoint
condition: String
statement: String
Return Value:
Nothing

Examples

Example 1:
_waypoint setWaypointStatements ["true", "hint 'hello'; hint 'goodbye'"];
Example 2:
_waypoint setWaypointStatements ["true", "diag_log ['GroupLeader: ', this]; diag_log ['Units: ', thislist]"];

Additional Information

See also:
waypointStatements

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
SilentSpike - c
Posted on May 21, 2016 - 16:19 (UTC)
Within the completion statement currentWaypoint will give the index of the waypoint being completed (as opposed to the following one).

This is particularly useful if you need a self deleting waypoint:
_waypoint setWaypointStatements ["true", "deleteWaypoint [group this, currentWaypoint group this]"]
RHfront - c
Posted on May 09, 2017 - 16:35 (UTC)
The condition block carries the same rules as functions which return a value. The return value must be a Boolean. One can bypass the use of triggers in this manner:
_waypoint setWaypointStatements ["code code code; _returnBool", "onActivation block;"];