[閒聊] 20140417修改事項

作者: laechan (揮淚斬馬雲)   2014-04-17 09:44:22
我趁這幾天整理副本待改事項的空檔,開始寫一支程式,程式的複雜度
比交換網高出很多,但資料結構是類似的。這程式對我將來日本關西行
是有幫助的,嘛..越接近 40 歲,我的某個感觸就越深,目前順其自然
今天不一定會改什麼。
一、questing 全域函數增加對副本 mob_record 的查詢
/open/cmds/quest/quest_data/quest_data.c 不備份添加修改
questing("instance", 副本相關
questing("instance","mob_record", 副本的 mob_record 相關
questing("instance","mob_record","set/query", 可用 term
比方要查誰在 "laechan" 創建的副本裡殺了幾隻 "bear1"
questing("instance","mob_record","query",({"laechan","bear1",0}))
=> 傳回結果: ([ "laechan" : 2 ]) = "laechan" 殺了兩隻 "bear1"
比方要查 "laechan" 在 "laechan" 創建的副本裡殺了幾隻怪物
questing("instance","mob_record","query",({"laechan",0,"laechan"}))
=> 傳回結果: ([ "bear1" : 2 ]) = "laechan" 殺了兩隻 "bear1"
所以不論是哪一種 query 方式,都能得到想要的答案,端看要查
尋的是「哪一隻怪物被哪些人各殺了幾隻」或「哪一個人殺了哪幾
種怪物各幾隻」。
一般不會用到 "set",所以我針對 "set" 的使用做了限制。
(因為它不是真正在做 set 的動作)
二、questing 全域函數增加對副本腳本物件 instance_ob 的查詢
/open/cmds/quest/quest_data/quest_data.c 不備份添加修改
questing("instance", 副本相關
questing("instance","instance_ob", 副本腳本物件相關
questing("instance","instance_ob","目錄/檔名", 要查哪一個
比方要讀出 laechan/001 該副本物件的全部設定資料
questing("instance","instance_ob","laechan/001")
它會傳回底下的東西
([ "instance_ob" : "/std/new_ob/instance/laechan/001",
"instance_mobs" : ([ "092" : ({ "bear1", "bear1", "bear1" .
.
]),
"instance_paths" : "/u/l/laechan/area/whitetile/room/",
"instance_names" : "白瓦鎮黑熊討伐任務副本",
.
.
])
比方我們只想知道這副本的 instance_names
questing("instance","instance_ob","laechan/001",({"instance_names"}))
傳回結果: 白瓦鎮黑熊討伐任務副本
比方我們想知道房間 092 設定的生怪資料
questing("instance","instance_ob","laechan/001",({"instance_mobs","092"}))
傳回結果: ({ "bear1", "bear1", "bear1" })
有了這東西,將來副本管理指令就可以輕鬆地管理各副本。

Links booklink

Contact Us: admin [ a t ] ucptt.com