Arma 3 1.48 is very close to release, which hopefully will include a lot of goodies added in 1.47 DEV. So I thought this would be a good idea to list what makes 1.47 so epic from scripting point of view.

First of all, a bunch of new commands was added, including some that were asked multiple times for a long time:

  • allPlayers – returns all human players, including those that are dead and waiting for respawn
  • arrayIntersect – takes 2 arrays and returns an array of common unique elements from both
  • configHierarchy – returns array of config parents
  • currentNamespace – returns current namespace the script runs in
  • currentThrowable – returns the selected throwable that will be thrown when G is pressed
  • getObjectViewDistance – getter for setObjectViewDistance
  • isObjectHidden - now you can actually check if object was hidden
  • param – a faster and native replacement for bis_fnc_param
  • params - a very fast and convenient way of parsing _this into private variables
  • remoteExec (didn’t make it) – engine based remote execution mechanism
  • remoteExecCall (didn’t make it) – engine based remote execution mechanism
  • roleDescription – a getter for description set on unit in editor
  • serverName – returns host name of the server
  • setGroupIdGlobal – global variant of setGroupId
  • worldSize – the engine based config value of the world size

But this is not all. Some commands were extended to provide additional functionality and some were bug fixed.

  • inGameUISetEventHandler - the code wasn’t resetting on mission start and it was not activating on contextMenu, possible exploit – fixed
  • for – when used with “step”, it could exceed value set with “to” – fixed
  • showHUD (description.ext param) – both the compass and zeroing was showing when HUD was disabled – fixed
  • animate – gets 3rd param for instant animation
  • mapCenterOnCamera – extended to work with minimap
  • setVehiclePosition – didn’t work properly, “none” wasn’t working, had bug with 3rd person camera, possible exploit – fixed
  • isKindOf – expanded to use any config, not only CfgVehicles, CfgAmmo or CfgNonAIVehicles
  • isEqualTo – expanded to be able to compare namespaces
  • breakOut - expanded to return value, makes it similar to “return” command used in many languages
  • selectPlayer – after using this command player couldn’t throw grenades – fixed
  • addPublicVariableEventHandler – extended to be able to be attached to an object

That’s far from everything, but this is all I could remember personally.