mud_sanc 板


LINE

主档: /adm/daemons/mob_drop.c (实际档案已经移到 /u/h/highelf/mob_drop.c) #define MOB_DROP_PATH "/d/obj/mob_drop/" #include "mob_drop.h" /d/obj/adm 下有 d_master.c 档,所有 wiz 都会有自己的目录权限 ,例如 quest 的就是 /d/obj/mob_drop/quest。 目前 highelf 拥有该目录的主设定权。 mapping setting_data_ob=([]); 在 mob_drop.c 里头有一个 setting_data_ob 资料,这东西跟上面 的 mob_drop.h 里头定义的 setting_data 是相关的。 :::::::::::::: /u/h/highelf/mob_drop.h :::::::::::::: #define setting_data ([\ "/d/crazy/1/mob":"laechan/crazy1",\ ]) 上面的意思就是,只要怪物的档名是「/d/crazy/1/mob」开头的话, 该怪物在阵亡时会掉落什麽物品,就由「/d/obj/mob_drop/laechan/crazy1.c」 来控制。 它的好处就是,因为很多 wiz 都会自订掉落物控制档,依照目录名 来分的话就不会去设到别人的,而且同一目录的怪物也几乎等於同一 区域的怪物(所以这里就可勾勒出,若未来移怪物到 /area 下,其分 类方式也应该按照 /area/mob/大陆/区域名/ 来分) 而 /d/obj/mob_drop/laechan/crazy1.c 只要被载入,就会自动存到 setting_data_ob 里头去,储存方式就是... setting_data_ob["/d/obj/mob_drop/laechan/crazy1.c"] = crazy1物件 比方玩家开始杀这区域的第一只怪,这时 setting_data_ob 就储存了 crazy1.c 物件,等玩家杀第二只怪时,系统就可以本地读这个物件, 不用另外再去 find_object_or_load。 在 mob_drop.c 里头只有一个函数 mob_drop... varargs void mob_drop(object ppl,object mob,string check) ppl : 杀死怪物的玩家 mob : 被杀的怪物 check : 节庆判断(varargs 针对的就是这个参数的可给可不给) 节庆的部份稍後再说。 mob_drop 函数会做几件事... 一、先读出 mob 这个怪物所在的目录名   (我觉得这个有必要写成 simul_efun...) 二、判断该目录有没有被定义在 setting_data 中,例如上面的例   子,七域第一层的怪物若阵亡时,mob_drop 就会判断到七域   第一层这个目录有被定义。 三、如果有定义在 setting_data 中,就去读相对的 setting_data_ob   ,然後让该 ob->mob_drop_check(ppl,files,check)   若没有定义,就不做任何事 四、最後判断节庆的部份 节庆的判断有两种,一种是「全域式」的,不管打死什麽怪物   都会做节庆判断,另一种是「限定区域式」的,在特定节庆只   有打死特定目录的怪才会做节庆判断。   所以三的部份才会把节庆参数也一并传过去。   例如说,我们设定在新年的时候打怪,会有 20% 的机率拿到红   包袋,若没拿到就执行原先的掉落设定,这时.. switch(check) { case "newyear": if(random(100)<20) { add_user_vobjs(ppl,"laechan_newyear_redbag",1); add_vobjs_msg(ppl,"laechan_newyear_redbag",1); // 这两个可并在一起 break; } ob->mob_drop_check(ppl,files,check); // 改执行原先的判断 break; . . } 这样的话,「打死任何怪」,就有 20% 的机率先判断能不能拿到   红包袋,不行的话就做原先的掉落设定,这时候原先的掉落物的   掉落机率就通通都要再打八折。   而上面的好处就是也可以针对「特定几个目录的怪物」来做节庆   相关判断,所以实际上 ob->mob_drop_check 时是不需要传节庆   相关参数过去的。(但有也无妨,以方便 wiz 为主) Laechan --



※ 发信站: 批踢踢实业坊(ptt.cc)
※ 编辑: laechan 来自: 220.131.225.67 (01/17 15:57)







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP