您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ send_to_char函数代码示例

51自学网 2021-06-03 07:35:48
  C++
这篇教程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_house

void 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_ban

void 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函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。