ivanfox 发表于 2010-9-30 10:12:44

麻烦前辈帮忙看下 这个有没有问题?

#include <ansi.h>
#include <armor.h>
inherit F_CLEAN_UP;
int main(object me, string arg)
{
string what, who;
object ob, victim;
mapping myfam, vtfam;
int sp, dp;
int nowtime;
object where = environment(me);

seteuid(getuid());
      if ( (!(myfam = me->query("family")) || myfam["family_name"] != "灵鹫宫") )
          return notify_fail("只有灵鹫宫的人才会美容!\n");
if( me->query_temp("beautying") )
return notify_fail("你正在给人美容!\n");
if( !arg || sscanf(arg, "%s",who)!=1 ) return
notify_fail("指令格式:makebeauty <人物>\n");
victim = present(who, environment(me));
if( !victim || victim == me) return notify_fail("对象不对。\n");

if( victim->name() != me->query("qtask/target")) return notify_fail(HIY"空中隐隐传来童佬的吼声:师门密技,别擅自乱用!\n"NOR);

      nowtime = (int) me->query("qtask/time") - time();
      if(nowtime<0)return notify_fail(HIR"已经没有时间!何苦费事?\n"NOR);
      //if( !me->qurey("qtask/time")) return notify_fail(HIR"已经没有时间!何苦费事?\n"NOR);
if( !living(victim) || !objectp(victim))
return notify_fail("你要给谁美容?\n");
      if ( (vtfam = victim->query("family")) && vtfam["family_name"] == "灵鹫宫" )
                return notify_fail("别在鲁班门前弄大斧!\n");
if( userp(victim))
return notify_fail("不能给玩家美容!\n");
      
if( me->is_fighting() )
                return notify_fail("打架还能给人美容?别割了别人的脸!\n");
if( victim->is_fighting() )
                return notify_fail(victim->name() + "正在打架,没空理你!\n");
sp = me->query_skill("beauty", 1);
dp = victim->query("sen");
tell_object(me, HIC"你对着" + victim->name() + "的脸仔细的端详一阵.....\n啊!有了,随即伸手在" + victim->name() + "的脸上摩捏起来......\n");
tell_object(victim, me->name() + "对着你的脸一阵端详,似乎若有所思,然后伸出手在你脸上一阵按摩......\n");
message("vision", "只见" + me->name() + "对着" + victim->name() + "的脸一阵端详,似乎若有所思,然后伸出手在你脸上一阵按摩...... \n", environment(me), ({ me, victim }) );
me->set_temp("beautying", 1);
call_out( "compelete_beauty", 5, me, victim, sp, dp);
return 1;
}
private void compelete_beauty(object me, object victim, int sp, int dp)
{
object ob1;
int amount;
int reward;
int dx;
object where = environment(me);
me->delete_temp("beautying");
if( environment(victim) != environment(me) ) {
tell_object(me, "可惜,你要美容的人已经走了。\n");
return;
}

   if( random(sp*6/5)<dp/50) {
   message_vision(victim->name() + "突然感到脸上一阵痛,原来是$N的指甲擦在皮肤上!\n"NOR, me);
         
tell_object(me, victim->name() + "对你的服务极不满意,决定杀了你泄恨!\n"NOR);
tell_object(victim, "看来被" + me->name() + "耍了,杀!\n");
    CHANNEL_D->do_channel(victim, "nyj",me->name()+"!"
       +"你想毁我容貌啊?当我好欺负啊?看招!");
message("vision", victim->name() + "对" + me->name() + "的服务不满,两人打起来了!\n",
   environment(me), ({ me, victim }) );
victim->kill_ob(me);
                me->kill_ob(victim);
me->start_busy(3);
return;

                }
tell_object(me, victim->name() + "摸了摸光滑的脸蛋,满意地说“谢谢!”\n"NOR);
tell_object(victim, "在"+me->name()+"的妙手之下,你看起来漂亮多了!\n");
                reward=victim->query("combat_exp")/2500+victim->query("sen")/10+me->query("int");
                if(reward > 1000) reward= random(300)+ 800;
                dx=COMBAT_D->chinese_daoxing(reward);
me->improve_skill("beauty", random(me->query("int")));
me->add("combat_exp",reward);
me->add("potential",reward/4);
me->delete("qtask");
   
    CHANNEL_D->do_channel(victim, "es",me->name()+"("+me->query("id")+")"
       +"为我美容,我决定奖励她"+exp+"经验."和"+ chinese_number(reward/4)+"点潜能.");
CHANNEL_D->do_channel(victim, "rumor",me->query("name")
       +"为"+victim->name()+"美容得到"+ chinese_number(reward/4)+"点潜能和"+exp+"经验.");

}
int help(object me)
{
write(@HELP
指令格式 : makebeauty <某人>
注意:如果失败,对方会杀你,而你也自动下kill指令,有3秒busy!!
HELP
    );
    return 1;
}

mytoy 发表于 2010-9-30 10:14:05

看不懂的飘过yct10

jason 发表于 2010-9-30 10:14:10

你得先告诉别人你遇到什么问题。不可能逐行去读你的代码的

ivanfox 发表于 2010-9-30 10:20:12

我想弄个类似门忠的任务。

达到一定经验后做这个任务
朝廷的是给达官贵人守夜,灵鹫给有需要的人做美容等,成功后加经验,潜能,失败会开打,可以一边打,一边继续做任务 ,如果把NPC给杀了,就失败。

大致是这样的想法

jason 发表于 2010-9-30 10:22:54

原帖由 ivanfox 于 2010-9-30 10:20 AM 发表 http://pkuxkx.com/forum/images/common/back.gif
我想弄个类似门忠的任务。

达到一定经验后做这个任务
朝廷的是给达官贵人守夜,灵鹫给有需要的人做美容等,成功后加经验,潜能,失败会开打,可以一边打,一边继续做任务 ,如果把NPC给杀了,就失败。

大致是 ...

你。。。真是太巧了,我正想找人做这个。来来来,我们私聊。

zgbl 发表于 2010-9-30 10:23:05

你跑跑试试,如果报错,把报错发出来,我帮你看

lzkd 发表于 2010-9-30 10:30:37

难道又有一个要被拖下水?
我还想把狐狸拉成以后活动的负责人呢.
抗议jason拉人行为

safeguard 发表于 2010-9-30 10:32:15

原帖由 ivanfox 于 2010-9-30 10:20 AM 发表 http://pkuxkx.com/forum/images/common/back.gif
我想弄个类似门忠的任务。

达到一定经验后做这个任务
朝廷的是给达官贵人守夜,灵鹫给有需要的人做美容等,成功后加经验,潜能,失败会开打,可以一边打,一边继续做任务 ,如果把NPC给杀了,就失败。

大致是 ...
那少林秃驴们是不是给人念佛诵经?
武当牛鼻子是不是降魔卫道?
明教是不是起兵造反?
天地会的绑架朝廷要员?

hash 发表于 2010-9-30 10:38:02

秃驴们去大户家砍死人然后操办白事唱焰口

hash 发表于 2010-9-30 10:38:47

然后武当的假扮茅山的负责赶尸
页: [1] 2 3
查看完整版本: 麻烦前辈帮忙看下 这个有没有问题?