I feel like the get mouse X and Y actions should be consolidated into one...  So I did it. =P
This will not require either, so if you don't put in a store variable for one, it just won't bother to store that one, but will still store the other.
Also it properly does every frame, since (as of 2012-05-26) the current get mouse x and y actions that are packaged with playmaker have a small bug in them that doesn't allow for them to be checked every frame.
using System;
using System.Collections;
using UnityEngine;
namespace HutongGames.PlayMaker.Actions{
	
	[ActionCategory("Custom Actions")]
	[Tooltip("Gets the X and Y Position of the mouse and stores it in two Float Variables.")]
	public class GetMouseXAndY : FsmStateAction
	{
		//[RequiredField]
		[UIHint(UIHint.Variable)]
		public FsmFloat mouseXPosition;
		//[RequiredField]
		[UIHint(UIHint.Variable)]
		public FsmFloat mouseYPosition;
		public bool normalize;
		public bool everyFrame;
		
		public override void Reset()
		{
			mouseXPosition = null;
			mouseYPosition = null;
			normalize = true;
			everyFrame = false;
		}
		public override void OnEnter()
		{
			DoGetMouseX();
			DoGetMouseY();
			
			if (!everyFrame)
				Finish();
		}
		public override void OnUpdate()
		{
			DoGetMouseX();
			DoGetMouseY();
		}
		
		void DoGetMouseX()
		{
			if (mouseXPosition != null)
			{
				float xpos = Input.mousePosition.x;
				
				if (normalize)
					xpos /= Screen.width;
			
				mouseXPosition.Value = xpos;
			}
		}
		
		void DoGetMouseY()
		{
			if (mouseYPosition != null)
			{
				float ypos = Input.mousePosition.y;
				
				if (normalize)
					ypos /= Screen.height;
			
				mouseYPosition.Value = ypos;
			}
		}
	}
}