Jump to content

Announcements Castle Lords


Mit-sos

Recommended Posts

Hello everyone!!!

 

1. Makes Announcements the Castle Lords

2. Every time login he get a wellcome message

3. When login can be seen all online players in this time

 

Index: java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java
+++ java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java
@@ -36,6 +36,7 @@

import net.sf.l2j.Config;
import net.sf.l2j.L2DatabaseFactory;
+import net.sf.l2j.gameserver.Announcements;
import net.sf.l2j.gameserver.GameTimeController;
import net.sf.l2j.gameserver.GeoData;
import net.sf.l2j.gameserver.GmListTable;
@@ -9985,6 +9986,35 @@
		return _duelState;
	}
+ 	
+	public void CastleLordsAnnouncements()
+	{
+		if (Config.Announcements_CastleLord)
+          {
+		if (isCastleLord(3))
+		{		
+		Announcements.getInstance().announceToAll("Castle Lord of Giran"+getName()+"is currently online");
+		sendMessage("Welcome Lord "+getName());  
+		sendMessage("My lord There are "+L2World.getInstance().getAllPlayers().size()+" players online now");			
+		}
+		
+		if (isCastleLord(1))
+		{		
+		Announcements.getInstance().announceToAll("Castle Lord of Gludio"+getName()+"is currently online");
+		sendMessage("Welcome Lord "+getName());  
+		sendMessage("My lord There are "+L2World.getInstance().getAllPlayers().size()+" players online now");			
+		}
+	
+		if (isCastleLord(2))
+		{		
+		Announcements.getInstance().announceToAll("Castle Lord of Dion"+getName()+"is currently online");
+		sendMessage("Welcome Lord "+getName());  
+		sendMessage("My lord There are "+L2World.getInstance().getAllPlayers().size()+" players online now");			
+		}
+		
+		if (isCastleLord(4))
+		{		
+		Announcements.getInstance().announceToAll("Castle Lord of Oren"+getName()+"is currently online");
+		sendMessage("Welcome Lord "+getName());  
+		sendMessage("My lord There are "+L2World.getInstance().getAllPlayers().size()+" players online now");			
+		}
+		
+		if (isCastleLord(5))
+		{		
+		Announcements.getInstance().announceToAll("Castle Lord of Aden"+getName()+"is currently online");
+		sendMessage("Welcome Lord "+getName());  
+		sendMessage("My lord There are "+L2World.getInstance().getAllPlayers().size()+" players online now");			
+		}
+
+		if (isCastleLord(6))
+		{		
+		Announcements.getInstance().announceToAll("Castle Lord of Innadril"+getName()+"is currently online");
+		sendMessage("Welcome Lord "+getName());  
+		sendMessage("My lord There are "+L2World.getInstance().getAllPlayers().size()+" players online now");			
+		}
+		
+		if (isCastleLord(7))
+		{		
+		Announcements.getInstance().announceToAll("Castle Lord of Goddard"+getName()+"is currently online");
+		sendMessage("Welcome Lord "+getName());  
+		sendMessage("My lord There are "+L2World.getInstance().getAllPlayers().size()+" players online now");			
+		}
+	
+		if (isCastleLord(8))
+		{		
+		Announcements.getInstance().announceToAll("Castle Lord of Rune"+getName()+"is currently online");
+		sendMessage("Welcome Lord "+getName());  
+		sendMessage("My lord There are "+L2World.getInstance().getAllPlayers().size()+" players online now");			
+		}
+		
+		if (isCastleLord(9))
+		{		
+		Announcements.getInstance().announceToAll("Castle Lord of Schuttgart"+getName()+"is currently online");
+		sendMessage("Welcome Lord "+getName());  
+		sendMessage("My lord There are "+L2World.getInstance().getAllPlayers().size()+" players online now");			
+		}
+           }
+       }
+
	/**
	 * Sets up the duel state using a non 0 duelId.
	 * @param duelId 0=not in a duel
Index: java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java
===================================================================
--- java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java	
+++ java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java	
@@ -286,6 +287,7 @@
                 Hero.getInstance().getHeroes().containsKey(activeChar.getObjectId()))
             activeChar.setHero(true);

+        activeChar.CastleLordsAnnouncements();
         setPledgeClass(activeChar);
===================================================================
--- java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java	
+++ java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java
@@ -1185,5 +1185,46 @@

/** Alt Settings for devs */
    public static boolean ALT_DEV_NO_QUESTS;
    public static boolean ALT_DEV_NO_SPAWNS;

