上次更新是上上周的事了((囧
昨天處理完事情已經兩點了,於是現在才來寫日誌
不過這兩周幾乎都在畫圖,進度非常少
###AI對話###
這段時間又新增了幾句AI對話
之後可能會考慮增加與使用者對話的功能
###單語字典###
一樣新增了一些內容
之後應該還是會持續更新
###好感度###
新增了好感度參數,目前只有摸臉動作可以增加好感度
未來不排除有增加與減少好感度的行動
並且所有互動內容都會依照好感度的高低有所分別
**新增自定義參數**
增加參數非常簡單,在bootend.dic裡面就可以新增/減少參數
OnFirstBoot
{
//---- 變數初始化
username = "User"
userbirthday = "未知"
stroke = 0 // 撫摸判定用
teachusername = 0 // 記住user名用
teachuserbirthday = 0 // 記住user生日用
mikireflag = 0 // 見切處理用
communicateratio = 0 // 溝通開始率[%]
intimacy = 0 //好感度
startuptime = 0 //總啟用時間
lastboottime = "%(systemuptime)" //每次啟用時間,用來計算每次開啟人格多少時間
//---- 對話
"\0\s[0]\1\s[10]\0你好,初次見面,我叫南小鳥。\w8\1\s[10]我叫啾啾。\w8\0\s[0]\n請多多指 教。\e"
}
這個部分在芽芽美人格範本bootend.dic的最開始的地方
其中OnFirstBoot意思是人格首次啟動時要執行的事情
首次啟動人格後,這些參數便會記錄到variable.cfg中
未來都可以直接以bootend.dic中定義的名稱來呼叫變數
可以注意範例程式碼裡面已經有"intimacy"(好感度)這個變數了
並且初始設定為0
須注意這裡所有變數都要給予初始值
至於要怎麼控制這個intimacy變數呢
先看看以下程式碼:
OnAiTalk
{
/*
其他資料
*/
"\0\s[0]我也很喜歡%(username)喔\e:eval=(intimacy+=1)"
}
在這個範例程式碼裡面,只要觸發了"我也很喜歡%(username)"這個對話
就會執行"intimacy+=2"
可以注意這裡使用的eval
他會將輸入的字串當作AYA的單一指令執行
也就是說,他不能執行複數個指令
但對於這樣單一變數的操作
使用eval是很方便且簡潔的方式
另外,上面的寫法與下面兩種有一樣的效果:
\e" + EVAL("intimacy+=1")
\e%(intimacy+=1)"
個人比較習慣第一種寫法(範例程式碼的)
另外可以注意,第三種寫法是沒有用到EVAL的
而是直接使用"%"呼叫參數,並對參數做+=2的運算
最後,EVAL一定要使用在\e後面
因為前面有提到,EVAL是將"字串"作為指令執行
如果放在\e前面,因為對話方塊還沒消失
便會把目前intimacy的值印出來
###BUG###
近期發現切換人格的頻率太高的話
容易觸發製作日誌--002中提到的BUG
詳細原因依舊不明
不過只要不一直切換人格
是不會有問題的
========================================================
苦笑和害羞的小鳥
真可愛
via GIPHY
只有錄了轉換成害羞的表情的gif
因為苦笑是直接從一般的檔案修改來的
下次應該會先把害羞表情的動畫做完
2016/10/10
沒有留言:
張貼留言