TEOGR_hItMaKeR Posted April 4, 2017 Share Posted April 4, 2017 (edited) Βρήκα αυτόν τον κώδικα ### Eclipse Workspace Patch 1.0 #P aCis_gameserver Index: java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java =================================================================== --- java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java (revision 173) +++ java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java (working copy) @@ -27,6 +27,7 @@ import net.sf.l2j.gameserver.datatables.AdminCommandAccessRights; import net.sf.l2j.gameserver.datatables.MapRegionTable; import net.sf.l2j.gameserver.datatables.SkillTable; +import net.sf.l2j.gameserver.instancemanager.CastleManager; import net.sf.l2j.gameserver.instancemanager.ClanHallManager; import net.sf.l2j.gameserver.instancemanager.CoupleManager; import net.sf.l2j.gameserver.instancemanager.DimensionalRiftManager; @@ -38,6 +39,7 @@ import net.sf.l2j.gameserver.model.L2World; import net.sf.l2j.gameserver.model.actor.L2Character; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; +import net.sf.l2j.gameserver.model.entity.Castle; import net.sf.l2j.gameserver.model.entity.ClanHall; import net.sf.l2j.gameserver.model.entity.Couple; import net.sf.l2j.gameserver.model.entity.Siege; @@ -223,6 +225,11 @@ if (serverNews != null) sendPacket(new NpcHtmlMessage(1, serverNews)); } + + if (Config.ANNOUNCE_CASTLE_LORDS) + { + notifyCastleOwner(activeChar); + } PetitionManager.getInstance().checkPetitionMessages(activeChar); @@ -321,4 +328,18 @@ { return "[C] 03 EnterWorld"; } + private void notifyCastleOwner(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("Lord " + activeChar.getName() + " Of " + castle.getName() + " Castle is now online!"); + } + } + } } \ No newline at end of file Index: java/net/sf/l2j/Config.java =================================================================== --- java/net/sf/l2j/Config.java (revision 173) +++ java/net/sf/l2j/Config.java (working copy) @@ -80,6 +80,7 @@ public static boolean ALT_GAME_NEW_CHAR_ALWAYS_IS_NEWBIE; public static boolean ALT_MEMBERS_CAN_WITHDRAW_FROM_CLANWH; public static boolean REMOVE_CASTLE_CIRCLETS; + public static boolean ANNOUNCE_CASTLE_LORDS; /** Manor */ public static int ALT_MANOR_REFRESH_TIME; @@ -717,6 +718,7 @@ ALT_GAME_NEW_CHAR_ALWAYS_IS_NEWBIE = Boolean.parseBoolean(clans.getProperty("AltNewCharAlwaysIsNewbie", "False")); ALT_MEMBERS_CAN_WITHDRAW_FROM_CLANWH = Boolean.parseBoolean(clans.getProperty("AltMembersCanWithdrawFromClanWH", "False")); REMOVE_CASTLE_CIRCLETS = Boolean.parseBoolean(clans.getProperty("RemoveCastleCirclets", "True")); + ANNOUNCE_CASTLE_LORDS = Boolean.parseBoolean(clans.getProperty("AnnounceCastleLords", "false")); ALT_MANOR_REFRESH_TIME = Integer.parseInt(clans.getProperty("AltManorRefreshTime", "20")); ALT_MANOR_REFRESH_MIN = Integer.parseInt(clans.getProperty("AltManorRefreshMin", "00")); Index: config/clans.properties =================================================================== --- config/clans.properties (revision 173) +++ config/clans.properties (working copy) @@ -37,6 +37,9 @@ #Remove Castle circlets after a clan lose its castle or a player leaves a clan? - default true RemoveCastleCirclets = True +# Announce castle lords on enter game? - default false +AnnounceCastleLords = False + #============================================================= # Manor Config #============================================================= Και καθώς προσπαθούσα να τον περάσω στο acis 367 μου έβγαζε έρρορ σε αυτά τα σημεία clan.getHasCastle εδώ Announcements.getInstance και εδώ ... Sorry αλλά είμαι λίγο newbie σαυτά ... Έχω αλλάξει το l2pcinstance σε player παρεπιπτόντως Αν κάποιος μπορεί να με βοηθήσει ! Here is the code at pastebin https://pastebin.com/TKzBDwk6 made by sweets Ο κώδικας στο πάστεμπιν από τον sweets Edited April 4, 2017 by TEOGR_hItMaKeR Quote Link to comment Share on other sites More sharing options...
0 Tryskell Posted April 4, 2017 Share Posted April 4, 2017 (edited) It's hasCastle(), and announceToAll broadcast type has been moved on Broadcast.java under announceToOnlinePlayers. Edited April 4, 2017 by Tryskell Quote Link to comment Share on other sites More sharing options...
0 tazerman2 Posted April 4, 2017 Share Posted April 4, 2017 stile mou team na se help Quote Link to comment Share on other sites More sharing options...
0 TEOGR_hItMaKeR Posted April 4, 2017 Author Share Posted April 4, 2017 (edited) It's hasCastle(), and announceToAll broadcast type has been moved on Broadcast.java under announceToOnlinePlayers. (EN) EDIT I cant use image for some reason stile mou team na se help EDIT 2 Δες τα μηνύματα σου see here if you can http://imgient.com/image/RDLz Edited April 4, 2017 by TEOGR_hItMaKeR Quote Link to comment Share on other sites More sharing options...
0 melron Posted April 4, 2017 Share Posted April 4, 2017 (edited) Στο 367 η μέθοδος clan.hasCastle() ειναι τύπου Boolean. Οπότε το check σου ειναι -> if (clan.hasCastle()) Δες τι όρισμα πρέπει να βάλεις εδω CastleManager.getInstance().getCastleById(Integer (δηλαδη το ID της clan)) Announcements... if (clan != null) { if (clan.hasCastle()) { Castle castle = CastleManager.getInstance().getCastleById(clan.getClanId()); if ((castle != null) && (activeChar.getObjectId() == clan.getLeaderId())) Broadcast.announceToOnlinePlayers("Lord " + activeChar.getName() + " Of " + castle.getName() + " Castle is now online!"); } } Edited April 4, 2017 by melron Quote Link to comment Share on other sites More sharing options...
0 TEOGR_hItMaKeR Posted April 4, 2017 Author Share Posted April 4, 2017 (edited) Στο 367 η μέθοδος clan.hasCastle() ειναι τύπου Boolean. Οπότε το check σου ειναι -> if (clan.hasCastle()) Δες τι όρισμα πρέπει να βάλεις εδω CastleManager.getInstance().getCastleById(Integer (δηλαδη το ID της clan)) Announcements... λοιπόν τώρα τα 2 πάνω διορθώθηκαν ωστόσο συνεχίζει το 3 το οποίο άλλαξα έτσι όπως το έχεις συγκεκριμένα το Broadcast ... Edit 2 το έκανα import από το l2j.gameserver.util το Broadcast και διορθώθηκε private void notifyCastleOwner(Player activeChar) { L2Clan clan = activeChar.getClan(); if (clan != null) { if (clan.hasCastle()) { Castle castle = CastleManager.getInstance().getCastleById(clan.getClanId()); if ((castle != null) && (activeChar.getObjectId() == clan.getLeaderId())) Broadcast.announceToOnlinePlayers("Lord " + activeChar.getName() + " Of " + castle.getName() + " Castle is now online!"); } } } παραπάνω είναι ο κώδικας έτσι όπως τον έχω κάνει τώρα Edited April 4, 2017 by TEOGR_hItMaKeR Quote Link to comment Share on other sites More sharing options...
0 melron Posted April 4, 2017 Share Posted April 4, 2017 Τι πρόβλημα έχεις με το Broadcast? Quote Link to comment Share on other sites More sharing options...
0 TEOGR_hItMaKeR Posted April 4, 2017 Author Share Posted April 4, 2017 (edited) Τι πρόβλημα έχεις με το Broadcast? Τιποτα το έφτιαξα θέλω να βάλω επίσης να κάνει και τους hero επομένως το έχω κάνει έτσι private void notifyCastleOwner(Player activeChar) { if (activeChar.isHero()) { Broadcast.announceToOnlinePlayers("Hero "+activeChar.getName()+" has been logged in."); } L2Clan clan = activeChar.getClan(); if (clan != null) { if (clan.hasCastle()) { Castle castle = CastleManager.getInstance().getCastleById(clan.getClanId()); if ((castle != null) && (activeChar.getObjectId() == clan.getLeaderId())) Broadcast.announceToOnlinePlayers("Lord " + activeChar.getName() + " Of " + castle.getName() + " Castle is now online!"); } } } αλλά για να βάλω και τους hero στα config τι πρέπει να βάλω εδώ if (Config.ANNOUNCE_CASTLE_LORDS) { notifyCastleOwner(activeChar); ? ευχαριστώ πολύ για την βοήθεια παρεπιπτόντως εμένα μου φαίνονται λίγο κινέζικα προς το παρόν ! Edited April 4, 2017 by TEOGR_hItMaKeR Quote Link to comment Share on other sites More sharing options...
0 melron Posted April 4, 2017 Share Posted April 4, 2017 (edited) για το announce των heroes θα πρεπει να το βαλεις στο αρχειο Enterworld.java σε ξεχωριστο if (αν εχεις config για heroes announce) Edited April 4, 2017 by melron Quote Link to comment Share on other sites More sharing options...
0 TEOGR_hItMaKeR Posted April 4, 2017 Author Share Posted April 4, 2017 (edited) για το announce των heroes θα πρεπει να το βαλεις στο αρχειο Enterworld.java στο enterworld.java είμαστε :P και έφτιαξα το κάτω (το έβαλα ) δες το private void notifyCastleOwner(Player activeChar) { if (activeChar.isHero()) { Broadcast.announceToOnlinePlayers("Hero "+activeChar.getName()+" has been logged in."); } L2Clan clan = activeChar.getClan(); if (clan != null) { if (clan.hasCastle()) { Castle castle = CastleManager.getInstance().getCastleById(clan.getClanId()); if ((castle != null) && (activeChar.getObjectId() == clan.getLeaderId())) Broadcast.announceToOnlinePlayers("Lord " + activeChar.getName() + " Of " + castle.getName() + " Castle is now online!"); } } } if (Config.ANNOUNCE_CASTLE_LORDS) { notifyCastleOwner(activeChar); απλά υποθέτω οτι πρέπει να βάλω και κάτι σε αυτό το σημείο στο οποίο βάλαμε για τους castle lords Edited April 4, 2017 by TEOGR_hItMaKeR Quote Link to comment Share on other sites More sharing options...
0 melron Posted April 4, 2017 Share Posted April 4, 2017 if (Config.ANNOUNCE_CASTLE_LORDS) { αν εχεις μεσα εκει το announce για τους heroes και το config αυτο το βαλεις false , τοτε δεν θα γινει announce... βαλτο εκτος αυτης της συνθηκης Quote Link to comment Share on other sites More sharing options...
0 TEOGR_hItMaKeR Posted April 4, 2017 Author Share Posted April 4, 2017 Μάλλον έχεις καταλάβει λάθος (δεν βοηθάει και το edit του forum ) ! Λοιπόν ο αρχικός κώδικας ήταν αυτός εδώ https://pastebin.com/TKzBDwk6 πρόσεξε τις γραμμές από 27 έως 31 είναι για το enterword.java έπειτα πιο κάτω τις γραμμές από 39 μέχρι 52 τις οποίες μου έδωσες ήδη το φιξ αλλά πρόσθεσα και αυτό if (activeChar.isHero()) { Broadcast.announceToOnlinePlayers("Hero "+activeChar.getName()+" has been logged in."); } οπότε έχει γίνει έτσι private void notifyCastleOwner(Player activeChar) { if (activeChar.isHero()) { Broadcast.announceToOnlinePlayers("Hero "+activeChar.getName()+" has been logged in."); } L2Clan clan = activeChar.getClan(); if (clan != null) { if (clan.hasCastle()) { Castle castle = CastleManager.getInstance().getCastleById(clan.getClanId()); if ((castle != null) && (activeChar.getObjectId() == clan.getLeaderId())) Broadcast.announceToOnlinePlayers("Lord " + activeChar.getName() + " Of " + castle.getName() + " Castle is now online!"); } } } ρωτάω επομένως για τους hero δεν χρειάζεται να προσθέσω τίποτα δίπλα στις γραμμές 27 έως 31 ; ώστε να τους βάλω και αυτούς στα config ? Quote Link to comment Share on other sites More sharing options...
0 melron Posted April 4, 2017 Share Posted April 4, 2017 (edited) Μαλον εσυ δεν εχεις καταλαβει :P Θελεις 2 features . announce clan lord kai announce hero on LOGIN Οποτε Καλα εκανες και εβαλες ενα IF που βλεπει το Config.ANNOUNCE_CASTLE_LORDS αν ειναι true για να κανει announce τους lords. Αν εσυ θελεις οι απλοι heroes να γινονται announce δεν θα πας να το βαλεις μεσα στο IF για τους castle lords... Το καταλαβες τι εννοω? το : private void notifyCastleOwner(Player activeChar) θα δουλεψει αν το Config.ANNOUNCE_CASTLE_LORDS ειναι true. Αν ειναι False και εσυ εχεις βαλει τους heroes τοτε τι? Edited April 4, 2017 by melron Quote Link to comment Share on other sites More sharing options...
0 TEOGR_hItMaKeR Posted April 4, 2017 Author Share Posted April 4, 2017 (edited) αχαα τώρα public static void Announcements(Player activeChar) { if (activeChar.isHero()) { Broadcast.announceToOnlinePlayers("Hero "+activeChar.getName()+" has been logged in."); } L2Clan clan = activeChar.getClan(); if (clan != null) { if (clan.hasCastle()) { Castle castle = CastleManager.getInstance().getCastleById(clan.getClanId()); if ((castle != null) && (activeChar.getObjectId() == clan.getLeaderId())) Broadcast.announceToOnlinePlayers("Lord " + activeChar.getName() + " Of " + castle.getName() + " Castle is now online!"); } } } αλλά τι πρέπει να βάλω επάνω; σε αυτό που είχα if (Config.ANNOUNCE_CASTLE_LORDS) { notifyCastleOwner(activeChar); } Έτσι ; if (Config.ANNOUNCE_CASTLE_LORDS) { Announcements(activeChar); } if (Config.ANNOUNCE_HERO_PLAYERS) { Announcements(activeChar); } Edited April 4, 2017 by TEOGR_hItMaKeR Quote Link to comment Share on other sites More sharing options...
0 melron Posted April 4, 2017 Share Posted April 4, 2017 (edited) Θα στο κανω πιο αναλυτικα :P βαλε ακριβως αυτα: if (Config.ANNOUNCE_CASTLE_LORDS) { notifyCastleOwner(activeChar); } if (Config.ANNOUNCE_HEROES) if (activeChar.isHero()) Broadcast.announceToOnlinePlayers("Hero "+activeChar.getName()+" has been logged in."); μετα βαλε: private void notifyCastleOwner(Player activeChar) { L2Clan clan = activeChar.getClan(); if (clan != null) { if (clan.hasCastle()) { Castle castle = CastleManager.getInstance().getCastleById(clan.getClanId()); if ((castle != null) && (activeChar.getObjectId() == clan.getLeaderId())) Broadcast.announceToOnlinePlayers("Lord " + activeChar.getName() + " Of " + castle.getName() + " Castle is now online!"); } } } Και απλα φτιαξε ενα Config.ANNOUNCE_HEROES Edited April 4, 2017 by melron Quote Link to comment Share on other sites More sharing options...
0 TEOGR_hItMaKeR Posted April 4, 2017 Author Share Posted April 4, 2017 (edited) μμ ναι ευχαριστώ πάρα πολύ :) Νομίζω όμως και το δικό μου σωστό είναι έτσι όπως το έχω κάνει :P Βασικά το πρόβλημα με το δικό μου είναι να το βάλω στα config και τα 2 δεν ξέρω αν θα δουλέψει με το δικό σου όμως το πρόβλημα θα είναι αν πχ είναι και hero και castle lord θα τον γράφει 2 φορές Edited April 4, 2017 by TEOGR_hItMaKeR Quote Link to comment Share on other sites More sharing options...
Question
TEOGR_hItMaKeR
Βρήκα αυτόν τον κώδικα
Και καθώς προσπαθούσα να τον περάσω στο acis 367 μου έβγαζε έρρορ σε αυτά τα σημεία
εδώ
και εδώ ...
Sorry αλλά είμαι λίγο newbie σαυτά ...
Έχω αλλάξει το l2pcinstance σε player παρεπιπτόντως
Αν κάποιος μπορεί να με βοηθήσει !
Here is the code at pastebin https://pastebin.com/TKzBDwk6 made by sweets Ο κώδικας στο πάστεμπιν από τον sweets
Edited by TEOGR_hItMaKeRLink to comment
Share on other sites
22 answers to this question
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.