跳至主要內容

建立競技場

webapp_banner.jpg

建立競技場​

在 plugins/EliteMobs/customarenas 建立名稱唯一的 .yml 檔案,載入所需世界及內容後執行 /em reload。引用必須包含完整檔名與 .yml。將 waveCount 設為正數,為 1 到該數值的每一波都加以定義,並且只引用檔案中已定義的生成點。EliteMobs 會在競技場載入時檢查這些設定:缺少某一波、波次超過 waveCount、生成點不存在,或 spawnPoints、bossList 項目格式錯誤時,都會記錄警告,且該競技場不會載入。進行過程中,若某一波有任何怪物生成失敗,該場挑戰即以失敗告終。

加入與進行競技場​

競技場使用既有實體區域,不會為每組玩家複製世界。與 NPC 互動會開啟選單。只有比賽仍在等待、人數未滿、玩家擁有指定權限且未加入其他比賽時,玩家按鈕才允許加入。倒數開始後不再接受新玩家。

加入後前往 teleportLocation,未設定大廳時使用 startLocation。達到 minimumPlayerCount 後,持有 elitemobs.instance.start 的參賽者可用 /em start。倒數期間再次確認最低人數,然後將參賽者移到 startLocation,準備第 1 波。玩家及觀眾皆可用 /em quit 離開。

起點、大廳及 BOSS 生成點都應設在競技場區域內的安全地面。邊界監控在等待階段也會運作,將越界的玩家及觀眾帶回。戰鬥期間,沒有 elitemobs.* 的外來者會被移出。登記於比賽期間,一般傳送受到限制,請使用離開指令。

dungeons.yml 的 allowSpectatorsInInstancedContent 控制觀戰按鈕與倒地復活。啟用時,倒地玩家可在旁觀模式等待隊友擊打自己的旗幟,計數器允許三次復活。沒有仍在戰鬥的玩家時,比賽判負。停用時,倒地玩家立即離場。觀眾沒有波次獎勵,離開旁觀狀態後會設為生存模式。

該波所有被追蹤實體死亡或失效後,便進入下一波;不要求每次消失都由玩家擊殺造成。最後一波同樣先發獎勵再結束比賽。重設會清除剩餘怪物與死亡旗幟、送出參賽者並釋放場地。準備延遲以秒計,但目前賽後重設將相同數值當成 tick 使用。

arenaContainer​

用 arenaContainer: another_arena.yml 讓多個比賽定義共享同一實體場地。被引用且已啟用的競技場提供兩角、起點、出口、大廳、生成點與圓柱形狀;目前檔案仍提供波次、獎勵、訊息、權限及人數限制。包含戰前接收玩家或觀眾在內,同一場地只能被一場比賽占用。重設或取消已無人的加入預約時釋放場地。可連續引用,但缺少引用與循環會被拒絕。使用自己的幾何區域時省略此項。

isEnabled​

設定競技場是否啟用。

鍵值預設值
isEnabled布林值true
範例
isEnabled: true

arenaName​

設定競技場的名稱。

鍵值預設值
arenaName字串無,請自行設定
沒有可用的預設值

請明確設定 arenaName。省略後,競技場沒有顯示名稱。

範例
arenaName: Bedrock Arena

create_arena_name.jpg


corner1​

設定競技場的第一個角落。

鍵值預設值
corner1位置無
範例
corner1: my_arena_world,10,50,-10,0,0

位置格式為:world_name,x,y,z,yaw,pitch,其中 world_name 是世界名稱,x/y/z 是座標,yaw 是水平旋轉(0-360),而 pitch 是垂直旋轉(-90 到 90)。也接受簡短形式 world_name,x,y,z,此時 yaw 與 pitch 都預設為 0。

等待中的競技場會在 corner1 世界載入時重試。如果另一個出口世界較晚載入,其載入事件不會重試競技場;請等所有引用世界載入後執行 /em reload。

