Jump to content

Recommended Posts

Posted

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!!!

Posted

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

 

Posted

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...

Posted

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);

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

    • 🤣 You were talking about security — I want you to prove that it's actually insecure, try to hack it or something. You're just talking without any evidence, and that's not right. Without the personal key that's generated for each site, you can't do anything. And by the way, boberKurwa isn't even used — it's a joke, and you totally fell for it. You're being very unconstructive. I appreciate criticism based on facts, and here's a fact: Sphere 2 has been running publicly since October, and there haven't been any successful hacking attempts. If you doubt that, go ahead and prove me wrong.  
    • When a conversation loses its direction and turns into pointless justifications, maybe the problem isn't who's right it's who's insecure. The phrase "there is nothing for me to prove" shows confidence or indifference. But let’s look at it in PHP. class Logan22 { public bool $hasSomethingToProve = false; public string $communicationMode = 'normal'; public bool $usesChatGPT = false; public function respond(string $input): string { if (str_contains($input, 'prove')) { return "I have nothing to prove."; } if (str_contains($input, 'defensive')) { $this->communicationMode = 'defensive'; return "You got defensive – did something feel threatening?"; } if (str_contains($input, 'ChatGPT')) { $this->usesChatGPT = true; return "Yes, I use it for speed, accuracy, and because my spelling sucks."; } return "What did you just say again?"; } }  
    • You wrote complete nonsense. Everything you said is utter rubbish from someone who doesn’t understand a thing. As for the ticking time bomb — go ahead and try to prove it. No one has managed so far, and trust me, there’ve been plenty of “smart guys” before you.    
    • Grab a proper launcher for Your server - update files whenever You need
    • ➡ Discount for your purchase: APRIL (10% discount) ➡ Our Online Shop: https://socnet.store  ➡ Our SMM-Boosting Panel: https://socnet.pro  ➡ Telegram Shop Bot: https://socnet.shop  ➡ Telegram Support: https://t.me/solomon_bog  ➡ Telegram Channel: https://t.me/accsforyou_shop  ➡ Discord Support: @AllSocialNetworksShop  ➡ Discord Server: https://discord.gg/y9AStFFsrh  ➡ WhatsApp Support: https://wa.me/79051904467 ➡ WhatsApp Channel: https://whatsapp.com/channel/0029Vau0CMX002TGkD4uHa2n  ➡ Email Support: solomonbog@socnet.store 
  • Topics

×
×
  • Create New...