Functions Documentation
View Function Edit Function
Name scrAddAction
Syntax (scrAddAction screen actionID pos label [key] [special] code)
Argument List screen: dockscreen to work on, usually gScreen
actionID: string to identify action with later
pos: number of action to insert this action before
label: string display text of action
[key]: string shortcut key
[special]: list or token describing special functionality
code: code to execute when player selects action
Returns nothing?
Category screen, 1.04
Description Allows dynamic creation of dockscreen actions from code.
Example
<Events>
  <OnGlobalPaneInit>
  ; aScreenUNID is the UNID of the screen being shown
  ; aScreen is the screen name (if this is a local screen)
  ; aPane is the pane being shown
  ; shipStatusScreen is the current playership's dockscreen
  (if (and
      (eq aScreen (objGetDataField gPlayerShip "shipStatusScreen"))
      (eq aPane "Default"))
    (scrAddAction
      gScreen
      'myNewAction
      3
      "Do something cool"
      "d"
      'default
      (scrShowScreen gScreen "&scMyCoolScreen;")
    )
  )
  </OnGlobalPaneInit>
</Events> 
Comment Meant for use in <OnGlobalPaneInit>, can also be used to make dynamic dockscreens.
  
Special actions are 'cancel , 'default , 'nextKey , 'prevKey , or a list of these tokens.
"pos" can be -1 to insert as last action on screen.
Implementation discussion available here http://neurohack.com/transcendence/forums/viewtopic.php?t=3537 -- example was adapted from there.