[wizs] 物件 long 長度超過太多的請留意一下

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間12年前 (2013/08/28 17:48), 編輯推噓1(108)
留言9則, 2人參與, 最新討論串1/1
running code 如下: obs=users(); foreach(me in obs) { if(!me || (me && !environment(me))) continue; foreach(ob in all_inventory(me)) { i=strlen(ob->query("long")); if(i>999) write(""+i+" "+identify(ob)+"\n"); } } ========== 程式執行區 ========== 8332 道具(羅德斯地圖 /d/ppl/norr/special_obj/lodoos_map) 1488 防具(兔耳髮圈 /d/auc/2013_情人節/兔耳髮圈) 1563 武器(荒狼劍【雙神】 /d/ppl/dragondoll/strongholds/wp/seele) 1463 防具(電燈帽 /d/auc/2013_情人節/電燈帽) 3634 武器(蘭古◇費洛莎 /d/ppl/wide/virtue/wp/langu) 5714 防具(/d/auc/2013_春節/vest) ========== 程式執行區 ========== 超過 8192 就會有 8192 那個 bug 出現。 執行時段錯誤: *Printable strings limited to length of 8192. 程式: std/user/body.c:102 物件: /std/user#9089 生物名: wade /std/user#9089 "cmd_hook" std/user.c:140 /cmds/std/_view "cmd_view" cmds/std/_view.c:150 /cmds/std/_view "view_object" cmds/std/_view.c:584 /adm/obj/simul_efun "write" adm/simul_efun/write.c(adm/obj/simul_efun.c):8 /std/user#9089 "receive_message" std/user/body.c:102 沒超過 8192 但很長的也要注意,最好別讓物件常駐這麼大的資料 量,並減少無謂的色碼使用。(或改用 query_long() 的做法) Laechan -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.61.157.53

08/28 18:06, , 1F
我暫時改了 view 指令,long >5000 的它將不會顯示。
08/28 18:06, 1F

08/28 18:23, , 2F
不知道是norr寫太長,還是抓圖時抓太大..avert
08/28 18:23, 2F

08/28 18:25, , 3F
look map 是正常的, 但是跟 view 要秀的其它資訊加在
08/28 18:25, 3F

08/28 18:25, , 4F
一起時就會超過 8192
08/28 18:25, 4F

08/28 18:25, , 5F
這個我比較建議這張 map 自訂 add_action(look), 用
08/28 18:25, 5F

08/28 18:26, , 6F
present(str,ppl)==this_object() 去 return notify
08/28 18:26, 6F

08/28 18:26, , 7F
喔不對是 write, return notify 不能用這邊
08/28 18:26, 7F

08/28 18:27, , 8F
或是讓它 cat 某檔亦可, 加上再 look 時間判定
08/28 18:27, 8F

08/28 18:27, , 9F
可參考 skilldata 技能名 的做法
08/28 18:27, 9F
文章代碼(AID): #1I7SU3mX (mud_sanc)
文章代碼(AID): #1I7SU3mX (mud_sanc)