Skip to content

Npc Crest

Featured Replies

Ok Guys I found This Code And Because I found Errors And A lot Of Peoples Can't Inside This Code I Share For Help The Peoples :

 

CREDITS IS BY L2JFROZEN PROJECT

 

REWORK BY ME  (TEST BY ME)

 

This is Java Code :

Index: head-src/com/l2jfrozen/Config.java
===================================================================
--- head-src/com/l2jfrozen/Config.java (wersja 669)
+++ head-src/com/l2jfrozen/Config.java (kopia robocza)
@@ -2239,6 +2239,7 @@
public static String FARM2_CUSTOM_MESSAGE;
public static String PVP1_CUSTOM_MESSAGE;
public static String PVP2_CUSTOM_MESSAGE;
+ public static boolean SHOW_NPC_CREST;

//============================================================
public static void loadL2JFrozenConfig()
@@ -2357,6 +2358,7 @@
FARM2_CUSTOM_MESSAGE = L2JFrozenSettings.getProperty("Farm2CustomMeesage", "You have been teleported to Farm Zone 2!");
PVP1_CUSTOM_MESSAGE = L2JFrozenSettings.getProperty("PvP1CustomMeesage", "You have been teleported to PvP Zone 1!");
PVP2_CUSTOM_MESSAGE = L2JFrozenSettings.getProperty("PvP2CustomMeesage", "You have been teleported to PvP Zone 2!");
+ SHOW_NPC_CREST = Boolean.parseBoolean(L2JFrozenSettings.getProperty("ShowNpcCrest", "False"));
}
catch(Exception e)
{
Index: config/functions/l2jfrozen.properties
===================================================================
--- config/functions/l2jfrozen.properties (wersja 669)
+++ config/functions/l2jfrozen.properties (kopia robocza)
@@ -275,4 +275,8 @@
# -----------------------------------------
# Protector System Config  -
# -----------------------------------------
# Protector activate when a player this PK
ProtectorPlayerPK = False
# Protector activate when a player is flaged
ProtectorPlayerPVP = False
# Radius of action
ProtectorRadiusAction = 5000
# Skill ID used for the npc
ProtectorSkillId = 1170
# Skill Level used for npc
ProtectorSkillLevel = 13
ProtectorSkillTime = 600
# Npc Protector Message
ProtectorMessage = Hey You!, Never Kill On This Area, Go Read The Rules!
+
+#-------------------------------------------------
+# Show clan, alliance crests for territory NPC's.
+#-------------------------------------------------
+# Default: False
+ShowNpcCrest = True
\ No newline at end of file
Index: head-src/com/l2jfrozen/gameserver/network/serverpackets/NpcInfo.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/network/serverpackets/NpcInfo.java   (wersja 669)
+++ head-src/com/l2jfrozen/gameserver/network/serverpackets/NpcInfo.java   (kopia robocza)
@@ -19,11 +19,15 @@
 package com.l2jfrozen.gameserver.network.serverpackets;

 import com.l2jfrozen.Config;
+import com.l2jfrozen.gameserver.datatables.sql.ClanTable;
+import com.l2jfrozen.gameserver.managers.TownManager;
 import com.l2jfrozen.gameserver.model.L2Character;
+import com.l2jfrozen.gameserver.model.L2Clan;
 import com.l2jfrozen.gameserver.model.L2Summon;
 import com.l2jfrozen.gameserver.model.actor.instance.L2MonsterInstance;
 import com.l2jfrozen.gameserver.model.actor.instance.L2NpcInstance;
 import com.l2jfrozen.gameserver.model.actor.instance.L2PetInstance;
+import com.l2jfrozen.gameserver.model.zone.type.L2TownZone;

 /**
  * This class ...
@@ -46,6 +50,10 @@
    private int _collisionHeight, _collisionRadius;
    private String _name = "";
    private String _title = "";
+   int _clanCrest = 0;
+   int _allyCrest = 0;
+   int _allyId = 0;
+   int _clanId = 0;

    /**
     * @param _characters
@@ -99,6 +107,32 @@
          _title = t;
       }

+      if(Config.SHOW_NPC_CREST)
+      {
+         if(cha instanceof L2NpcInstance && cha.isInsideZone(L2Character.ZONE_PEACE) && cha.getCastle().getOwnerId() != 0)
+         {
+            int _x,_y,_z;
+            _x = cha.getX();
+            _y = cha.getY();
+            _z = cha.getZ();
+            L2TownZone Town;
+            Town = TownManager.getInstance().getTown(_x, _y, _z);
+            if(Town != null)
+            {
+               int townId = Town.getTownId();
+               if(townId != 33 && townId != 22)
+               {
+                  L2Clan clan;
+                  clan = ClanTable.getInstance().getClan(cha.getCastle().getOwnerId());
+                  _clanCrest = clan.getCrestId();
+                  _clanId = clan.getClanId();
+                  _allyCrest = clan.getAllyCrestId();
+                  _allyId = clan.getAllyId();
+               }
+            }
+         }
+      }
+
       _x = _activeChar.getX();
       _y = _activeChar.getY();
       _z = _activeChar.getZ();
@@ -187,12 +221,23 @@
       writeD(0000); // hmm karma ??

       writeD(_activeChar.getAbnormalEffect()); // C2
-      writeD(0000); // C2
-      writeD(0000); // C2
-      writeD(0000); // C2
-      writeD(0000); // C2
-      writeC(0000); // C2

+      if(Config.SHOW_NPC_CREST)
+      {
+         writeD(_clanId);
+         writeD(_clanCrest);
+         writeD(_allyId);
+         writeD(_allyCrest);
+      }
+      else
+      {
+         writeD(0000);
+         writeD(0000);
+         writeD(0000);
+         writeD(0000);
+         writeC(0000);
+      }
+
       writeC(0x00); // C3  team circle 1-blue, 2-red
       writeF(_collisionRadius);
       writeF(_collisionHeight);
Index: head-src/com/l2jfrozen/gameserver/model/entity/siege/Castle.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/model/entity/siege/Castle.java   (wersja 669)
+++ head-src/com/l2jfrozen/gameserver/model/entity/siege/Castle.java   (kopia robocza)
@@ -90,6 +90,7 @@
    private int _taxPercent = 0;
    private double _taxRate = 0;
    private int _treasury = 0;
+   private boolean _showNpcCrest = false;
    private L2CastleZone _zone;
    private L2CastleTeleportZone _teleZone;
    private L2Clan _formerOwner = null;
@@ -364,6 +365,7 @@
       }

       updateOwnerInDB(clan); // Update in database
+      setShowNpcCrest(false);

       if(getSiege().getIsInProgress())
       {
@@ -552,6 +554,7 @@

             _taxPercent = rs.getInt("taxPercent");
             _treasury = rs.getInt("treasury");
+            _showNpcCrest = rs.getBoolean("showNpcCrest");
          }

          rs.close();
@@ -854,6 +857,20 @@
       return _treasury;
    }

+   public final boolean getShowNpcCrest()
+   {
+      return _showNpcCrest;
+   }
+
+   public final void setShowNpcCrest(boolean showNpcCrest)
+   {
+      if(_showNpcCrest != showNpcCrest)
+      {
+         _showNpcCrest = showNpcCrest;
+         updateShowNpcCrest();
+      }
+   }
+
    public FastList<SeedProduction> getSeedProduction(int period)
    {
       return period == CastleManorManager.PERIOD_CURRENT ? _production : _productionNext;
@@ -1324,6 +1341,36 @@
       }
    }

+   public void updateShowNpcCrest()
+   {
+      Connection con = null;
+      PreparedStatement statement;
+      try
+      {
+         con = L2DatabaseFactory.getInstance().getConnection();
+
+         statement = con.prepareStatement("UPDATE castle SET showNpcCrest = ? WHERE id = ?");
+         statement.setString(1, String.valueOf(getShowNpcCrest()));
+         statement.setInt(2, getCastleId());
+         statement.execute();
+         statement.close();
+      }
+      catch (Exception e)
+      {
+         _log.info("Error saving showNpcCrest for castle " + getName() + ": " + e.getMessage());
+      }
+      finally
+      {
+         try
+         {
+            con.close();
+         }
+         catch (Exception e)
+         {
+         }
+      }
+   }
+
    public boolean isNextPeriodApproved()
    {
       return _isNextPeriodApproved;

And Execute This File :

ALTER TABLE castle ADD showNpcCrest enum('true','false') DEFAULT 'false' NOT NULL;

(Don't Spam Please I Hope To Help People With This Topic)

Edited by Cronia

  • Author

Not even adapted to latest revision, put right credits.

yea is not for last revision But Anyway Easy to inside...I give Credits...Is not my Code...I found Frozen Project...Because I found errors in my Console I fix for work...:)

  • 1 year later...

work for custom npc's? 

  • 9 months later...

Hey guys, i have problem with the NpcInfo code, can someone help me please!?

This is the errors:  http://prntscr.com/adf53l

  • 7 months later...

i get 1 error guys..can anyone help me?

 

here's the image --> https://postimg.org/image/nxbnci0fv/

_log -> LOGGER

 

Also why you add this code? Frozen already have it implemented, I believe.

Edited by SweeTs

i have rev 1132 and this code is not implemented...also l2jfrozen's website is down and i can't use their codes

Nooo way, it's not implemented?! Damn it, what a surprise :D

Hey guys, i have problem with the NpcInfo code, can someone help me please!?

 

This is the errors:  http://prntscr.com/adf53l

Your imports are probably wrong.

Press Ctrl+Shift+O for imports auto correct.

Your imports are probably wrong.

Press Ctrl+Shift+O for imports auto correct.

No.. It's syntax issue. He facked up the code totally. Also, who cares it's so damn old post.

No.. It's syntax issue. He facked up the code totally. Also, who cares it's so damn old post.

I didn't noticed that .. :P

  • 4 weeks later...

einai na exoun ta npc to crest ths clan pou exei to castle ths polhs. px an exeis mia clan pou exei to giran castle ta npcs 8a exoun apo dipla to crest ths clan sou

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.