看板 mud 關於我們 聯絡資訊
tmi2_fluffos_v3_改,20140605 版本 http://sanclaechan.myweb.hinet.net/tmi2_fluffos_v3_modify.rar 下載解壓縮後比方以 20140605 的版本為例,其目錄名稱為: tmi2_fluffos_v3_改_20140605 (底下以 tmi2_v3_改 簡稱) 從 20140605 起的版本,已不包含 fluffos-2.16-ds05 這個 fluffos 目錄 ,有需要的人只要下載原始的 tmi2_fluffos_v3 壓縮檔即可取得,網址: http://lpmuds.net/files/tmi2_fluffos_v3.zip WinXP 使用者,可直接雙擊 tmi2_v3_改目錄下的 \bin\啟動 mud 捷徑,即 可執行 mud。Win7 或 Win8 使用者,則務必先參考底下這篇: http://www.ptt.cc/bbs/mud/M.1399357070.A.366.html mud 啟動成功後,目前確定以 pietty 連線 localhost 5000 (Telnet),可 連線成功: http://imgur.com/IQwusvX.jpg
在 tmi2_fluffos_v3_改\ 目錄下會放一些圖片及說明文件。 目前連線 telnet://210.61.157.53:5000 可連到以最新版本所架的測試站 ,白天大概都會開著,有公頻聊天指令可使用,可在那邊做即時意見交流。 下次預計新增 sanc 正在使用的虛擬物品系統,這東西越早引入,就越能減 少正式架站後撰寫到實體物品的情況,可減少線上實體物件佔用數。 它也是支援任務系統、副本系統、鍊金/補品系統的重要基礎系統。 ================================================================== 本次修改範圍: 2014/06/02~2014/06/05 修改 /adm/daemons/format_time.c 新增 Ctime 函數。(sanc style) 修改 /cmds/std/_chat.c 將 emote 相關的訊息取得函數化。 修改 /cmds/std/_who.c 修正部份 bug。 新增玩家住宅及其附屬的仿開○農場的小系統。 └相關檔案: /adm/daemons/myhomed.c myhome 管理系統 /cmds/std/_myhome.c myhome 相關指令 /std/myhome.c myhome 產生檔 └/include/myhome.h 相關 .h 檔 /std/myfarm.c myfarm 產生檔 └/include/myfarm.h 相關 .h 檔 新增 times_check 系統。(sanc style) └相關檔案: /d/area/times_check.c times_check 主檔 └/d/area/times_check.o times_check 儲存檔 新增定期航班型交通工具繼承檔。(sanc style) └相關檔案: /std/boat.c 繼承檔 └/d/area/test/boat.c 使用範例 └/d/area/test/port1.c port2.c 港口範例 新增線上投票指令。(sanc style) └相關檔案: /cmds/std/_vote.c 線上投票指令 └/data/vote.o 投票資料儲存檔 └/open/cmds/vote/ 明文檔資料暫存區 ================================================================== 底下是一些 demo 跟說明: > myhome create myhome: 你建立了自己的家. [ Laechan 的家 ] 一間漂浮於雲端的矮層樓房。 明顯出口: 無. 在 /adm/daemons/myhomed.c 會登錄這間房子 > call /adm/daemons/myhomed;query_myhome OBJ(/adm/daemons/myhomed)-> query_myhome() = ([ "laechan" : OBJ(/std/myhome#6) ]) > farm 你進入了自己的農場. ☆ Laechan 的 Lv.1 農場 ☆ v1.00 ───────────────────────────────────── 目前沒有種植任何東西. ───────────────────────────────────── back-回家 list-作物列表 grow-種植 collect-收成 watering-澆水 weed-除草 spraying-殺蟲 > list all 類作物一覽: 作物名稱 分類 Lv 成本 可收成量 單價 成熟 期數 ───────────────────────────────────── 馬鈴薯(potato) crops 1 300 10 50 600秒 1 稻米(rice) crops 1 1000 15 100 1800秒 3 ───────────────────────────────────── 種植作物: grow [作物英文名], 例如 grow potato. > grow potato grow: 你將馬鈴薯(potato)種進了第一塊田。 > grow rice grow: 你將稻米(rice)種進了第二塊田。 > l ☆ Laechan 的 Lv.1 農場 ☆ v1.00 ───────────────────────────────────── 1. 馬鈴薯(potato) 3%▍ 2. 稻米(rice) [1/3] 1%▏ ───────────────────────────────────── back-回家 list-作物列表 grow-種植 collect-收成 watering-澆水 weed-除草 spraying-殺蟲 上面的顯示代表 potato 是 1 期作物,而 rice 是 3 期作物,目前的設 計是稻米收獲 1 期後,第 2 期起的成熟時間就是第 1 期所需時間的一半 底下是發生蟲害/乾旱/長雜草時的情況 > l ☆ Laechan 的 Lv.1 農場 ☆ v1.00 ───────────────────────────────────── 1. 馬鈴薯(potato) 38%███▉ 2. 稻米(rice) [1/3] 12%█▎ * 農地正長著許多的雜草,必須趕快進行除草!! ───────────────────────────────────── back-回家 list-作物列表 grow-種植 collect-收成 watering-澆水 weed-除草 spraying-殺蟲 > weed weed: 你為這個農場進行了除草的工作. > l ☆ Laechan 的 Lv.1 農場 ☆ v1.00 ───────────────────────────────────── 1. 馬鈴薯(potato) 40%████ 2. 稻米(rice) [1/3] 13%█▍ * 農地正面臨嚴重的乾旱,必須趕快進行澆水!! ───────────────────────────────────── back-回家 list-作物列表 grow-種植 collect-收成 watering-澆水 weed-除草 spraying-殺蟲 上面的意思是,乾旱及長雜草的情況是同時存在的,但是它會依據狀態 處理的優先度來決定要先顯示哪一種狀態: 蟲害 > 乾旱 > 長雜草 myfarm 是依存在 myhome 上的,/adm/daemons/myhomed.c 只認 myhome, 再依據登錄在 myhome 的 myfarm_ob 來得知使用者的農場是哪一塊: > data here myfarm_ob : OBJ(/std/myfarm#7) 而指令 myhome update1 及 myhome update2,分別可讓管理者為線上所有 已存在的 myhome 及 myfarm 做更新。例如今天假設你為 myfarm 加了一 個新指令或修改了什麼,想立即更新線上所有已存在的農場時,就下指令 myhome update2 即可: > myhome update2 myhome update2: myfarm 更新完畢. ================================================================= > update boat /d/area/test/boat: Updated and loaded. > goto boat [/d/area/test/boat ] 小遊輪 一艘經常來往於台北與高雄之間的小遊輪. 明顯出口: 無. > start 廣播: 小遊輪已經抵達台北港。 > l 小遊輪 目前狀態: 停靠在台北港。 一艘經常來往於台北與高雄之間的小遊輪. 明顯出口有: out. 只需要 start 過一次,再來就全由 times_check.c 控制。 /d/area/times_check.c 有幾個函數可用 > call times_check;return_times_check times_check= ([ "1401936850" : ({ ({ "/d/area/test/boat", "/d/area/test/boat", ({ "start_plane" }) }) }) ]) times_no_save= ([ ]) 目前心跳參數: 1 這是看目前總存的 times_check 及 times_no_save 資料,以及 times_check 目前的心跳狀態。 > call times_check;return_tmps;"times_check";"/d/area/test/boat";"/d/area/test/boat"; OBJ(/d/area/times_check)-> return_tmps( "times_check", "/d/area/test/boat", "/d/area/test/boat" ) = ({ "start_plane" }) 這是看目前 "/d/area/test/boat" & "/d/area/test/boat" 這個組合的執行狀 況(times_check 的部份),比方目前它下一個要執行的參數是 start_plane。 廣播: 小遊輪駛離了台北港,開往高雄港。 > call times_check;return_tmps;"times_no_save";"/d/area/test/boat";"/d/area/test/boat"; OBJ(/d/area/times_check)-> return_tmps( "times_no_save", "/d/area/test/boat", "/d/area/test/boat" ) = ({ "plane_0_4" }) 這是看目前 "/d/area/test/boat" & "/d/area/test/boat" 這個組合的執行狀 況(times_no_save 的部份)比方目前它下一個要執行的參數是 plane_0_4。 > call times_check;check_names;"/d/area/test/boat" times_check 區: ({ "/d/area/test/boat", "/d/area/test/boat", ({ "start_plane" }) }) 122 秒後. 這是看目前 "/d/area/test/boat" 這個 name 的呼叫狀態,比方上面指的就是 122 秒後它將再呼叫自己一次,並帶 start_plane 這個參數。 times_check_no_save 區: ({ "/d/area/test/boat", "/d/area/test/boat", ({ "plane_1_2" }) }) 42 秒後. ({ "/d/area/test/boat", "/d/area/test/boat", ({ "plane_1_4" }) }) 82 秒後. ({ "/d/area/test/boat", "/d/area/test/boat", ({ "plane_0_5" }) }) 2 秒後. ({ "/d/area/test/boat", "/d/area/test/boat", ({ "plane_1_3" }) }) 62 秒後. ({ "/d/area/test/boat", "/d/area/test/boat", ({ "plane_1_5" }) }) 102 秒後. ({ "/d/area/test/boat", "/d/area/test/boat", ({ "plane_1_1" }) }) 22 秒後. 這是看目前 "/d/area/test/boat" 這個 name 的 times_no_save 呼叫狀態,比 方上面就是它依據航程計劃所決定的「幾秒後各帶什麼參數過去」。 目前 times_check 心跳參數: 1. call times_check;remove_names;"/d/area/test/boat" call times_check;remove_files;"/d/area/test/boat" 這兩個指令則可以針對 names 及 files 去刪除資料。 =========================================================================== > vote open 測試投票 開啟時間: Thu Jun 05 10:45:02 2014 投票代碼: 1401936302 投票標題: 測試投票 確定的話請按 Y or y: y ok. 請於本次設定結束後, 編輯投票說明檔 /open/cmds/vote/1401936302.txt 請按任意鍵之後, 開始輸入投票項...... 請輸入第 1 投票項(直接按 ENTER: 輸入完畢; 按 abort 再按 ENTER: 放棄開啟)... -> 投票項目1 請輸入第 2 投票項(直接按 ENTER: 輸入完畢; 按 abort 再按 ENTER: 放棄開啟)... -> 投票項目2 請輸入第 3 投票項(直接按 ENTER: 輸入完畢; 按 abort 再按 ENTER: 放棄開啟)... -> 其它項目 請輸入第 4 投票項(直接按 ENTER: 輸入完畢; 按 abort 再按 ENTER: 放棄開啟)... -> 投票部隊 請輸入第 5 投票項(直接按 ENTER: 輸入完畢; 按 abort 再按 ENTER: 放棄開啟)... -> ok! 共有 4 個投票項. 如有錯誤, 請用 vote set 更改. 請決定一位玩家最多可以投幾票(1-4): 1 ok! 你設定每一個人只能投 1票. 所有設定全數完畢, 如有錯誤, 請用 vote set 修改. > ed /open/cmds/vote/1401936302.txt Editing: /open/cmds/vote/1401936302.txt [new file] :a 這是一項測試投票. . :w "/open/cmds/vote/1401936302.txt" 1 lines 18 bytes :q Exit from ed. > vote join 1401936302 標題: 測試投票 說明: 這是一項測試投票. 1. 投票項目1 2. 投票項目2 3. 其它項目 4. 投票部隊 你可以投的票數: 1 票. 請選擇你要投的項目(1-4, q: 結束投票, ENTER: 放棄投票): 1 你將神聖的一票投在第 1 選項. 投票結束, 你總共投下 1 票. 下次的投票也請再來唷~拜拜 ^_^ > vote check 1401936302 標題: 測試投票 說明: 這是一項測試投票. 投票項與目前投票狀況(每人 1 票)... 1. 投票項目1 ...... 100.0%. 2. 投票項目2 ...... 0.0%. 3. 其它項目 ...... 0.0%. 4. 投票部隊 ...... 0.0%. 目前總投票數: 1 票. > vote set 1401936302 投票代碼: 1401936302 投票標題: 測試投票 1. 更改投票標題. 2. 更改投票項. 3. 更改每人可投票數. 4. 收回投票. 5. 本次投票截止, 進行結果統計. 6. 請玩家參與此次投票之系統廣播. 7. 不作任何動作(直接按 ENTER 效果一樣). 請選擇: 6 ok! 你啟動代碼 1401936302 的系統投票廣播. 投票系統廣播 來喔~來喔~緊來投票喔~ -> 測試投票 1. 投票項目1 2. 投票項目2 3. 其它項目 4. 投票部隊 趕快來投票吧!指令是 vote join 1401936302 > 這個是我 2000 年的時候寫的,剛寫好就啟用了,後來也沒做什麼 更動,從這個檔案可以看到我早期使用的 coding 邏輯。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.61.157.53 ※ 文章網址: http://www.ptt.cc/bbs/mud/M.1401940552.A.D34.html
laechan :之後會再撰寫times_check相關的範例 210.61.157.53 06/05 12:05
laechan :剛剛寫好wear,明天remove可完工 125.230.97.23 06/05 18:46
laechan :wear,remove,公頻系統初步完工 210.61.157.53 06/06 16:57
laechan :今天要試著重寫戰鬥系統 1.165.184.126 06/07 09:59
laechan :戰鬥系統的雛形已完工,確定可 work 210.61.157.53 06/09 17:00