NPC 對話
本頁譯自英文。如兩者有出入,以英文頁面為準。 閱讀英文頁面
你的遊戲中的角色可以用玩家正在學習的語言與其對話,難度貼合玩家的等級。玩家說的每一句話就是一個回合:玩家套件送出這句話,角色的回覆則分段串流傳回。
一個回合攜帶什麼
每個回合都會送出角色所需的全部內容,因為 Lingara 不會在回合之間保留任何對話:
npc:誰在說話。它的 name 為 1 到 32 個字元,選用的 persona 是一行描述,1 到 120 個字元,例如「一個賣餃子的小販」。
scene:選用,對話發生的地方,1 到 160 個字元。
source_lang 和 target_lang:玩家自己的語言以及他們正在學習的語言。兩者必須不同,角色只說 target_lang。
level:玩家的等級,從 1 到 9。Lingara 的指南〈程度代表什麼〉說明了這套等級量表。
line:玩家剛剛說的話,1 到 500 個字元。
history:到目前為止的對話,最早的在前,最多 12 行。每一行都有一個 speaker(player 或 npc)以及它的 text,1 到 500 個字元。
每段文字都是單獨一行。對話由你的遊戲保存:玩家套件為你開啟的每段對話保存一個視窗,把每個完成的回合加入其中,把每則回覆截取為前 500 個字元,並捨棄超過 12 行的最早內容。
Lingara 把人設和場景視為來自你的遊戲的不可信文字。它們影響角色說話的方式,但絕不影響角色被允許做什麼。
回覆如何送達
回覆以文字片段的形式串流傳送,你的遊戲在片段送達時依序附加。片段之間可能會出現通知,例如說明回覆被截斷的通知。回覆完整時,回合以 done 結束;失敗時以 error 結束。回合無法續傳:如果連線中斷,玩家需要再說一遍這句話。
對每個角色一次只說一句話。在角色仍在回覆時說出的話會被拒絕而不是排入佇列,因為每個回合都要計費。
誰付費
只有按用量計費用戶端的玩家才能進行對話,每個回合都向該用戶端計費。玩家的權杖需要 embed:play。