Noticias:

No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.

Menú Principal

Evento en Instancia

Iniciado por Deria, Oct 18, 2025, 01:34 PM

Tema anterior - Siguiente tema

Deria

Hola de nuevo, hoy traigo una nueva pregunta. ¿Como hago para que un evento se haga en una instancia? Estoy creando un evento 1 vs 1 a partir de uno que encontre en este foro y he puesto de lugar el castillo de rune (en el cespecito que tiene arriba xD). Pero si hay asedio, se ven los jugadores y molesta. ¿Alguna solución?

Swarlog

No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.Hola de nuevo, hoy traigo una nueva pregunta. ¿Como hago para que un evento se haga en una instancia? Estoy creando un evento 1 vs 1 a partir de uno que encontre en este foro y he puesto de lugar el castillo de rune (en el cespecito que tiene arriba xD). Pero si hay asedio, se ven los jugadores y molesta. ¿Alguna solución?

Mmm.. para estas cosas puedes fijarte por ejemplo en un evento que ya lo tenga; por ejemplo el TvT. De todos modos aquí tienes lo que necesitas, pero resumido ;)

CitarNo tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.

EVENT_IN_INSTANCE = L2JModSettings.getBoolean("EventInInstance", false);
EVENT_INSTANCE_FILE = L2JModSettings.getString("EventInstanceFile", "instancia.xml");

CitarNo tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.

Añadimos el Int que necesitamos:

/** Instance id<br> */
private static int _EventInstance = 0;

En donde da lugar el comienzo del evento, ejemplo "public static boolean startFight()", añadir lo siguiente:

if (Config.EVENT_IN_INSTANCE)
		{
			try
			{
				_EventInstance = InstanceManager.getInstance().createDynamicInstance(Config.EVENT_INSTANCE_FILE);
				InstanceManager.getInstance().getInstance(_EventInstance).setAllowSummon(false);
				InstanceManager.getInstance().getInstance(_EventInstance).setPvPInstance(true);
				InstanceManager.getInstance().getInstance(_EventInstance).setEmptyDestroyTime((Config.EVENT_START_LEAVE_TELEPORT_DELAY * 1000) + 60000L);
			}
			catch (Exception e)
			{
				_EventInstance = 0;
				_log.log(Level.WARNING, "EventEngine[Event.createDynamicInstance]: exception: " + e.getMessage(), e);
			}
		}

Y al final del evento, lo siguiente:

public static int getEventInstance()
	{
		return _EventInstance;
	}

Y listo, ya lo relacionas con tu evento y me dices!