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!!! Quote
^Wyatt Posted September 2, 2012 Posted September 2, 2012 You're hardcoding L2PcInstance with no reason... btw seems that the code achieves its purpose... Quote
`Heroin Posted September 2, 2012 Posted September 2, 2012 btw seems that the code achieves its purpose... Nice one! Quote
Dulens. Posted September 2, 2012 Posted September 2, 2012 It can be only with 2 lines in enteworld. Anyway, good share. Quote
RaFaaa Posted September 2, 2012 Posted September 2, 2012 I Think you need to make and configs... Quote
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 Quote
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!! :/ Quote
^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... Quote
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!!! Quote
Fanky Posted September 2, 2012 Posted September 2, 2012 holy crap dude. your coding way in this code is rly crap :P Quote
Mit-sos Posted September 2, 2012 Author Posted September 2, 2012 :-\ I can not find better way to coding this code!!! Quote
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); Quote
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 Quote
Recommended Posts
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.