Well, here is what you need to do to accomplish this.
1. Create sprites for umbrella animation that include umbrella and character.
2. Create sprite showing umbrella lying on ground.
3. Create a new folder in sprite manager and import these sprites.
4. Create a new view for the umbrella animation. Create one loops for the umbrella animation.
5. Assign sprites to frames in the above loop.
6. Create a room object with the laying down umbrella.
7. Use Object.Visible=false to make the umbrella invisible.
8. Use Character.LockView() or LockViewAligned() function to change character view and Character.Animate() to perform animation.
into sprite manager. You'll probably want to create a new folder for these sprites.
9. Use Character.UnlockView() to return character to normal.
10. Use Object.Visible=true to make the umbrella visible.
Quote
LockView
(Formerly known as SetCharacterView, which is now obsolete)
Character.LockView(int view)
Sets the character's view to VIEW. This can be used to perform animations with characters, for example bending down to pick something up, which don't use the default view.
NOTE: This function locks the character's view to the specified view, so that it can only be changed by other script commands (ie. it won't automatically be changed by AGS on walkable areas, screen changes, etc). When you are done with the animation, call UnlockView to allow AGS to take control back.
Example:
cEgo.LockView(12);
cEgo.Animate(0, 0, eOnce, eBlock, eForwards);
cEgo.UnlockView();
This will change the character's EGO view to view 12, perform an animation using loop 0, wait until the animation finishes and then return the character to his normal view.