deleteWaypoint: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - " <nowiki>[</nowiki>" to " [<nowiki/>") |
Lou Montana (talk | contribs) (Fix description and note) |
||
Line 11: | Line 11: | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| Removes the specified waypoint. | | Removes the specified waypoint. | ||
{{ Informative | When a waypoint is deleted, all other [[group]] [[waypoints]] are immediately re-indexed. | {{Informative | | ||
* When a waypoint is deleted, all other [[group]] [[waypoints]] are immediately re-indexed. See '''[[#Examples|Example 2]]''' for a deletion of all group's waypoints. | |||
* Deleting a group's [[currentWaypoint|current waypoint]] will ''not'' stop the group on its tracks.}} |DESCRIPTION= | |||
}} | |||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| | | [[deleteWaypoint]] [group, index] |SYNTAX= | ||
|p1= [group, index]: [[Array]] |PARAMETER1= | |||
|p2= group: [[Group]] |PARAMETER2= | |p2= group: [[Group]] |PARAMETER2= | ||
|p3= index: [[Number]] |PARAMETER3= | |p3= index: [[Number]] |PARAMETER3= | ||
Line 33: | Line 28: | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
|x1= <code>[[deleteWaypoint]] [_grp, 2]</code> |EXAMPLE1= | |x1= <code>[[deleteWaypoint]] [_grp, 2];</code> |EXAMPLE1= | ||
|x2= Because waypoints get immediately re-indexed when one gets deleted, delete them from last to first: | |||
<code>[[private]] _group = [[group]] _unit; | |||
[[for]] "_i" [[from]] [[count]] [[waypoints]] _group - 1 [[to]] 0 [[step]] -1 [[do]] | |||
{ | |||
[[deleteWaypoint]] [_group, _i]; | |||
};</code> |EXAMPLE2= | |||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| [[waypoints]], [[copyWaypoints]], [[setCurrentWaypoint]], [[setWaypointBehaviour]], [[setWaypointCombatMode]], [[setWaypointCompletionRadius]], [[setWaypointDescription]], [[setWaypointFormation]], [[setWaypointHousePosition]], [[setWaypointPosition]], [[setWaypointScript]], [[setWaypointSpeed]], [[setWaypointStatements]], [[setWaypointTimeout]], [[setWaypointType]], [[setWaypointVisible]], [[waypointAttachVehicle]], [[waypointAttachedVehicle]], [[setWaypointLoiterRadius]], [[waypointLoiterRadius]], [[addWaypoint]], [[setWaypointLoiterType]], [[waypointSpeed]] |SEEALSO= | | [[waypoints]], [[copyWaypoints]], [[setCurrentWaypoint]], [[setWaypointBehaviour]], [[setWaypointCombatMode]], [[setWaypointCompletionRadius]], [[setWaypointDescription]], [[setWaypointFormation]], [[setWaypointHousePosition]], [[setWaypointPosition]], [[setWaypointScript]], [[setWaypointSpeed]], [[setWaypointStatements]], [[setWaypointTimeout]], [[setWaypointType]], [[setWaypointVisible]], [[waypointAttachVehicle]], [[waypointAttachedVehicle]], [[setWaypointLoiterRadius]], [[waypointLoiterRadius]], [[addWaypoint]], [[setWaypointLoiterType]], [[waypointSpeed]] |SEEALSO= | ||
}} | }} | ||
Line 43: | Line 44: | ||
<dl class="command_description"> | <dl class="command_description"> | ||
<!-- Note Section BEGIN --> | <!-- Note Section BEGIN --> | ||
<dd class="notedate">Posted on 1 Feb, 2008 - 07:48 | <dd class="notedate">Posted on 1 Feb, 2008 - 07:48 | ||
<dt class="note">[[User:Saintolaf|Saintolaf]] | <dt class="note">[[User:Saintolaf|Saintolaf]] | ||
<dd class="note"> | <dd class="note"> | ||
In order to change the behavior of a unit currently following | In order to change the behavior of a unit currently following some waypoints, it is not enough to use [[deleteWaypoint]]. | ||
To achieve the wanted effect, you should rather use setWPPos to the | To achieve the wanted effect, you should rather use [[setWPPos]] to the unit's current position (thereby stopping the unit), and (after a small delay) use [[deleteWaypoint]] to remove the next [[waypoints]]. | ||
<dd class="notedate">Posted on 15 Nov, 2008 - 13:37 | <dd class="notedate">Posted on 15 Nov, 2008 - 13:37 | ||
<dt class="note"> | <dt class="note">[[User:VictorFarbau|VictorFarbau]] | ||
<dd class="note"> | <dd class="note"> | ||
Another (more foolproof) method to avoid the problem of non-deleteable waypoints is to introduce another group (createGroup) and join all units of the present group. A new group will start without any preset waypoints so you can start setting new WPs all over again. | Another (more foolproof) method to avoid the problem of non-deleteable waypoints is to introduce another group ([[createGroup]]) and [[join]] all units of the present group. A new group will start without any preset waypoints so you can start setting new WPs all over again. | ||
Old group is "_combatGroup", new group is "_combatGroup2" | Old group is "_combatGroup", new group is "_combatGroup2" | ||
<code>_combatGroup2 = [[createGroup]] | <code>_combatGroup2 = [[createGroup]] [[east]]; | ||
{[_x] [[joinSilent]] _combatGroup2} [[forEach]] ([[units]] _combatGroup); | { [_x] [[joinSilent]] _combatGroup2 } [[forEach]] ([[units]] _combatGroup); | ||
_combatGroup2 [[addWaypoint]] [ [[getPos]] [[player]], 25];</code> | _combatGroup2 [[addWaypoint]] [<nowiki/>[[getPos]] [[player]], 25];</code> | ||
<!-- Note Section END --> | <!-- Note Section END --> | ||
</dl> | </dl> | ||
Line 73: | Line 65: | ||
<h3 style="display:none">Bottom Section</h3> | <h3 style="display:none">Bottom Section</h3> | ||
[[Category:Scripting Commands| | [[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]] | ||
[[Category:Scripting Commands OFP Elite | | [[Category:Scripting Commands OFP Elite |{{uc:{{PAGENAME}}}}]] | ||
[[Category:Scripting Commands ArmA| | [[Category:Scripting Commands ArmA|{{uc:{{PAGENAME}}}}]] | ||
[[Category:Scripting Commands Arma 2|{{uc:{{PAGENAME}}}}]] | [[Category:Scripting Commands Arma 2|{{uc:{{PAGENAME}}}}]] | ||
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]] | [[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]] | ||
[[Category: | [[Category:Scripting Commands Take On Helicopters|{{uc:{{PAGENAME}}}}]] | ||
[[Category: | [[Category:Command Group: Waypoints|{{uc:{{PAGENAME}}}}]] | ||
<!-- CONTINUE Notes --> | <!-- CONTINUE Notes --> | ||
Line 86: | Line 78: | ||
<dt class="note">[[User:Mr H.|Mr H.]]</dt> | <dt class="note">[[User:Mr H.|Mr H.]]</dt> | ||
<dd class="note"> | <dd class="note"> | ||
To have the unit stop on the spot you need to set its current waypoint where it is and add a little delay, as stated above by [[User|Saintolaf]] so: | |||
<code>[[group]] _unit [[spawn]] | |||
<code>group _unit spawn | |||
{ | { | ||
[_this,(currentWaypoint _this)] setWaypointPosition [getPosASL ((units _this) select 0), -1]; | [_this, (currentWaypoint _this)] [[setWaypointPosition]] [<nowiki/>[[getPosASL]] (([[units]] _this) [[select]] 0), -1]; | ||
sleep 0.1; | [[sleep]] 0.1; | ||
for "_i" from count waypoints _this - 1 to 0 step -1 do | [[for]] "_i" from [[count]] [[waypoints]] [[_this]] - 1 [[to]] 0 [[step]] -1 [[do]] | ||
{ | |||
[[deleteWaypoint]] [<nowiki/>[[_this]], _i]; | |||
}; | |||
}; | }; | ||
</code> | </code> | ||
Will stop the group where it is and delete its waypoints. | Will stop the group where it is and delete its waypoints. | ||
</dd> | </dd> | ||
</dl> | </dl> | ||
<!-- DISCONTINUE Notes --> | <!-- DISCONTINUE Notes --> |
Revision as of 00:43, 6 April 2020
Description
- Description:
- Removes the specified waypoint.
- Groups:
- Uncategorised
Syntax
- Syntax:
- deleteWaypoint [group, index]
- Parameters:
- [group, index]: Array
- group: Group
- index: Number
- Return Value:
- Nothing
Examples
- Example 1:
deleteWaypoint [_grp, 2];
- Example 2:
- Because waypoints get immediately re-indexed when one gets deleted, delete them from last to first:
private _group = group _unit; for "_i" from count waypoints _group - 1 to 0 step -1 do { deleteWaypoint [_group, _i]; };
Additional Information
- See also:
- waypointscopyWaypointssetCurrentWaypointsetWaypointBehavioursetWaypointCombatModesetWaypointCompletionRadiussetWaypointDescriptionsetWaypointFormationsetWaypointHousePositionsetWaypointPositionsetWaypointScriptsetWaypointSpeedsetWaypointStatementssetWaypointTimeoutsetWaypointTypesetWaypointVisiblewaypointAttachVehiclewaypointAttachedVehiclesetWaypointLoiterRadiuswaypointLoiterRadiusaddWaypointsetWaypointLoiterTypewaypointSpeed
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
Notes
- Posted on 1 Feb, 2008 - 07:48
- Saintolaf
- In order to change the behavior of a unit currently following some waypoints, it is not enough to use deleteWaypoint. To achieve the wanted effect, you should rather use setWPPos to the unit's current position (thereby stopping the unit), and (after a small delay) use deleteWaypoint to remove the next waypoints.
- Posted on 15 Nov, 2008 - 13:37
- VictorFarbau
-
Another (more foolproof) method to avoid the problem of non-deleteable waypoints is to introduce another group (createGroup) and join all units of the present group. A new group will start without any preset waypoints so you can start setting new WPs all over again.
Old group is "_combatGroup", new group is "_combatGroup2"
_combatGroup2 = createGroup east; { [_x] joinSilent _combatGroup2 } forEach (units _combatGroup); _combatGroup2 addWaypoint [getPos player, 25];
Bottom Section
- Posted on November 17, 2019 - 16:52 (UTC)
- Mr H.
-
To have the unit stop on the spot you need to set its current waypoint where it is and add a little delay, as stated above by Saintolaf so:
group _unit spawn { [_this, (currentWaypoint _this)] setWaypointPosition [getPosASL ((units _this) select 0), -1]; sleep 0.1; for "_i" from count waypoints _this - 1 to 0 step -1 do { deleteWaypoint [_this, _i]; }; };
Will stop the group where it is and delete its waypoints.
Categories:
- Scripting Commands
- Introduced with Arma version 1.00
- Arma: New Scripting Commands
- Arma: Scripting Commands
- Command Group: Uncategorised
- Scripting Commands: Global Effect
- Scripting Commands OFP Elite
- Scripting Commands ArmA
- Scripting Commands Arma 2
- Scripting Commands Arma 3
- Scripting Commands Take On Helicopters
- Command Group: Waypoints