- 1 任务模型设置
- 2 任务分支
- 3 任务激活器
- 4 任务池
- 5 任务组
- 6 Goto|前往
- 7 任务身份
- 8 记录点
- 9 任务点
- 10 任务目标
- 10.1 设置
- 10.2 特殊类型
- 10.3 PLAYER玩家类型
- 10.4 SERVER服务器类型
- 11 条件
- 12 GUI
You create group of quests to apply some properties. They’re located under /quest_groups/.
models: [quest_1,quest_2] # a list of quests for this group max_concurrent: 1 # the maximum amount of active concurrent quests from this group execution_order: true # to require the player to complete the quests in order
- OBJECT <object from the same branch>：set the current branch object (it can be the same object to loop it)
- BRANCH <branch id>：stops the current branch and starts another one
- QUEST_SUCCESS：stops the quest as successfully completed
- QUEST_SUCCESS_THEN_START：stops the quest as successfully completed, then start another quest
- QUEST_SUCCESS_THEN_START_BYPASS：stops the quest as successfully completed, then start another quest (bypassing start restrictions)
- QUEST_FAIL：stops the quest as failed
- QUEST_FAIL_THEN_START：stops the quest as failed, then start another quest
- QUEST_FAIL_THEN_START_BYPASS：stops the quest as failed, then start another quest (bypassing start restrictions)
- QUEST_CANCEL：cancel the quest
- QUEST_CANCEL_THEN_START：cancel the quest, then start another quest
- QUEST_CANCEL_THEN_START_BYPASS：cancel the quest, then start another quest (bypassing start restrictions)
- QUEST_COOP_LEAVE：leave the quest, if the player is a coop player and allowed to leave it (this will be useful in individual branches)
- QUEST_COOP_LEAVE_OR_STOP：leave the quest, if the player is a coop player and allowed to leave it, or cancel it, if the player is the quest leader
Some objects and settings allow you to apply them only to some actors of the quest. An actor is a player inside a quest.
For player-driven objects, this setting will restrict who can progress the object. For server-driven objects, it’ll restrict to who the effects of the object will be applied.
- ROLE LEADER：仅任务队长
- ROLE COOP：only the coop players (so every player except the leader)
- RANDOM：select a random player in the quest
- JOIN_ORDER <list of numbers, separated by a space>：only the players at the specific join order ; order start at 0 and the first in the join order list is always the leader
Example for the join order one：JOIN_ORDER 1 2 will be players who joined at order 1 and 2. JOIN_ORDER 2 would be only the second player.
Each quest can have at most one active checkpoint. When an object with a defined checkpoint starts, it overwrites the current checkpoint, says what information must be saved and when the checkpoint should be restored.
checkpoint: # Things to save save_location: true # to save the location of all players save_specific_location: world,x,y,z # to save a specific location instead of the players' location save_branches: true # to save the current states of all branches save_individual_branches: true # to save the current states of all individual branches save_model_variables: true # to save the current model variables save_user_variables:  # a list of user variables to save # When to restore them restore_on_respawn: RESTORE_TYPE # when the player respawns restore_on_connect: RESTORE_TYPE # when the player reconnects restore_on_resume: RESTORE_TYPE # when the quest resumes restore_conditons: # ... some extra conditions that will lead to checkpoint restore if respected (see "conditions") individual_restore_conditons: # ... some extra conditions that will lead to individual checkpoint restore if respected (see "conditions")
RESTORE_TYPE can be either GLOBAL, INDIVIDUAL or NONE. Global will restore the checkpoint of the whole quest, and individual will restore only the particular player’s location and individual branches. If the checkpoint is restored individually for GuillaumeVDN, coop player Notch will not get his location or individual branches restored.
Quest points are separated in different categories, so you can have different points leaderboards. You have to register those categories in /points_categories.yml.
You can modify those points using the SERVER_LOGIC_POINTS object and use them as a requirement using the LOGIC_QUEST_POINTS condition.
They can be seen and manipulated using the /qc points command. You can display them in GUIs and open ranking GUIs that will display the player’s points.