abandon.c
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 173 行
C
173 行
// abandon.c#include <ansi.h>inherit F_CLEAN_UP;int help();int main(object me, string arg){ string skill; int level, lvl = 0; if( !arg ) return notify_fail("指令格式:abandon|fangqi <技能名称> [级数]\n"); sscanf(arg, "%s %d", arg, lvl); level = me->query_skill(arg, 1); if (!intp(lvl) || lvl < 0) return notify_fail("级数不可为负数。\n"); if (arg=="magic-dark") return notify_fail("这个技能不能放弃。\n");if (arg=="magic-light") return notify_fail("这个技能不能放弃。\n");if (arg=="biguan") return notify_fail("这个技能不能放弃。\n"); if( !me->query_skill(arg, 1) ) return notify_fail("你不会这种技能。\n");if( (int)me->query_temp("apply/attack") > 20 || (int)me->query_temp("apply/armor") >1500 || (int)me->query_temp("apply/dexerity") >20 || (int)me->query_temp("apply/strength")>20 || (int)me->query_temp("apply/dodge")>20 || (int)me->query_temp("apply/damage")>1500 || (int)me->query_temp("apply/intelligence")>20 || (int)me->query_temp("apply/constitution")>20)return notify_fail("你正在使用某些加力的武功,请在正常状态下放弃武功!\n"); if( (int)me->query_temp("powerupxtg") ) return notify_fail("你已经在先天大法了,请在正常状态下放弃武功!\n"); if( (int)me->query_temp("poweruptxg") ) return notify_fail("你正在运太玄功了,请在正常状态下放弃武功!\n"); if( (int)me->query_temp("powerupkh") ) return notify_fail("你正在运葵花无敌功了,请在正常状态下放弃武功!\n"); if(me->query_temp("wdpowerup") ) return notify_fail("你现在正在使用「五毒神功」的绝技,请在正常状态下放弃武功!\n"); if(me->query_temp("zhuihun/lpf")) return notify_fail("你正在使用五毒追魂钩之「乱披风」,请在正常状态下放弃武功!\n"); if( (int)me->query_temp("liuyun") ) return notify_fail(HIG"你已经在默运流云水袖神功了,请在正常状态下放弃武功!\n"); if( me->query_temp("qzj_tong") ) return notify_fail("你已经在运同归剑法中了,请在正常状态下放弃武功!\n"); if( me->query_temp("yuxiao/tianwu") ) return notify_fail("你正在运用「凤凰天舞」心法,请在正常状态下放弃武功!\n"); if( me->query_temp("fumo") ) return notify_fail("你正在使用大金刚拳的特殊攻击「金刚伏魔」,请在正常状态下放弃武功!\n"); if( me->query_temp("jingang") ) return notify_fail("你正在使用大金刚拳的特殊攻击「大金刚神通」,请在正常状态下放弃武功!\n"); if( me->query_temp("fanzhen") ) return notify_fail("你正在运用「金刚不坏体神功」,请在正常状态下放弃武功!\n"); if( me->query_temp("yuxiao/tianwu") ) return notify_fail("你正在运用「凤凰天舞」心法,请在正常状态下放弃武功!\n"); if ((int)me->query_temp("shield")) return notify_fail("你已经在运护体神功中了,请在正常状态下放弃武功!\n"); if( me->query_temp("yuxiao/tianwu") ) return notify_fail("你正在运用「凤凰天舞」心法,请在正常状态下放弃武功!\n"); if(me->query_temp("anran")) return notify_fail("你现在正在使用「黯然」绝技,请在正常状态下放弃武功!\n"); if( me->query_temp("qzjtong") ) return notify_fail("你已经在运同归剑法功中了,请在正常状态下放弃武功!\n"); if (lvl <= 0 || lvl >= level) { write("\n注意!你将要放弃全部 "HIW + to_chinese(arg) + "("+arg+")"NOR" ,确定吗?[Y|N]\n>"); input_to("delete_all", me, arg); } else if (level < 100) return notify_fail("你这项技能还没有到能收放自如的地步。\n"); else { write("\n注意!你将要放弃" + chinese_number(lvl)+ "级 "HIW+to_chinese(arg)+"("+arg+")"NOR" ,确定吗?[Y|N]\n>"); input_to("delete_skill", me, arg, level, lvl); } return 1;}private void delete_all(string arg, object me, string skill){ if( arg[0]=='y' || arg[0]=='Y' ){ me->map_skill("unarmed"); me->map_skill("hammer"); me->map_skill("blade"); me->map_skill("sword"); me->map_skill("staff"); me->map_skill("club"); me->map_skill("throwing"); me->map_skill("parry"); me->map_skill("dodge"); me->map_skill("magic"); me->map_skill("spells"); me->map_skill("leg"); me->map_skill("axe"); me->map_skill("array"); me->map_skill("whip"); me->map_skill("finger"); me->map_skill("hand"); me->map_skill("cuff"); me->map_skill("claw"); me->map_skill("strike"); me->prepare_skill("unarmed"); me->prepare_skill("hammer"); me->prepare_skill("blade"); me->prepare_skill("sword"); me->prepare_skill("staff"); me->prepare_skill("club"); me->prepare_skill("throwing"); me->prepare_skill("parry"); me->prepare_skill("dodge"); me->prepare_skill("magic"); me->prepare_skill("spells"); me->prepare_skill("leg"); me->prepare_skill("axe"); me->prepare_skill("array"); me->prepare_skill("whip"); me->prepare_skill("finger"); me->prepare_skill("hand"); me->prepare_skill("cuff"); me->prepare_skill("claw"); me->prepare_skill("strike"); me->reset_action(); me->delete_skill(skill); if(userp(me) && !wizardp(me)) log_file("ABANDON", sprintf("%s(%s) abandoned ALL %s on %s\n", me->name(1),me->query("id"), to_chinese(skill) , ctime(time()) )); write("你放弃了"+ to_chinese(skill) +"。请重新enable,jifa所有的武功\n\n"); } else write("你决定保留"+ to_chinese(skill) +"("+skill+")。\n\n"); }private void delete_skill(string arg, object me, string skill, int level, int lvl){ if( arg[0]=='y' || arg[0]=='Y' ){ me->map_skill(skill); me->reset_action(); me->set_skill(skill, level - lvl); if(userp(me) && !wizardp(me)) log_file("ABANDON", sprintf("%s(%s) abandoned %d levels of %s on %s\n", me->name(1),me->query("id"), lvl, to_chinese(skill) , ctime(time()) )); write("你放弃了" + chinese_number(lvl)+ "级"+ to_chinese(skill) +"("+skill+")。\n\n"); } else write("你决定保留"+ to_chinese(skill) +"("+skill+")。\n\n"); }int help(){ write(@TEXT指令格式:abandon|fangqi <技能名称> [级别]放弃一项你所学过的技能,注意这里所说的「放弃」是指将这项技能从你人物的资料中删除,如果你以后还要练,必须从0开始重练,请务必考虑清楚。但如果你在放弃命令时有输入级别,将只放弃到指定级别。这个指令使用的场合通常是用来删除一些「不小心」练出来的技能,由于每个人有着不同的天赋,所修习的武功也不会相同。如果样样都学,到头来只会样样不精。TEXT ); return 1;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?