这篇教程C++ send_to_char函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中send_to_char函数的典型用法代码示例。如果您正苦于以下问题:C++ send_to_char函数的具体用法?C++ send_to_char怎么用?C++ send_to_char使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了send_to_char函数的27个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: hcontrol_build_housevoid hcontrol_build_house(struct char_data * ch, char *arg){ char arg1[MAX_INPUT_LENGTH]; struct house_control_rec temp_house; int virt_house, real_house, real_atrium, virt_atrium, exit_num; long owner; if (num_of_houses >= MAX_HOUSES) { send_to_char("Max houses already defined./r/n", ch); return; } /* first arg: house's vnum */ arg = one_argument(arg, arg1); if (!*arg1) { send_to_char(HCONTROL_FORMAT, ch); return; } virt_house = atoi(arg1); if ((real_house = real_room(virt_house)) < 0) { send_to_char("No such room exists./r/n", ch); return; } if ((find_house(virt_house)) >= 0) { send_to_char("House already exists./r/n", ch); return; } /* second arg: direction of house's exit */ arg = one_argument(arg, arg1); if (!*arg1) { send_to_char(HCONTROL_FORMAT, ch); return; } if ((exit_num = search_block(arg1, dirs, FALSE)) < 0) { sprintf(buf, "'%s' is not a valid direction./r/n", arg1); send_to_char(buf, ch); return; } if (TOROOM(real_house, exit_num) == NOWHERE) { sprintf(buf, "There is no exit %s from room %d./r/n", dirs[exit_num], virt_house); send_to_char(buf, ch); return; } real_atrium = TOROOM(real_house, exit_num); virt_atrium = world[real_atrium].number; if (TOROOM(real_atrium, rev_dir[exit_num]) != real_house) { send_to_char("A house's exit must be a two-way door./r/n", ch); return; } /* third arg: player's name */ arg = one_argument(arg, arg1); if (!*arg1) { send_to_char(HCONTROL_FORMAT, ch); return; } if ((owner = get_id_by_name(arg1)) < 0) { sprintf(buf, "Unknown player '%s'./r/n", arg1); send_to_char(buf, ch); return; } temp_house.mode = HOUSE_PRIVATE; temp_house.vnum = virt_house; temp_house.atrium = virt_atrium; temp_house.exit_num = exit_num; temp_house.built_on = time(0); temp_house.last_payment = 0; temp_house.owner = owner; temp_house.num_of_guests = 0; house_control[num_of_houses++] = temp_house; SET_BIT_AR(ROOM_FLAGS(real_house), ROOM_HOUSE); SET_BIT_AR(ROOM_FLAGS(real_house), ROOM_PRIVATE); SET_BIT_AR(ROOM_FLAGS(real_atrium), ROOM_ATRIUM); House_crashsave(virt_house); send_to_char("House built. Mazel tov!/r/n", ch); House_save_control();}
开发者ID:vedicveko,项目名称:Dibrova,代码行数:85,
示例2: do_banvoid do_ban( CHAR_DATA* ch, const char* argument){ char arg1[MAX_INPUT_LENGTH]; char arg2[MAX_INPUT_LENGTH]; char arg3[MAX_INPUT_LENGTH]; char arg4[MAX_INPUT_LENGTH]; char *temp; BAN_DATA *pban; int value = 0, btime; if( IS_NPC( ch ) ) /* Don't want mobs banning sites ;) */ { send_to_char( "Monsters are too dumb to do that!/r/n", ch ); return; } if( !ch->desc ) /* No desc means no go :) */ { bug( "%s", "do_ban: no descriptor" ); return; } set_char_color( AT_IMMORT, ch ); argument = one_argument( argument, arg1 ); argument = one_argument( argument, arg2 ); argument = one_argument( argument, arg3 ); argument = one_argument( argument, arg4 ); /* * Do we have a time duration for the ban? */ if( arg4[0] != '/0' && is_number( arg4 ) ) btime = atoi( arg4 ); else btime = -1; /* * -1 is default, but no reason the time should be greater than 1000 * * or less than 1, after all if it is greater than 1000 you are talking * * around 3 years. */ if( btime != -1 && ( btime < 1 || btime > 1000 ) ) { send_to_char( "Time value is -1 (forever) or from 1 to 1000./r/n", ch ); return; } /* * Need to be carefull with sub-states or everything will get messed up. */ switch ( ch->substate ) { default: bug( "%s", "do_ban: illegal substate" ); return; case SUB_RESTRICTED: send_to_char( "You cannot use this command from within another command./r/n", ch ); return; case SUB_NONE: ch->tempnum = SUB_NONE; break; /* * Returning to end the editing of the note */ case SUB_BAN_DESC: add_ban( ch, "", "", 0, 0 ); return; } if( arg1[0] == '/0' ) goto syntax_message; /* * If no args are sent after the class/site/race, show the current banned * * items. Shaddai */ if( !str_cmp( arg1, "site" ) ) { if( arg2[0] == '/0' ) { show_bans( ch, BAN_SITE ); return; } /* * Are they high enough to ban sites? */ if( get_trust( ch ) < sysdata.ban_site_level ) { ch_printf( ch, "You must be %d level to add bans./r/n", sysdata.ban_site_level ); return; } if( arg3[0] == '/0' )//.........这里部分代码省略.........
开发者ID:dhasenan,项目名称:SmaugFUSS,代码行数:101,
示例3: do_warn/* * Sets the warn flag on bans. */void do_warn( CHAR_DATA* ch, const char* argument){ char arg1[MAX_STRING_LENGTH]; char arg2[MAX_STRING_LENGTH]; char *name; int count = -1, type; BAN_DATA *pban; /* * Don't want mobs or link-deads doing this. */ if( IS_NPC( ch ) ) { send_to_char( "Monsters are too dumb to do that!/r/n", ch ); return; } if( !ch->desc ) { bug( "%s", "do_warn: no descriptor" ); return; } argument = one_argument( argument, arg1 ); argument = one_argument( argument, arg2 ); if( arg1[0] == '/0' || arg2[0] == '/0' ) goto syntax_message; if( arg2[0] == '#' ) { name = arg2; name++; if( !is_number( name ) ) goto syntax_message; count = atoi( name ); if( count < 1 ) { send_to_char( "The number has to be above 0./r/n", ch ); return; } } /* * We simply set up which ban list we will be looking at here. */ if( !str_cmp( arg1, "class" ) ) type = BAN_CLASS; else if( !str_cmp( arg1, "race" ) ) type = BAN_RACE; else if( !str_cmp( arg1, "site" ) ) type = BAN_SITE; else type = -1; if( type == BAN_CLASS ) { pban = first_ban_class; arg2[0] = toupper( arg2[0] ); } else if( type == BAN_RACE ) { pban = first_ban_race; arg2[0] = toupper( arg2[0] ); } else if( type == BAN_SITE ) { pban = first_ban; } else goto syntax_message; for( ; pban && count != 0; count--, pban = pban->next ) if( count == -1 && !str_cmp( pban->name, arg2 ) ) break; if( pban ) { /* * If it is just a warn delete it, otherwise remove the warn flag. */ if( pban->warn ) { if( pban->level == BAN_WARN ) { dispose_ban( pban, type ); send_to_char( "Warn has been deleted./r/n", ch ); } else { pban->warn = FALSE; send_to_char( "Warn turned off./r/n", ch ); } } else {//.........这里部分代码省略.........
开发者ID:dhasenan,项目名称:SmaugFUSS,代码行数:101,
示例4: do_prayer//Command Status: Installed, fairly well tested, near completetion.void do_prayer( CHAR_DATA *ch, char *argument ){ char arg[MIL]; AFFECT_DATA af; one_argument( argument, arg ); if ( IS_NPC( ch ) ) return; if ( IS_AFFECTED( ch, AFF_CHARM ) ) return; if ( !arg || arg[0] == '/0' ) { send_to_char( "Syntax: Prayer start/r/nSyntax: Prayer stop/r/n", ch ); return; } if ( !IS_AWAKE( ch ) ) { send_to_char( "You cant pray while asleep.", ch ); return; } if ( ch->position == POS_MEDITATING ) { send_to_char( "You are already meditating!/r/n", ch ); return; } if ( IS_AFFECTED( ch, AFF_PRAYER ) && !str_cmp( arg, "start" ) ) { send_to_char( "But you're already praying./r/n", ch ); return; } if ( !str_cmp( arg, "start" ) ) { if ( can_use_skill( ch, number_percent( ), gsn_prayer ) ) { if ( ch->fighting ) { send_to_char( "You cannot start a prayer during combat./r/n", ch ); return; } send_to_char( "You close your eyes and begin to pray./r/n", ch ); af.type = gsn_prayer; af.location = APPLY_NONE; af.modifier = 0; af.level = ch->level; af.duration = -1; af.bitvector = meb( AFF_PRAYER ); affect_to_char( ch, &af ); learn_from_success( ch, gsn_prayer ); } else { send_to_char( "You can't seem to concentrate enough to properly pray./r/n", ch ); learn_from_failure( ch, gsn_prayer ); } return; } if ( !str_cmp( arg, "stop" ) ) { if ( !IS_AFFECTED( ch, AFF_PRAYER ) ) { send_to_char( "But you're not praying./r/n", ch ); return; } if ( ch->position != POS_STANDING ) set_position( ch, POS_STANDING ); send_to_char( "You come to an end in your prayer and slowly open your eyes./r/n", ch ); affect_strip( ch, gsn_prayer ); xREMOVE_BIT( ch->affected_by, AFF_PRAYER ); return; }}
开发者ID:VanirRezound,项目名称:6dragons,代码行数:72,
示例5: money_from_char_to_char/** * przekazywanie pieniêdzy */bool money_from_char_to_char( CHAR_DATA *ch, CHAR_DATA *victim, long int amount, int nomination ){ char buf [ MAX_INPUT_LENGTH ]; int multiplier = RATTING_NONE; switch ( nomination ) { case NOMINATION_COPPER: if ( ch->copper < amount ) { send_to_char( "Przecie C++ send_to_intercom函数代码示例 C++ send_text函数代码示例
|