dymek1984 Posted December 10, 2014 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
0 ViperTech Posted December 11, 2014 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
0 Monkey D. Luffy Posted December 12, 2014 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
0 Zake Posted December 13, 2014 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
0 dymek1984 Posted December 14, 2014 Author Posted December 14, 2014 I mean in html, not crests for NPC. Quote
0 Bobi Posted December 14, 2014 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
0 SweeTs Posted December 14, 2014 Posted December 14, 2014 lol guys stop that useless spam if you dont understand. Its plain simple. clan crest inside htm. Gods Quote
0 Zake Posted December 14, 2014 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
0 Tessa Posted December 14, 2014 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
0 T9Text Posted June 26, 2015 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
0 Tryskell Posted June 26, 2015 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
0 Rootware Posted June 26, 2015 Posted June 26, 2015 Offtopic. On the L2OFF NPC uses crest of clan who own castle? Quote
0 vampir Posted June 26, 2015 Posted June 26, 2015 Offtopic. On the L2OFF NPC uses crest of clan who own castle? Yes Quote
0 Rootware Posted June 26, 2015 Posted June 26, 2015 Yes It's relevant only for town NPC or for all L2NpcInstance inside the castle zone? Quote
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.
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.
Note: Your post will require moderator approval before it will be visible.