+
+   public static boolean Announcements_CastleLord;
+
/**
     * This class initializes all global variables for configuration.<br>
     * If key doesn't appear in properties file, a default value is setting on by this class.
     * @see #CONFIGURATION_FILE for configuring your server.
     */
    public static void load()

@@ 1904,17 1904,138 @@

                L2JMOD_WEDDING_SAMESEX                  = Boolean.parseBoolean(L2JModSettings.getProperty("WeddingAllowSameSex", "False"));
                L2JMOD_WEDDING_FORMALWEAR               = Boolean.parseBoolean(L2JModSettings.getProperty("WeddingFormalWear", "True"));
                L2JMOD_WEDDING_DIVORCE_COSTS            = Integer.parseInt(L2JModSettings.getProperty("WeddingDivorceCosts", "20"));
+
+               Announcements_CastleLord                = Boolean.parseBoolean(L2JModSettings.getProperty("AnnouncementsCastleLords", "False"));
+
                    if (TVT_EVENT_PARTICIPATION_NPC_ID == 0)
                {
                    TVT_EVENT_ENABLED = false;
                    System.out.println("TvTEventEngine[Config.load()]: invalid config property -> TvTEventParticipationNpcId");
                }

Index: java/Config/L2jmods.Properties
===================================================================
--- java/Config/L2jmods.Properties	
+++ java/Config/L2jmods.Properties
@@ -140,1 +140,1 @@

+#==================================================
+#          Castle Lords Announcements             =
+#==================================================
+#Set this options to true to enable Announcements.
+AnnouncementsCastleLords = False

 

If there is any bug-error just do a reply!!!

Link to comment
Share on other sites

You're hardcoding L2PcInstance with no reason... btw seems that the code achieves its purpose...

 

Is Most good if i have the pcinstance code and then load the method in enterworld!!!

 

GJ...nice share buddy

 

THANKS :D

 

Link to comment
Share on other sites

Is Most good if i have the pcinstance code and then load the method in enterworld!!!

 

THANKS :D

Hardcoding L2PcInstance is never the best option.

Just create a file with a simple void-->  public static void freakChecker(L2PcInstance char) and call from enterworld freakChecker(activeChar);

and then put your code inside that void.

You can also put the code inside enterworld... but not the best way...

Link to comment
Share on other sites

sure you can.

enterworld.java

private void announceCastleOwner(L2PcInstance activeChar)
{
	L2Clan clan = activeChar.getClan();

	if (clan != null)
	{
		if (clan.getHasCastle() > 0)
		{
			Castle castle = CastleManager.getInstance().getCastleById(clan.getHasCastle());
			if ((castle != null) && (activeChar.getObjectId() == clan.getLeaderId()))
Announcements.getInstance().announceToAll(message");
		}
	}
}

 

and then,

announceCastleOwner(activeChar);

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Posts

    • New locations pool! Try it and make your effency greater with Asocks.com!
    • Greetings, Adventurers! 🎉 Announcement: L2 Noxis OBT Server Launch! 🎉 Adventurers of Aden, the moment you’ve been waiting for is here! We are thrilled to announce the official launch of the L2 Noxis Open Beta Test (OBT) Server! Gear up and get ready to embark on an epic journey in the world of Lineage 2 with a plethora of new and exciting features: 🔥 Features of L2 Noxis: Path of Rogue server: Modern Auto-Hunting System: Enjoy a seamless and modern auto-hunting experience, just like in the Essence chronicle. Free To Play Structure: Earn Einhasad's Golden Coins and Tarot cards through various in-game activities, making your adventure rewarding and enjoyable. Long-Term Project: Join us in a long-term commitment to provide a stable, exciting, and evolving gaming environment. Robust Anti-Cheat System: Play with confidence knowing that we have implemented a top-notch anti-cheat system to ensure a fair and balanced gaming experience. Newest Chronicle - Lineage 2: Path of Rogue: Experience the latest chronicle with new content, challenges, and adventures. New Classes: Unleash the power of the Death Knight and the mystical abilities of the Shinemaker. Discover new skills, abilities, and strategies with these exciting classes. Enhanced Rates: Enjoy 2x experience points and 2x adena drop rate, making your progression faster and more rewarding. Join us on this incredible journey and be among the first to experience the wonders of the L2 Noxis server. Gather your friends, form alliances, and conquer the lands of Aden!   📅 Launch Date: [July 10, 2024]   Stay tuned for more updates and get ready to explore, battle, and thrive in the world of L2 Noxis! For more information and instructions how to join the OBT, visit our official website: L2Noxis.com See you in Aden, warriors! 🌟     L2 Noxis Team  
  • Topics

×
×
  • Create New...