you will have to add some things for the person to show flying when you look at the room.
in act.informative.c there is a function
list_one_char
it has all of the messages for sitting, meditating, sleeping, standing, etc. Add one for flying.
Code:
" is lying here dead",
" is lying here mortally wounded",
" is lying here incapacitated",
" is lying here stunned",
" is sleeping here",
" is focusing here",
" is meditating here",
" is resting here",
" is sitting here",
"!FIGHTING!",
"is standing here",
+"is floating in mid air!"
(notice how the final position message has no comma but the one above it now does.)
you have defined flying as a position? if not it would help you to do so in structs.h.
Code:
// Positions
#define POS_DEAD 0 /* < Position = dead */
#define POS_MORTALLYW 1 /* < Position = mortally wounded */
#define POS_INCAP 2 /* < Position = incapacitated */
#define POS_STUNNED 3 /* < Position = stunned */
#define POS_SLEEPING 4 /* < Position = sleeping */
#define POS_FOCUSING 5 /* < Position = focusing */
#define POS_MEDITATING 6 /* < Position = meditating */
#define POS_RESTING 7 /* < Position = resting */
#define POS_SITTING 8 /* < Position = sitting */
#define POS_FIGHTING 9 /* < Position = fighting */
#define POS_STANDING 10 /* < Position = standing */
+define POS_FLYING 11 /* fly away!!! */
Now all you do is have to change the position of the player in your do_fly command or whatever you are using.
simple. just add this.
Code:
GET_POS(ch) = POS_FLYING;
and if you have a land command or something of that nature make sure to add in
Code:
GET_POS(ch) = POS_STANDING;
as for the player leaving the room? check out the function do_simple_move in act.movement.c i think