作者laechan (小太保)
看板mud_sanc
標題[wizs] 物件 long 長度超過太多的請留意一下
時間Wed Aug 28 17:48:47 2013
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
1F:→ laechan :我暫時改了 view 指令,long >5000 的它將不會顯示。 08/28 18:06
2F:推 justinj :不知道是norr寫太長,還是抓圖時抓太大..avert 08/28 18:23
3F:→ laechan :look map 是正常的, 但是跟 view 要秀的其它資訊加在 08/28 18:25
4F:→ laechan :一起時就會超過 8192 08/28 18:25
5F:→ laechan :這個我比較建議這張 map 自訂 add_action(look), 用 08/28 18:25
6F:→ laechan :present(str,ppl)==this_object() 去 return notify 08/28 18:26
7F:→ laechan :喔不對是 write, return notify 不能用這邊 08/28 18:26
8F:→ laechan :或是讓它 cat 某檔亦可, 加上再 look 時間判定 08/28 18:27
9F:→ laechan :可參考 skilldata 技能名 的做法 08/28 18:27