Quest Manager - Sistema de Misiones

Sistema completo de misiones con soporte para quests por NPC y quests progresivas automáticas.

Características principales:
  • NPC Quests: Misiones activadas mediante interacción con NPCs específicos
  • Progressive Quests: Misiones que se activan automáticamente al completar la anterior
  • Requisitos encadenados: Sistema de prerequisitos entre quests
  • Configuración por clase: Quests progresivas específicas para cada clase de personaje
  • Archivos externos: Cada quest tiene su configuración en archivo separado (Quests/[ID].txt)
ADVERTENCIA CRÍTICA:
NO mezclar IDs de quests entre NPC Quests (Sección 2) y Progressive Quests (Sección 3)
Los índices de quests deben ser únicos y exclusivos para cada tipo. Mezclarlos causará conflictos en el sistema.

Sección 0: Lista de NPCs Quest

Define los NPCs que otorgarán misiones. Estos NPCs deben estar configurados también en Monster.txt y MonsterSetBase.txt.
Parámetro Descripción Valores Ejemplo
NPCIndex Índice único del NPC Quest. Este número se usará para vincular el NPC con las quests en la Sección 2.
Rango válido: 0 – 9,999
0 – 9,999 1
MonsterIndex ID del Monster que actuará como NPC Quest (debe existir en Monster.txt).
Importante: El monster debe tener Level = 0 en Monster.txt para ser reconocido como NPC.
ID válido 582
Map Número del mapa donde se ubicará el NPC Quest. 0 – 199 0
X Coordenada X del NPC Quest. Debe coincidir con MonsterSetBase.txt Coord. válida 130
Y Coordenada Y del NPC Quest. Debe coincidir con MonsterSetBase.txt Coord. válida 125
Ejemplo de configuración:
//--------------------------------------------------------------------------------------
//	[ 0~9999 ]
//	[NPCIndex]		[MonsterIndex]		[Map]	[X]		[Y]
//--------------------------------------------------------------------------------------
0
	1    			582					0		130		125
end
Define el NPC Quest #1 usando el Monster ID 582 en Lorencia (mapa 0) en las coordenadas 130, 125.

Sección 1: Lista de Quests

Registro de todas las quests disponibles en el servidor. El QuestIndex se usa para cargar el archivo de configuración correspondiente desde la carpeta Quests/

Ejemplo: QuestIndex 5000 → Carga el archivo Quests/5000.txt
Parámetro Descripción Valores Notas
QuestIndex Índice único de la quest. Este número determina qué archivo de configuración se cargará.

Convenciones recomendadas:
  • 1 – 999: Progressive Quests
  • 5000 – 65535: NPC Quests
0 – 65,535 Único
Name Nombre descriptivo de la quest (se muestra al jugador en el cliente).
Longitud máxima: 50 caracteres.
String (≤50) Visible en cliente
Ejemplo de configuración:
//--------------------------------------------------------------------------------------
//	[Ref-0]
//	[0~65535]
//	[QuestIndex]	[Name]
//--------------------------------------------------------------------------------------
1
    //Progressive Quests
    1				"Beginner Quest"
    2				"Mini-Wings Quest"
    9				"First Jewels Quest"
    
    //NPC Quests
    5000			"First Quest"
    5001			"Second Quest"
end

Sección 2: NPC Quests (Misiones por NPC)

Vincula las quests con los NPCs y establece requisitos de quests previas.

Características:
  • El jugador debe interactuar con el NPC para activar la quest
  • Puedes requerir que el jugador complete otra quest antes de desbloquear esta
  • Un mismo NPC puede ofrecer múltiples quests con diferentes requisitos
NO uses QuestIndex que ya estén definidos en la Sección 3 (Progressive Quests)
Los IDs deben ser exclusivos para cada tipo de quest.
Parámetro Descripción Valores Ejemplo
NPCIndex Índice del NPC que otorga la quest (debe existir en Sección 0). ID de Sección 0 1
QuestIndex Índice de la quest que otorgará este NPC (debe existir en Sección 1).
No debe estar usado en Sección 3
ID de Sección 1 5000
ReqQuestIndex Quest que debe estar completada para desbloquear esta quest:
  • * o -1 → No requiere quest previa (disponible inmediatamente)
  • QuestIndex → Debe completar esa quest primero
* / -1 / QuestID *
Ejemplo de configuración (cadena de quests):
//--------------------------------------------------------------------------------------
//	[Ref-0]			[Ref-1]				[Ref-2 / -1 Don't Need Quest]
//	[NPCIndex]		[QuestIndex]		[ReqQuestIndex]
//--------------------------------------------------------------------------------------
2
    1				5000				*       // Quest inicial (sin requisitos)
    1				5001				5000    // Requiere completar quest 5000
    1				5002				5001    // Requiere completar quest 5001
    1				5003				5002    // Requiere completar quest 5002
