Saltearse al contenido

Objetivos

Descripción General

El sistema de objetivos impulsa la jugabilidad tipo misiones a través de cuatro tipos de archivo: Objectives definen conjuntos de tareas secuenciales y recompensas por completar, ObjectiveLines agrupan objetivos en una cadena de progresión, ObjectiveLocationMarkers colocan disparadores de área que activan objetivos cuando los jugadores entran, y ReachLocationMarkers definen puntos de referencia con nombre utilizados por las tareas de llegar a una ubicación. Las tareas soportan los tipos matar, recolectar, fabricar, recompensa, mapa del tesoro, usar bloque, usar entidad y llegar a ubicación.

Ubicación de Archivos

Assets/Server/Objective/
Objectives/
Objective_Bounty.json
Objective_Craft.json
Objective_Gather.json
Objective_Gameplay_Trailer.json
Objective_Kill.json
Objective_KillSpawnBeacon.json
Objective_KillSpawnMarker.json
Objective_ReachLocation.json
Objective_TreasureMap.json
Objective_Tutorial.json
Objective_UseBlock.json
Objective_UseEntity.json
ObjectiveLines/
ObjectiveLine_Test.json
ObjectiveLine_Tutorial.json
ObjectiveLocationMarkers/
ObjectiveLocationMarker_Gameplay_Trailer.json
ObjectiveLocationMarker_KillSpawnBeacon.json
ObjectiveLocationMarker_Test.json
ObjectiveLocationMarker_Trigger.json
ReachLocationMarkers/
ObjectiveReachMarker_Example.json

Esquema

Objective

CampoTipoRequeridoPredeterminadoDescripción
TaskSetsTaskSet[]Array ordenado de conjuntos de tareas. Cada conjunto debe completarse antes de que el siguiente se active.
CompletionsCompletion[]No[]Recompensas o acciones que se activan cuando todos los conjuntos de tareas están terminados.
RemoveOnItemDropbooleanNofalseCuando es true, el objetivo se elimina si el jugador suelta su objeto asociado.

TaskSet

CampoTipoRequeridoPredeterminadoDescripción
TasksTask[]Array de tareas dentro de este conjunto. Todas las tareas deben completarse para avanzar al siguiente conjunto.

Task

CampoTipoRequeridoPredeterminadoDescripción
TypestringTipo de tarea. Ver tipos de tarea a continuación.
CountnumberNo1Número de veces que la acción debe realizarse.
ItemIdstringNoID del objeto para tareas de fabricación o relacionadas con objetos.
NPCGroupIdstringNoID del grupo de NPCs para tareas de matar.
NpcIdstringNoID específico del NPC para tareas de recompensa.
TaskIdstringNoIdentificador de la tarea para tareas de usar entidad.
AnimationIdToPlaystringNoAnimación a reproducir en la entidad objetivo durante tareas de usar entidad.
BlockTagOrItemIdBlockTagOrItemIdNoFiltro de etiqueta de bloque o ID de objeto para tareas de recolección y uso de bloque.
TargetLocationstringNoNombre del marcador de ubicación para tareas de llegar a ubicación.
WorldLocationConditionWorldLocationConditionNoRestricciones espaciales para tareas de recompensa y mapa del tesoro.
SpawnBeaconsSpawnBeacon[]NoDefiniciones de balizas de aparición para tareas de matar-baliza-de-aparición.
ChestsTreasureChest[]NoDefiniciones de cofres para tareas de mapa del tesoro.
TaskConditionsTaskCondition[]No[]Condiciones adicionales que deben cumplirse para que la tarea cuente.

Tipos de Tarea

TipoDescripciónCampos Clave
KillNPCMatar una cantidad de NPCs de un grupoNPCGroupId, Count
KillSpawnBeaconMatar NPCs generados por balizas específicasNPCGroupId, Count, SpawnBeacons
GatherRecolectar objetos o bloques que coincidan con un filtroBlockTagOrItemId, Count
CraftFabricar un objeto específicoItemId, Count
UseBlockInteractuar con un tipo de bloque específicoBlockTagOrItemId, Count, TaskConditions
UseEntityInteractuar con un NPC o entidadTaskId, Count, AnimationIdToPlay
ReachLocationViajar a un punto de referencia con nombreTargetLocation
BountyCazar un NPC específico dentro de un radioNpcId, WorldLocationCondition
TreasureMapEncontrar y abrir cofres del tesoroChests

BlockTagOrItemId

CampoTipoRequeridoPredeterminadoDescripción
ItemIdstringNoID específico del objeto a coincidir.
BlockTagstringNoEtiqueta de bloque a coincidir (coincide con cualquier bloque que tenga esta etiqueta).

WorldLocationCondition

CampoTipoRequeridoPredeterminadoDescripción
Typestring"LocationRadius" o "LookBlocksBelow".
MinRadiusnumberNoDistancia mínima desde el dador del objetivo.
MaxRadiusnumberNoDistancia máxima desde el dador del objetivo.
BlockTagsstring[]NoEtiquetas de bloque a verificar debajo de la ubicación objetivo (para "LookBlocksBelow").
CountnumberNoNúmero de bloques a verificar debajo.
MinRangenumberNoRango mínimo de profundidad para la verificación de bloques.
MaxRangenumberNoRango máximo de profundidad para la verificación de bloques.

