Re: [建议] 副本相关

楼主: laechan (挥泪斩马云)   2014-04-15 14:18:51
※ 引述《laechan (小太保)》之铭言:
: ※ 引述《justinj (黑旋风)》之铭言:
: : 4.只有在某副本才会掉的物品(ob)(如果可以,增加连接了某任务才会开始掉ob)
: 这个只要改 mob_drop 即可,怪物可以设定其它资料,因此只要
: 让 mob_drop 读取这个所谓的“其它资料”,则副本怪就可以比
: 一般怪(即使档案一样)多掉一些东西。
: 比方怪物都会设定 instance 相关的东西
: if(mob->query(instance相关设定))
: 才会执行副本额外掉落资料;
副本里面关于怪物的设定如下
instance_mob_datas=([
"bear1":([
"files":"/u/l/laechan/area/whitetile/mob/bear1",
"level":150,
]),
所以直觉的做法就是
"mob_drop":(["物品1":掉落机率1,"物品2":掉落机率2,..]),
而 mob_d.c 里面已经有这一段
"/open/cmds/vobjs_d"->exec_mob_drop(killer,me);
然后 vobjs_d.c 的 exec_mob_drop 里面则有这一段
if(!mob_drop[paths]) return 1;
if(function_exists("mob_drop_rate",mob))
rates=(mapping)mob->mob_drop_rate(ppl);
所以额外掉落部份写在这一段之前,然后利用 rates 参数做前期判断
即可。
已加在 /open/cmds/vobjs_d.c 段落内。
===========================测试开始==========================
instance_mob_datas=([
"bear1":(["files":"/u/l/laechan/area/whitetile/mob/bear1",
"level":150,
"mob_drop":(["/d/ppl/norr/special_obj/lodoos_map":500,
"m024":500]),
> da bear
mob_drop :([ "m024" : 500, "/d/ppl/norr/special_obj/lodoos_map" : 500 ])
邪 恶 黑 熊发出一声惨叫!!
邪 恶 黑 熊慢慢的倒在地上死了...你得到 12600点的经验值。
你取得了一个兽掌。
邪 恶 黑 熊发出一声惨叫!!
邪 恶 黑 熊慢慢的倒在地上死了...你得到 12600点的经验值。
你取得了一张罗德斯地图(Lodoos Map)。
> con bear
物品掉落资讯:
[副本额外设定]
兽掌 50.0%
罗德斯地图(Lodoos Map) 50.0%
[一般怪物设定]
无。
===========================测试结束==========================
这样子设定的缺点,是副本怪物的掉落资讯无法透过 ob view
兽掌去得到相关资讯。换言之,如果要让 ob view 显示副本怪
的掉落资讯,就必须要有一个 instance_drop 设定,而且它要
有识别用的字串当做主 key,然后 wizs 们要设定副本怪掉落
物时就得透过 vobjs -instance 指令去设定..
1.每一个副本需有它独特的识别字串(这可以透过默认值办到)
2.vobjs_d.c 需建立 mapping instance_drop 资料
3.vobjs 指令需写 -instance 设定语法
4.副 key 用的是 instance_mark 而不是 base_name
5.如何让 ob view 可读到是哪一只副本怪物掉这东西
这个我再评估看看..不太好做。
Laechan

Links booklink

Contact Us: admin [ a t ] ucptt.com