end
El NPC #1 ofrece 4 quests secuenciales. El jugador debe completarlas en orden.

Sección 3: Progressive Quests (Misiones Progresivas)

Sistema de quests que se activan automáticamente al completar la quest anterior, sin necesidad de hablar con NPCs.

Ventajas:
  • Progresión automática sin interacción con NPCs
  • Configuración específica por clase de personaje
  • Ideal para tutoriales y progresión inicial
  • Cada clase puede tener su propia rama de quests
NO uses QuestIndex que ya estén definidos en la Sección 2 (NPC Quests)
Los IDs deben ser exclusivos para cada tipo de quest.

Las Quests progresivas NO RESPETAN los requisitos de cada TXT (Nivel, Reset, etc...) ya que estan pensadas para ir haciendose una tras otra.
Parámetro Descripción Valores Ejemplo
QuestIndex Índice de la quest actual (debe existir en Sección 1).
No debe estar usado en Sección 2
ID de Sección 1 1
NextDW Quest que se activará automáticamente para Dark Wizard al completar la quest actual:
* o -1  → No activar quest siguiente (fin de cadena)
QuestIndex → Activar esa quest automáticamente
* / 0 / QuestID 2
NextDK Quest siguiente para Dark Knight (misma lógica que NextDW). * / 0 / QuestID 3
NextELF Quest siguiente para Fairy Elf (misma lógica que NextDW). * / 0 / QuestID 4
NextMG Quest siguiente para Magic Gladiator (misma lógica que NextDW). * / 0 / QuestID 5
NextDL Quest siguiente para Dark Lord (misma lógica que NextDW). * / 0 / QuestID 6
NextSUM Quest siguiente para Summoner (misma lógica que NextDW). * / 0 / QuestID 7
NextRF Quest siguiente para Rage Fighter (misma lógica que NextDW). * / 0 / QuestID 8
Ejemplo 1: Quest inicial común para todas las clases
//----------------------------------------------------------------------------------------------------------
//	[Ref-0]			[									Ref-1									   ]
//	[QuestIndex]	[NextDW]	[NextDK]	[NextELF]	[NextMG]	[NextDL]	[NextSUM]	[NextRF]
//----------------------------------------------------------------------------------------------------------
3
    1				2			3			4			5			6			7			8
end
Al completar la Quest #1, cada clase recibe una quest diferente (2-8).
Ejemplo 2: Quest específica por clase que converge
//----------------------------------------------------------------------------------------------------------
//	[Ref-0]			[									Ref-1									   ]
//	[QuestIndex]	[NextDW]	[NextDK]	[NextELF]	[NextMG]	[NextDL]	[NextSUM]	[NextRF]
//----------------------------------------------------------------------------------------------------------
3
    2				9			*			*			*			*			*			*    // DW continúa a quest 9
    3				*			9			*			*			*			*			*    // DK continúa a quest 9
    4				*			*			9			*			*			*			*    // ELF continúa a quest 9
    5				*			*			*			9			*			*			*    // MG continúa a quest 9
    6				*			*			*			*			9			*			*    // DL continúa a quest 9
    7				*			*			*			*			*			9			*    // SUM continúa a quest 9
    8				*			*			*			*			*			*			9    // RF continúa a quest 9
end
Cada clase tiene su quest exclusiva (2-8), pero todas convergen en la quest #9.
Ejemplo 3: Quest común para todas las clases
//----------------------------------------------------------------------------------------------------------
//	[Ref-0]			[									Ref-1									   ]
//	[QuestIndex]	[NextDW]	[NextDK]	[NextELF]	[NextMG]	[NextDL]	[NextSUM]	[NextRF]
//----------------------------------------------------------------------------------------------------------
3
    9					10			10			10			10			10			10			10
end
Al completar la Quest #9, todas las clases reciben la Quest #10.

Guía Rápida de Configuración

NPC Quests
  1. Define el NPC en Sección 0
  2. Registra la quest en Sección 1 (usa IDs 5000+)
  3. Vincula NPC con quest en Sección 2
  4. Crea el archivo Quests/[ID].txt con los objetivos
Progressive Quests
  1. Registra la quest en Sección 1 (usa IDs 1-999)
  2. Define la progresión en Sección 3
  3. Configura qué quest sigue para cada clase
  4. Crea el archivo Quests/[ID].txt con los objetivos
Errores Comunes
  • Mezclar IDs: No uses el mismo QuestIndex en Sección 2 y Sección 3
  • NPC sin Monster: El MonsterIndex debe existir en Monster.txt con Level=0
  • Archivos faltantes: Cada QuestIndex necesita su archivo en la carpeta Data/QuestManager/Quests/[ID].txt (Ejemplo 100.txt para la Quest con ID 100)
  • Requisitos circulares: No crear cadenas infinitas (Quest A requiere B, B requiere A)
  • Coordenadas incorrectas: X/Y deben coincidir con MonsterSetBase.txt