This should be a pretty simple use of the ent_create() function.
In your player's action you should have a while loop that waits for the player to press enter, when it does call the ent_create. I will give you a quick example of how I would do it, though I'm pretty new myself.

Code:
action cube_fall()
{
   //Put random physics code or whatever you want the cube to do in here, this will be the cube's behavior.
}

action control_player() // Behavior assigned to the player
{
   while(1)
   {
     if (key_enter == 1)
     {
       ent_create("cube.mdl", vector(my.x - 50, my.y, my.z), cube_fall); // creates the cube 50 quants behind the player and assigns its behavior.
       wait(200); // keeps the player from making a bunch of them at once.
     }
     wait(1);
}


Hope you could understand that, I tried to comment it well enough. If I was you I would have a variable that keeps track of the number of cubes so that the player doesn't make a bunch and slow down/crash the game.