NPCInterfaceManager.txt
Sistema para crear NPCs con interfaz que se sincronizan con el cliente.
Las reglas visuales dependen del VisualManager(EventID) configurado tanto en el servidor como en el cliente.
Permite requisitos de acceso (Zen, Guild, Ítems) y canjes entre Ítems y Recursos (Reset, MasterReset, WC, WP, GP, Ruud, Zen, LevelPoints).
Este archivo solo se utiliza hasta V12, en versiones posteriores se adapto el sistema al nuevo NPCInterface que conserva todas las opciones e incluye mejoras y agregados.
Permite requisitos de acceso (Zen, Guild, Ítems) y canjes entre Ítems y Recursos (Reset, MasterReset, WC, WP, GP, Ruud, Zen, LevelPoints).
Este archivo solo se utiliza hasta V12, en versiones posteriores se adapto el sistema al nuevo NPCInterface que conserva todas las opciones e incluye mejoras y agregados.
Requisitos y sincronización
- Cliente: cada interfaz se gobierna por un
VisualManager(EventID)
que debe existir en el encoder del cliente. (Revisar la configuración del Encoder / VisualManager en el cliente). - Servidor: el mismo
EventID
se usa para asociar lógica y requisitos del NPC. Si se invoca en otro lugar, el comportamiento puede variar. - Sky Event: el
EventID = 1
es de uso exclusivo para Sky Event y no puede repetirse ni usarse en otros NPCs.
Definición y restricciones del NPC
Campo | Tipo / Rango | Valores | Descripción |
---|---|---|---|
NPCId | Entero | ID de Monster | ID tomado de Monster.txt . Asegúrate que el Level del Monster sea 2 para que el servidor lo trate como NPC. |
InterfaceID | Entero | 100–107 | Indica la interfaz de cliente a abrir. Ver tabla “Interfaces disponibles”. |
VisualManager (EventID) | Entero | -1, 0–255 | -1 Inactivo. 0–255 código del evento/actividad que determina la lógica del NPC. 1 = Sky Event (reservado). |
Map Number | Entero | 0–114 (V13) / 0–199 (V14+) | Mapa donde se encuentra el NPC. |
X | Entero | 0–255 | Coordenada X. Debe existir en MonsterSetBase.txt según ubicación. |
Y | Entero | 0–255 | Coordenada Y. Debe existir en MonsterSetBase.txt según ubicación. |
AccountLevel | Entero | 0, 1–3 | 0 Todos. 1–3 rangos VIP que podrán usarlo. |
MinLevel | Entero | 0–400+ | Nivel mínimo para activar el NPC. |
MaxLevel | Entero | 0–400+ | Nivel máximo. Si tu tope supera 400, ajusta cada línea a tu nuevo máximo. |
MinReset | Entero | 0–99,999 | Reset mínimo requerido. |
MaxReset | Entero | 0–99,999 | Reset máximo permitido. Recomendado: 99,999. |
MinMasterReset | Entero | 0–99,999 | Master Reset mínimo requerido. |
MaxMasterReset | Entero | 0–99,999 | Master Reset máximo permitido. Recomendado: 99,999. |
PK Level | Entero | -1, 0–6 | -1 Cualquiera · 0 Full Hero · 1 Hero1 · 2 Hero2 · 3 Normal · 4 Phono1 · 5 Phono2 · 6 Murderer. |
RankUser | Entero | -1 o ID | ID de rango requerido. Revisar Data/Custom/Interfaces/CustomRanking.txt . Use -1 para ignorar. |
SystemName | Texto | Máx. 60 | Nombre del sistema. Se utiliza en logs, importante para auditoría. |
Interfaces disponibles (InterfaceID)
InterfaceID | Interfaz | Descripción |
---|---|---|
100 | Jewel Store | Tienda de Jewels. |
101 | Map / Item Access | Accesos a mapas / verificación de ítems. |
102 | Reset System | Gestión de resets. |
103 | Event Time | Visualización de horarios de eventos. |
104 | Ruud Store | Tienda de Ruud. |
105 | VIP Buy | Compra de membresía VIP. |
107 | Ranking | Ranking de usuarios. |
Acceso por requisitos (Visual simple)
Configura requisitos de acceso y acciones simples. Este estilo se utiliza, por ejemplo, en Sky Event (custom).
El VisualManager(EventID) define el conjunto de reglas de la fila.
VisualManager (EventID) | Condición | Zen | Type | Index | Level | Count | GuildName | Descripción |
---|---|---|---|---|---|---|---|---|
Ej: 10 | 1 = Requerimiento de Zen | 500,000 | - | - | - | - | - | Accede si paga el Zen indicado. Soporta mover a mapa (ver “Destino simple”). |
Ej: 11 | 2 = Solo Guild específico | - | - | - | - | - | Winners | Accede únicamente si el personaje pertenece al Guild indicado. Soporta mover a mapa. |
Ej: 12 | 3 = Requerimiento de Ítems | - | 12 | 15 | 5 | 10 | - | Requiere 10 ítems de categoría 12, index 15, level 5. Soporta mover a mapa. |
Ej: 13 | 4 = Denied | - | - | - | - | - | - | Bloquea temporalmente el evento/NPC. |
Condiciones: 1 = Zen · 2 = Guild · 3 = Ítems · 4 = Denegado.
Destino simple (Teleporte al cumplir requisitos)
Define a dónde mover al personaje cuando cumpla los requisitos del Visual simple asociado al mismo
EventID
.
VisualManager (EventID) | Gate | Map | X | Y | Notas |
---|---|---|---|---|---|
Ej: 10–12 | -1 | 34 | 120 | 45 | Gate = -1 habilita Map/X/Y manuales. Si usas Gate >= 0, toma posición desde Data/Gate.txt . |
Ej: 11 | 512 | - | - | - | Usa el Gate 512 de Gate.txt (ignora Map/X/Y). |
Canje: Ítem ↔ Ítem
Intercambia un ítem por otro desde interfaz gráfica. El EventID utilizado aquí no debe estar en uso en “Acceso por requisitos” ni “Destino simple”.
VisualManager (EventID) | eType | Type | Index | Level | Luck | Skill | Opt | ExcOpt | Ancient | Count | Descripción |
---|---|---|---|---|---|---|---|---|---|---|---|
Ej: 30 | 1 = Origen | 12 | 15 | 5 | 1 | 1 | 4 | 2 | 0 | 1 | Ítem requerido. |
Ej: 30 | 2 = Destino | 13 | 16 | 7 | 1 | 1 | 5 | 3 | 0 | 1 | Ítem entregado. |
Ancient: 0 = Normal · 1 = Tipo A · 2 = Tipo B. Level: 0–15.
Canje: Ítem → Recurso (Thing)
Cambia un ítem por una “cosa”: Reset, MasterReset, WC, WP, GP, Ruud, Zen o LevelPoints.
VisualManager (EventID) | Type | Index | Level | Luck | Skill | Opt | ExcOpt | Ancient | Count | eType | Value | Descripción |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Ej: 40 | 12 | 15 | 5 | 1 | 1 | 4 | 2 | 0 | 3 | Ruud | 1500 | Entrega 1500 Ruud a cambio del ítem indicado (3 unidades). |
eType soportados: Reset · MasterReset · WC · WP · GP · Ruud · Zen · LevelPoints.
Canje: Recurso (Thing) → Ítem
Cambia una “cosa” por un ítem. Útil para tiendas especiales o recompensas por puntos.
VisualManager (EventID) | eType | Value | Type | Index | Level | Luck | Skill | Opt | ExcOpt | Ancient | Count | Descripción |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Ej: 41 | GP | 45 | 13 | 16 | 7 | 1 | 1 | 5 | 3 | 0 | 1 | Entrega el ítem configurado a cambio de 45 GP. |
Canje: Recurso (Thing) → Múltiples recursos
Intercambia una cosa por hasta 4 recompensas distintas. Ej.: 10 Reset → 1000 WC, 10 MasterReset, 45 GP.
VisualManager (EventID) | eType1 (Costo) | Value1 (Costo) | RType1 | Value1 | RType2 | Value2 | RType3 | Value3 | RType4 | Value4 | Descripción |
---|---|---|---|---|---|---|---|---|---|---|---|
Ej: 50 | Reset | 10 | WC | 1000 | MasterReset | 10 | GP | 45 | - | - | Un costo (Reset) y hasta 4 premios. RType1 es obligatorio; RType2–4 son opcionales. |
Buenas prácticas y advertencias
- IDs únicos: evita reutilizar el mismo
VisualManager(EventID)
en distintas secciones (salvo el vínculo lógico Acceso ↔ Destino). - Sky Event:
EventID = 1
es exclusivo. No lo dupliques. - Coordenadas: valida que X/Y estén definidas en
MonsterSetBase.txt
. - Gates: si usas Gate ≥ 0, la posición se toma de
Data/Gate.txt
e ignora Map/X/Y. - Rangos VIP:
AccountLevel
utiliza 1–3 para VIP. Usa 0 para todos. - Ancient: 0 = Normal · 1 = Tipo A · 2 = Tipo B.
Referencias rápidas
Concepto | Valores | Notas |
---|---|---|
Condición (Acceso) | 1: Zen · 2: Guild · 3: Ítems · 4: Denied | Se usa con “Acceso por requisitos”. |
PK Level | -1 · 0–6 | Ver tabla en “Definición del NPC”. |
eType / RType | Reset, MasterReset, WC, WP, GP, Ruud, Zen, LevelPoints | Identifica el tipo de “cosa” (recurso). |
Ancient | 0, 1, 2 | 0 = Normal, 1 = Tipo A, 2 = Tipo B. |
Level (Ítem) | 0–15 | Nivel del ítem requerido/entregado. |