C .
ODE
G
AMELET
Project Code
OPEN
liaw1
Focus Issue
新手請問如何以變數決定結局
liaWl opened 8 months ago 7
我稍微做了一個範例,你可以參考一下:https://code.gamelet.com/edit/VisualNovelGame?source=CG.VisualNovelGame/DivergentEnding_Var.events

主要是你可以利用「儲存全域變數」這個動作來儲存變數,然後在其他事件觸發的時候,利用「比對字串」「比較數字」這兩個檢查去判斷變數內容,
記得要使用 {} 才能帶入變數到欄位裡面,例如 {變數名稱} 這樣。

裡面用到了每個檢查都有的「否則觸發事件ID」,如果該檢查不通過就會觸發另外一個事件用的,詳細原理可以參考:
[Day 08] 事件表實作 - 觸發篇 - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天 (ithome.com.tw)
不好意思,範例網址寫錯了:CG.VisualNovelGame (gamelet.com) 這個才對。
 
 



另外我有注意到你想要設定 字體字型 這個部分,字型的資源比較特別,它不能直接輸入你設定的資源名稱,
需要去資源裡的字型分類,打開資源細節後,找到 fontName 這個屬性後,後面的名稱才是真正的字型名稱。

例如 Roboto、jf-openhuninn-2.0 這樣,範例裡面也有設置,也可以參考看看。
Oh No,上面的連結又壞掉了,不知道為什麼發布回覆之後,網址好像會被改掉qwq



上面的網址如果點了都沒用的話,你可能要直接到 公開遊戲成品 區,搜尋 VisualNovelGame 後,點 開專案 進去,
進去之後選擇 跳至最新進度,在左邊找到 DivergentEnding_Var.events 這個事件表檔案。
關於把事件複製這一點,可以把同樣會用到的事件單獨做一個事件表(就是events),然後其他事件表裡面最上面的設定打開,預先載入去選那個事件表
 
假設A任務跟B任務都要「改變玩家初始血量」,那你可以弄個system_init.events,裡面只放改變玩家初始血量的事件,接著AB任務都去預先載入裡面打勾
 
 
如果你想要的是複製事件到另一個事件表裡面並修改的話,右上角有個筆的圖案,打開來找到你的事件,稍微研究一下結構,把你要的部分複製下來,到你要的事件表裡面一樣打開那個筆的圖案,在相應位置貼上,記得逗號不能多不能少喔
不好意思,我剛剛才注意到你是要選擇四個以上的 A 進入 A 結局,上一次只注意到要用變數設定結局😅



「儲存全域變數」這個動作,如果變數值型別選擇整數、數字的話,就可以在變數的值欄位裡面帶入數學式。

我有看到你在一開始的事件也使用此動作設置了 heart 為 0,因為剛好你也初始化這個變數了,
所以你可以在之後每次選擇 A 相關的選項時,也利用這個動作,像上面的圖片那樣,
利用 {heart} 帶入變數的值 => 0,並在後面寫上 + 1,實際上就會變成 0 + 1,
如此一來,該動作執行完以後,新的 heart 就會變成 1 了,
最後再配合檢查「比較數字」,判斷 {heart} > 4,就能做到選擇四個以上 A 選項導致 A 結局了。

最後補充,數學式除了加法以外,最基本的加減乘除都可以使用,動作在讀取欄位的值時,會先解析帶有 {} 的變數內容,
然後再進行數學運算,還要記得運算的方式跟我們一般算數學一樣,會先乘除後加減,
甚至除了簡單的算數以外,還有一些函數功能可以使用,不過視覺小說應該比較不常用,詳細可以參考:
好的我試著做做看,非常感謝兩位!!
Items per page:
1 - 6 of 7
ⒸCode.Gamelet.com | Privacy Policy | Terms of Service