mud_sanc 板


LINE

目前是这样做的.. mob_d.c -- die() if(killer && me && userp(killer)) find_object_or_load("/adm/daemons/mob_drop")-> mob_drop(killer,me,"first_test"); to_die(me,killer); mob_d.c -- to_die() stuff = all_inventory(me); stuff->set("cant_time",10+time()); corpse_body=(string)killer->query("name"); stuff->set("prevent_name",corpse_body); if(k) msg+="你拿起"+(string)me->query("short")+"身上所有的东西。\n"; stuff->move(corpse); tell_object(killer,msg); me->remove(); // 把mob移掉 我想以後的做法应该是.. stuff = all_inventory(me); stuff->set("cant_time",10+time()); corpse_body=(string)killer->query("name"); // stuff->set("prevent_name",corpse_body); stuff->change_stat(); if(k) msg+="你拿起"+(string)me->query("short")+"身上所有的东西。\n"; stuff->move(corpse); 上面的意思是说,玩家杀死某怪依然会拿到跟以前一样的 东西,但是该物品的「属性跟名字」则可能被换掉,其作 用的函数就是 change_stat()。 那我刚刚有试过在武防没有 change_stat() 函数下做上 面的动作,它不会有任何错误。 换言之,只要在武防的继承用物件上写 change_stat 函 数即可,一般来说写法如下.. void change_stat(object ppl) { // 先读取该武防有没有 sdata, 有的话不动作 if(query("sdata")) return ; // 本来就没有 effect 的话也不动作 // 但问题就是这样的话就无法被存进家里, 所以家必须提供 // 新的仓库来存这些东西 set("sdata",({"effect"})); effects=keys((mapping)query("effect")); t=0; foreach(tmp in effects) if(t>0 && t<100) t=t+query("effect/"+tmp); // 这样就有总和数值 // 然後对 effects 做 random_sort effects=sort_array(effects,"random_sort",this_object()); // 然後再重新分配 t foreach(tmp in effects) { if(query("effect/"+tmp)>99) continue; if(t<1) delete("effect/"+tmp); else { r=1+random(t); if(r>90) r=90+random(10); set("effect/"+tmp,r); t=t-r; } } 这样玩家就算打同样的怪物 100 次,掉同样的东西 100 件,每 一件的「属性」也不见得一样,玩家就可以依自己的需求替换装 备,而且也可能产生自己用不到、但别人用的到的卖相佳的装备 那麽这里就产生一个问题.. 假设属性的值最小 1,最高 9x,那麽该怎麽定义其它属性,使它 们一样可套用该值?很简单就是标准化,例如说.. 1.加 hp 最高 9.9% (也就是不再以加值、而是以加 % 为主) 或加 hp 最高 99000 (也就是说 99 = 99000) 2.加闪格挡率最高 9.9% (也就是说 99 = 9.9% 的意思) 那理论上因为最好不要有 9.9% 这样的数值,所以可以技术性地 化为整数,例如 99 = 10.0% 的意思这样,或是说我们也可以设 1 = 2%,则 10 = 3.1%,则 99 = 12% 这样。 这问题应该不大,很好解决,数值需控制在 1~99 之间这样。 最近会实验看看一次 change_stat 20 件装备会不会出问题,若 不会的话这个就会开始先动工。(武防的名字会先不变动) Laechan --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.61.157.53







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