Jump to content

NPC Crest For IL


Recommended Posts

  • 1 month later...

Hello mxc ..

 

Edw sas exw ena java code gia l2jFrozen

To i8ela egw kai to Fix kai egw to Mirazwmai me esas..

An 8elete na to valete se allo pack apla alakse to...

 

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 loadL2SCORIAConfig()
@@ -2357,6 +2358,7 @@
			FARM2_CUSTOM_MESSAGE = L2ScoriaSettings.getProperty("Farm2CustomMeesage", "You have been teleported to Farm Zone 2!");
			PVP1_CUSTOM_MESSAGE = L2ScoriaSettings.getProperty("PvP1CustomMeesage", "You have been teleported to PvP Zone 1!");
			PVP2_CUSTOM_MESSAGE = L2ScoriaSettings.getProperty("PvP2CustomMeesage", "You have been teleported to PvP Zone 2!");
+			SHOW_NPC_CREST = Boolean.parseBoolean(L2ScoriaSettings.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 @@
ProtectorSkillLevel = 13
ProtectorSkillTime = 600
# Npc Protector Message
-ProtectorMessage = Hey You!, Never Kill On This Area, Go Read The Rules!
\ No newline at end of file
+ProtectorMessage = Hey You!, Never Kill On This Area, Go Read The Rules!
+
+# Show clan, alliance crests for territory NPC's.
+# Default: False
+ShowNpcCrest = False
\ 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;

 

Episis Gia na min Bgazei error

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

 

Test : 100% work

Credits : Me [sokianoS

 

sokianos add me ligo sto msn p se esteila mynhma re c..

Link to comment
Share on other sites

  • 4 weeks later...

ta prota einai custom pos tha ta broume se l2j

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 loadL2SCORIAConfig()
@@ -2357,6 +2358,7 @@
			FARM2_CUSTOM_MESSAGE = L2ScoriaSettings.getProperty("Farm2CustomMeesage", "You have been teleported to Farm Zone 2!");
			PVP1_CUSTOM_MESSAGE = L2ScoriaSettings.getProperty("PvP1CustomMeesage", "You have been teleported to PvP Zone 1!");
			PVP2_CUSTOM_MESSAGE = L2ScoriaSettings.getProperty("PvP2CustomMeesage", "You have been teleported to PvP Zone 2!");
+			SHOW_NPC_CREST = Boolean.parseBoolean(L2ScoriaSettings.getProperty("ShowNpcCrest", "False"));
		}
		catch(Exception e)
		{

Link to comment
Share on other sites

  • 2 years later...

SHOW_NPC_CREST = Boolean.parseBoolean(L2ScoriaSettings.getProperty("ShowNpcCrest", "False"));

 

 

 

its

 

SHOW_NPC_CREST = Boolean.parseBoolean(L2JFrozenSettings.getProperty("ShowNpcCrest", "False"));

 

 

now work :D thx

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


  • Posts

    • DISCORD : utchiha_market telegram : https://t.me/utchiha_market SELLIX STORE : https://utchihamkt.mysellix.io/ Join our server for more products : https://discord.gg/hood-services https://campsite.bio/utchihaamkt  
    • Server Rates: » Xp 500x. » Sp 500x. » Aden 500x. » Drop 1x. » PartyXp 2x. » PartySp 2x. » Starting character level -61. Enchant rates: » Safe enchant +4. » Blessed and simple scrolls max enchant (+16). » Crystal scrolls max enchant (+20). » Simple enchant scrolls chance – 65%. » Blessed enchant scrolls chance – 100%. » Crystal enchant scrolls chance – 50% Augmentations: » Mid life stone skill chance – 5%. » High life stone skill chance – 10%. » Top life stone skill chance – 20%. » Augments 1+1 Unique features: » Main town – Giran » Automatic-Manual Potions. » Working 2 castle sieges. (Giran-Aden) » SPS cancel lasts 10 seconds and than buffs come back. » Stackable scrolls, lifestones, book of giants. » Unique pvp zone » More then 11 active raid bosses. » Wedding system. » Unique farming areas. » Npc skill enchanter. » Full npc buffer with auto buff. » Max count of buffs – 55. » Max subclasses – 4. » Free and no quest class change. » Free and no quest sub class. » Raid boss drop nobless item. » No weight limit. » Unique protection anti-hwy armor for archers/daggers etc. » Ingame password change. » Top pvp/pk/online ranks NPC. » Unique monsters & NPC. » Interlude retail skills. » Server up-time [24/7] [99]%. » Perfect class balance (all class can kill all class depending on players skill and setup knowledge,gear,augmentations). » Announcements on double kills triple kills etc. » Announcements on Grand Boss death , with the name of the killer as well as clan name of the player. » Information Npc in game with all servers infromations. Custom server gear : 1). Titanium Armor Lv.1 2). Epic Armor Lv.2 3). Epic Weapons-Kamikaze-Black S grade (Same Stats) 4). Demonic-Angelic Wings-Baium Hair-Custom Accessories (SameStats) 5). Custom Fighter/Mage tattoo Lv1-Lv2-Lv3 6). Shirt (STR,CON,INT +1) 7). Custom Shields Server Commands: .tvtjoin .tvtleave – Join or leave tvt event. .ctfjoin .ctfleave – Join or leave ctf event. .dmjoin .dmleave – Join of leave dm event. .online – current online players count. .repair – repairs stuck character in world. .menu – opens online menu panel. .exit – PVP zone exit in case you are bullied. .changepassword - Opens online menu then u can change ur password in game. .farm - Enable/disable autofarm Event system: » TVT event » CTF event » DM event » Tournament Event » Party Zone » Unique event shop. Olympiad game: » Retail olympiad game. » Competition period [1] week. » Olympiad start time [18:00] end [00:00] GMT+2. » New Heroes every Sunday.
    • Tomorrow grand opening lests go 🙂 
    • New season of Warfire X150 has been postponed to September 28th.
  • Topics

×
×
  • Create New...