在此圖中,corner1 以綠色羊毛表示,corner2 以紅色羊毛表示。此設定將它們之間的區域指定為競技場,以黃色羊毛表示。

create_arena_corner.jpg


corner2​

設定對角位置。除 X/Z 外,也要包含完整高度;兩角 Y 相同會得到零高度區域。兩角及 startLocation 必須位於同一世界。

鍵值預設值
corner2位置無
範例
corner2: my_arena_world,-10,80,10,0,0

在此圖中,corner1 以綠色羊毛表示,corner2 以紅色羊毛表示。此設定將它們之間的區域指定為競技場,以黃色羊毛表示。

create_arena_corner.jpg


startLocation​

參賽者開始戰鬥與觀眾入場的位置。沒有 teleportLocation 時,玩家也在此等待。請放在區域內的安全地面。

鍵值預設值
startLocation位置無
範例
startLocation: my_arena_world,1,50,1,0,0

exitLocation​

一般離開、清場與驅逐外來者的目的地,應設在競技場外。遭致命傷害淘汰的玩家也可能返回入場前儲存的位置。

鍵值預設值
exitLocation位置無
範例
exitLocation: my_world,1,50,1,0,0

waveCount​

波次數量。使用正整數,並為 1 到此數值的每一波至少設定一個 BOSS 項目,否則競技場不會載入。

鍵值預設值
waveCount整數0
範例
waveCount: 10

delayBetweenWaves​

每波開始前的準備延遲,包括第 1 波。以秒計,使用非負整數。

鍵值預設值
delayBetweenWaves整數0
範例
delayBetweenWaves: 5

rawIntermissionWaves​

將指定波次開始前的準備延遲加倍為 delayBetweenWaves * 2。 如果你想在特定波次之間給予玩家短暫的喘息時間,這很有用。

鍵值預設值
rawIntermissionWaves整數清單無
範例
rawIntermissionWaves:
- '5'
- '10'
- '15'

spawnPoints​

為競技場 BOSS 設定具名生成點。每個生成點都需要 name,以及與 startLocation 同世界的有效 location,否則競技場不會載入。bossList 的名稱必須完全相符;重複名稱會取代先前位置。

鍵值預設值
spawnPoints字串清單 [1]無
範例
spawnPoints:
- name=north:location=my_arena_world,219.5,71,273.5
- name=south:location=my_arena_world,219.5,71,316.5
- name=west:location=my_arena_world,197.5,71,295.5
- name=east:location=my_arena_world,240.5,71,295.5
- name=center:location=my_arena_world,219.5,71,295.5

bossList​

各波 BOSS 清單。每個項目生成一個實體,需要多個時重複項目。EliteMobs 使用含 .yml 的 BOSS 檔名;MythicMobs 使用怪物內部名稱,且要求外掛與該怪物已載入。

鍵值預設值
bossList字串清單 [2]無
範例
bossList:
- wave=1:spawnPoint=north:boss=my_boss_wave_1.yml
- wave=1:spawnPoint=south:boss=my_boss_wave_1.yml
- wave=2:spawnPoint=center:boss=my_mythicmobs_boss:mythicmob=true:level=10

在此範例中,第 1 波會在北方生成點生成一隻 BOSS、在南方生成點生成一隻 BOSS。接著,在第 2 波,一隻 mythic BOSS 會以等級 10 在中央點生成。

有效的參數為 wave、spawnPoint、boss、mythicmob 與 level。

level 只會傳遞給 MythicMobs 項目。EliteMobs BOSS 會忽略它——請改在它們自己的設定檔中設定等級。


rawArenaReward​

在指定波次結束、下一段準備延遲之前,為仍在戰鬥的每位玩家獨立抽取各項獎勵,最後一波亦適用。觀眾及已離場玩家不在範圍內。如果本波包含正等級 EliteMobs BOSS,玩家以技能為基礎的戰鬥等級與其中最高 BOSS 等級的絕對差超過 ItemSettings.yml 的 lootLevelDifferenceLockout 時,不發獎勵。MythicMobs 等級不參與此比較。沒有最低傷害貢獻要求。

