[wizs] 戰爭腳本系統研究

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間13年前 (2013/02/18 23:11), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
戰爭系統一般由底下幾個元件構成 一、stepX_shout 每一流程的 shout msg 二、stepX_clone 每一流程的 clone mob 三、stepX_times 每一流程的 call time 四、cycleX_check 某一個流程的 repeat check 五、end_count 最終流程 六、怪物設定區 七、控制指令區 戰爭的訊息通常是帶色碼的,因此腳本需支援色碼;戰爭 的訊息也通常是置中的,可能\t,也可能\t\t,因此腳本 也需支援置中;戰爭的訊息通常也可能會隔行,可能\n, 也可能\n\n,因此腳本也需支援。 因為腳本化的緣故,「怪物不需要(也不應該)自己寫」, 因此採呼叫語法的方式,例如.. clone_mob("哪隻",幾隻,"哪裡") 而 "哪隻" 則定義在怪物設定區,例如... #define MOBS ([\ "MOB_1":([\ "level":等級,"race":"種族","name":"id","chi_name":"怪物",\ "short":"怪物(id)","ethic":道德,"wealth":錢財,"warexp":戰功,\ . . ]),\ ]) 這部份可以獨立成一個 .h 檔,戰爭的怪物都定義在此。 times 則有兩個控制方式,一是傳統 call out 式,一是 仿任務的做法,設定一個統一控制物件來控制,我比較傾 向後者。 cycle_check 的部份,是指任務進入某一步驟後,就開始 進行 cycle_check,這裡是程式碼,這是因為用程式來進 行腳本循環控制是最直接、最彈性的。 end_count 指的就是戰爭結束時的一些統計,這裡也是程 式碼。 換言之,整個腳本由三部份組成... 一、定義區 二、腳本區 三、程式碼區 那麼,所有的戰爭腳本,都會集中到一個目錄存放,在該 目錄下將有一個控制物件,該物件可控制戰爭的開啟、暫 停、中止,並觀看戰爭的執行狀況。 最後,會有一個 wiz 使用的 war 指令,用來將腳本變成 物件檔,並可遠隔呼叫控制物件執行相關指令。 Laechan -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.165.186.209

02/21 12:58, , 1F
雛形已完成
02/21 12:58, 1F
文章代碼(AID): #1H8aIw8K (mud_sanc)
文章代碼(AID): #1H8aIw8K (mud_sanc)