Re: [閒聊] tmi-2 efun 與 simul_efun 簡單說明

看板mud (網路地下城/文字遊戲)作者 (小太保)時間10年前 (2014/07/08 17:50), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串5/5 (看更多)
※ 引述《typers (Typer)》之銘言: : : int strlen sizeof(string); : : 從上面可以發現 string 就跟「陣列」的概念是類似的,也就是 : : 說如果一 string = "abcde", 它就類似({"a","b","c","d",e"}) : : 這樣的陣列排在一起的結果。 : : strlen 就是計算字串的長度。strwidth 也相當於 strlen 只是 : : 一般都用 strlen。 : 在啟用 fluffos 的 USE_ICONV 選項後, strwidth 的行為將會與 strlen 不同 : strlen("中文字") = 9 (UTF-8 的一個中文字佔 3 個 byte, 故長度為 9) : strwidth("中文字") = 3 : USE_ICONV 選項開啟後, 所有 lib 的文件都必須以 UTF-8 作為文字編碼格式 : 既然是要弄新的 lib, 小弟建議開啟 USE_ICONV : : string *explode(string, string); : 這個 efun 會因為 fluffos 的編譯選項, 而有不同的行為 : 請問 L 大是以 /adm/etc/options.h.example 來編譯 fluffos 嗎? 不是,我用的 fluffos 是 tmi2_v3_fluffos 壓縮檔解壓縮出來直接用 的(已 compile 好,現成的)。 因為我不會 compile mudos。(我這方面一向很弱..) 那我猜它用的是 options.tmi2 (類似檔名)。 我通常建議有能力的使用者可自行 compile 出新版本的,如現行支援 64 位元的 fluffos 2.27 版,我沒記錯的話它是開啟 USE_ICONV 的, 現行能在 fluffos 2.16 下跑的 tmi2_v3_改,要改到 fluffos 2.27 上面跑不需要做許多修改,sanc 目前就有在 2.27 上面跑的。 (但是那個環境不是我弄的) 我自己則是評估 2.16 就夠跑了(畢竟 win7 下也能跑我覺得就夠了)。 : : mixed *commands(); : 回傳 this_object() 透過 add_action() 取得的指令資訊列表 : 可供 user 查詢目前可使用那些特殊指令 (如某 room 或 item 才有的特殊指令) 我用 running 試過沒跑出東西,我想是 environment 的關係。 不然我原先也是猜它大概是這個意思。 : : void set_living_name(string); : 在小貓, npc 通常不使用此 efun : 因為當名稱一樣時, find_living() 只找的到最後一個呼叫此 efun 的物件 : 除非特例, 不然不建議大量使用這個 efun 其實我也在考慮是否不再使用這個 efun,我是偶然發現的,我先前 以 set_npcs 函數所設定的 npc 無法被接在 semote 的 $O對象內, 我才知道 set_living_name 是做 find_living 用的,然後就如你說 的,除非特例(比方 recall 的店小二或許就 ok),不然沒必要設定 ,find_living 用到的機率太少了。 : : livings 傳回的就是所有被 set_living_name 且被載入的生物 : livings() 應該是回傳曾經呼叫過 enable_commands() 的物件 嗯,跟 living() 不同:p : : int set_encoding(string); : : string to_utf8(string, string); : : string utf8_to(string, string); : : int *str_to_arr(string); : : string arr_to_str(int *); : 這幾個 efun 是需要開啟 USE_ICONV 選項之後才會有的 : 用途是處理文字編碼格式 : 例如 : utf8_to("中文", "Big-5") 可以將文字從 UTF-8 轉換為 Big5 : str_to_arr("中文") 會回傳 ({ 20013, 25991, 0 }), 可用來判斷是否為中文字 : UTF-8 的中文範圍為 0x4E00 ~ 0x9FA5 這應該就是關鍵了,也就是 tmi2_v3_改 將來能否繁→簡,簡→繁。 這就留給以後有能力的使用者吧,如果我有能力我也會試試看,畢竟 打包檔裡有現成的 driver.exe 可用總是比較方便,目前則只有2.16 版的,我想它是沒有開啟 USE_ICONV 的,也沒有多 port 模式。 LAechan -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.61.157.53 ※ 文章網址: http://www.ptt.cc/bbs/mud/M.1404813002.A.2B3.html

07/08 18:58, , 1F
請問 sanc 現在有開始 USE_ICONV 嗎?
07/08 18:58, 1F

07/08 19:01, , 2F
07/08 19:01, 2F

07/08 19:29, , 3F
你可以試連140.137.9.245 4002
07/08 19:29, 3F

07/08 19:30, , 4F
那邊是跑utf8編碼
07/08 19:30, 4F
文章代碼(AID): #1JkxxAAp (mud)
文章代碼(AID): #1JkxxAAp (mud)