Mit-sos Posted September 2, 2012 Posted September 2, 2012 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!!!
^Wyatt Posted September 2, 2012 Posted September 2, 2012 You're hardcoding L2PcInstance with no reason... btw seems that the code achieves its purpose...
`Heroin Posted September 2, 2012 Posted September 2, 2012 btw seems that the code achieves its purpose... Nice one!
Dulens. Posted September 2, 2012 Posted September 2, 2012 It can be only with 2 lines in enteworld. Anyway, good share.
Mit-sos Posted September 2, 2012 Author Posted September 2, 2012 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
Mit-sos Posted September 2, 2012 Author Posted September 2, 2012 It can be only with 2 lines in enteworld. Anyway, good share. ok now??? And thank you all!!! :D and sorryyy for my double post!! :/
^Wyatt Posted September 2, 2012 Posted September 2, 2012 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...
Mit-sos Posted September 2, 2012 Author Posted September 2, 2012 I know that we put the code inside enterworld but i prefer 'hardcoding L2PcInstance' :-) 'яєвøяиєĎ I made one config!!!
Fanky Posted September 2, 2012 Posted September 2, 2012 holy crap dude. your coding way in this code is rly crap :P
Mit-sos Posted September 2, 2012 Author Posted September 2, 2012 :-\ I can not find better way to coding this code!!!
Fanky Posted September 2, 2012 Posted September 2, 2012 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);
Mit-sos Posted September 2, 2012 Author Posted September 2, 2012 Thank you so much for your advice!!! But i had not think of it this way!!! The next time will post anything, i will try to do it well!!! :D
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now