Guarded points created via either createGuardedPoint or Guarded By triggers have limited scripted usefulness as they cannot be edited once created. I've got a few suggestions to make them more useful:
- createGuardedPoint should return the index of the new point
- New script command: deleteGuardedPoint, takes an index and deletes the point, returns boolean whether a point was deleted
- New script command: guardedPointPosition, takes an index, returns the current position of the Guarded point, following attached vehicles/terrain objects. Returns an empty array if it doesn't exist, and can thus be used to check if the position exists
- New script command: setGuardedPointPosition, takes an index, and either a position array, an terrain object ID, or an object.
- New script command: guarding, takes a group or unit, returns an array containing the point index (-1 if at guard waypoint), and a boolean that is true if the group has reached the point.
- New script command: setGuardedPointRadius, takes an index and radius, determines how far away from a point a group might move to engage targets
- New script command: getGuardedPointRadius, takes an index, returns radius
With these commands it should be possible to more dynamically create guarded positions, and script AI to do certain actions when for example travelling to a guarded position (Grab a vehicle, or get transported), and when they reach the position (Mount static turrets, garrison buildings, patrol nearby area).