optimousprime

Members
  • Content Count

    21
  • Joined

  • Last visited

  • Feedback

    N/A

Community Reputation

0 Neutral

About optimousprime

  • Rank
    Vassal

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. GENERAL RATES • x2500|•x2500 |• x2500 |• Xp/Sp x2. • Enchant - Simple 70% | Blessed 85% | Crystal 90% | Safe +6 | Max W+16 | Max A&J +12. • Blessed and simple scrolls max enchant (+12). • Unique features: • Castle sieges every week. • Unique pvp flag areas with reward. • More then 10 active raid bosses. • Wedding system. • Unique farming areas. • Npc skill enchanter. • Shops till top S grade. • Full npc buffer with auto buff. • Max count of buffs - 60. • Max subclasses - 4. • Free and no quest class change. • Free and no quest sub class. • Nobless from raid boss barakiel. • No weight limit. • No grade limit. • Quake pvp system. • Online password change. • Top 10 pvp/pk npc in game. • Augmentation system 50% (preconfigured). • Interlude retail skills. • Server up-time [24/7] [99]%. • Titanium Armor • Gold Weapons & Lendaria Weapons. • Cloaks & Epic Mask. • Perfect class balance. SERVER LAST MAN HERO • Description: Last-MAN Hero Standing Event is a free-for-all Event. • It's a fight involving many combatants/characters with your only goal to survive as long as you can. • Last player that stays alive on the battlefield is winning. • Players are transformed to prevent helping friends. • EventByTimeOfDay / 11:00 || 14:00 || 17:00 || 23:00 || hours.! SERVER TEAM VS TEAM • Description: In Team vs Team Event all participating members are divided in two sides (Red - Blue). • And the only goal is to kill as many players you can from the enemy side. • Each kill brings score to your Team. Respawn takes 5 seconds. • EventByTimeOfDay / 6:00 || 8:00 || 19:00 || 21:00 || hours.! SERVER FARM MOBS • Description: FARM EVENT Is auto mobs farm place on Primeval Isle. • The event take places every 40/Minute's. • You can go at Primeval by Gate Kepeer placed in Giran Town, you need to know that is dangerus area. • There is no protection for newbies. • EventByTimeOfDay / Auto system Every 40|| minutes.! SERVER CLAN WAR • CLAN-WAR Is for Powerfull clan Leaders Event. • It's a fight involving many Clan Leaders combatants/characters with your only goal to survive as long as you can. • Last Clan Leader that stays alive on the battlefield is winning. • Only Clan Leaders can participate on ClanWar event. • EventByTimeOfDay / 9:00 || 12:00 || 15:00 || 18:00 || 20:00 || hours.! SERVER KILL RAIDS • RAID BOSS Event is a free-for-all Event. • It's a fight involving many combatants/characters with your only goal to survive as long as you can. • Last player that stays alive on the battlefield is winning. • Event Duartion: 20 Minutes. • Notes: that you hit the raid boss you auto get blue avra & flag color. • EventByTimeOfDay / 10:00 || 13:00 || 16:00 || 24:00 || hours.! EXTRA FEATURES AND USEFUL INFO • Olympiad on week circle. 1 and 15 • New heroes every Week. • Olympiad needs 2 minimum participants to begin. • Class based option disabled. • Limit Enchant +12/+16 arm&weap on Match. • Hero name is Announced on Global Chat. CASTLE SIEGES & CLAN HALL • Giran Castle: Work 100% Siege every week. • Aden Castle: Work 100% Siege every week. • Goddard Castle: Work 100% Siege every week. • Rune Castle: Work 100% Siege every week. • Dion Castle: Work 100% Siege every week. • Gludio Castle: Work 100% Siege every week. • Schuttgart Castle: Work 100% Siege every week. • Clan Hall / Fuctional Retail mode work 100%. web : lineage2JvC web Site forumL2JVC - FORUM FACEBOOK: L2JVC-FACEBOOK-COMMUNITY
  2. send that problem here dude. the fixes of l2jfrozen
  3. bro i can you contak me lineage2jvc@gmail.com this is all the line bro /** * Save noblesse data to database */ protected synchronized void saveNobleData() { if (nobles == null || nobles.isEmpty()) { return; } try (Connection con = L2DatabaseFactory.getInstance().getConnection();) { for (int nobleId : nobles.keySet()) { StatsSet nobleInfo = nobles.get(nobleId); if (nobleInfo == null) { continue; } int charId = nobleId; int classId = nobleInfo.getInteger(CLASS_ID); String charName = nobleInfo.getString(CHAR_NAME); int points = nobleInfo.getInteger(POINTS); int compDone = nobleInfo.getInteger(COMP_DONE); int compWon = nobleInfo.getInteger(COMP_WON); int compLost = nobleInfo.getInteger(COMP_LOST); int compDrawn = nobleInfo.getInteger(COMP_DRAWN); boolean toSave = nobleInfo.getBool("to_save"); if (toSave) { try (PreparedStatement statement = con.prepareStatement(OLYMPIAD_SAVE_NOBLES)) { statement.setInt(1, charId); statement.setInt(2, classId); statement.setString(3, charName); statement.setInt(4, points); statement.setInt(5, compDone); statement.setInt(6, compWon); statement.setInt(7, compLost); statement.setInt(8, compDrawn); nobleInfo.set("to_save", false); updateNobleStats(nobleId, nobleInfo); statement.executeUpdate(); } } else { try (PreparedStatement statement = con.prepareStatement(OLYMPIAD_UPDATE_NOBLES)) { statement.setInt(1, points); statement.setInt(2, compDone); statement.setInt(3, compWon); statement.setInt(4, compLost); statement.setInt(5, compDrawn); statement.setInt(6, charId); statement.executeUpdate(); } } } } catch (SQLException e) { LOGGER.error("Olympiad.saveNobleData : Failed to save noblesse data to database: ", e); } }
  4. ok bro sec /** * Save noblesse data to database */ protected synchronized void saveNobleData() { if (nobles == null || nobles.isEmpty()) { return; } try (Connection con = L2DatabaseFactory.getInstance().getConnection();) { for (int nobleId : nobles.keySet()) { StatsSet nobleInfo = nobles.get(nobleId); if (nobleInfo == null) { continue; } int charId = nobleId; int classId = nobleInfo.getInteger(CLASS_ID); String charName = nobleInfo.getString(CHAR_NAME); int points = nobleInfo.getInteger(POINTS); int compDone = nobleInfo.getInteger(COMP_DONE); int compWon = nobleInfo.getInteger(COMP_WON); int compLost = nobleInfo.getInteger(COMP_LOST); int compDrawn = nobleInfo.getInteger(COMP_DRAWN); boolean toSave = nobleInfo.getBool("to_save"); if (toSave) { try (PreparedStatement statement = con.prepareStatement(OLYMPIAD_SAVE_NOBLES)) { statement.setInt(1, charId); statement.setInt(2, classId); statement.setString(3, charName); statement.setInt(4, points); statement.setInt(5, compDone); statement.setInt(6, compWon); statement.setInt(7, compLost); statement.setInt(8, compDrawn); nobleInfo.set("to_save", false); updateNobleStats(nobleId, nobleInfo); statement.executeUpdate(); } } else { try (PreparedStatement statement = con.prepareStatement(OLYMPIAD_UPDATE_NOBLES)) { statement.setInt(1, points); statement.setInt(2, compDone); statement.setInt(3, compWon); statement.setInt(4, compLost); statement.setInt(5, compDrawn); statement.setInt(6, charId); statement.executeUpdate(); } } } } catch (SQLException e) { LOGGER.error("Olympiad.saveNobleData : Failed to save noblesse data to database: ", e); } } /** * Save noblesse data to database * @param nobleId */ protected synchronized void saveOldNobleData(final int nobleId) { try (Connection con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement(OLYMPIAD_UPDATE_OLD_NOBLES)) { StatsSet nobleInfo = oldnobles.get(nobleId); if (nobleInfo == null) { return; } int charId = nobleId; int points = nobleInfo.getInteger(POINTS); int compDone = nobleInfo.getInteger(COMP_DONE); int compWon = nobleInfo.getInteger(COMP_WON); int compLost = nobleInfo.getInteger(COMP_LOST); int compDrawn = nobleInfo.getInteger(COMP_DRAWN); statement.setInt(1, points); statement.setInt(2, compDone); statement.setInt(3, compWon); statement.setInt(4, compLost); statement.setInt(5, compDrawn); statement.setInt(6, charId); statement.executeUpdate(); } catch (SQLException e) { LOGGER.error("Olympiad.saveOldNobleData : Failed to save old noblesse data to database: ", e); } } /** * Save olympiad.properties file with current olympiad status and update noblesse table in database */ public void saveOlympiadStatus() { saveNobleData(); final Properties OlympiadProperties = new Properties(); try (FileOutputStream fos = new FileOutputStream(new File("./" + OLYMPIAD_DATA_FILE));) { OlympiadProperties.setProperty("CurrentCycle", String.valueOf(currentCycle)); OlympiadProperties.setProperty("Period", String.valueOf(period)); OlympiadProperties.setProperty("OlympiadEnd", String.valueOf(olympiadEnd)); OlympiadProperties.setProperty("ValdationEnd", String.valueOf(olympiadValidationEnd)); OlympiadProperties.setProperty("NextWeeklyChange", String.valueOf(nextWeeklyChange)); final GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance(); gc.clear(); gc.setTimeInMillis(nextWeeklyChange); OlympiadProperties.setProperty("NextWeeklyChange_DateFormat", DateFormat.getDateTimeInstance().format(gc.getTime())); // LOGGER.info("NextPoints: "+DateFormat.getInstance().format(gc.getTime())); gc.clear(); gc.setTimeInMillis(olympiadEnd); OlympiadProperties.setProperty("OlympiadEnd_DateFormat", DateFormat.getDateTimeInstance().format(gc.getTime())); // LOGGER.info("NextOlyDate: "+DateFormat.getInstance().format(gc.getTime())); OlympiadProperties.store(fos, "Olympiad Properties"); } catch (final Exception e) { LOGGER.warn("Olympiad System: Unable to save olympiad properties to file: ", e); } LOGGER.info("Olympiad System: Data saved!!"); } protected void updateMonthlyData() { try (Connection con = L2DatabaseFactory.getInstance().getConnection();) { try (PreparedStatement statement = con.prepareStatement(OLYMPIAD_MONTH_CLEAR)) { statement.execute(); } try (PreparedStatement statement = con.prepareStatement(OLYMPIAD_MONTH_CREATE)) { statement.executeUpdate(); } } catch (SQLException e) { LOGGER.error("Olympiad.updateMonthlyData : Failed to update monthly noblese data", e); } }
  5. hello bro. i use rev l2jfrozen 1,5 the only code is adapted to the olympiad section java is the code that shows olympiad period ends. but the problem waz before that code be adapted to my server.! and i don't have any error on eclipse :/
  6. ERROR Error saving Olympiadds. java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextNode(HashMap.java:1445) at java.util.HashMap$KeyIterator.next(HashMap.java:1469) at com.l2jfrozen.gameserver.model.entity.olympiad.Olympiad.saveNobleData(Olympiad.java:1098) at com.l2jfrozen.gameserver.model.entity.olympiad.Olympiad.saveOlympiadStatus(Olympiad.java:1201) at com.l2jfrozen.gameserver.Shutdown.saveData(Shutdown.java:499) at com.l2jfrozen.gameserver.Shutdown.closeServer(Shutdown.java:357) at com.l2jfrozen.gameserver.Shutdown.run(Shutdown.java:182)
  7. realy we need it to l2jfrozen :/ realy i know you don't like l2jfrozen but many of us use this project .
  8. New updates new armor * Titanium 5 parts & Gold Weapons & Lendaria Weapons. New auto farm Mobs system. New updatet Raid Boss Event. Fixed all debuffs. Updatet Farm Drops at global Mobs. Party Hero system Updatet now you granded only with Hero avra. Last - Man event updatet now you granded only with hero avra. + 10 top ls 50% and many new updates done one server. Join us test your server and you will see there is grate stability.
  9. Dressme System - Unique system of costumes, which does not work with armor, but it looks like a wardrobe in your character and does not give any status or bonus, it is only a visual issue, with which you will beautify your character, marking a difference. AntiBot Farm System (perzonalized system, which is focused on playing with only one account per player, and minimizing the use of bot systems.) All configurations and functions that were not reported here are retail, that is, equal to the official Lineage II or were considered irrelevant. New Geo-Engine - System that improved to almost perfect levels the Geodata (with which they will be able to enjoy and farm without problems, improving the follow of the players, They will not be able to dive the raid boos with obstacles, avoiding the bug of mobs in walls when farming in bulk) for more information access L2Private Game. New Respawn Mobs System - System that after 5 min, if the mobs are in passive mode they will be sent to their respawn so managing to prevent them from locking them in certain places for more information access L2Private Game. Rates Interlude pvp server Private First I would like to say, that L2PRIVATE project wont leave You easy. No, that wont happen! Server is designed and maintain to ensure, that unexpected wipes wouldn ot occur, but we cant promise 100% online, because of the electricity or ISP problems. It is not rapid though. We allways wanted and still want to be different from other servers, thats why our community is always growing. We are planing to open one more server in the future. • Rates - Xp x1200| Sp x1200 | Aden x1200 | Party Xp/Sp x2. • Enchant - Simple 70% | Blessed 85% | Crystal 100% | Safe +6 | Max W+16 | Max A&J+12. • Blessed and simple scrolls max enchant (+16). Unique features: • Main towns - Giran, Gludio, Goddard,Dion,Rune,Inadril,Shutgart. • Castle sieges every week • Unique pvp flag areas with reward. • More then 10 active raid bosses. • Wedding system. • Unique farming areas. • Npc skill enchanter. • Shops till top S grade. • Full npc buffer with auto buff. • Max count of buffs - 60. • Max subclasses - 4. • Free and no quest class change. • Free and no quest sub class. • Nobless from raid boss barakiel. • No weight limit. • No grade limit. • Quake pvp system. • Online password change. • Top 20 pvp/pk npc in game. • Augmentation system (preconfigured). • Interlude retail skills. • Server up-time [24/7] [99]%. • Perfect class balance. • vote for us every 12 hours , thanx for supporting your server. EVENTS: L2PRIVATE Custom Boss Event : 26/4/2020 EventByTimeOfDay = 11:00 || 13:00 || 15:00 || 17:00 || 19:00 || 21:00 || 23:00 ||24:52 Custom LastMan Event: 26/4/2020 EventByTimeOfDay= 12:25 || 16:10 || 21:20 || 24:25 Custom TvT Event: 26/4/2020 EventByTimeOfDay= 13:40 || 15:30 || 17:40 || 19:30 Server Auto Restart: 26/4/2020 EventByTimeOfDay= 11:00 Pm SPECIAL SERVER FATURES Maximilian all subclass for free Clan lvl 8 full clan skills free in maximilian Npc All Grand boss fuxional and unique like retail mode. THERE IS 1 NPC SUPER MARKET COMANDS .DRESSME .PINCODE .REPAIR STATS EVENTS RAID BOSS PARTY WINNER ALL MEMMBERS TAKE STATUS OF HERO UNTIL RESTART. TVT EVENT. LAST MAN. AND MANY MORE UNIQUE MODES TO COME.!! Server web site : http://www.l2private.club
  10. thanx agwrina kapios na kani lock fixed to problem ton port.
  11. geia sas magkes... prosfata asxoloume meta apo polla xronia me l2jserver interlude pack. Afto pou thelw einai an mpwrite na dokimasete na mpite ston server exw aniksi ports. ala den kserw an mpwroun na mpoun atoma mesa.. edw einai to link. download system: test system interlude
  12. so you are welcome back to buisnes dude... nice to see again good developers .
  13. /* This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * 02111-1307, USA. * * http://www.gnu.org/copyleft/gpl.html */ package com.l2jfrozen.gameserver.model.actor.instance; import com.l2jfrozen.gameserver.ai.CtrlIntention; import com.l2jfrozen.gameserver.managers.TownManager; import com.l2jfrozen.gameserver.model.L2Character; import com.l2jfrozen.gameserver.model.zone.L2ZoneType; import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed; import com.l2jfrozen.gameserver.network.serverpackets.MyTargetSelected; import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage; import com.l2jfrozen.gameserver.network.serverpackets.ValidateLocation; import com.l2jfrozen.gameserver.templates.L2NpcTemplate; import javolution.text.TextBuilder; public class L2SpecialGatekeeperInstance extends L2FolkInstance { public L2SpecialGatekeeperInstance(int objectId, L2NpcTemplate template) { super(objectId, template); } @Override public void onBypassFeedback(L2PcInstance player, String command) { if(player == null) { return; } if(command.startsWith("giran")) { player.teleToLocation(82698, 148638, -3473); } if(command.startsWith("aden")) { player.teleToLocation(147456, 26886, -2207); } if(command.startsWith("goddard")) { player.teleToLocation(147725, -56517, -2780); } if(command.startsWith("ti")) { player.teleToLocation(-83838, 242732, -3732); } if(command.startsWith("elv")) { player.teleToLocation(45873, 49288, -3059); } if(command.startsWith("delv")) { player.teleToLocation(12428, 16551, -4588); } if(command.startsWith("dwarf")) { player.teleToLocation(116551, -182493, -1525); } if(command.startsWith("orc")) { player.teleToLocation(-44133, -113911, -244); } if(command.startsWith("oren")) { player.teleToLocation(82321, 55139, -1529); } if(command.startsWith("dion")) { player.teleToLocation(18748, 145437, -3132); } if(command.startsWith("heine")) { player.teleToLocation(111383, 219107, -3546); } if(command.startsWith("gludio")) { player.teleToLocation(-14225, 123540, -3121); } if(command.startsWith("stut")) { player.teleToLocation(87358, -141982, -1336); } if(command.startsWith("gludin")) { player.teleToLocation(-83063, 150791, -3128); } if(command.startsWith("floran")) { player.teleToLocation(17144, 170156, -3502); } if(command.startsWith("rune")) { player.teleToLocation(44070, -50243, -796); } } @Override public void onAction(L2PcInstance player) { if (!canTarget(player)) { return; } if (this != player.getTarget()) { player.setTarget(this); player.sendPacket(new MyTargetSelected(getObjectId(), 0)); player.sendPacket(new ValidateLocation(this)); } else if (!canInteract(player)) { player.getAI().setIntention(CtrlIntention.AI_INTENTION_INTERACT, this); } else { showHtmlWindow(player); } player.sendPacket(new ActionFailed()); } private void showHtmlWindow(L2PcInstance activeChar) { NpcHtmlMessage nhm = new NpcHtmlMessage(5); TextBuilder tb = new TextBuilder(""); tb.append("<html><head><title>Global Gatekeeper</title></head><body>"); tb.append("<center>"); tb.append("<table width=\"250\" cellpadding=\"5\" bgcolor=\"000000\">"); tb.append("<tr>"); tb.append("<td width=\"45\" valign=\"top\" align=\"center\"><img src=\"L2ui_ch3.menubutton4\" width=\"38\" height=\"38\"></td>"); tb.append("<td valign=\"top\"><font color=\"FF6600\">Advanced Gatekeeper</font>"); tb.append("<br1><font color=\"00FF00\">"+activeChar.getName()+"</font>, here you can spy who's where.</td>"); tb.append("</tr>"); tb.append("</table>"); tb.append("</center>"); tb.append("<center>"); tb.append("<td valign=\"top\"><font color=\"FF6600\">Where you gonna teleport " + activeChar.getName()+".</font><br>"); tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Talking I. : " + pewpew(2)+".</font>"); tb.append("<button value=\"Talking I.\" action=\"bypass -h npc_" + getObjectId() + "_ti\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>"); tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Elven V. : " + pewpew(3)+".</font>"); tb.append("<button value=\"Elven V.\" action=\"bypass -h npc_" + getObjectId() + "_elv\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>"); tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside D.Elven V. : " + pewpew(1)+".</font>"); tb.append("<button value=\"D.Elven V.\" action=\"bypass -h npc_" + getObjectId() + "_delv\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>"); tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Orc V. : " + pewpew(4)+".</font>"); tb.append("<button value=\"Orc V.\" action=\"bypass -h npc_" + getObjectId() + "_orc\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>"); tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Dwarven V. : " + pewpew(6)+".</font>"); tb.append("<button value=\"Dwarven V.\" action=\"bypass -h npc_" + getObjectId() + "_dwarf\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>"); tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Giran : " + pewpew(9)+".</font>"); tb.append("<button value=\"Giran\" action=\"bypass -h npc_" + getObjectId() + "_giran\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>"); tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Aden : " + pewpew(12)+".</font>"); tb.append("<button value=\"Aden\" action=\"bypass -h npc_" + getObjectId() + "_aden\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>"); tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Gludio : " + pewpew(7)+".</font>"); tb.append("<button value=\"Gludio\" action=\"bypass -h npc_" + getObjectId() + "_gludio\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>"); tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Gludin : " + pewpew(5)+".</font>"); tb.append("<button value=\"Gludin\" action=\"bypass -h npc_" + getObjectId() + "_gludin\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>"); tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Dion : " + pewpew(8)+".</font>"); tb.append("<button value=\"Dion\" action=\"bypass -h npc_" + getObjectId() + "_dion\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>"); tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Oren : " + pewpew(10)+".</font>"); tb.append("<button value=\"Oren\" action=\"bypass -h npc_" + getObjectId() + "_oren\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>"); tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Heine : " + pewpew(15)+".</font>"); tb.append("<button value=\"Heine\" action=\"bypass -h npc_" + getObjectId() + "_heine\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>"); tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Rune : " + pewpew(14)+".</font>"); tb.append("<button value=\"Rune\" action=\"bypass -h npc_" + getObjectId() + "_rune\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>"); tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Goddard : " + pewpew(13)+".</font>"); tb.append("<button value=\"Goddard\" action=\"bypass -h npc_" + getObjectId() + "_goddard\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>"); tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Schuttgart : " + pewpew(17)+".</font>"); tb.append("<button value=\"Schuttgart\" action=\"bypass -h npc_" + getObjectId() + "_stut\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>"); tb.append("<td valign=\"top\"><font color=\"FF6600\">Players Inside Floran : " + pewpew(16)+".</font>"); tb.append("<button value=\"Floran\" action=\"bypass -h npc_" + getObjectId() + "_floran\" width=70 height=21 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"><br>"); tb.append("</center>"); tb.append("<center>"); tb.append("<img src=\"l2ui_ch3.herotower_deco\" width=256 height=32 align=center>"); tb.append("<font color=\"FF6600\">www.private.com</font>"); tb.append("</center>"); tb.append("</body></html>"); nhm.setHtml(tb.toString()); activeChar.sendPacket(nhm); activeChar.sendPacket(new ActionFailed()); } public static int pewpew(int bitch) { L2ZoneType zone = TownManager.getInstance().getTown(bitch); int i = 0; if(zone != null) { for (L2Character character : zone.getCharactersInside().values()) if (character instanceof L2PcInstance) i++; return i; } return -1; } } is there any Developer , that can make this gatekeeper instance to be editable in html npc.!!