player.c

来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 469 行 · 第 1/2 页

C
469
字号
set("kar",80);       
    set("age", 22+random(40));
     set("chat_chance", 5);
        set("chat_msg", ({
                (: random_move :),
           }) );
	set("attitude","friendly");
set("pubmaster",1);
        set("max_neili", 45000);
        set("neili", 45000);
        set("jing",8000+random(10000));
        set("max_jing",8000+random(10000));
set("eff_jing",8000+random(10000));
        set("qi",8000+random(10000));
        set("max_qi",8000+random(10000));
set("eff_qi",8000+random(10000));
 
        set_skill("parry", 490);
        set_skill("dodge", 490);
        set_skill("force", 490);
        set_skill("literate", 490);
	set_skill("sword", 490);
	set_skill("unarmed",490);
	set("combat_exp",55000000+random(9000000));
        set_skill("force",490+random(300));
	set_skill("unarmed",490+random(300));
	set_skill("sword",490+random(300));
	set_skill("club",490+random(300));
	set_skill("whip",490+random(300));
	set_skill("throwing",490+random(300));
	set_skill("parry",490+random(300));
set_skill("spells",490+random(300));
      set_skill("magic-unarmed", 490+random(300));
      set_skill("magic-sword", 490+random(300));
      set_skill("magic-dark", 490+random(300));
      set_skill("magic-light", 490+random(300));
      map_skill("sword", "magic-sword");
      map_skill("unarmed", "magic-unarmed");
      map_skill("parry", "magic-unarmed");
	set("magicset",1);
       set("zhuanbest",1);
        set("no_get",1);
set("vendetta/authority",1);
if (random(2)==0)
{
map_skill("spells", "magic-dark");
	set("magicgift",5);
 set("chat_chance_combat", 80);
        set("chat_msg_combat", ({
    (: perform_action, "spells.nuclea" :),
    (: perform_action, "spells.darkstorm" :),
    (: perform_action, "spells.darkwind" :),
    (: perform_action, "spells.darkmetor" :),
    (: perform_action, "spells.dragon" :),
    (: perform_action, "spells.castigate" :),
 }) );
}
else {
map_skill("spells", "magic-light");
	set("magicgift",6);
        set("chat_chance_combat", 80);
        set("chat_msg_combat", ({
    (: perform_action, "spells.sunfield" :),
    (: perform_action, "spells.sunbolt" :),
    (: perform_action, "spells.holyword" :),
    (: perform_action, "spells.delete" :),                                                    
    (: perform_action, "spells.sunarrow" :),                                                    
        }) );
}
        set_temp("apply/attack", 100);
        set_temp("apply/defense", 100);
        set_temp("apply/armor", 400);
        set_temp("apply/damage", 300);
if (random(8)==0)
{
set("nickname",HIY"武功高超"NOR);
        set_skill("spells",650+random(300));
        set_skill("force",650+random(300));
	set_skill("unarmed",650+random(300));
	set_skill("sword",650+random(300));
	set_skill("club",650+random(300));
	set_skill("whip",650+random(300));
	set_skill("throwing",650+random(300));
	set_skill("parry",650+random(300));
}
else
if (random(8)==0)
{
set("nickname",MAG"魔法强大"NOR);
      set_skill("magic-unarmed", 650+random(300));
      set_skill("magic-sword", 650+random(300));
      set_skill("magic-ice", 650+random(200));
      set_skill("magic-water", 650+random(200));
      set_skill("magic-fire", 650+random(200));
      set_skill("magic-earth", 650+random(200));
      set_skill("magic-light", 650+random(200));
      set_skill("magic-dark", 650+random(200));
}
else
if (random(8)==0)
{
set("nickname",HIB"经验丰富"NOR);
set("combat_exp",50000000+random(48000000));
}
else
if (random(8)==0)
{
set("nickname",HIR"强大不死"NOR);
set("dex",300);
        set("jing",600000);
        set("max_jing",600000);
        set("eff_jing",600000);
        set("qi",600000);
        set("max_qi",600000);
        set("eff_qi",600000);
        set("neili",600000);
        set("max_neili",600000);
	set("combat_exp",10000000);
}
else
if (random(8)==0)
{
set("nickname",HIC"超级加强"NOR);
d=88+random(88);
set("str",d);
set("dex",30+d);
set("int",d);
set("con",d);
set("per",d);
set("kar",d);
}
else
if (random(10)==0)
{
set("dex",300);
        set("jing",100000);
        set("max_jing",100000);
        set("eff_jing",100000);
        set("qi",100000);
        set("max_qi",100000);
        set("eff_qi",100000);
        set("neili",100000);
        set("max_neili",100000);
      set_skill("magic-unarmed", 650+random(300));
      set_skill("magic-sword", 650+random(300));
      set_skill("magic-ice", 650+random(200));
      set_skill("magic-water", 650+random(200));
      set_skill("magic-fire", 650+random(200));
      set_skill("magic-earth", 650+random(200));
      set_skill("magic-light", 650+random(200));
      set_skill("magic-dark", 650+random(200));
        set_skill("spells",650+random(300));
        set_skill("force",650+random(300));
	set_skill("unarmed",650+random(300));
	set_skill("sword",650+random(300));
	set_skill("club",650+random(300));
	set_skill("whip",650+random(300));
	set_skill("throwing",650+random(300));
	set_skill("parry",650+random(300));
set("nickname",HIC"完美无敌"NOR);
d=88+random(88);
set("str",d);
set("dex",30+d);
set("int",d);
set("con",d);
set("per",d);
set("kar",d);
}
        setup();
carry_object(__DIR__"obj/sword")->wield();
carry_object(__DIR__"obj/cloth")->wear();
}

void init( )

{
	object ob;	
        remove_call_out("hunting");
	if( interactive(ob = this_player())  ) {
ob->start_busy(1);
        call_out("hunting",0);
        }
	if(!environment()->query("no_fight"))
        call_out("hunting",0);
}

void hunting()
{
	int i;
        object *ob;
        ob = all_inventory(environment());
        for(i=sizeof(ob)-1; i>=0; i--) {
        if( !ob[i]->is_character() || ob[i]==this_object() || !living(ob[i])) continue;
        if(ob[i]->query("vendetta/authority")) continue;
                kill_ob(ob[i]);
                ob[i]->fight(this_object());
        }
}

void die()
{
        object ob, me, corpse;
        int i;
        ob = this_object();
        me = query_temp("last_damage_from");
if (!me) return;        
              me->add("score",1);
        message_vision(RED"$N,倒地而亡,不动弹了。\n"NOR,ob,me);
        if((int)me->query("combat_exp") < ob->query("combat_exp"))   {
        message("vision", me->name() + HIG"成功杀死"+ob->query("name")+",增加了200经验和100潜能。\n"NOR, me);
        me->add("combat_exp",200);
        me->add("potential",100);
        me->add("score",1);
if (random(2)==0 && me->query("zhuanbest"))
{
corpse=new("/clone/box/gboxm");
corpse->move(environment(this_object()));
message("vision", me->name() + HIG"找到了"+corpse->query("name")+"。\n"NOR, me);
}

        destruct(ob);
        }
if (random(2)==0 && me->query("zhuanbest"))
{
corpse=new("/clone/box/gboxm");
corpse->move(environment(this_object()));
message("vision", me->name() + HIG"找到了"+corpse->query("name")+"。\n"NOR, me);
}


               destruct(ob);
        return;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?