作者laechan (小太保)
看板mud_sanc
标题Re: [抠顶] 指令 enchant
时间Thu Aug 9 15:44:35 2012
写好了,暂时存在 /cmds/wiz/_wiz_enchant.c,开始 debug。
Errors written to /log/log:
/cmds/wiz/_wiz_enchant.c line 107: Undefined variable 'e1' before (mapping)wp->e
nchant
/cmds/wiz/_wiz_enchant.c line 107: Illegal lvalue before (mapping)wp->enchant
/cmds/wiz/_wiz_enchant.c line 108: Undefined variable 'e2' before (mapping)wp->e
nchant
/cmds/wiz/_wiz_enchant.c line 108: Illegal lvalue before (mapping)wp->enchant
/cmds/wiz/_wiz_enchant.c line 133: Warning: Unknown \ escape. before 憧有\n"+
/cmds/wiz/_wiz_enchant.c line 134: Warning: Unknown \ escape. before 惮尔雈i以先
把该武器
e1 e2 是之前预设的读法,後来改成尽量不读到 mapping 资料,
删掉就 ok。warning 的部份是「盖」这个字要改成「盖\」,改
完也 ok。
> !cc
cc _wiz_enchant.c
/std/cmd_m.c: 更新及载入了.
/cmds/wiz/_wiz_enchant: 更新及载入了.
=============================================================
> wiz_enchant
enchant 指令说明:
=====================================================
enchant [效果简称] [施放对象]
例如: enchant hr man
1.你的魔法武器技能值、以及上述法术技能值,至少
都需要有 100 才可施放.
2.施放对象必须为玩家或自己,且必须有拿武器。
3.效果叠加限制请参照 help skill enchant 说明。
4.简称及效果对照
ad 增加攻击伤害力 ah 增加攻击命中力
fi 攻击时增加熟练度 fp 攻击时增加经验值及学点
hr 击中时 hp 回复 hv 普攻/en 额外增加连击数
km 杀死怪物时较多金钱 kr 杀死怪物时 pp 回复
pa 提升武器格挡能力 pd 普攻/en 节省 pp 消耗
z1 攻击中机率自动施展 hands 类法术(与灵力武器并效)
=====================================================
Laechan@Sanc 2012/08/09
> wiz_enchant hr
enchant: laechan 必须有装备[第一武器]喔.
> wear blade
你装备上 狂 风 刀(Crazy_Wind Blade)。
> !wiz
wiz_enchant hr
执行时段错误: *Bad argument 1 to <=
Expected: int or string or float Got: ([ ]).
程式: cmds/wiz/_wiz_enchant.c:125
物件: /cmds/wiz/_wiz_enchant
/std/user#186306 "cmd_hook" std/user.c:134
/cmds/wiz/_wiz_enchant "cmd_wiz_enchant" cmds/wiz/_wiz_enchant.c:125
sk=(int)wp->enchant(skname);
// 当武器已经有该效果时且未过时
if(sk>0)
{
这主要是我的 enchant 函数写法问题,改一下就可,底下是
改完後的版本
/std/ob/weapon.c
varargs mixed enchant(string str)
{
if(str && str!="")
{
if(!undefinedp(enchant[str]))
return enchant[str];
return 0; // 主要是新增这行来传回 0 值
}
return enchant;
}
然後我刚刚想到我没有加上时效设定,基本上时效 20 分钟。
> wiz_enchant hr
你缓缓念道: 万物之根源,万能之力的马纳啊!化为打碎黑暗的力量吧!
扣顶机器所拿的狂 风 刀(Crazy_Wind Blade)发出了魔法的光芒!
> call blade;enchant
武器(狂 风 刀
/u/l/laechan/area/felid/wp/blade1)-> enchant() = ([ "hr" : 1000 ])
> call blade;enchant_times
武器(狂 风 刀
/u/l/laechan/area/felid/wp/blade1)-> enchant_times() = ([ "hr": 1344498338 ])
> call blade;sizeof_enchant
武器(狂 风 刀
/u/l/laechan/area/felid/wp/blade1)-> sizeof_enchant() = 1
然後我主职不是法师。
> wiz_enchant kr
enchant: 法师不是你的主职,你只能为武器附魔一层效果喔。
设为法师、并拿掉我本来设的进阶後。
> wiz_enchant kr
你缓缓念道: 魔法根源,奇蹟之泉的马纳啊!化为打碎黑暗的力量吧!
扣顶机器所拿的狂 风 刀(Crazy_Wind Blade)发出了魔法的光芒!
> wiz_enchant pd
enchant: 你尚未转职为进阶法师,你只能为武器附魔两层效果喔。
将进阶设为 sage 後。
> wiz_enchant pd
你缓缓念道: 万物之根源,万能之力的马纳啊!化为打碎黑暗的力量吧!
扣顶机器所拿的狂 风 刀(Crazy_Wind Blade)发出了魔法的光芒!
> wiz_enchant pa
enchant: 你不是大魔导士,你只能为武器附魔三层效果喔。
将进阶设为 magemaster 後
> wiz_enchant pa
你缓缓念道: 魔法根源,奇蹟之泉的马纳啊!化为打碎黑暗的力量吧!
扣顶机器所拿的狂 风 刀(Crazy_Wind Blade)发出了魔法的光芒!
> wiz_enchant fi
enchant: 你最多只能为武器附魔四层效果喔。
检查附魔资料,确认正常。
> call blade;enchant
武器(狂 风 刀
/u/l/laechan/area/felid/wp/blade1)-> enchant() = ([ "kr" :
1000, "hr" : 1000, "pa" : 1000, "pd" : 1000 ])
> call blade;enchant_times
武器(狂 风 刀
/u/l/laechan/area/felid/wp/blade1)-> enchant_times() = ([ "kr"
: 1344498528, "hr" : 1344498338, "pa" : 1344498612, "pd" : 1344498580 ])
==========================================================
後续修改部份,预定如下
一、「副法」只能叠一的部份,若该副法为「勇者」,就允许其
至少可叠二。
二、z1~zn (即并效的部份)将不算进 sizeof_enchant 里面,但
是会算进 sizeof_zn 里头。(也就是并效只能择一)
三、view 将在保留原格式下,新增「附魔」栏位的显示,附魔栏
位的显示必要条件为:该物品在 view 的人身上。
四、help skill enchant 将修改
五、将逐个效果写入相关程式段里头
六、原则上有可能写 enchant hr,kr,pd, .. 这种指令格式,然
後为避免 bug 应该会先拆解再 foreach call function 来
做会比较简单(会用到一点递回,来避免错误讯息没显示)。
我会设计若是递回型呼叫的话延迟时间会无视。
七、部份效果的「值」将不参考技能值,但是其发动机率将会
参考。原则上若值可以参考技能值,机率大多会设为100%
然後因为 normal_attack 函数本来就有呼叫 wp..
if(wp=(object)me->query("weapon1")) wptype=me->query_wp_type();
所以跟 normal_attack 有关的东西会优先上,效果上的差不多之
後会公告,然後就等 auto shutdown 後开启该功能。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.61.157.53
1F:→ laechan :稍微修改了指令说明 08/09 15:49
2F:→ laechan :突然发现叙述都是打碎黑暗的力量,应该是有bug,改一下 08/09 16:08
3F:推 aiggkimd :超赞 08/09 16:13
4F:推 justinj :将药水加的情况现在是加%数...可以有加实际量 08/10 08:38
5F:→ justinj :效果....可以增加使用时增加的%数.. 08/10 08:39
6F:→ laechan :这跟武器的效果比较不搭 08/10 09:23