使用下方字串格式:wave 選擇完成的波次,itemlevel 指定要求的物品等級,預設 1。物品自身的固定或受限等級規則仍適用。物品直接進入背包,放不下的部分掉在附近;貨幣加入餘額。戰利品表的機率、數量與權限檢查仍適用,但地牢 difficultyID 篩選不限制一般競技場。競技場 EliteMobs BOSS 使用標準化戰鬥,除非其檔案明確指定 scaledCombat: true;一般精英、隨機及原版掉落皆停用。

鍵值預設值
rawArenaReward通用 EliteMobs 戰利品表無
範例
rawArenaReward:
- filename=enchanted_book_damage_all.yml:wave=5:chance=0.25
- filename=elite_scrap_tiny.yml:wave=1:chance=0.5:amount=5
- currencyAmount=3:wave=3
- itemlevel=5:filename=summon_merchant_scroll.yml:wave=5
- filename=magmaguys_toothpick.yml:itemlevel=10:wave=10:chance=0.95

minimumPlayerCount​

設定競技場開始前必須擁有的最低玩家數。

鍵值預設值
minimumPlayerCount整數1
範例
minimumPlayerCount: 1

maximumPlayerCount​

設定競技場可擁有的最大玩家數。嘗試加入已滿競技場的玩家會被告知競技場已滿,且不會被放行進入。

請明確設定這個值。 預設為 0,而任何小於 1 的值都會被視為 1,因此沒有設定此鍵的競技場只會容納一名玩家。若 minimumPlayerCount 大於此值,會被調降至與此值相同。

鍵值預設值
maximumPlayerCount整數0
範例
maximumPlayerCount: 100

arenaMessages​

指定波次進入準備階段時,在延遲之前發給玩家與觀眾的訊息。同波次的後續項目會取代先前訊息。

鍵值預設值
arenaMessages特殊 [3]無
範例
arenaMessages:
- 'wave=1:message=&a[Arena Announcer] &fTime for wave one!'
- 'wave=2:message=&a[Arena Announcer] &fWow, wave two already.'

create_arena_messages.jpg


cylindricalArena​

使用圓柱取代長方體。X/Z 中心位於兩角之間,底部為較低 Y,高度是 Y 差,半徑是 X 差的一半。Z 跨度不決定半徑。外側圓周與最高 Y 不在範圍內,遊玩位置應保持在內側。長方體則包含兩角邊界。

鍵值預設值
cylindricalArena布林值false
範例
cylindricalArena: false

permission​

以戰鬥參賽者加入所需的權限。不限制時省略此項。觀戰按鈕目前不檢查這項權限,因此不能用它限制觀眾入場。

鍵值預設值
permission字串無
範例
permission: mypermission.arena

teleportLocation​

從選單成功以玩家身分加入後的選用等待地點。僅與 NPC 互動不會傳送。大廳必須在區域內,否則邊界監控會將等待玩家帶回。省略時在 startLocation 等待。這不允許另一組人在已占用的共用競技場內排隊。

鍵值預設值
teleportLocation位置無
範例
teleportLocation: my_arena_world,10,50,10,0,0

特殊 [1]​

生成點:使用以下格式:name=pointName:location=world_name,x,y,z。

特殊 [2]​

BOSS 清單格式:wave=X:spawnPoint=Y:boss=bossfilename.yml。

每個項目可加入兩個選用鍵:

鍵說明值預設值
level只覆寫 mythicmob=true 項目的等級。EliteMobs BOSS 使用自己的設定。整數省略時向 MythicMobs 傳入 -1;請明確設定正等級
mythicmob將 boss= 視為 MythicMobs 怪物名稱,而非 EliteMobs 檔名。需要 MythicMobs。true / falsefalse

