人物构建

// waiter.c   这个是个最简单的店小二的code,
#include <ansi.h>     声明需要用到颜色,比如店小二的名字,说话的显示颜色,如果只用默认的颜色,可以不用这行
inherit NPC;    声明继承NPC,NPC是什么意思不用讲了吧。
inherit F_VENDOR;   声明继承vendor,就是可以对此npc进行买卖操作。
void create()
{
        set_name("店小二", ({ "waiter" }) );  npc名字,中文和英文,也可以 ({ "huofe", "huo","fe" })来表示多个英文ID
        set("gender", "男性" );   
        set("age", 22);
        set("long",       人物描述,当你用l waiter的时候,返回的人物描述   
                "这位店小二正笑咪咪地忙著,还不时拿起挂在脖子上的抹布擦脸。/n");
        set("combat_exp", 5);
      set_temp("kf_tufei",64);  建立npc时产生的临时变量
        set("pursuer", 1);      忘了这个是什么变量了。
set("attitude", "friendly");
        set("rank_info/respect", "小二哥");
        set("vendor_goods", ([               出售的东西
                "/obj/example/wineskin" : 10,
                "/obj/example/dumpling" : 30,
              "/obj/example/chicken_leg" : 40
                ]) );
        set("inquiry", ([             使得ask waiter about go 生效
                        "go" : "小店现在和各大驿站合作,新开驿站服务。十级以下免费使用。/n"
                ]));
        setup();
}

void init()
{        初始化npc
        object ob;

        ::init();
        if( interactive(ob = this_player()) && !is_fighting() ) {当进入waiter同一个场景的物件是玩家,并且waiter不在战斗中,这里也可以写成
!this_object-> is_fighting()
                remove_call_out("greeting");
                call_out("greeting", 1, ob);
        }
        add_action("do_vendor_list", "list");
}

void greeting(object ob)
{
        if( !ob || environment(ob) != environment() ) return;
        switch( random(3) ) {
                case 0:
                        say( "/n店小二笑咪咪地说道:这位" + RANK_D->query_respect(ob)
    + ",欢迎光临风云的世界,希望你能玩的开心。/n");
                        break;
                case 1:
                        say( "店小二用脖子上的毛巾抹了抹手,说道:这位" + RANK_D->query_respect(ob)
                                  + ",您需要点什么?/n");
                        break;
                case 2:
                        say( "店小二说道:这位" + RANK_D->query_respect(ob)
        + ",现在没什么新消息。。/n");
                        break;
        }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值