I have created an ArtRage script file that allows the cycling through all of the layer blend modes on a mouse canvas click,
which terminates when the Shift key is held down on a mouse canvas click.

It seems to only work however when the play script dialog is stopped, it initially says "Awaiting Input..", see the video below :

https://youtu.be/rmVACmVh6M0

I have completely removed the Header Block and did play around with commenting out the script feature flags or setting them to all 0s but I still get the dialog, is this expected behaviour?

Here is my code :

Code:
//===========================================================================
//===========================================================================
//                            ArtRage Script File.
//          Cycle through all blend modes with a click on the canvas
//                         by James Dyer (RedSaucers)
//===========================================================================
//===========================================================================

//===========================================================================
// Version Block - Script version and ArtRage version:
//===========================================================================
<Version>
    ArtRage Version: ArtRage 3 5
    ArtRage Build: 5.0.5
    Professional Edition: Yes
    Script Version: 1
</Version>
//===========================================================================
// and now for the code!
//===========================================================================
intarray bm_values; 
// All blend modes in order
bm_values ={ 169, 194, 192, 193, 195, 178, 170, 176, 185, 186,
171, 177, 184, 187, 179, 181, 180, 188, 189, 190,
191, 182, 183, 172, 173, 174, 175 }
int bm_len = bm_values.GetSize()
int bm_index = 1
while (true) {
 WaitResumeAtMouse()
 
 if (!KeyShiftIsDown()) {
  Wait: 0.000s EvType: Command CommandID: CID_SetSpecificLayerBlend ParamType: LayerTwoOp Value: { CurrentLayerIndex(), 3000000000+bm_values[bm_index] }
  
  bm_index++
 
  if (bm_index > bm_len-1) {
   bm_index = 0
  }
 }
 else {
  exit
 }
}