範例:wave=3:spawnPoint=center:boss=my_mythic_boss:mythicmob=true:level=40

項目先依 : 分割,再依第一個 = 分割。鍵不區分大小寫。出現未知或重複的鍵、沒有值的鍵、缺少 wave、spawnPoint 或 boss、wave 小於 1、level 小於 1,或 mythicmob 的值不是 true 或 false 時,競技場會載入失敗並顯示警告。生成點名稱與 BOSS 識別名稱必須與引用完全相符。

特殊 [3]​

競技場訊息:使用以下格式:wave=X:message=your message here。

訊息內容可以包含冒號:它從 message= 開始,一直延續到項目結尾,或到後方的 :wave= 欄位為止。只接受從 1 開始的波次。需要 YAML 引號時應包住整個項目;只在 message= 後放入引號會成為顯示文字的一部分。

競技場設定範例
isEnabled: true
arenaName: Example Arena
corner1: my_arena_world,0,0,0,0,0
corner2: my_arena_world,50,50,50,0,0
startLocation: my_arena_world,25,0,25,0,0
exitLocation: my_minecraft_world,234,44,245,0,0
waveCount: 5
delayBetweenWaves: 5
spawnPoints:
- name=north:location=my_arena_world,40.5,0,0
- name=south:location=my_arena_world,10.5,0,0
- name=west:location=my_arena_world,0,0,40.5
- name=east:location=my_arena_world,0,0,10.5
- name=center:location=my_arena_world,25.5,0,25.5
bossList:
- wave=1:spawnPoint=north:boss=example_arena_wave_1_mob.yml
- wave=1:spawnPoint=center:boss=example_arena_wave_1_mob.yml
- wave=1:spawnPoint=south:boss=example_arena_wave_1_mob.yml
- wave=2:spawnPoint=center:boss=example_arena_wave_2_mob.yml
- wave=3:spawnPoint=east:boss=example_arena_wave_3_mob.yml
- wave=3:spawnPoint=west:boss=example_arena_wave_3_mob.yml
- wave=4:spawnPoint=center:boss=example_arena_wave_4_mob.yml
- wave=4:spawnPoint=center:boss=example_arena_wave_4_mob.yml
- wave=5:spawnPoint=center:boss=example_arena_wave_5_mob.yml
- wave=5:spawnPoint=south:boss=example_arena_wave_5_mob.yml
- wave=5:spawnPoint=west:boss=example_arena_wave_5_mob.yml
rawArenaReward:
- currencyAmount=5:wave=1
- currencyAmount=10:wave=2
- currencyAmount=15:wave=3
- currencyAmount=20:wave=4
- currencyAmount=25:wave=5
- filename=magmaguys_toothpick.yml:itemlevel=5:wave=5:chance=0.5
minimumPlayerCount: 1
maximumPlayerCount: 3
arenaMessages:
- wave=1:message=&d[Arena NPC] &fWow! Wave 1!
- wave=2:message=&d[Arena NPC] &fAmazing it is wave 2!
- wave=3:message=&d[Arena NPC] &fWave 3 is now on!
- wave=4:message=&d[Arena NPC] &fWave 4 already!
- wave=5:message=&d[Arena NPC] &fWell it is all over after this one.
cylindricalArena: false
permission: arena.mypermission
範例拆解說明

讓我們從頭開始檢視這個範例,並解釋這個競技場設定的作用。

首先,競技場以 isEnabled 啟用,我們可以看到它使用 arenaName 設定被命名為 Example Arena。當你與競技場 NPC 互動時(我們會在下文談到如何製作競技場 NPC),這個名稱會顯示出來,讓玩家加入競技場。corner1 與 corner2 定義了競技場的大小。這些角落應位於你計畫用作競技場的區域的對角兩側。

