No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.
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.
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.
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

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 votarsera un error de mi parte?
Desde ya muchas gracias .
private NpcBuffer()
{
super(-1, "custom");
addStartNpc(NPC_ID);
addFirstTalkId(NPC_ID);
addTalkId(NPC_ID);
}
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();
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?