Noticias:

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

Menú Principal

Mensajes recientes

#71
L2 | Apartado de Soporte / Re:Modificar comando Dressme
Último mensaje por Swarlog - Nov 05, 2025, 11:40 PM
Claro, puedes usar esto:

@Override
    public String onEnterWorld(L2PcInstance player)
    {
        // Check to login
        if (COMMAND_DRESSME_ENABLE)
        {
            for(Player character : World.getAroundPlayers(player))
            {
                player.setVar("showVisualChange", "-1", -1);
                player.sendPacket(new CharInfo(character, player));
            }
        }
        
        return null;
    }

De este modo al conectar, directamente hace que cargue el showVisualChange.

Pero ya te digo, este comando esta algo desactualizado.. los hay mucho mejores :P
#72
L2 | Apartado de Soporte / Re:Npc que suba de nivel
Último mensaje por Swarlog - Nov 05, 2025, 11:38 PM
No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.Buenas, alguien me ayudaria a crear un npc que de lvl up a 85 plis?

Intenta crearlo para aprender, aqui te dejo el codigo para subir nivel:

if (event.equalsIgnoreCase("level"))
		{
			if (player.getLevel() < 85)
				{
					player.getStat().addLevel((byte) (1));
					
					player.broadcastStatusUpdate();
					player.broadcastUserInfo();
					player.sendPacket(new UserInfo(player));
					player.sendPacket(new ExBrExtraUserInfo(player));
					
					player.sendMessage("Enhorabuena, el nivel de vuestro personaje ha aumentado!");
				}
				else
				{
					player.sendMessage("Ya habeis alcanzado el nivel maximo permitido!");
				}
		}

Cada vez que le des al boton, te da 1 nivel más.
#73
L2 | Apartado de Soporte / Re:problemas con los puntos de...
Último mensaje por Swarlog - Nov 05, 2025, 11:38 PM
No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.hola tengo un problema los char tienen mucha defensa.... miren el screen

No puedes ver este adjunto.

En las properties, revisa el limite de puntos de defensa.

Allí especificas cuanto es el límite y lo tienes más controlado.
#74
L2 | Apartado de Soporte / Re:Como pasar de int a String
Último mensaje por Swarlog - Nov 05, 2025, 11:37 PM
No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.Hola, pues eso. Estoy haciendo un código y necesito saber como puedo hacerlo.

Gracias.

No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.
#75
L2 | Apartado de Soporte / Re:Como cambiar color del nomb...
Último mensaje por Swarlog - Nov 05, 2025, 11:36 PM
No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.Alguien puede decirme como puedo cambiarle el color del nombre/titulo a un npc determinado

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

METODO 1.- Modificar el cliente:

Abres el "npcname-e.dat" y lo modificas a tu gusto.





METODO 2.- Es ya crear un valor en L2PcInstance por ejemplo (estilo fake player) y desde ahí otorgarle el color deseado. Ejemplo:

fpc.titleColor = Integer.decode("0x" + rset.getString("title_color"));

Que puedes añadirlo en las properties/config directamente y luego añadir dicho check al No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate., ejemplo:

En donde dice:

writeD(0x00); // Title color 0=client default

Sustituir por el deseado:

if (npc.isChampion)
{
    writeD(0x00); // Title color 0=client default
}
else
{
    writeD(fpc.titleColor);
}
#76
L2 | Apartado de Soporte / Re:Bonus Vip Html
Último mensaje por Swarlog - Nov 05, 2025, 11:35 PM
Mmm.. veo que te has complicado un poco, te propongo lo siguiente:

En la misma clase que creaste para el bonus en el data, pon esto:

@Override
	public String onEnterWorld(L2PcInstance player)
	{
		if (player.getInventory().getInventoryItemCount(ITEM_VIP, 0) != 0)
		{
			// Messages to login
			player.sendMessage("Vip Systen Enabled!");
			
			// Send HTML
			String _vipHtm = HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/html/vip.htm");
			if (_vipHtm != null)
			{
				player.sendPacket(new NpcHtmlMessage(_vipHtm));
			}
		}
		
		return null;
	}

Así evitas tocar el core y cuantas menos cosas toquemos mejor.
#77
L2 | Apartado de Soporte / Re:Bonus de adena
Último mensaje por Swarlog - Nov 05, 2025, 11:35 PM
No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.Buenas, quiero implementar en mi servidor un bonus de adena ya sea bien por item o por buff, algo parecido como la Rune of experience y necesito un poco de ayuda, alguien me echa una manito? >.<  ;D ;D ;D

