跳轉到內容

AvernumScript/附錄/基本指令碼和 I/O 呼叫

來自華夏公益教科書,開放世界開放書籍

未知 print_big_str(字串 str,短整型 num_to_print,字串 str2)

[編輯 | 編輯原始碼]
類似於 print_str(),但列印更自定義的文字。在一行中列印字串 str,後跟數字 num_to_print,最後是字串 str2

示例:

print_big_str(“您受到 “, 10000, “ 點傷害。”); // 將“您受到 10000 點傷害。”列印到文字視窗。

未知 print_big_str_num(字串 str,短整型 num_to_print,字串 str2,短整型 color)

[編輯 | 編輯原始碼]
類似於 print_big_str(),但可以為文字設定不同的顏色。顏色在 print_str_color() 的描述中列出。

void block_entry(短整型 do_blockage)

[編輯 | 編輯原始碼]
此重要呼叫可阻止角色訪問呼叫該指令碼的地形位置/區域。如果從由步行觸發的特殊遭遇中呼叫,此呼叫將阻止隊伍/角色進入該空間。如果在搜尋容器時呼叫,則阻止隊伍獲取容器內的物品。

do_blockage 的值是

0 – 允許訪問/進入。
1 – 阻止訪問/進入。

void end()

[編輯 | 編輯原始碼]
如果在指令碼中呼叫,則立即停止執行該指令碼。如果在對話節點的程式碼中呼叫,也會結束對話。

短整型 get_ran(短整型 num_dice,短整型 min,短整型 max)

[編輯 | 編輯原始碼]
返回一個隨機數。遊戲生成 num_dice 個隨機數,每個隨機數都在 minmax 之間。然後將它們加起來並返回總和。

示例:

get_ran(3,1,4); // 將返回 3-12 之間的隨機數(或 1-4 + 1-4 + 1-4)。

短整型 get_selected_char()

[編輯 | 編輯原始碼]
返回當前在隊伍名單區域中選定的角色的編號(從 0 到 3)。

短整型 is_combat()

[編輯 | 編輯原始碼]
不言自明。

返回

0 – 隊伍不在戰鬥模式下。
1 – 隊伍在戰鬥模式下。

短整型 is_outdoor()

[編輯 | 編輯原始碼]

返回

0 – 隊伍不在戶外模式下。
1 – 隊伍在戶外模式下。


備註:

  • 在戶外戰鬥算在戶外模式下。

短整型 is_town()

[編輯 | 編輯原始碼]
不言自明。

返回

0 – 隊伍不在城鎮模式下。
1 – 隊伍在城鎮模式下。

void play_sound(短整型 which_sound)

[編輯 | 編輯原始碼]
播放聲音 which_sound。聲音在附錄中列出。如果聲音的編號為正數,則在聲音播放期間停止操作。如果為負數,則在遊戲繼續時播放聲音。

void print_str(字串 to_print)

[編輯 | 編輯原始碼]
在遊戲文字區域顯示文字 to_print。允許的最大文字長度為 70 個字元。

void print_str_color(字串 to_print,短整型 color)

[編輯 | 編輯原始碼]
類似於 print_str(),但還可以為文字設定不同的顏色。

color 的值是

0 – 黑色。
1 – 紅色。(通常用於錯誤。)
2 – 藍色。
3 – 紫紅色。
4 – 綠色。

void run_scenario_script(短整型 which_node)

[編輯 | 編輯原始碼]
立即執行在狀態 which_node場景指令碼。場景指令碼停止執行後,發出此呼叫的指令碼將繼續正常執行。

void run_town_script(短整型 which_node)

[編輯 | 編輯原始碼]
立即運行當前 城鎮指令碼,狀態為 which_node。場景指令碼停止執行後,呼叫該函式的指令碼將繼續正常執行。您只能在對話、生物或地形指令碼中進行此呼叫。

void set_incidental_sound(short on_or_off)

[edit | edit source]
設定背景中是否播放環境音效(鳥叫聲等)。如果環境音效被關閉,則除非使用此呼叫再次開啟,否則它們將保持關閉狀態。

on_or_off 的值是

0 – 開啟環境音效。
1 – 關閉環境音效。

void set_state(short new_state)

[edit | edit source]
將指令碼的狀態更改為 new_state 並立即停止執行指令碼。在對話指令碼或狀態 INIT_STATEDEAD_STATE 或其他預定義狀態型別(除 START_STATE 外)中無效。


備註:

  • 請參閱 常量,其中列出了可用於 new_state 的常量及其已知值(如果有)。

void set_state_continue(short new_state)

[edit | edit source]
set_state() 完全相同,只是它不會停止執行指令碼。


備註:

  • 儘管官方文件指出 set_state_continue() 的工作方式與 set_state() 完全相同,但 set_state_continue() 確實 在預定義狀態(至少部分)中起作用,並且可能在所有預定義狀態中都起作用。
  • 請參閱 常量,其中列出了可用於 new_state 的常量及其已知值(如果有)。
華夏公益教科書