startLocation 是戰鬥起點。此範例沒有獨立大廳,因此加入後也在此等待。exitLocation 是 my_minecraft_world 中的一般出口;遭致命傷害淘汰時可能使用入場前儲存的位置。請以自己已載入世界中的安全位置取代範例座標。

waveCount 單純設定競技場將持續的波次數量。在此情況下那會是 5 波。如果玩家設法撐過全部 5 波,他們就成功撐過了競技場。delayBetweenWaves 將設定下一波開始前的秒數。在我們的範例中,玩家在下一波開始前有 5 秒可以準備。

spawnPoints 設定我們可以讓怪物生成的位置。我們可以做任意數量並隨意命名。在範例中我們決定做 5 個生成點,並將它們命名為 north、south、center、east 與 west。

bossList 是我們定義哪隻 BOSS 應在哪一波、哪個位置生成的地方。在範例中,第 1 波會有 3 隻 BOSS 從我們命名為 north、center 與 south 的生成位置生成。這三隻都被設定為使用同一個 BOSS 檔案,但我們也可以為每一隻使用不同的 BOSS 檔案。

rawArenaReward 在第 1 波後給符合條件的戰鬥參賽者 5 枚精英金幣。第 5 波給 25 枚,並獨立以 50% 機率抽取設定為 5 級的 MagmaGuy's Toothpick。上述戰鬥等級限制與戰利品條件仍然適用。

minimumPlayerCount 設定競技場開始前所需的最低玩家數。在我們的範例中此設定被設為 1,所以競技場只需要一名玩家就能開始。maximumPlayerCount 設定可參與競技場的最大玩家數。在我們的範例中此設定被設為 3,意思是一旦有 3 名玩家加入,任何再嘗試加入的玩家都會收到「競技場已滿」的訊息而被擋下。

arenaMessages 讓你加入一些風味文字,會在所定義波次的開始時顯示在聊天中。在我們的範例中我們決定在每一波開始時顯示一則簡短訊息。我們也決定在每則訊息的開頭加入 NPC 名稱,營造出文字是由播報員(競技場主)所說對話的錯覺。

cylindricalArena 此設定讓我們切換以 corner1 與 corner2 設定的所定義區域是否應為圓柱形而非長方體。在我們的範例中我們將此設為 false,意思是範例競技場是長方體形狀。

permission 要求玩家加入時持有 arena.mypermission。開始還需 elitemobs.instance.start;觀眾入場不檢查競技場權限。

建立競技場 NPC​

在 plugins/EliteMobs/npcs/ 儲存名稱唯一的 NPC .yml,設定 interactionType: ARENA_MASTER 與 arena: your_arena.yml。編輯後重新載入,持有 elitemobs.place.npc 時用 /em place npc <npcfilename.yml> 放置,或設定 spawnLocations。NPC 參考說明放置、移除,以及 scripts、patrol、classRoot、transportRoutes 等功能。

isEnabled​

設定 NPC 是否啟用。

鍵值預設值
isEnabled布林值true
範例
isEnabled: true

name​

設定 NPC 的顯示名稱。

鍵值預設值
name字串空
範例
name: "&aGladius"

create_arena_npc_name.jpg


role​

設定顯示在 NPC 名稱下方的角色定位。

鍵值預設值
role字串空
範例
role: "&c<Arena Master>"

create_arena_npc_role.jpg


profession​

設定 NPC 的 MineCraft 職業。

鍵值預設值
profession職業NITWIT
範例
profession: ARMORER

使用 disguise 時會覆寫外觀。

create_arena_npc_profession.jpg


spawnLocation​

舊版單點設定,僅在 spawnLocations 缺少或為空時使用。新檔案優先使用清單,遷移時刪除舊鍵,避免清空清單後恢復舊位置。

鍵值預設值
spawnLocation位置無
範例
spawnLocation: my_world,1.5,50,1.5,-108,0

spawnLocations​

