📄 long2.c
字号:
// sscanf(query("id"),"%s's long er",host_id); if(me->query("id")!=query("host_id")) return notify_fail(" "+query("name")+"连理都不理你!\n"); if(me->is_busy()) return notify_fail("你上一个动作还没有完成。\n"); if(!arg||!objectp(ob=present(arg,environment(me)))) return notify_fail(" "+query("name")+"傻傻地望着你,不明白你的意思。\n"); if(!living(ob)) return notify_fail(" "+query("name")+"说:" +ob->query("name")+"已经这样啦你还要...??!!\n"); if (userp(ob) && ob == me->query("possessed")) return notify_fail("你疯了,想自杀么?\n"); if (userp(ob) && !living(ob)) return notify_fail("他已经昏了啊?\n"); if (userp(ob) && ob->query("combat_exp") < me->query("combat_exp")) return notify_fail("你不能欺负比自己弱小的玩家!\n"); if (userp(ob) && ob->query_temp("nokill") ) return notify_fail("那人启用了免战牌!\n"); if (userp(ob) && me->query_temp("nokill") ) return notify_fail("你启用了免战牌!\n"); if(userp(ob) && ob->query_condition("nokill") && !ob->query_condition("killer")) return notify_fail("那个人刚被杀过,放过他吧!\n"); message_vision(name()+"对$N点头道: 嗯,好的。\n",this_player());command("hit "+ob->query("id")); return 1;}int do_ting(){ string host_id; object me=this_player(); if( !living(this_object()) ) return notify_fail("嗯....你得先把" + this_object()->name() + "弄醒再说。\n");if (this_player()->query("id")!=query("host_id"))return notify_fail("你无权使用这个命令!\n");// if(query("id")=="long er")// return notify_fail("你无权使用此命令。\n");// sscanf(query("id"),"%s's long er",host_id); if(me->query("id")!=query("host_id")) return notify_fail(" "+query("name")+"连理都不理你!\n"); if(!is_fighting()) return notify_fail(" "+query("name")+"现在没和人打斗。\n"); message_vision(" "+query("name")+"对主人$N微微一笑,跳出了战圈。\n",me);command("halt");return 1;}int do_send(string arg){ object ob; string host_id,new_name,new_id; object me=this_player();if (this_player()->query("id")!=query("host_id"))return notify_fail("你无权使用这个命令!\n"); if( !living(this_object()) ) return notify_fail("嗯....你得先把" + this_object()->name() + "弄醒再说。\n");// if(query("id")=="long er")// return notify_fail("你无权使用此命令。\n");// sscanf(query("id"),"%s's long er",host_id); if(me->query("id")!=query("host_id")) return notify_fail(" "+query("name")+"连理都不理你!\n"); if(me->is_busy()) return notify_fail("你上一个动作还没有完成。\n"); if(!arg||!objectp(ob=present(arg,environment(me)))) return notify_fail("你要把 "+query("name")+"送给谁?\n"); if(!living(ob)) return notify_fail("你只能把"+query("name")+"给活人!\n"); message_vision(" "+query("name")+"眼泪汪汪地望着主人$N,说:\n主人待我好,是我命好;主人待我不好,是我命苦罢了.\n",me); set_leader(ob); new_name = ob->query("name")+"的丫环"+query("name")+" "; set("long","这是"+new_name+"。\n" "她是一个清纯绝俗的少女,大约十八,九岁年纪;\n" "她长得极美,尤其是那双眼睛,清纯得像一潭碧水。\n"+ "其容色晶莹如玉,映照于红红烛光之下,娇美不可方物。\n"+ "一张雪白的脸庞,眉弯嘴小,却象是刚受人欺负,眼泪汪汪地看着你。\n"); new_id=ob->query("id")+"'s long er"; set("possessed",ob); set("host_id",ob->query("id")); set("name",new_name); set("id",new_id); write( HIY " "+query("name")+HIY"对新主人"+ob->query("name")+"楚楚可怜地盈盈一拜。\n" NOR);write( "可用指令:\natt sb 攻击某人.\nsha sb 杀死某人.\nting 停止战斗.sendto sb.--把"+query("name")+"送给sb.hulian skill 互练某武功.taolun skill 讨论某武功.mache splace叫马车去某地.heji sb 合击某人.shape id 看状态.\n"); return 1;}int do_sha(string arg){ int i ; object me,ob; object* obj; me = this_object();if (this_object()->is_busy())return notify_fail("她正忙着呢!\n"); if( !living(this_object()) ) return notify_fail("嗯....你得先把" + this_object()->name() + "弄醒再说。\n"); if(this_player()->is_busy()) return notify_fail("你上一个动作还没有完成。\n");if (this_player()->query("id")!=query("host_id"))return notify_fail("你无权使用这个命令!\n"); if(!arg||!objectp(ob=present(arg,environment(me)))) return notify_fail("你要"+query("name")+"杀谁?\n"); if(!environment(ob)->query("no_fight")) {// 不能杀自己 if (userp(ob) && ob == me->query("possessed")) return notify_fail("你疯了,想自杀么?\n");// 不能 pk exp < 自己的玩家 (by xbd) if (userp(ob) && !living(ob)) return notify_fail("他已经昏了啊?\n"); if (userp(ob) && ob->query("combat_exp") < me->query("combat_exp")) return notify_fail("你不能欺负比自己弱小的玩家!\n"); if (userp(ob) && ob->query_temp("nokill") ) return notify_fail("那人启用了免战牌!\n"); if (userp(ob) && me->query_temp("nokill") ) return notify_fail("你启用了免战牌!\n"); if(userp(ob) && ob->query_condition("nokill") && !ob->query_condition("killer")) return notify_fail("那个人刚被杀过,放过他吧!\n"); message_vision(name()+"对$N点头说道: 嗯,好的。\n",this_player()); command("say 哼,主人要我杀了你!"); command("hit " + ob->query("id")); } return 1;} void kill_ob(object ob){if (ob->query("id")==query("host_id")){command("say 我对主人尽心尽力,但主人你为什么要杀我啊!"); command("die");call_out("destroying", 0,ob); return; }}int do_quit(string arg){ object ob= this_object(); object me= this_player(); if(arg==query("host_id") && me->query("id")!=arg) { command("say " + me->name() + ",你想做什么!不要伤我主人!"); command("emote 闪身挡在你的面前!");// me->fight_ob(ob); ob->fight_ob(me); return 1; }}int do_hulian(string arg){ object me=this_player(); object where = environment(me); string skillname; int skill, skill_basic, times, pertimes; seteuid(getuid()); if( !living(this_object()) ) return notify_fail("嗯....你得先把" + this_object()->name() + "弄醒再说。\n");if (me->query("id")!=query("host_id"))return notify_fail("你无权使用这个命令!\n");if (this_object()->is_busy())return notify_fail("她正忙着呢!\n"); if (where->query("pigging")) return notify_fail("你还是专心拱猪吧!\n"); if (me->is_busy()) return notify_fail("你现在正忙着呢。\n"); if( (int)me->query("qi") < 50 ) return notify_fail("你没有那么多的气!\n"); if( (int)me->query("jing") < 50 ) return notify_fail("你现在精不够!\n"); if (where->query("sleep_room")) return notify_fail("卧室不能互练,会影响别人休息。\n");if( environment(me)->query("outdoors") ) return notify_fail(HIY"\n不要影响别人,还是找一个室内的地方吧。\n"NOR); if( environment(me)->query("no_beg") && environment(me)->query("no_fight") && environment(me)->query("no_steal")) return notify_fail(HIY"\n不要影响别人,还是找一个别的地方吧。\n"NOR); if( me->is_fighting() ) return notify_fail("你已经在战斗中了,学一点实战经验吧。\n"); if( !arg ) return notify_fail("你要互练什么武功啊。\n"); if ( (sscanf(arg, "%s %d", arg, times)!=2 )) return notify_fail("指令格式:practice|lian <技能种类> <次数>\n"); if ( times < 1 || times > 10) return notify_fail("互练次数必须大于一次,但不能超过十次。\n"); if( !stringp(skillname = me->query_skill_mapped(arg)) ) return notify_fail("你只能练习用 enable 指定的特殊技能。\n"); skill_basic = me->query_skill(arg, 1); skill = me->query_skill(skillname, 1); if( skill < 1 ) return notify_fail("你好像还没有学过这项技能吧?最好先去请教别人。\n"); if( skill_basic < 1 ) return notify_fail("你对这方面的技能还是一窍不通,最好从先从基本学起。\n"); if( skill_basic/2 <= skill/3 ) return notify_fail("你的基本功火候未到,必须先打好基础才能继续提高。\n"); notify_fail("你现在不能练习这项技能。\n"); if (skill*skill*skill/10 > (int)me->query("combat_exp")) return notify_fail("也许是缺乏实战经验,你的练习总没法进步。\n"); if( !SKILL_D(skillname)->valid_learn(me) ) return 0; notify_fail("你试着练习" + to_chinese(skillname) + ",但是并没有任何进步。\n"); write( HIW "你与"+query("name")+"把" + to_chinese(skillname) + HIW"互练了"+chinese_number(times)+"趟。\n" NOR); if (skill*skill*skill/10 > (int)me->query("combat_exp")) { me->start_busy(1); return notify_fail("也许是缺乏实战经验,你的练习总没法进步。\n"); return 1; } for (pertimes = 1; pertimes <= times; pertimes ++) { if( SKILL_D(skillname)->practice_skill(me) ){ me->improve_skill(skillname, (skill_basic/5 +1), skill_basic > skill? 0: 1); me->improve_skill(skillname, (skill_basic/5 +1), skill_basic > skill? 0: 1);} else return 0; } write( HIY "你的" + to_chinese(skillname) + "进步了!\n" NOR); return 1;}void destroying(object ob){ object me=this_player();command("say 主人你要杀我,不劳您动手。。。\n");command("say 我的命真苦。。。\n");command("say "+me->query("name")+"主人以后我不能继续再服待你了。。。\n");command("say 大家珍重。。。\n");command("say 珍重。。。\n");message_vision("$N说罢,拿起剑自刎而死,她缓缓的到在地上。。。\n",this_object());this_object()->die(); return; }int do_move(string arg){ string pla; object me = this_player(); if( !living(this_object()) ) return notify_fail("嗯....你得先把" + this_object()->name() + "弄醒再说。\n");if (this_object()->is_busy())return notify_fail("她正忙着呢!\n");if (this_player()->query("id")!=query("host_id"))return notify_fail("你无权使用这个命令!\n");if( me->query("jing") < 50 ) return notify_fail("你身体不太好,做马车加出事的!\n");if( me->is_busy())return notify_fail("你现在在正忙着呢!\n");if( !environment(me)->query("no_fight")){ message_vision("只有在安全的地方才能叫马车!\n" ,me); return 1;}if (!arg)return notify_fail("你想去哪里呢?\n");if( !wizardp(me) && me->is_fighting() ) return notify_fail("你在和别人打架,没空叫马车吧?\n"); else {} if(arg=="gc") pla = "/d/city/guangchang"; else if(arg=="xx") pla = "/d/xingxiu/xxh1"; else if(arg=="mj") pla = "/d/mingjiao/shanmen"; else if(arg=="em") pla = "/d/emei/qingyinge"; else if(arg=="shl") pla = "/d/shaolin/guangchang1"; else if(arg=="lj") pla = "/d/lingjiu/damen"; else if(arg=="dl") pla = "/d/dali/center"; else if(arg=="xs") pla = "/d/xueshan/shanmen"; else if(arg=="wd") pla = "/d/wudang/guangchang"; else if(arg=="hs") pla = "/d/huashan/zhenyue"; else if(arg=="tam") pla = "/d/city2/tian_anm"; else if(arg=="quz") pla = "/d/quanzhen/damen"; else if(arg=="bt") pla = "/d/baituo/dating"; else if(arg=="qz") pla = "/d/quanzhou/zhongxin"; else if(arg=="gm") pla = "/d/gumu/mumen"; else if(arg=="sz") pla = "/d/suzhou/canlangting"; else if(arg=="gyz") pla = "/d/guiyun/taihu"; else if(arg=="xy") pla = "/d/xiangyang/guangchang"; else {command("snake"); message_vision(HIW"马车不到那个地方啊!\n"NOR, me); message_vision(HIY"车行里可以去的地方有如下:天安门(tam) 大理(dl) 泉州(qz) 少林(shl)华山(hs) 灵鹫(lj) 武当(wd) 明教(mj) 扬州(gc) 星宿(xx) 雪山(xs) 峨眉(em) 全真(quz) 白驼山(bt) 古墓(gm) 苏州(sz)归云庄(gyz)襄阳(xy) \n"NOR, me);} if (me->move(pla)) { message_vision(HIG"$N对"+query("name")+HIG"说:这附近有没有马车,我们要赶路了\n"+query("name")+HIG"在附近叫了一匹马车,\n$N和"+query("name")+HIG"双双上马,向外飞跑而去。。。\n\n"NOR, me); message_vision(HIC"\n一路奔驰,终于到了!你和"+query("name")+HIC"双双飞身一跃,跳下马车。\n"NOR,me);this_object()->move(pla);me->add("jing",-30);me->start_busy(4);} return 1;}string status_color(int current, int max){ int percent; if( max>0 ) percent = current * 100 / max; else percent = 100; if( percent > 100 ) return HIC; if( percent >= 90 ) return HIG; if( percent >= 60 ) return HIY; if( percent >= 30 ) return YEL; if( percent >= 10 ) return HIR; return RED;}int do_shape(string arg){ mapping my; string shape; int at_pt,pa_pt,do_pt;if (!arg)return notify_fail("你要看谁的状态?\n");if (arg !=query("id"))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -