mud_sanc 板


LINE

这是取自 party 的构想、在实作上较为简单的方式。 当玩家 wear all 时... suit_ob=({}); wear all 回圈(obs) { suit=eq->query("suit_ob"); // suit=该套装统一控制档 if(suit && member_array(suit,suit_ob)==-1) suit_ob+=({suit}); } foreach(suit in suit_ob) call_other(suit,"check_suit",obs); 它的优点是,假设玩家身上有n件A套装防具、m件B 套装防具时,则此时 suit_ob size 为 2,就会做两次 套装判断。 而若是以前,则会做n+m次判断。 它的另一个好处是套装统一由每一个 suit_ob 定义,透 过适当的设定就可以轻易让管理者管理并浏览所有的套 装,同时可轻易更动所有套装的设定。 这个我最近会找时间实装,完成後会请各 wiz 甚至 ppl 帮忙撰写档案(ppl 会撰写的话给予稿酬,档案很简单), 上面也适用 wear 单一物件的情况。 它的进化式,则是各 suit 统一归纳到同一个大 SUIT 中 ,因为 obs 是同一个就能单独传过去,变成.. call_other(SUIT,"check_suit",obs,suit_ob); 即变成内回型式就能增快判断速度。 理论上上述做法没有缺点,但要完全将缺点降到零的话, 最好还是为每一个装备新增 remove_func,这可能也会统 一对 /std/ob/armor.c 做修改。 至於套装统一控制档,它的构成基本如下.. mapping suit_data=([ 定义一大堆套装资料, 便於读取及迅速观看理解该套装属性 ]); void check_suit(object me,mixed obs) { 判断套装; } string get_suit_string(object eq) { 回传套装资料; // 这里大概会用 switch(base_name(eq)) 来判断 } 指令 view 的修改则以底下为重点.. if(eq->query("suit_ob")) str+=(string)call_other((string)eq->query("suit_ob"),"get_suit_string",eq); 显示出来的样子就类似.. 属性:str+5 con-10 套装:名称─[邪灵杀意] 属性─str+10 con+20 <= 多出来的两行, 即若变成套装 各位 wiz 若觉得这样写 ok,本周会公布相关档案, 有兴趣的也可先行试做。 Laechan --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.225.160.106
1F:推 justinj :...如果10件A套装内有5件可组成B套装..可以用吗?... 04/07 16:33
理论上可以,但是 suit_ob 会写的很复杂,因为它必须先判断 某 eq 有没有先被组成 5 件而不是 10 件,再者就是判断它有 没有已满足 10 件套装。 但是某 eq 可以同时是 A 套装装备也可以同时是 B 套装装备, 唯一的条件是若 eq 已经变 A 套装状态时就不能再是 B 套装状 态。 简单一点假设 A 套装有三件 eq 分别为 A1, A2, C, B 套装有 三件分别为 B1, B2, C, C 就是重覆到的 eq。 则 C 的 suit_ob 可设为 SUIT_A 或 SUIT_B,这是因为要真正 执行 check_suit 的程式段一定是同时穿有 A 或 B 的情况,这 时假若穿了 A1, C, B1, B2,则 SUIT_A 会判断到无法成为套装 , SUIT_B 则会判断到可成为套装,这时 C 就会变成 B 套装的 一部份,而不会再被 A 套装影响到。 (因为 wearing 的判断也会纳入, 已 wearing 的东西不会再被 套装判断到) 这也是写成 suit_ob 的优点之一,这个特点的最大好处就是.. A套装:A1, A2, A3 or A1, A2, A4 or A2, A3, A4 ,.. B套装:A1, A2, A3, A4 因为 suit_ob 是总和判断式的,所以它允许玩家穿任三件时可 以是一件套装,穿上第四件时又是另一个套装。 (我想 deus 应该会对这种设定感兴趣) 我个人比较倾向这样的方式,而不是五件是一套、十件是一套, 因为那会很复杂。多一件是另一套,这样比较好写。 但不管如何 suit_ob 可以突破武防限制,以及不用大幅更动原 先的武防档,是这东西实作的基本用意。 Laechan ※ 编辑: laechan 来自: 61.225.160.106 (04/07 17:27) ※ 编辑: laechan 来自: 61.225.160.106 (04/07 17:28)







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灯, 水草

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

TOP