User Tools

Site Tools


4rpl:commands:movetowardsandavoid

Index

MoveTowardsAndAvoid

MoveTowardsAndAvoid(<-start <-target <-delta <-minHeight <-checkRange <-checkCreeper <-checkAC <-checkPseudoTerrain) ->pos

Description

Takes a starting 3D position (a 3-vector) and generates a new 3D position that is moved towards the target (also a 3-vector). The resulting point will not be displaced more than the delta argument.

  • The delta is simply the speed (in cells) this unit moves per game frame.
  • The minHeight argument restricts how close, height wise, the resulting point can be to the terrain and/or creeper.
  • The checkRange argument is an integer that specifies how many cells outward to inspect when enforcing the minHeight. A value of 0 means to only check the map cell that the target is currently within on.
  • The checkCreeper argument is a Boolean indicating whether to look at creeper for enforcing the minHeight.
  • The checkAC argument is a Boolean indicating whether to look at anticreeper for enforcing the minHeight.
  • The checkPseudoTerrain argument is a Boolean indicating whether to look at invisible pseudo terrain (like a shield creates) for enforcing the minHeight.

Examples

#Move a unit towards a destination and crawl over creeper, anticreeper, and shields
GetTerrainVector(42 23) ->target
 
0.1 ->speed
1 ->minHeight
SetUnitPosition(self MoveTowardsAndAvoid(GetUnitPosition(self) <-target <-speed <-minHeight 1 true true true))

Index

4rpl/commands/movetowardsandavoid.txt · Last modified: 2024/05/16 06:59 by LiteralNoob