Jump to content
  • 0

Clan And Ally Crest In Npc Html


Question

Recommended Posts

  • 0
Posted

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

  • 0
Posted (edited)
 
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
  • 0
Posted (edited)

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
  • 0
Posted

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

  • 0
Posted (edited)

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
  • 0
Posted

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

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.



  • Posts

    • just with this extender that I have shared it is not possible to start with c4 client, you have to make some changes to the extender and it works with c4 client perfectly. regarding the updates in this last revision   🔹dll is not packaged with vmprotect   New custom zone types have been added: 🔹 NO_NOBLESS begin MinX=84638 MaxX=92616 MinY=-87170 MaxY=-82018 MinZ=-6000 MaxZ=0 Type=NO_NOBLESS KickOutPos=83007/148057/-3464 end   ▶️ This zone checks if the character is noble. If it does not meet the condition, it will be automatically kicked to the indicated position (KickOutPos). 🔹 CUSTOM_SPAWN_ZONE begin MinX=77275 MaxX=85704 MinY=10122 MaxY=18066 MinZ=-8000 MaxZ=5000 Type=CUSTOM_SPAWN_ZONE OutPos=83007/148057/-3464 Spawns={{82984/18066/-5256}};{{79275/15147/-5248}};{{82922/14263/-5256}};{{83704/10122/-5288}} end ▶️ This zone allows characters, upon death, to respawn with full buff, CP, HP and MP if they press “Fixed”. They will only be able to revive in one of the positions defined in Spawns. 🔧 Both zones are fully configurable from territorydata.txt
    • Could you tell me what changed in this update?   more one question: Is it possible to log in through the c4 client instead of interlude? That would be great  
    • ➡ Discount for your purchase: JULY2025 (11% discount) ➡ Our Online Shop: https://socnet.store  ➡ Our SMM-Boosting Panel: https://socnet.pro  ➡ Telegram Shop Bot: https://socnet.shop  ➡ Telegram Support: https://t.me/solomon_bog  ➡ Telegram Channel: https://t.me/accsforyou_shop  ➡ Discord Support: @AllSocialNetworksShop  ➡ Discord Server: https://discord.gg/y9AStFFsrh  ➡ WhatsApp Support: https://wa.me/79051904467 ➡ WhatsApp Channel: https://whatsapp.com/channel/0029Vau0CMX002TGkD4uHa2n  ➡ Email Support: solomonbog@socnet.store 
    • ➡ Discount for your purchase: JULY2025 (11% discount) ➡ Our Online Shop: https://socnet.store  ➡ Our SMM-Boosting Panel: https://socnet.pro  ➡ Telegram Shop Bot: https://socnet.shop  ➡ Telegram Support: https://t.me/solomon_bog  ➡ Telegram Channel: https://t.me/accsforyou_shop  ➡ Discord Support: @AllSocialNetworksShop  ➡ Discord Server: https://discord.gg/y9AStFFsrh  ➡ WhatsApp Support: https://wa.me/79051904467 ➡ WhatsApp Channel: https://whatsapp.com/channel/0029Vau0CMX002TGkD4uHa2n  ➡ Email Support: solomonbog@socnet.store 
  • 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