I didn't download your project because I have dial-up but here are some suggestions:
For shooting: You need to have a sprite that has:
Initial Instance
NOT checked,
Inert
Inertia=100
Then you need to use the scripting wizard.
Taken from the scripting wizard help.
To use the Scripting Wizard:
1. Select the "Firepower Wizard" tab
2. Select "Read Project..." from the File menu and locate your project's GDP
file and load it.
3. For the Firepower Wizard:
A. Click on a tab associated with the button you want to customize in the
Firepower wizard.
B. Select "Create sprite instance" or "Jump" to assign a function to the
button, and fill in the required parameters.
C. Repeat from step A for each button you want to customize.
For jumping on enemies: You can use one of two ways:
1)Two seperate sprites (like eric22222 said) or,
2)Have the player change to a different sprite when they push "up"
For 1) In the graphics editor: cut the feet off your sprite (hehe) and make each frame a new tile (see attached). Create a path on the map for the player, and a path right on top of it for the feet.
create a sprite for the player and a sprite for the feet (with different classes). Make sure both sprites have the same speed/inertia/gravity or the feet will "run away" or fall behind from the player sprite. Set up collisions for the player sprite and enemies (where the player dies or loses HP or whatever) and a collision for the feet and the enemy (where the enemy dies/whatever).
For 2) Have a player sprite and a jumping sprite.
On your map make a global function called "jump". It should be activated when the player presses the "up" arrow key (or whatever your jump button is). Make it so the player switches to the jump sprite.
Make a function called "land", make it so the player switches back to the normal sprite.
Make a tile category called ground. Include all the tiles that the player could land on when they hit solid tiles. Make a map interaction with "Initially" checked. It should be activated when the player touches a tile in the category "ground". It should activate the function "land".
If you go with the first way then there could be complicated stuff later on your game.
If you go with the second way, whenever the player lands they land in there left state (because when you switch to a new sprite it starts off at the left state of that sprite).
This way is used in the game Cinos (
gamedevprj.sf.net )
As for interaction with non-moving sprites: I would not even have sprites if they are not moving.Place a tile of the sprite on the map. Put a function over it in the map editor. Have the function display the message or whatever. Make sure you have "remove after use" checked. The function will only be able to display the message once though, then you will just pass by the tile.
Life Status: Not quite sure what you mean. If you mean HP then that's easy. Have an inventory item called HP with Max qty=100 initial qty=100. Have a function called lose HP. The function subtracts 5 hp each time it is activated. Have a collision between the player and the enemy that activates the function.
Hope this helps.
PS: If you know most of what I'm saying already then I'm sorry for sounding retarded. From your post it sounds like you're fairly new to SGDK.