Check this ;D
Index: D:/Workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java
===================================================================
--- D:/Workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java (revision 933)
+++ D:/Workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java (working copy)
@@ -36,6 +36,7 @@
import net.sf.l2j.gameserver.communitybbs.Manager.RegionBBSManager;
import net.sf.l2j.gameserver.datatables.MapRegionTable;
import net.sf.l2j.gameserver.handler.AdminCommandHandler;
+import net.sf.l2j.gameserver.instancemanager.CastleManager;
import net.sf.l2j.gameserver.instancemanager.PetitionManager;
import net.sf.l2j.gameserver.model.L2Clan;
import net.sf.l2j.gameserver.model.L2Effect;
@@ -287,7 +288,15 @@
}
if (activeChar.getClan() != null)
+ {
activeChar.sendPacket(new PledgeSkillList(activeChar.getClan()));
+ int castleId = CastleManager.getCharCastle(activeChar);
+ if (activeChar.isCastleLord(castleId) && castleId!=-1);
+ {
+ Announcements.getInstance().announceToAll("The Catle lord from "
+ +CastleManager.castleName(castleId)+", has Logged into the game.");
+ }
+ }
RegionBBSManager.getInstance().changeCommunityBoard();
Index: D:/Workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/instancemanager/CastleManager.java
===================================================================
--- D:/Workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/instancemanager/CastleManager.java (revision 933)
+++ D:/Workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/instancemanager/CastleManager.java (working copy)
@@ -26,6 +26,7 @@
import net.sf.l2j.L2DatabaseFactory;
import net.sf.l2j.gameserver.model.L2Clan;
import net.sf.l2j.gameserver.model.L2Object;
+import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.entity.Castle;
@@ -50,7 +51,7 @@
// =========================================================
// Data Field
- private List<Castle> _Castles;
+ private static List<Castle> _Castles;
// =========================================================
// Constructor
@@ -91,7 +92,7 @@
public void reload()
{
- this.getCastles().clear();
+ CastleManager.getCastles().clear();
this.load();
}
@@ -266,9 +267,56 @@
return -1;
}
- public final List<Castle> getCastles()
+ public final static List<Castle> getCastles()
{
if (_Castles == null) _Castles = new FastList<Castle>();
return _Castles;
}
+
+ public static int getCharCastle(L2PcInstance activeChar)
+ {
+ L2Clan clan = activeChar.getClan();
+ if (clan == null) return -1;
+ Castle castle;
+ for (int i = 0; i < getCastles().size(); i++)
+ {
+ castle = getCastles().get(i);
+ if (castle != null && castle.getOwnerId() == clan.getClanId()) return i;
+ }
+ return -1;
+
+ }
+
+ public static String castleName(int id)
+ {
+ String _castleName;
+ if (id<1||id>9)
+ {
+ _castleName = "noCastle";
+ return _castleName;
+ }
+ switch(id)
+ {
+ case 1:
+ return _castleName = "Gludio";
+ case 2:
+ return _castleName ="Dion";
+ case 3:
+ return _castleName ="Giran";
+ case 4:
+ return _castleName ="Oren";
+ case 5:
+ return _castleName ="Aden";
+ case 6:
+ return _castleName ="Innadril";
+ case 7:
+ return _castleName ="Goddard";
+ case 8:
+ return _castleName ="Rune";
+ case 9:
+ return _castleName ="Schuttgart";
+ default:
+ return _castleName ="None";
+ }
+ }
}
\ No newline at end of file
It's from L2J Forum !!!