Jump to content
  • 0

Clan And Ally Crest In Npc Html


dymek1984

Question

Recommended Posts

  • 0

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

Link to comment
Share on other sites

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

  • 0

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

  • 0

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

 

Gods

Link to comment
Share on other sites

  • 0

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

Link to comment
Share on other sites

  • 0

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

  • 0

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

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.



×
×
  • Create New...