Jump to content

Recommended Posts

Posted (edited)

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
  • Like 1
Posted

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...
  • 9 months later...
  • 7 months later...
Posted (edited)

_log -> LOGGER

 

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

Edited by SweeTs
Posted

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

Posted

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.

Posted

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...

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 account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • Both are in-game bots. I'm looking for an out-of-game bot ((one that doesn’t require the L2 client).     Hmm, never heard about this bot. Will check, thank you
    • 🎉 L2Mid is back! After a 3-year pause, we’re launching a new Interlude server based on the original Interlude client (old school 😉).   What to expect • The classic Interlude spirit • Old friends, rival clans, and returning legends • A season focused on pure nostalgia   This may be our final Interlude server. (maybe 😉) 🗓️ Opening: December 5, 2025 at 20:00 (GMT+2)   https://l2mid.com
    • Hello, i was wondering if there's a guide on how to add the enchanting armor glow system from  Ertheia or Lindvior to hi5?
    • I imported this file using Unreal Engine 2 Runtime, modified it, saved it back, and then placed it on the client. When I run the game and wear this back accessory, the client crashes!     2025.10.28 03:52:59 OS : Windows XP 5.1 (Build: 2600) CPU : GenuineIntel  Intel(R) Core(TM) i3-6100 CPU @ 3.70GHz @ 3697 MHz 1023MB RAM Video : NVIDIA GeForce GT 730 (3064) PosCode : TS4(273) -119:-62:-1474 4/1 [0] SkeletalMesh MFighter_Fuckl2jangel.MFighter_Fuckl2jangel: Serial size mismatch: Got 383399, Expected 383403 History: LoadObject <- (SkeletalMesh MFighter_Fuckl2jangel.MFighter_Fuckl2jangel 8376427==8376427/8376498 7993028 383403) <- ULinkerLoad::Preload <- PreLoadObjects <- UObject::EndLoad <- UObject::StaticLoadObject <- (Engine.Mesh MFighter_Fuckl2jangel.MFighter_Fuckl2jangel NULL) <- UMeshComponent::LoadMeshComponent <- UMeshContainer::UpdateMeshComponents <- APawn::UpdateMeshComponents <- User::UpdatePawnMeshContainerByItem <- User::UpdatePawnMeshContainer <- User::SetPawnResource <- NCPawnView_InvenItemWnd::OnRButtonDown <- NCVirtualWndMain::SetFocusingWindow <- NCVirtualWndMain::DispatchWndMsg <- NConsoleWnd::DispatchWndMsg <- NConsoleWnd::MasterConsoleEventProcess <- UEngine::InputEvent <- UWindowsViewport::CauseInputEvent <- UWindowsViewport::UpdateInput <- UViewport::ReadInput <- APlayerController::Tick <- ALineagePlayerController::Tick <- TickAllActors <- ULevel::Tick <- (NetMode=0) <- UMasterLevel::Tick <- TickLevel <- UGameEngine::Tick <- UpdateWorld <- MainLoop   I don't know what the reason is. Can you help me?
  • 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