void do_aedit( CHAR_DATA *ch, char *argument ) { AREA_DATA *pArea; int value; char arg[MAX_STRING_LENGTH]; if ( IS_NPC(ch) ) return; argument = one_argument(argument,arg); if (mud_port == play_port && !is_exact_name(ch->name, MUD_OWNER)) { msg( ch, "Building is not allowed on port %d.\n\r", mud_port ); return; } if ( arg == NULL || arg[0] == '\0' ) { pArea = ch->in_room->area; if ( !IS_BUILDER( ch,pArea ) ) { msg( ch, "You are not a builder for this area.\n\rOnly %s may edit this area.\n\r", pArea->builders ); return; } msg( ch, "Aedit: Editting %s [file: %s] (vnum: %d)\n\r", pArea->name, pArea->file_name, pArea->vnum ); ch->desc->pEdit = (void *)pArea; ch->desc->editor = ED_AREA; return; } else { if ( is_number( arg ) ) { value = atoi( arg ); if ( !( pArea = get_area_data( value ) ) ) { msg( ch, "Area vnum %d does not exist.\n\r", value ); return; } msg( ch, "Aedit: Editting %s [file: %s] (vnum: %d)\n\r", pArea->name, pArea->file_name, pArea->vnum ); ch->desc->pEdit = (void *)pArea; ch->desc->editor = ED_AREA; return; } else { if ( !str_cmp( arg, "create" ) ) { if ( ch->pcdata->security < 9 ) { msg( ch, "You do not have sufficient security to create an area.\n\r" ); return; } aedit_create( ch, "" ); ch->desc->editor = ED_AREA; return; } else { for ( pArea = area_first; pArea; pArea = pArea->next ) { if ( !str_cmp( pArea->file_name, arg ) && IS_BUILDER( ch, pArea ) ) { msg( ch, "Aedit: Editting %s [file: %s] (vnum: %d)\n\r", pArea->name, pArea->file_name, pArea->vnum ); ch->desc->pEdit = (void *)pArea; ch->desc->editor = ED_AREA; return; } } } } return; } }