TreasureChest

CampoTipoRequeridoPredeterminadoDescripción
MinRadiusnumberDistancia mínima de colocación desde el jugador.
MaxRadiusnumberDistancia máxima de colocación desde el jugador.
DropListstringID de la lista de botín para el contenido del cofre.
WorldLocationConditionWorldLocationConditionNoRestricciones de terreno para la colocación del cofre.
ChestBlockTypeKeystringTipo de bloque utilizado para el cofre del tesoro.

TaskCondition

CampoTipoRequeridoPredeterminadoDescripción
TypestringTipo de condición: "SoloInventory".
BlockTagOrItemIdBlockTagOrItemIdNoObjeto o bloque que el jugador debe poseer.
QuantitynumberNoCantidad requerida del objeto.

Completion

CampoTipoRequeridoPredeterminadoDescripción
TypestringAcción de completar: "GiveItems" o "ClearObjectiveItems".
DropListstringNoID de la lista de botín para recompensas de objetos (cuando Type es "GiveItems").

ObjectiveLine

CampoTipoRequeridoPredeterminadoDescripción
ObjectiveIdsstring[]Array ordenado de IDs de objetivos a presentar en secuencia.

ObjectiveLocationMarker

CampoTipoRequeridoPredeterminadoDescripción
SetupMarkerSetupQué sucede cuando un jugador entra en el área del marcador.
AreaMarkerAreaDefinición espacial de la zona de activación.
TriggerConditionsTriggerCondition[]No[]Condiciones adicionales que deben cumplirse para que el marcador se active.

MarkerSetup

CampoTipoRequeridoPredeterminadoDescripción
TypestringTipo de configuración: "Objective".
ObjectiveIdstringID del objetivo a activar.

MarkerArea

CampoTipoRequeridoPredeterminadoDescripción
TypestringTipo de área: "Radius".
EntryRadiusnumberDistancia en bloques a la que el marcador se activa.
ExitRadiusnumberDistancia en bloques a la que el marcador se desactiva. Debe ser mayor que EntryRadius para evitar parpadeo.

TriggerCondition

CampoTipoRequeridoPredeterminadoDescripción
TypestringTipo de condición: "HourRange" o "Weather".
MinHournumberNoHora de inicio para condiciones de rango horario.
MaxHournumberNoHora de fin para condiciones de rango horario. Se envuelve a medianoche.
WeatherIdsstring[]NoIDs de clima requeridos para condiciones de clima.

ReachLocationMarker

CampoTipoRequeridoPredeterminadoDescripción
RadiusnumberDistancia en bloques dentro de la cual se considera que el jugador ha llegado a la ubicación.
NamestringNombre de visualización para el marcador de punto de referencia.

Ejemplos

Objetivo de matar (Assets/Server/Objective/Objectives/Objective_Kill.json):

{
"TaskSets": [
{
"Tasks": [
{
"Type": "KillNPC",
"Count": 3,
"NPCGroupId": "Trork_Warrior"
}
]
}
],
"Completions": [
{
"Type": "GiveItems",
"DropList": "Trork_Camp_Inventory"
}
]
}

Línea de objetivo del tutorial (Assets/Server/Objective/ObjectiveLines/ObjectiveLine_Tutorial.json):

{
"ObjectiveIds": [
"Objective_Tutorial"
]
}

Marcador de ubicación con condiciones de activación (Assets/Server/Objective/ObjectiveLocationMarkers/ObjectiveLocationMarker_Trigger.json):

{
"Setup": {
"Type": "Objective",
"ObjectiveId": "Objective_Kill"
},
"Area": {
"Type": "Radius",
"EntryRadius": 25,
"ExitRadius": 35
},
"TriggerConditions": [
{ "Type": "HourRange", "MinHour": 17, "MaxHour": 2 },
{ "Type": "Weather", "WeatherIds": ["Zone1_Cloudy_Medium"] }
]
}

Objetivo de mapa del tesoro (Assets/Server/Objective/Objectives/Objective_TreasureMap.json):

{
"TaskSets": [
{
"Tasks": [
{
"Type": "TreasureMap",
"Chests": [
{
"MinRadius": 10,
"MaxRadius": 20,
"DropList": "Zone1_Encounters_Tier3",
"WorldLocationCondition": {
"Type": "LookBlocksBelow",
"BlockTags": ["Stone", "Soil"],
"Count": 3,
"MinRange": 0,
"MaxRange": 5
},
"ChestBlockTypeKey": "Furniture_Ancient_Chest_Large"
}
]
}
]
}
],
"Completions": [
{ "Type": "ClearObjectiveItems" }
],
"RemoveOnItemDrop": true
}

Páginas Relacionadas

  • Gameplay Configs — opción IsObjectiveMarkersEnabled
  • Instances — opción de marcadores de objetivos a nivel de instancia
  • Drop Tables — listas de botín referenciadas por las recompensas de completar
  • Block Type Lists — etiquetas de bloque usadas en tareas de recolección y uso de bloque