Skip to content

Clan And Ally Crest In Npc Html

Featured Replies

It is possible to add clan and ally crest to npc html, i would like to add these crests to pvp/pk npc.

why to add npc crests? to show what?the owner of the castle?They are going to siege to have fun and pvp.. try to fix your castle wall bugs(wall pray - heal etc ..

dont waste your time writing,fixing this fail codes..

 
Create a .sql file and inside in Navicat
 
ALTER TABLE castle ADD showNpcCrest enum('true','false') DEFAULT 'false' NOT NULL;

Inside This Code in Project

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;

Edited by Monkey D. Luffy

It is possible to add clan and ally crest to npc html, i would like to add these crests to pvp/pk npc.

if i understand right .....

when u open ranking npc you want to see something like this ?

 

  Player          pvp      pk

21bkh9x.jpgTester      1          1

 

 

 

the same way that oly manager show the heroes name and crests ?

Edited by Bobi

lol guys stop that useless spam if you dont understand. Its plain simple. clan crest inside htm.

 

Gods

if i understand right .....

when u open ranking npc you want to see something like this ?

 

  Player          pvp      pk

21bkh9x.jpgTester      1          1

 

 

 

the same way that oly manager show the heroes name and crests ?

k, im gonna post it tomorrow cause i've got no time atm

Is this the big magic you trying to reveal? http://prntscr.com/5gqny7

Just create a replacer that gets the crest id, then the server id and concatenate them like this <img height=12 width=16 src="Crest.crest_%serverId%_%crest%">

 

EDIT: I think I should give an example  :lol:

Index: java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminEditChar.java
===================================================================
--- java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminEditChar.java	(revision 5)
+++ java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminEditChar.java	(working copy)
@@ -458,6 +458,8 @@
 		NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
 		adminReply.setFile("data/html/admin/"+filename);
 		adminReply.replace("%name%", player.getName());
+		adminReply.replace("%crest%", String.valueOf(player.getClan().getCrestId()));
+		adminReply.replace("%serverId%", String.valueOf(Config.SERVER_ID));
 		adminReply.replace("%level%", String.valueOf(player.getLevel()));
 		adminReply.replace("%clan%", String.valueOf(ClanTable.getInstance().getClan(player.getClanId())));
 		adminReply.replace("%xp%", String.valueOf(player.getExp()));

Enjoy! :P

Edited by Tessa

  • 6 months later...

Is this the big magic you trying to reveal? http://prntscr.com/5gqny7

Just create a replacer that gets the crest id, then the server id and concatenate them like this <img height=12 width=16 src="Crest.crest_%serverId%_%crest%">

 

EDIT: I think I should give an example  :lol:

Index: java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminEditChar.java
===================================================================
--- java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminEditChar.java	(revision 5)
+++ java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminEditChar.java	(working copy)
@@ -458,6 +458,8 @@
 		NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
 		adminReply.setFile("data/html/admin/"+filename);
 		adminReply.replace("%name%", player.getName());
+		adminReply.replace("%crest%", String.valueOf(player.getClan().getCrestId()));
+		adminReply.replace("%serverId%", String.valueOf(Config.SERVER_ID));
 		adminReply.replace("%level%", String.valueOf(player.getLevel()));
 		adminReply.replace("%clan%", String.valueOf(ClanTable.getInstance().getClan(player.getClanId())));
 		adminReply.replace("%xp%", String.valueOf(player.getExp()));

Enjoy! :P

 

Its bugged :/

 

NRkJ9jQ.png

Its bugged :/

 

NRkJ9jQ.png

 

Not a bug. The black sheep was tired and decided to sleep.

Edited by Tryskell

Offtopic. On the L2OFF NPC uses crest of clan who own castle?

Yes

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.