NPC 儲存的位置清單。非空清單優先於 spawnLocation,不是追加到它。引用世界必須已載入;每個位置建立使用相同設定的獨立 NPC。

鍵值預設值
spawnLocations字串清單無
範例
spawnLocations:
- my_world,1.5,50,1.5,-108,0
- my_world,100.5,50,50.5,0,0

greetings​

偵測到玩家進入啟動半徑時隨機選取的問候。每 100 tick 偵測一次,短暫經過可能被漏掉。每個 NPC 的三秒發言冷卻由所有玩家共用,向他人的問候可能阻止向你問候。

鍵值預設值
greetings字串清單無
範例
greetings:
- Welcome to the Arena!
- The Arena welcomes you!

create_arena_npc_greetings.jpg


dialog​

對 ARENA_MASTER,玩家停留附近時,後續接近偵測會隨機選取對白。點擊則開啟競技場選單。只有 CHAT 將此清單用作內建點擊動作。

鍵值預設值
dialog字串清單無
範例
dialog:
- Ready for a challenge?
- Face the Arena?

create_arena_npc_dialog.jpg


farewell​

在 NPC 各座標軸方向延伸 5 格的盒狀區域內,玩家關閉任意非空標題的物品欄時,依發言冷卻隨機選取告別語。不必是該 NPC 的選單,單純走遠不會觸發。

鍵值預設值
farewell字串清單無
範例
farewell:
- Bye.
- Return with your shield, or on it!

create_arena_npc_farewell.jpg

在未加引號或使用單引號的 YAML 字串中,以字面值 \n 讓聊天泡泡換行。

farewell:
- Bye.
- Return with your\nshield, or on it!

create_arena_npc_lines.jpg


canTalk​

啟用一般問候、對白及告別泡泡。關閉不會停用競技場選單、任務對話、腳本或任務標記。

鍵值預設值
canTalk布林值true
範例
canTalk: true

activationRadius​

以方塊為單位的三維接近半徑。零或負值停用接近掃描;任務標記使用自己的範圍。巡邏移動與編輯期間會抑制一般接近發言。

鍵值預設值
activationRadius小數3.0
範例
activationRadius: 3.0

timeout​

NPC 存續時間,以分鐘計。零或負值停用。逾時移除目前 NPC,但保留儲存位置,因此重新載入或區塊恢復後可再出現。永久刪除位置請使用 NPC 移除流程。

鍵值預設值
timeout小數0
範例
timeout: 60

interactionType​

設定 NPC 將執行的互動類型。

鍵值預設值
interactionType特殊 [4]NONE
範例
interactionType: ARENA_MASTER

disguise​

設定自訂的 NPC 偽裝。

鍵值預設值
disguise偽裝無
範例
disguise: ZOMBIE

create_arena_npc_disguise.jpg


customDisguiseData​

LibsDisguises 具名自訂偽裝資料。配合 disguise: custom:your_disguise_name 使用;此欄位本身不會啟用偽裝。

鍵值預設值
customDisguiseData字串無
範例
disguise: custom:arena_guide
customDisguiseData: player MHF_Pig

customModel​

已載入的自訂模型。FreeMinecraftModels 可用時優先採用;其中缺少模型不會改用 ModelEngine 重試。正常模型的外觀優先於偽裝。玩家也需要對應資源包素材。

鍵值預設值
customModel字串無
範例
customModel: my_model

arena​

ARENA_MASTER 開啟選單的競技場定義,包含 .yml。必須已啟用並初始化成功。開啟選單本身不會讓玩家加入或傳送。

鍵值預設值
arena檔名無
範例
arena: my_arena.yml

command​

以互動玩家身分與權限執行的指令。需要 interactionType: COMMAND。省略開頭斜線,不替換 $player。

鍵值預設值
command字串無
範例
command: say Hello

questFileName​

設定 NPC 的任務檔名。需要將 interactionType 設為 CUSTOM_QUEST_GIVER。

