同人小技巧‎ > ‎

儲存玩家說話內容為字串

張貼者:2016年7月15日 上午8:38人FK   [ Ka Kit Lau 已於 2016年9月24日 下午4:00 更新]
這東西卡了足足三個月,看到有人發bug回報我才修好(哀

現在小哈已經推出相關功能(打FK臉),本頁可以用教學和相關用途



不須要再求小哈!輕鬆儲存玩家說話內容為字串~

只不過中文字跟各種符號實在太多,太耗容量
(其實重點是太耗時間,字元都可以存在VAR檔)
目前版本只能存數字、英文字、部分符號



運作原理:

當玩家說話時,系統就將字元0至9、a至z遂個跟玩家的說話內容作比對
若發現比對的內容跟玩家說話內容一致,便存至陣列(用作讀取資料)和字串(用作讀取存檔碼),下次比對之前會將字元附在這個字串上,以繼承之前的比對結果
整個過程就好像DNA的複製過程(由組合TAC開始比對,A對T,C對G;但此處由不知何處開始比對,0對0,1對1,如此類推)。例:


為方便解說,設玩家只會說數字

玩家說:314159265359
系統比對出來的字串(下稱系統串):null(空值)
系統從0-9遂個比對:
=>沒有在玩家說話內容中找到0
=>在玩家說話內容中找到1
儲存至字串:say="1"
玩家說:314159265359
系統串: 1          


再遂個比:

玩家說:314159265359
系統串:01              =>不對
系統串: 10             =>不對

玩家說:314159265359
系統串:11              =>不對
系統串: 11             =>不對

玩家說:314159265359
系統串:21              =>不對
系統串: 12             =>不對

玩家說:314159265359
系統串:31              =>對上了
儲存至字串:say="31"    
之後的比對會在31前或後再加數字

繼續找:
玩家說: 314159265359
系統串:031              =>不對
系統串: 310             =>不對

玩家說: 314159265359
系統串:131              =>不對
系統串: 311             =>不對

玩家說: 314159265359
系統串:231              =>不對
系統串: 312             =>不對

玩家說: 314159265359
系統串:331              =>不對
系統串: 313             =>不對

玩家說: 314159265359
系統串:431              =>不對
系統串: 314             =>對上了
儲存至字串:say="314"    
之後的比對會在314前或後再加數字

如此類推

再比對不出數字就表示所有數字已讀取完畢
那麼「變數/say」所儲存的就是玩家說話內容
只要做小小加工,其實這招的運算速度可以快一倍(用特定字串組合作起點),甚至可以做字串運算
不過每個字元需要1容量,或者弄一個VAR檔作資料庫,某FK就懶得弄啦,就請各位自行斟酌考慮要不要加中文或其他符號了