最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

NoelPet 自定義對話系統(tǒng)簡要說明

2023-02-03 21:39 作者:凌空の貓  | 我要投稿

暫不支持函數(shù)(為什么自定義對話要支持函數(shù)啊喂)

要Example往下翻,這里直接講運行原理

對話文件是一個.json文件。必須包括正確的后綴名,這是軟件唯一且必要的識別條件

對話內(nèi)容語法錯誤可能導致軟件崩潰

介于習慣,下面我們稱json中的[]為數(shù)組,{}為字典

~~~??非人話警告??~~

建議無編程基礎(chǔ)或無閱讀理解基礎(chǔ)者直接看example

UP在努力說人話(悲)

一個對話文件由多個對話通過數(shù)組構(gòu)成,每個對話是一個字典,應當包括鍵:

1、condition,后接bool表達式

2、talk,后接字符串數(shù)組;如果多余一項,則使得對話有選項,而第一項為對話,后兩項為選項

talk內(nèi)容強制啟用bbcode;不允許修改顏色,允許通過bbcode打開鏈接或文件

可以包括鍵:

result,后接block表達式數(shù)組,分別代表選擇三種talk的三種結(jié)果(不選擇選項,觸發(fā)效果1)


bool表達式可以為?true 或 false,否則應當包括鍵:

1、operator,可選值為"greater"??"smaller" ?"equal" ?"and"??"or" ?"not" ?"xor";此時含義與其代表的運算對應;

"first_run",以data為區(qū)分,僅在軟件打開后首次判斷時成立

2、data,一個數(shù)組,根據(jù)operator的選擇,決定內(nèi)部表達式類型與個數(shù);我們稱 greater、smaller、equal使用的表達式為運算表達式


運算表達式可以直接表示非字典的值,當類型為字典時,應包括鍵:

1、operator(可選值為字符串,見下文)

2、data(下文將data數(shù)組的長度稱為data的個數(shù))

????Operator列表:

????????len:接收data共1個,可為結(jié)果為字典或數(shù)組的運算表達式,返回長度

????????list:接收data共2個,分別為目標字典或數(shù)組及目標下標,返回目標元素

????????var_default:接收data共1個,為字符串,返回該字符串在全局字典中對應的值。如不存在,取默認值0。

????????var:同上,但不判定是否存在該字符串的鍵值。

????????if:接收data共2或3個,其一為bool表達式,若該表達式成立,則返回第二個表達式的結(jié)果,否則返回第三個。

????????block:接收data共1個,為block表達式,返回"return"在全局字典中對應的值。

????????add?/?sub / mul / div:加減乘除,接收data共2個,均為運算表達式,返回結(jié)果。


另有Operaor:system。應包含鍵get。

get可為year month day hour minute second其一,獲取對應的時間;

可為windows_position_x或windows_position_y,獲取屏幕未知;

可為power_percent_left或power_seconds_left,獲取電池剩余電量,單位分別為百分比與時間。


block表達式大致與上述表達式一致,列出operator如下:

(簡記data的第N項為dataN)

????????Operator列表:

????????????disable:禁用對話。

????????????disable_walk/enable_walk:禁止/允許諾艾兒行走

????????????disable_new_music/enable_new_music:禁止/允許切換背景音樂

????????????disable_hover/enable_hover:禁止/允許諾艾兒被拖拽

????????????play_music:接收1個data為音樂名,播放音樂

????????????(可以在AppData/NoelPet/BGM中,或macOS的Application?Support/NoelPet/BGM中放入自定義曲目;后綴名只可為.mp3、.ogg、.wav三者其一)

????????????system:接收2個data,若data1為"full_screen",則data2第二個為決定是否全屏的bool表達式;若data1為"minimized",則data2為決定是否最小化的bool表達式

????????????var_set:接收2個data,使全局字典中,data1的鍵值為data2的運算表達式

????????????force_queue:接收1個data,使得下一對話無條件設(shè)為,索引為該data值的對話

????????????queue:同上;但在嘗試調(diào)用對話時,會判斷該對話的condition是否為true

????????????list_append:接收2個data,允許全局字典中data1的鍵值數(shù)組中加入data2的運算表達式的鍵值元素,或連接data2的運算表達式的鍵值數(shù)組至data1的鍵值數(shù)組。

????????????list_set:接收3個data,設(shè)置全局字典中data1的鍵值的data2的運算表達式項為data3的運算表達式

????????????list_new:設(shè)置全局字典中data1的鍵值為data2的運算表達式


最簡單的例子

以下內(nèi)容,會觸發(fā)兩條對話隨機其一

“早上好”與帶有選項的對話;

在帶有選項的對話中,會根據(jù)選項修改mood的值:選項1會讓mood+1,選項2則mood-1



Example 文件名:example.json

功能解釋:

包含了兩條對話,效果分別為:

1、啟動時,如果時間為20時,則發(fā)起對話“早上好”,并新建“114”數(shù)組,內(nèi)容為[514]。

2、啟動時,跳出「Just Noel」選項卡,必須點擊對話框,使選擇「Just Noel & Player」或「Just Player」,否則,該對話僅重復

代碼中包含若干冗余判定,用于注明功能


NoelPet 自定義對話系統(tǒng)簡要說明的評論 (共 條)

分享到微博請遵守國家法律
沧源| 阿坝| 广汉市| 怀化市| 楚雄市| 突泉县| 根河市| 视频| 安溪县| 白银市| 余干县| 米脂县| 鹤庆县| 贵州省| 富民县| 都江堰市| 峨眉山市| 周宁县| 纳雍县| 永昌县| 鸡西市| 柳州市| 华坪县| 黄山市| 大英县| 左权县| 新巴尔虎左旗| 疏附县| 和平区| 盘山县| 卢湾区| 焉耆| 嘉义县| 隆化县| 夹江县| 大安市| 金湖县| 双柏县| 东乡| 内丘县| 石棉县|