Ahora en L2j-Server High Five, esta el sistema de drop mucho más optimizado y los cambios son mínimos. Eso si, tienes muchas formas de hacerlo, te comento algunas de ellas:

1.- CORE:

Solo debes de fijarte en el documento No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate., el valor utilizado es el indicado aqui debajo. Solo debes de añadir los cambios necesarios para que haga el efecto deseado.

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

// Updates database
float adenaRate = Config.RATE_DROP_AMOUNT_MULTIPLIER.getOrDefault(Inventory.ADENA_ID, 1f);
float adenaRateVip = Config.RATE_DROP_AMOUNT_MULTIPLIER_VIP.getOrDefault(Inventory.ADENA_ID, 1f);

if (Config.RATE_DROP_AMOUNT_MULTIPLIER_VIP_ENABLED)
{
	if ((item.getId() == Inventory.ADENA_ID) && (count < (10000 * adenaRateVip)))
	{
		// Small adena changes won't be saved to database all the time
		if ((GameTimeController.getInstance().getGameTicks() % 5) == 0)
		{
			item.updateDatabase();
		}
	}
	else
	{
		item.updateDatabase();
	}
}
else
{
	if ((item.getId() == Inventory.ADENA_ID) && (count < (10000 * adenaRate)))
	{
		// Small adena changes won't be saved to database all the time
		if ((GameTimeController.getInstance().getGameTicks() % 5) == 0)
		{
			item.updateDatabase();
		}
	}
	else
	{
		item.updateDatabase();
	}
}



2.- DATA:

Puedes crear una nueva clase que registre todos los mobs o los deseados y que cuando los mates, si cumples X pues el rate sea aumentado. Este método es mucho más sencillo y tienes mucho menos que tocar.

Ejemplo:

@Override
    public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
    {
        long _adenaVip = npc.getAdena() / (1 - (BONUS_RATE_ADENA / 100));
		killer.addAdena("BONUS", _adenaVip, npc, true);
		 killer.sendMessage("Bonus Adena:" + _adenaVip + "!");
        return null;
    }
#78
L2 | Apartado de Soporte / Re:Cambiar precio y SP de una ...
Último mensaje por Swarlog - Nov 05, 2025, 11:34 PM
No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.Hola, me gustaria saber como puedo cambiarle el precio y el coste de puntos de sp al comprar una skill o mejorarla. Gracias

Es muy facil te vas a esta ruta

L2J_DataPack\dist\game\data\skillTrees

Y miras el classSkillTree.xml, tienes mas skills en otros ficheros de esa carpeta

Cita de: djjose
Cita de: swarlog
Cita de: djjoseEs muy facil te vas a esta ruta

L2J_DataPack\dist\game\data\skillTrees

Y miras el classSkillTree.xml, tienes mas skills en otros ficheros de esa carpeta

Pero ahí no te indica las adenas que cuesta subir dicha skill al mejorarla (codex + adenas + SP).

En caso de que se refiera a ENCANTAR SKILLS que piden adena, sp y X Codex, tienes que editar este fichero

enchantSkillGroups
#79
L2 | Apartado de Soporte / Re:CTF ayuda porfavor
Último mensaje por Swarlog - Nov 05, 2025, 11:32 PM
Posiblemente el error sea una mala configuracion, revisa las properties del event engine y verifica que los valores sean los correctos.

Sin información no puedo ayudar...
#80
L2 | Apartado de Soporte / Re:Restringir profesion(3er ca...
Último mensaje por Swarlog - Nov 05, 2025, 11:29 PM
Supongo que dices esto...

1.- Crea valores:

// SubClass No-Permitida:
    // 0 = BaseClass
    // 1 = 1?SubClass
    // 2 = 2?Subclass
    // 3 = 3?SubClass
    private static final int ClaseRequerida = 0;

2.- Crear condiciones:

    if (player.getClassIndex() == ClaseRequerida)
    {
        if (player.getLevel() >= 76)
        {
            // TODO: Aqui indicar que pasa si cumple con lo establecido, en este caso si tiene la clase base activa y es mayor o igual a nivel 76
        }
    }

Si además quieres que solo se oculte el html cuando estés con una subclase utiliza lo que te puse arriba:

    if (player.getClassIndex() != 0) // Si no es clase base
    {
        if (player.getLevel() >= 76) // No se si quieres esto, que revise el nivel del pj.
        {
            return false; // Anulamos que aparezca el HTML
        }
    }