dymek1984 Posted December 10, 2014 Share Posted December 10, 2014 It is possible to add clan and ally crest to npc html, i would like to add these crests to pvp/pk npc. Quote Link to comment Share on other sites More sharing options...
0 ViperTech Posted December 11, 2014 Share Posted December 11, 2014 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.. Quote Link to comment Share on other sites More sharing options...
0 drake2wow Posted December 11, 2014 Share Posted December 11, 2014 it is Quote Link to comment Share on other sites More sharing options...
0 Monkey D. Luffy Posted December 12, 2014 Share Posted December 12, 2014 (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 December 12, 2014 by Monkey D. Luffy Quote Link to comment Share on other sites More sharing options...
0 SweeTs Posted December 12, 2014 Share Posted December 12, 2014 He is talking about htm.. Quote Link to comment Share on other sites More sharing options...
0 Zake Posted December 13, 2014 Share Posted December 13, 2014 I didn't get your request. You want the caslte owner's crest to be shown in the html menu? Where exactly? Quote Link to comment Share on other sites More sharing options...
0 dymek1984 Posted December 14, 2014 Author Share Posted December 14, 2014 I mean in html, not crests for NPC. Quote Link to comment Share on other sites More sharing options...
0 Bobi Posted December 14, 2014 Share Posted December 14, 2014 (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 Tester 1 1 the same way that oly manager show the heroes name and crests ? Edited December 14, 2014 by Bobi Quote Link to comment Share on other sites More sharing options...
0 SweeTs Posted December 14, 2014 Share Posted December 14, 2014 lol guys stop that useless spam if you dont understand. Its plain simple. clan crest inside htm. Gods Quote Link to comment Share on other sites More sharing options...
0 Zake Posted December 14, 2014 Share Posted December 14, 2014 if i understand right ..... when u open ranking npc you want to see something like this ? Player pvp pk Tester 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 Quote Link to comment Share on other sites More sharing options...
0 Tessa Posted December 14, 2014 Share Posted December 14, 2014 (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 December 14, 2014 by Tessa Quote Link to comment Share on other sites More sharing options...
0 T9Text Posted June 26, 2015 Share Posted June 26, 2015 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 :/ Quote Link to comment Share on other sites More sharing options...
0 Tryskell Posted June 26, 2015 Share Posted June 26, 2015 (edited) Its bugged :/ Not a bug. The black sheep was tired and decided to sleep. Edited June 26, 2015 by Tryskell Quote Link to comment Share on other sites More sharing options...
0 Rootware Posted June 26, 2015 Share Posted June 26, 2015 Offtopic. On the L2OFF NPC uses crest of clan who own castle? Quote Link to comment Share on other sites More sharing options...
0 vampir Posted June 26, 2015 Share Posted June 26, 2015 Offtopic. On the L2OFF NPC uses crest of clan who own castle? Yes Quote Link to comment Share on other sites More sharing options...
0 Rootware Posted June 26, 2015 Share Posted June 26, 2015 Yes It's relevant only for town NPC or for all L2NpcInstance inside the castle zone? Quote Link to comment Share on other sites More sharing options...
Question
dymek1984
It is possible to add clan and ally crest to npc html, i would like to add these crests to pvp/pk npc.
Link to comment
Share on other sites
16 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.