mud_sanc 板


LINE

※ 引述《mantohu (StarWars太好看啦!)》之铭言: : 大家好,小的是乱世的Zoro,一值都有在偷偷的逛ptt偷学,第一次跟大家打招呼 XD : 话说我最近遇到一个sscanf()的问题想请前辈Wiz们指点~ : 有一个data.o档案,里面有一串mapping是 : all_items (["188931_ONAME":"测试装备", "188931_UID":"zoro", : "188931_DATA":(["value":20000, "limit_con":60, : "name":"测试装备", : "armor_prop":(["armor":60,"defense":50,]), : "id":"test eq", "limit_str":40, ]), : "188931_VALUE":1000000, "188931_TIME":1307688931, : "188931_FILE":"/obj/temp/test_eq.c", ]) : 也就是前面有一串随机数字加上 _"xxx"当做index, : 我想以把all_items整串输入进去後 : ,抓取 _ONAME 当关键字然後把前面的随机数字读出来指定该物品 : 下面是这段Code,现在就一值卡在绿色那行,请各位指点一下~ : ----- : int do_list(string arg) : { : string msg, name, *items; : int i, n, j; : if(!sizeof(all_items)) return 0; : msg = ""; : items = keys(all_items); 那理论上 items = ({"188931_xx1","188931_xx2",...}) : n = sizeof(items); : for(i=0;i<n;i++) : { : if (sscanf(items, "%d_%s", j, name)==2 && name == "ONAME") : { 一般来说,如果你很确信 items = keys(all_items) 出来的东西 全都是 数字_字串,那上面可以改写为 sscanf(items,"%d_%s",j,name); if(name=="ONAME") { 你可以改写看看。另外我自己很少用 string name,都用 string names 居多,其它像 skills, spells, strs, airs, moneys 等也是, 我的习 惯是很常加 s,原因是不想碰到「保留字」。这你也可以参考。 (像早期的 mudos 版本,「new」并不是保留字,但後来却变保留字) : if ( (time()-all_items[j+"_TIME"]) < DEADLINE_TIME ) : { : msg += sprintf(" (%-6d) %-24s %8s %-12s %s\n", : j, : filter_color(all_items[items])+"("+all_items[j+"_OID"]+")", : filter_color(MONEY_D->money_str(all_items[j+"_VALUE"])), : time_string(86400 - (time()-all_items[j+"_TIME"])), : all_items[j+"_UNAME"]+"("+all_items[j+"_UID"]+")"); : } : } : } : this_player()->start_more(msg); : return 1; : } : ---- 还有另一种改写方法就是用 if(strsrch(items,"_ONAME")>0) 这样的判断方法。 if(strsrch(items,"_ONAME")>0) { sscanf(items,"%d_%s",j,name); Belldandy. ※ 编辑: laechan 来自: 115.82.52.77 (06/10 16:58)
1F:推 justinj :有时後会有保留字....出问题时改一下变数就好了.amem 06/10 17:08
2F:推 mantohu :感谢,我稍後试试看,这是我乱写的拍卖场XD 06/10 17:29
3F:→ laechan :当初光是要改 "new" 这个字改了很久,例如以前更新玩 06/10 17:46
4F:→ laechan :家属性跟3p就是用 new(ppl),後来就改成 new_3p(ppl) 06/10 17:47
5F:→ laechan :呵, 同样都 lpmud 的话就可以参考, 大家相互学习 06/10 17:48







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

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

TOP