Noticias:

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

Menú Principal

Mensajes recientes

#51
Herederos Sin Reinos / Re:HSR: Antes de empezar....
Último mensaje por Swarlog - Nov 12, 2025, 05:29 PM
Ahí añadí unos cuantos más, poco a poco  ;)

No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.Por favor, dale caña a la información sobre los carros de combate y maquinas de guerra/asedio.

Quiero ver como lo desarrollas para las partidas de rol en modo campaña.

Ok, me lo apunto para las próximas.

Si veis algo a mejorar, reparar o añadir, crear un Ticket y lo desarrollamos.

No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.
#52
Herederos Sin Reinos / Re:HSR: Antes de empezar....
Último mensaje por Neron - Nov 10, 2025, 12:02 AM
No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.Empezando con el contenido..

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

Cualquier sugerencia, ayuda, corrección, etc.. se puede publicar directamente en el proyecto.

Por favor, dale caña a la información sobre los carros de combate y maquinas de guerra/asedio.

Quiero ver como lo desarrollas para las partidas de rol en modo campaña.
#53
Presentaciones y Despedidas / Re:Presentación a la Comunidad...
Último mensaje por Swarlog - Nov 09, 2025, 11:59 PM
No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.Buenos días.
Mi nombre es Yisus, apasionado del cine y los videojuegos!
Espero poder aportar a la comunidad!
Saludos ;)

Todo un placer teneros entre nosotros, bienvenido a la comunidad!

Saludos ^^
#54
Presentaciones y Despedidas / Presentación a la Comunidad!
Último mensaje por Ermaquina - Nov 09, 2025, 11:28 AM
Buenos días.
Mi nombre es Yisus, apasionado del cine y los videojuegos!
Espero poder aportar a la comunidad!
Saludos ;)
#55
Herederos Sin Reinos / Re:HSR: Antes de empezar....
Último mensaje por Swarlog - Nov 06, 2025, 04:57 PM
Empezando con el contenido..

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

Cualquier sugerencia, ayuda, corrección, etc.. se puede publicar directamente en el proyecto.
#56
L2 | Apartado de Soporte / Re:L2JDevs - No puedo votar ev...
Último mensaje por Swarlog - Nov 05, 2025, 11:59 PM
No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.Hola chicos espero que estén bien .. estuve probando el server pack de L2JDevs exelente trabajo  ;)
Descargue el source desde el gitlab compile y todo bien , pero a la hora cuando comienza el conteo regresivo de el Event Engine  spawneo el Npc con el ID 36600  pero no aparece ningun evento para votar  :'( sera un error de mi parte?

Desde ya muchas gracias .

Solo tienes que implementarlos, por defecto viene sin eventos. Para ello, abre el panel de su configuración desde el panel de admin y allí activas los eventos que quieras.

De todos modos en un unos días subiré un par de eventos para que vean que tal funciona el engine ^^

Al igual que el Mods Engine, para que vean como funciona.
#57
L2 | Apartado de Soporte / Re:Ayuda Npc Buffer Rin4´s Aci...
Último mensaje por Swarlog - Nov 05, 2025, 11:58 PM
Cambia esto y me cuenta:

private NpcBuffer()
	{
		super(-1, "custom");
		addStartNpc(NPC_ID);
		addFirstTalkId(NPC_ID);
		addTalkId(NPC_ID);
	}
