作者laechan (小太保)
看板mud_sanc
标题Re: [wizs]问题请教(二十一)
时间Sun Oct 26 02:26:14 2008
※ 引述《amosdeus (幽素)》之铭言:
: 问题一:
: int add_damage_percent(object target,object ppl)
: {
: int dam;
: ppl = this_player();
: dam = 300;
: ppl->add("hp",-9999);
: if(ppl->query("hp")<1) ppl->die();
: if(!ppl) return 0;
: if(target->query("ethic")>0) dam = dam + 50;
: return dam;
: }
: 我想做的每次使用者攻击都会损失ㄧ定值得血量,
可以从使用者每次攻击时会呼叫哪些函数来考量,上面的函数就是
其中之一,但是不一定要用那个函数来实现。
那个函数我没记错的话是写在防具上的,而 user_d.c 里头有一行
就是判断如果玩家有装备「特殊的东西」时就呼叫该东西自定的上
述函数 add_damage_percent。
: 而被攻击者如果是正道德伤害则在加深,
: 问题是这个函数只有在玩家装备时才使用到,
: 请问有别的方法做到,每次攻击就判断吗?
有,玩家每次攻击时必定会呼叫 user_d.c 的 continue_attack以
及 normal_attack 两个函数,一般损血设定有几种...
1)ppl->set_temp("损血公定参数",1);
则 wiz 要另定该参数如何使其消失.
2)ppl->set_temp("损血公定参数",xx+time());
则系统可以写成自行判断该参数的有效时间
3)ppl->set_temp("损血公定参数",xx);
即玩家每攻击一次→损血→上面的xx就减一
则系统可以写成自行判断该参数的有效次数
所以重点在於你是要在什麽时机,让玩家触发这个函数来损血,以
及玩家在什麽条件下该触发会停止,以上面2)跟3)的情况我可以配
合在 /adm/daemons/user_d.c 里头写相关判断。
(这跟五毒珠的设计流程相似,先有五毒珠,我再配合五毒珠去修
改 /std/user.c 里头的中毒效果相关函数)
: 这个函数判断是攻击结束外的伤害在额外增加
: 有在攻击时就增加的吗?
: 举列:比方使用技能时伤害为五十万这时就加入额外伤害十万
: 变成伤害为六十万在到 receive_damage 这里做判断。
: 这个函数有判断 dam 型态不会增加伤害
: 是否可以加入呢?
那上面的公定参数以及它的资料型态(int/string/mixed/mapping)
要先定义出来,主要看你要让这个参数定哪几种资料。
像毒 poison 就是定了三项资料,你可以仿照,或依自己的需要来
设。这个由你来决定,我主要是提供修改建议,并在确认後将其写
进系统内,再由你来测试。
: 或是另设一个参数,做到以上提出的问题?
: 问题二:
: 无 尽 藏
: 一沙一世界 一花一天堂
: 一粒沙中,也有许多的微小生物在里头,一朵花中如果仔细观察,
: 还可以看到宇宙在花心形成的美。
: 明显出口有: west, virtue, north, 和 east.
: Lv235.黑暗代行者巴尔(Baal)
: > k baal
: 你对着黑暗代行者巴尔喝道: 「小王八蛋﹗今日不是你死就是我活﹗」
: 你开始攻击 黑暗代行者巴尔.
: □ □ □ 战 斗 开 始 □ □ □
: 黑暗代行者巴尔表情沉重地说道:
: 引领我们走在神的旨意中,
: 为我们代求,行使神的权能。
: 一道庞大的光柱降落并覆盖整个空间,就在这一瞬间,
: 简单而优雅的乐章悠然响起,这片土地升格为应许之地。
: 停止战斗
: >look
: 激 烈 的 战 役 ─ Bagol Dagor(辛达语)
: 压抑沉重,难以舒展的鼓音在飘渺萧瑟的合音中回响着,营造出
: 一种肃穆的氛围。
: 明显出口有: west, virtue, north, 和 east.
: Lv235.黑暗代行者巴尔(Baal)
: 我的问题是我把物品 clone 之後到房间会占一行空间,
: 就算设隐形还是没用,请问该怎样把物品隐藏起来,
: 不会像上面那样多了一行。
>look
小房间
这是一个房间。
黄色炸药 TNT (TNT)
(隐形物件)黄色炸药 TNT (TNT)
>
我刚实装了隐形物件,你可以再试试,测试方式是设某个物
件的 invis >0,然後开 wiz char 及 ppl char 下 look看
看结果。
(隐形物件只适用於该物品在房间的情况)
其它的明天再回。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.170.104.154