鍵值預設值
questFileName字串清單無
範例
questFileName:
- my_quest_1.yml
- my_quest_2.yml

noPreviousLocationMessage​

TELEPORT_BACK 找不到已儲存的 EliteMobs 返回點時使用的訊息。返回點由從 EliteMobs 世界以外發起的 EliteMobs 傳送記錄,不是玩家最後走過或死亡的位置。

鍵值預設值
noPreviousLocationMessage字串空
範例
noPreviousLocationMessage: '&cCouldn''t find a previous location!'

instanced​

將 NPC 標記為實例地牢範本,不直接生成在藍圖世界。一般競技場 NPC 使用 false;此鍵不會將實體競技場變成複製地牢。

鍵值預設值
instanced布林值false
範例
instanced: false

scale​

底層村民的縮放。偽裝或自訂模型可能有獨立的外觀縮放,無法保證各提供方顯示相同大小。

鍵值預設值
scale小數1.0
範例
scale: 1.0

syncMovement​

讓自訂模型的移動與 NPC 同步。有效的巡邏設定會強制同步,即使此欄位為 false 或巡邏已暫停。

鍵值預設值
syncMovement布林值true
範例
syncMovement: true

競技場設定範例
isEnabled: true
name: Example NPC
role: <Arena Master>
profession: ARMORER
spawnLocations:
- my_minecraft_world,233,44,245,0,0
greetings:
- Welcome to the Arena!
dialog:
- Ready to enter the Arena?
farewell:
- Bye!
canTalk: true
activationRadius: 3.0
interactionType: ARENA_MASTER
disguise: ZOMBIE
arena: example_arena.yml

此範例展示一個基本的競技場 NPC,它會以殭屍偽裝在 my_minecraft_world 生成。玩家可以與此 NPC 互動以挑戰 Example Arena。

特殊 [4]​

以下是有效的 NPC 互動類型列表:

類型說明
GUILD_GREETER開啟技能加成選擇;需要 elitemobs.skill.npc。
CLASS_TRAINER[Alpha] Advanced Combat System 啟用時開啟 classRoot 訓練;需要 elitemobs.command。
TRANSPORT開啟 transportRoutes 目的地選擇,參閱交通。
CHAT右鍵隨機選取一條 dialog 台詞。
CUSTOM_SHOP開啟自訂商店選單
PROCEDURALLY_GENERATED_SHOP開啟程序化產生的商店
BAR顯示功能即將推出的訊息。
ARENA無作用。請改用 ARENA_MASTER。
QUEST_GIVER開啟程序化產生的任務選單
CUSTOM_QUEST_GIVER開啟在 questFileName 中所設定特定任務的任務選單
NONE無內建動作;腳本、接近與任務對話仍可運作。
SELL開啟販售選單
TELEPORT_BACK使用已儲存的 EliteMobs 返回點;需要 elitemobs.back.npc。
SCRAPPER開啟拆解選單
SMELTER已棄用 - 功能已移除,請勿使用
REPAIRMAN開啟修理選單
ENHANCER已棄用 - 功能已移除,請勿使用
REFINER已棄用 - 功能已移除,請勿使用
UNBINDER開啟解綁選單
ARENA_MASTER開啟在 arena 中所設定競技場的競技場選單
COMMAND執行在 command 中所設定的指令
ENCHANTER開啟附魔選單
SCROLL_APPLIER開啟卷軸施用選單
ARROW_SHOP開啟箭矢商店選單
GAMBLING_BLACKJACK開啟二十一點賭博遊戲
GAMBLING_COINFLIP開啟擲幣賭博遊戲
GAMBLING_SLOTS開啟吃角子老虎賭博遊戲
GAMBLING_HIGHERLOWER開啟猜大小賭博遊戲

其他類型有各自的權限與設定要求。使用前請查看完整 NPC 互動參考;競技場入口應使用 ARENA_MASTER。