#58
L2 | Apartado de Soporte / Re:Error evento LastMan (Jfroz...
Último mensaje por Sacrifice - Nov 05, 2025, 11:57 PM
diff --git a/dist/game/data/scripts/custom/ServicesManager/ServicesManager.java b/dist/game/data/scripts/custom/ServicesManager/ServicesManager.java
index bd25b76..ed2c1c0 100644
--- a/dist/game/data/scripts/custom/ServicesManager/ServicesManager.java
+++ b/dist/game/data/scripts/custom/ServicesManager/ServicesManager.java
@@ -22,23 +22,25 @@
 import java.sql.PreparedStatement;
 import java.util.logging.Logger;
 
+import com.l2jserver.Config;
 import com.l2jserver.commons.database.pool.impl.ConnectionFactory;
 import com.l2jserver.gameserver.data.sql.impl.CharNameTable;
 import com.l2jserver.gameserver.data.sql.impl.ClanTable;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.olympiad.OlympiadManager;
-import com.l2jserver.gameserver.model.quest.Quest;
 import com.l2jserver.gameserver.model.quest.QuestState;
 import com.l2jserver.gameserver.network.serverpackets.MagicSkillUse;
+
+import ai.npc.AbstractNpcAI;
 
 /**
  * NPC Services Manager AI.
  * @author Sacrifice
  */
-public final class ServicesManager extends Quest
+public final class ServicesManager extends AbstractNpcAI
 {
-	public static final Logger _log = Logger.getLogger(ServicesManager.class.getName());
+	public static final Logger LOG = Logger.getLogger(ServicesManager.class.getName());
 	
 	// NPC Id
 	private static final int NPC_ID = 10001;
@@ -93,7 +95,8 @@
 	
 	private ServicesManager()
 	{
-		super(-1, ServicesManager.class.getSimpleName(), "custom");
+		super(ServicesManager.class.getSimpleName(), "custom");
+		
 		addStartNpc(NPC_ID);
 		addFirstTalkId(NPC_ID);
 		addTalkId(NPC_ID);
@@ -161,7 +164,8 @@
 			}
 			if (((player.getClan().getLevel() <= 1) || (player.getClan().getLevel() == 2) || (player.getClan().getLevel() == 3) || (player.getClan().getLevel() == 4)))
 			{
-				player.getClan().setLevel(player.getClan().getLevel() + 1);
+				player.getClan().changeLevel(player.getClan().getLevel() + 1);
+				player.getClan().setLevel(player.getClan().getLevel());
 				player.getClan().broadcastClanStatus();
 				player.sendMessage("Your clan is now level " + player.getClan().getLevel() + ".");
 				player.setTarget(player);
@@ -173,7 +177,8 @@
 				if (st.getQuestItemsCount(CLAN_LEVEL_ITEMS_ID[0]) >= CLAN_LEVEL_ITEMS_COUNT[0])
 				{
 					st.takeItems(CLAN_LEVEL_ITEMS_ID[0], CLAN_LEVEL_ITEMS_COUNT[0]);
-					player.getClan().setLevel(player.getClan().getLevel() + 1);
+					player.getClan().changeLevel(player.getClan().getLevel() + 1);
+					player.getClan().setLevel(player.getClan().getLevel());
 					player.getClan().broadcastClanStatus();
 					player.sendMessage("Your clan is now level " + player.getClan().getLevel() + ".");
 					player.setTarget(player);
@@ -187,7 +192,8 @@
 				if (st.getQuestItemsCount(CLAN_LEVEL_ITEMS_ID[1]) >= CLAN_LEVEL_ITEMS_COUNT[1])
 				{
 					st.takeItems(CLAN_LEVEL_ITEMS_ID[1], CLAN_LEVEL_ITEMS_COUNT[1]);
-					player.getClan().setLevel(player.getClan().getLevel() + 1);
+					player.getClan().changeLevel(player.getClan().getLevel() + 1);
+					player.getClan().setLevel(player.getClan().getLevel());
 					player.getClan().broadcastClanStatus();
 					player.sendMessage("Your clan is now level " + player.getClan().getLevel() + ".");
 					player.setTarget(player);
@@ -201,7 +207,8 @@
 				if (st.getQuestItemsCount(CLAN_LEVEL_ITEMS_ID[2]) >= CLAN_LEVEL_ITEMS_COUNT[2])
 				{
 					st.takeItems(CLAN_LEVEL_ITEMS_ID[2], CLAN_LEVEL_ITEMS_COUNT[2]);
-					player.getClan().setLevel(player.getClan().getLevel() + 1);
+					player.getClan().changeLevel(player.getClan().getLevel() + 1);
+					player.getClan().setLevel(player.getClan().getLevel());
 					player.getClan().broadcastClanStatus();
 					player.sendMessage("Your clan is now level " + player.getClan().getLevel() + ".");
 					player.setTarget(player);
@@ -215,7 +222,8 @@
 				if (st.getQuestItemsCount(CLAN_LEVEL_ITEMS_ID[3]) >= CLAN_LEVEL_ITEMS_COUNT[3])
 				{
 					st.takeItems(CLAN_LEVEL_ITEMS_ID[3], CLAN_LEVEL_ITEMS_COUNT[3]);
-					player.getClan().setLevel(player.getClan().getLevel() + 1);
+					player.getClan().changeLevel(player.getClan().getLevel() + 1);
+					player.getClan().setLevel(player.getClan().getLevel());
 					player.getClan().broadcastClanStatus();
 					player.sendMessage("Your clan is now level " + player.getClan().getLevel() + ".");
 					player.setTarget(player);
@@ -229,7 +237,8 @@
 				if (st.getQuestItemsCount(CLAN_LEVEL_ITEMS_ID[4]) >= CLAN_LEVEL_ITEMS_COUNT[4])
 				{
 					st.takeItems(CLAN_LEVEL_ITEMS_ID[4], CLAN_LEVEL_ITEMS_COUNT[4]);
-					player.getClan().setLevel(player.getClan().getLevel() + 1);
+					player.getClan().changeLevel(player.getClan().getLevel() + 1);
+					player.getClan().setLevel(player.getClan().getLevel());
 					player.getClan().broadcastClanStatus();
 					player.sendMessage("Your clan is now level " + player.getClan().getLevel() + ".");
 					player.setTarget(player);
@@ -243,7 +252,8 @@
 				if (st.getQuestItemsCount(CLAN_LEVEL_ITEMS_ID[5]) >= CLAN_LEVEL_ITEMS_COUNT[5])
 				{
 					st.takeItems(CLAN_LEVEL_ITEMS_ID[5], CLAN_LEVEL_ITEMS_COUNT[5]);
-					player.getClan().setLevel(player.getClan().getLevel() + 1);
+					player.getClan().changeLevel(player.getClan().getLevel() + 1);
+					player.getClan().setLevel(player.getClan().getLevel());
 					player.getClan().broadcastClanStatus();
 					player.sendMessage("Your clan is now level " + player.getClan().getLevel() + ".");
 					player.setTarget(player);
@@ -263,7 +273,7 @@
 			}
 			catch (Exception e)
 			{
-				_log.info("Error updating clan level for player " + player.getName() + ". Error: " + e);
+				LOG.info("Error updating clan level for player " + player.getName() + ". Error: " + e);
 			}
 			player.getClan().broadcastClanStatus();
 			return "ClanLevelUp.htm";
@@ -292,7 +302,7 @@
 					{
 						return "ChangeName.htm";
 					}
-					if (!newName.matches("^[a-zA-Z0-9]+$"))
+					if (!newName.matches(Config.PLAYER_NAME_TEMPLATE.toString()))
 					{
 						player.sendMessage("Incorrect name. Please try again.");
 						return "ChangeName.htm";
@@ -311,7 +321,7 @@
 					{
 						if (LOG_NAME_CHANGES)
 						{
-							_log.info("Character Name Change Info: Character original name: " + player.getName() + ", Character new name: " + newName);
+							LOG.info("Character Name Change Info: Character original name: " + player.getName() + ", Character new name: " + newName);
 						}
 						st.takeItems(CHANGE_NAME_ITEM_ID, CHANGE_NAME_ITEM_COUNT);
 						player.setName(newName);
@@ -386,7 +396,7 @@
 						player.sendMessage("Your clan must be at least level " + CLAN_MIN_LEVEL + " to change the name.");
 						return "ChangeClanName.htm";
 					}
-					else if (!newClanName.matches("^[a-zA-Z0-9]+$"))
+					else if (!newClanName.matches(Config.CLAN_NAME_TEMPLATE.toString()))
 					{
 						player.sendMessage("Incorrect name. Please try again.");
 						return "ChangeClanName.htm";
@@ -405,7 +415,7 @@
 					{
 						if (LOG_CLAN_NAME_CHANGES)
 						{
-							_log.info("Clan Name Change Info: Clan original name: " + player.getClan().getName() + ", Clan new name: " + newClanName + ", Clan Leader: " + player.getName());
+							LOG.info("Clan Name Change Info: Clan original name: " + player.getClan().getName() + ", Clan new name: " + newClanName + ", Clan Leader: " + player.getName());
 						}
 						st.takeItems(CHANGE_NAME_ITEM_ID, CHANGE_NAME_ITEM_COUNT);
 						player.getClan().setName(newClanName);
@@ -420,7 +430,7 @@
 						}
 						catch (Exception e)
 						{
-							_log.info("Error updating clan name for player " + player.getName() + ". Error: " + e);
+							LOG.info("Error updating clan name for player " + player.getName() + ". Error: " + e);
 						}
 						player.sendMessage("Your new clan name is " + newClanName);
 						player.getClan().broadcastClanStatus();
#59
L2 | Apartado de Soporte / Re:Problemas con NPCs caminant...
Último mensaje por Swarlog - Nov 05, 2025, 11:56 PM
No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.Saludos, soy nuevo aquí :) Trabajo en un servidor L2J Hi5 y me faltan apenas un par de cosas para realmente estabilizarlo, una de ellas son los NPCs caminantes.
Tengo un problema con ellos en general. He intentado hacer uno propio usando el No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate. como base (cambiando nombres y la id, por supuesto), he agregado las nuevas rutas en Routes.XML y lo he registrado en el script.cfg pero no funciona.

Entonces me dije "Tal vez pueda usar los que ya existen y cambiarlos", pero tampoco :/ Con los Sinister Prophets (caminantes que hay en todas las ciudades) no me permite cambiar sus rutas ni su posición sin que se estropee el NPC (se queda inmóvil)... A lo mucho pude cambiarles la apariencia exterior.
Siento que hay un sitio más que debe modificarse pero no sé cuál es o siquiera si aún existe (ya que los últimos archivos de L2jserver que han salido a la luz han cambiado en estructura, como el uso de los .xml en npcs, por ejemplo).

Llevo días rompiéndome la cabeza con esto u.u ¿Alguno/a podría ayudarme?

Revisa bien las modificaciones que realizaste en el archivo spawnlist.sql y el Routes.xml
#60
L2 | Apartado de Soporte / Re:Summons no atacan
Último mensaje por Swarlog - Nov 05, 2025, 11:55 PM
Dinos que emulador usas y que versión.

Actualmente en l2j funciona correctamente, si es el caso, verifica lo custom que añadiste.

Por otro lado, revisa tanto la configuración como los archivos de la geodata, si la tienes activada.