Jump to content
  • 0

Applying A Code Error Πέρασμα Κώδικα ...


TEOGR_hItMaKeR

Question

Βρήκα αυτόν τον κώδικα 

### 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 by TEOGR_hItMaKeR
Link to comment
Share on other sites

Recommended Posts

  • 0

It's hasCastle(), and announceToAll broadcast type has been moved on Broadcast.java under announceToOnlinePlayers.

Edited by Tryskell
Link to comment
Share on other sites

  • 0
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 by TEOGR_hItMaKeR
Link to comment
Share on other sites

  • 0

  1. Στο 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 by melron
Link to comment
Share on other sites

  • 0

  1. Στο 367 η μέθοδος clan.hasCastle() ειναι τύπου Boolean. Οπότε το check σου ειναι -> if (clan.hasCastle())
  2. Δες τι όρισμα πρέπει να βάλεις εδω CastleManager.getInstance().getCastleById(Integer (δηλαδη το ID της clan))
  3. 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 by TEOGR_hItMaKeR
Link to comment
Share on other sites

  • 0
Τι πρόβλημα έχεις με το 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 by TEOGR_hItMaKeR
Link to comment
Share on other sites

  • 0

για το announce των heroes θα πρεπει να το βαλεις στο αρχειο Enterworld.java σε ξεχωριστο if (αν εχεις config για heroes announce)

Edited by melron
Link to comment
Share on other sites

  • 0
για το 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 by TEOGR_hItMaKeR
Link to comment
Share on other sites

  • 0
if (Config.ANNOUNCE_CASTLE_LORDS)
{

αν εχεις μεσα εκει το announce για τους heroes και το config αυτο το βαλεις false , τοτε δεν θα γινει announce... βαλτο εκτος αυτης της συνθηκης

Link to comment
Share on other sites

  • 0

Μάλλον έχεις καταλάβει λάθος (δεν βοηθάει και το 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 ? 

Link to comment
Share on other sites

  • 0

Μαλον εσυ δεν εχεις καταλαβει :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 by melron
Link to comment
Share on other sites

  • 0

αχαα 

τώρα 

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 by TEOGR_hItMaKeR
Link to comment
Share on other sites

  • 0

Θα στο κανω πιο αναλυτικα :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 by melron
Link to comment
Share on other sites

  • 0

μμ ναι ευχαριστώ πάρα πολύ :) Νομίζω όμως και το δικό μου σωστό είναι έτσι όπως το έχω κάνει 

:P

 

Βασικά το πρόβλημα με το δικό μου είναι να το βάλω στα config και τα 2 δεν ξέρω αν θα δουλέψει με το δικό σου όμως το πρόβλημα θα είναι αν πχ είναι και hero και castle lord θα τον γράφει 2 φορές 

Edited by TEOGR_hItMaKeR
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.

Guest
Answer this question...

×   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

    • Hello everyne,   I meet an issue with those custom weapons texture:   Sacredium and Contristo Hammer   Example:   Retail: weapongrp   0    15881    3    1    15    5    0    LineageWeapons.Pereztear_Hammer_m00_dr            LineageWeaponsTex.Pereztear_Hammer_t00    LineageWeaponsTex.Pereztear_Hammer_t01            0    0    0    0    0    2    0    0    icon.weapon_pereztear_hammer_i01                    -1    1740    51    1    0    0        1        27    2    1    LineageWeapons.Pereztear_Hammer_m00_wp        2        2    LineageWeaponsTex.Pereztear_Hammer_t00    LineageWeaponsTex.Pereztear_Hammer_t01            4    ItemSound.spear_5    ItemSound.staff_2    ItemSound.spear_6    ItemSound.spear_9    ItemSound.itemdrop_staff    ItemSound.itemequip_staff        20    532    192    2    7    4    4    0    0    0    325    0    1    1    1000    0    -1    0    LineageEffect.c_u005        -5.00000000    0.00000000    0.00000000    1.00000000    0.15000001                        LineageWeapons.rangesample        1.00000000    1.00000000    1.00000000    22.00000000    0.00000000    0.00000000                            5    -1    -1    -1    -1    -1                 Custom:   0    25881    3    1    15    5    0    LineageWeapons.Pereztear_Hammer_m00_dr            LineageWeaponsTex.Pereztear_Hammer_t00    LineageWeaponsTex.Pereztear_Hammer_t01            0    0    0    0    0    2    0    0    icon.weapon_pereztear_hammer_i01                    -1    1740    51    1    0    0        1    icon.reward_01    27    2    1    LineageWeapons.Pereztear_Hammer_m00_wp        2        2    LineageWeaponsTex.Pereztear_Hammer_t00    LineageWeaponsTex.Pereztear_Hammer_t01            4    ItemSound.spear_5    ItemSound.staff_2    ItemSound.spear_6    ItemSound.spear_9    ItemSound.itemdrop_staff    ItemSound.itemequip_staff        20    532    192    2    7    4    4    0    0    0    325    0    1    1    1000    0    -1    0    LineageEffect.c_u005        -5.00000000    0.00000000    0.00000000    1.00000000    0.15000001                        LineageWeapons.rangesample        1.00000000    1.00000000    1.00000000    22.00000000    0.00000000    0.00000000                            5    -1    -1    -1    -1    -1               Everything is the same (i only changed the id and icon tag).   Any answer would be helpful.    Thanks in advance.  
    • Please all l2server and npc function list? Void... I trying add global chat.
    • Base High Five 5 mid rate low rate. Includes website L2OFF Configuration All official events of the original era Custom pve/pvp events option to create events according to request. Website with domain included Automatic donation system Powerful low maintenance server Powerful, low maintenance web server Current quality files Fully ready client Auto update system and automatic launcher for the client. More information privately, only people would be willing to purchase a fully assembled server with support and monthly updates. Minimal knowledge required     info@travelzen.info
    • High Five 5 server transferred What includes? Fully assembled server with DDOS protection Client ready with Launcher and auto Update Website with automatic donation payment system Account re-registration system by web page Pointer domain 700 to 800 visits per day on the server website Paid propaganda for 1 year on the voting website. Own server and web hosting [Low-cost maintenance] More information by private message. To acquire one of our active online servers with a daily player base, we require prior knowledge. If you do not have knowledge, you will not be able to acquire the server, much less the active player base.   Mail info server support :  info@travelzen.info
    • Server Aqua x50 is opening today!  Don't miss it! l2ember.online
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock