Search the Community

Showing results for tags 'Help'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Categories

  • Lineage II Server Packs [Java]
  • Lineage II Server Packs [PTS]
  • Lineage II Server Scripts
  • Lineage II Client Scripts
  • Lineage II Items & Chars
  • Website Templates

Categories

  • Articles

Forums

  • General Zone
    • Announcements and News
    • Newbies Introduce Urself
    • Maxcheaters Competitions & Events
    • Votes/Polls Area
    • Report Section
    • Downloads Section
  • Lineage II General Section
    • General Discussion [English]
    • Request Support [English]
  • Lineage II Hacks,Cheats and Bots
    • Hacks & Cheats [English]
    • Request Hacks & Cheats [English]
    • Botting [English]
    • Request Botting [English]
  • Lineage II Private Servers
    • LineZeus.GR - Η Επιστροφή!
    • Private Servers
    • [Previews] L2 Private Servers
    • Clans and Alliances
  • Lineage II Marketplace
    • Marketplace [Items & Chars]
    • Marketplace [L2Packs & Files]
    • Marketplace [Powerlvl & Support]
  • Lineage II OFF Server Development
    • Server Development Discussion [L2OFF]
    • Request Server Development Help [L2OFF]
    • Server Shares & Files [L2OFF]
  • Lineage II Java Server Development
    • Server Development Discussion [L2J]
    • Request Server Development Help [L2J]
    • Server Shares & Files [L2J]
    • Private Projects [L2J]
  • Lineage II Client Development
    • Client Development Discussion
  • MMO Games
    • League of Legends
    • World Of Warcraft Area
    • Other Multiplayer Games
  • General Section
    • General Marketplace
    • Consoles/Mobiles/PDA Gaming Zone
    • Webmasters Zone
    • Hacking/Coding Zone
  • Graphics/GFX Zone
    • Graphics/GFX General Discussion
    • Graphics/GFX Showcase
    • Graphics/GFX Resources/Tools
  • VIP/SVIP/Donators Zone
    • VIPs/Donators Discussion
    • VIPs Lineage II
    • VIPs [GFX] Zone
    • VIPs Download Area
  • MaxCheaters Corner
    • Tech/World News
    • Off-Topics
    • Spam Topics
  • Gaming Expiriance's Topics

Found 202 results

  1. kalimera exo ena provlima me to compile tou server.Mou bvazei afto to minima molis ksekiniso na ton kano compile Einai to pack StormDC SVN https://xp-dev.com/svn/StormDC_Free/ BUILD FAILED C:\Users\terrys\Desktop\Νέος φάκελος\Trunk1\Full.xml:37: Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK. It is currently set to "C:\Program Files\Java\jre1.8.0_152"
  2. in video 1 the icey effect leaves a trail and is detached from the player in video 2 the effect is kind of stuck with the bone (theres no trail) do you get it what property do i need to use to get the effect in v2 to be like v1 this has been bothering me for the longest time and comparing original retail emitters with custom ones doesnt really seem to help since there isnt anything foreign or missing unless im blind
  3. hey guys, I wanted to ask you about this clan dismissing penalty, when I dismiss a member for example, I want to remove the penalty. I want to make it possible that people can invite eachother even after dismissing one member... without penalty for waiting. I've found this setting into the configurations and it seems easy to change, but the text in configurations says that I have to edit the JAVA CONFIGS also for this changing, otherwise it won't get changed... Any ideas how to do it ? Or what java file is responsible for this ?
  4. So as the title says i wanted some help to add one more bar ( i got 3 ) on my interface. I was watching a video from Savo, he was showing how to do it, but he copy-pasted some code ( twice ). It was supposed to be in the download link but it dons't work now. So i am asking if anyone here can help me out. ( I do not ask about ready interfaces, i ask about the code or just some more help. ) Thank you in advance.
  5. Like title says, i want to make some custom skills on my server and i want a custom npc where players will be able with an item i will put to learn some skills. For example i want to make an item called Custom Skill Token and players will trade 10 tokens to learn a specific skill. I want to make it with the following ways: Custom Skill 01 Token Custom Skill 02 Token Custom Skill 03 Token and with these tokens players will be able to learn Custom Skill 01, 02 and 03. Is this possible? And if yes can someone give me some instructions how to do that? Thanks in advance!
  6. hello i need help for this code, anyone help me ? https://imgur.com/a/X6PVB code: <spoiler> /* * 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 3 of the License, 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, see <http://www.gnu.org/licenses/>. */ package net.sf.l2j.gameserver.communitybbs.Manager; import com.mchange.v1.util.MapUtils; import java.util.Arrays; import java.util.Comparator; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.StringTokenizer; import net.sf.l2j.gameserver.cache.HtmCache; import net.sf.l2j.gameserver.datatables.ClanTable; import net.sf.l2j.gameserver.datatables.ItemTable; import net.sf.l2j.gameserver.datatables.RecipeTable; import net.sf.l2j.gameserver.instancemanager.CastleManager; import net.sf.l2j.gameserver.instancemanager.ClanHallManager; import net.sf.l2j.gameserver.model.L2Clan; import net.sf.l2j.gameserver.model.L2ManufactureItem; import net.sf.l2j.gameserver.model.L2World; import net.sf.l2j.gameserver.model.TradeList; import net.sf.l2j.gameserver.model.TradeList.TradeItem; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.model.entity.Castle; import net.sf.l2j.gameserver.model.entity.ClanHall; import net.sf.l2j.gameserver.model.item.RecipeList; import net.sf.l2j.gameserver.model.item.kind.Item; import net.sf.l2j.gameserver.model.item.type.CrystalType; import net.sf.l2j.gameserver.network.serverpackets.ActionFailed; import net.sf.l2j.gameserver.network.serverpackets.RadarControl; import net.sf.l2j.gameserver.util.Util; public class RegionBBSManager extends TopBBSManager { // @formatter:off private static final int[][] _towns = new int[][] { {1010005, 19, 21}, {1010006, 20, 22}, {1010007, 22, 22}, {1010013, 22, 19}, {1010023, 24, 18}, {1010049, 23, 24}, {1010199, 24, 16}, {1010200, 21, 16}, {1010574, 22, 13}}; private static final String[] _regionTypes = { "&$596;", "&$597;", "&$665;" }; private static final String[] _grade = { "&$1291;", "&$1292;", "&$1293;", "&$1294;", "&$1295;", "S80 Grade", "S84 Grade" }; private static final int SELLER_PER_PAGE = 12; private static final String _pageRegionTpl = "data/html/CommunityBoard/region/bbs_regiontpl.htm"; private static final String _pageRegionSTpl = "data/html/CommunityBoard/region/bbs_region_stpl.htm"; private static final String _pageRegionStoreTpl = "data/html/CommunityBoard/region/bbs_region_storetpl.htm"; private static final String _pageRegionList = "data/html/CommunityBoard/region/bbs_region_list.htm"; private static final String _pageRegionSelers = "data/html/CommunityBoard/region/bbs_region_sellers.htm"; private static final String _pageRegionView = "data/html/CommunityBoard/region/bbs_region_view.htm"; // @formatter:on //protected RegionBBSManager() //{ //} public static RegionBBSManager getInstance() { return SingletonHolder._instance; } @Override public void parseCmd(String command, L2PcInstance player) { StringTokenizer st = new StringTokenizer(command, ";"); if (command.equals("_bbsloc")) { String tpl = HtmCache.getInstance().getHtm(_pageRegionTpl); StringBuilder rl = new StringBuilder(""); for (int townId = 0; townId < _towns.length; townId++) { int[] town = _towns[townId]; String reg = tpl.replace("%region_bypass%", "_bbsregion;" + String.valueOf(townId)); reg = reg.replace("%region_name%", HtmlUtils.htmlNpcString(town[0])); reg = reg.replace("%region_desc%", "&$498;: &$1157;, &$1434;, &$645;."); reg = reg.replace("%region_type%", "l2ui.bbs_folder"); int sellers = 0; int rx = town[1]; int ry = town[2]; int offset = 0; for (L2PcInstance seller : L2World.getInstance().getAllPlayers().values()) { int tx = MapUtils.regionX(seller); int ty = MapUtils.regionY(seller); if ((tx >= (rx - offset)) && (tx <= (rx + offset)) && (ty >= (ry - offset)) && (ty <= (ry + offset))) { if (seller.getPrivateStoreType() != 0) { sellers++; } } } reg = reg.replace("%sellers_count%", String.valueOf(sellers)); rl.append(reg); } String html = HtmCache.getInstance().getHtm(_pageRegionList); html = html.replace("%REGION_LIST%", rl.toString()); separateAndSend(html, player); } else if (command.startsWith("_bbsregion")) { st.nextToken(); String tpl = HtmCache.getInstance().getHtm(_pageRegionTpl); int townId = Integer.parseInt(st.nextToken()); StringBuilder rl = new StringBuilder(""); int[] town = _towns[townId]; for (int type = 0; type < _regionTypes.length; type++) { String reg = tpl.replace("%region_bypass%", "_bbsreglist;" + townId + ";" + type + ";1;0;"); reg = reg.replace("%region_name%", _regionTypes[type]); reg = reg.replace("%region_desc%", _regionTypes[type] + "."); reg = reg.replace("%region_type%", "l2ui.bbs_board"); int sellers = 0; int rx = town[1]; int ry = town[2]; int offset = 0; for (L2PcInstance seller : L2World.getInstance().getAllPlayers().values()) { int tx = MapUtils.regionX(seller); int ty = MapUtils.regionY(seller); if ((tx >= (rx - offset)) && (tx <= (rx + offset)) && (ty >= (ry - offset)) && (ty <= (ry + offset))) { if ((type == 0) && ((seller.getPrivateStoreType() == 1) || (seller.getPrivateStoreType() == 8))) { sellers++; } else if ((type == 1) && (seller.getPrivateStoreType() == 3)) { sellers++; } else if ((type == 2) && (seller.getPrivateStoreType() == 5)) { sellers++; } } } reg = reg.replace("%sellers_count%", String.valueOf(sellers)); rl.append(reg); } String html = HtmCache.getInstance().getHtm(_pageRegionList); html = html.replace("%REGION_LIST%", rl.toString()); separateAndSend(html, player); } else if (command.startsWith("_bbsreglist")) { st.nextToken(); int townId = Integer.parseInt(st.nextToken()); int type = Integer.parseInt(st.nextToken()); int page = Integer.parseInt(st.nextToken()); int byItem = Integer.parseInt(st.nextToken()); String search = st.hasMoreTokens() ? st.nextToken().toLowerCase() : ""; int[] town = _towns[townId]; List<L2PcInstance> sellers = getSellersList(townId, type, search, byItem == 1); int start = (page - 1) * SELLER_PER_PAGE; int end = Math.min(page * SELLER_PER_PAGE, sellers.size()); String html = HtmCache.getInstance().getHtm(_pageRegionSelers); if (page == 1) { html = html.replace("%ACTION_GO_LEFT%", ""); html = html.replace("%GO_LIST%", ""); html = html.replace("%NPAGE%", "1"); } else { html = html.replace("%ACTION_GO_LEFT%", "bypass _bbsreglist;" + townId + ";" + type + ";" + (page - 1) + ";" + byItem + ";" + search); html = html.replace("%NPAGE%", String.valueOf(page)); StringBuilder goList = new StringBuilder(""); for (int i = page > 10 ? page - 10 : 1; i < page; i++) { goList.append("<td><a action=\"bypass _bbsreglist;").append(townId).append(";").append(type).append(";").append(i).append(";").append(byItem).append(";").append(search).append("\"> ").append(i).append(" </a> </td>\n\n"); } html = html.replace("%GO_LIST%", goList.toString()); } int pages = Math.max(sellers.size() / SELLER_PER_PAGE, 1); if (sellers.size() > (pages * SELLER_PER_PAGE)) { pages++; } if (pages > page) { html = html.replace("%ACTION_GO_RIGHT%", "bypass _bbsreglist;" + townId + ";" + type + ";" + (page + 1) + ";" + byItem + ";" + search); int ep = Math.min(page + 10, pages); StringBuilder goList = new StringBuilder(""); for (int i = page + 1; i <= ep; i++) { goList.append("<td><a action=\"bypass _bbsreglist;").append(townId).append(";").append(type).append(";").append(i).append(";").append(byItem).append(";").append(search).append("\"> ").append(i).append(" </a> </td>\n\n"); } html = html.replace("%GO_LIST2%", goList.toString()); } else { html = html.replace("%ACTION_GO_RIGHT%", ""); html = html.replace("%GO_LIST2%", ""); } StringBuilder seller_list = new StringBuilder(""); String tpl = HtmCache.getInstance().getHtm(_pageRegionSTpl); for (int i = start; i < end; i++) { L2PcInstance seller = sellers.get(i); TradeList tl = null; if (seller.getPrivateStoreType() == PrivateStoreType.BUY) { tl = seller.getBuyList(); } else { tl = seller.getSellList(); } Map<Integer, L2ManufactureItem> cl = seller.getManufactureItems(); if ((tl == null) && (cl == null)) { continue; } String stpl = tpl; stpl = stpl.replace("%view_bypass%", "bypass _bbsregview;" + townId + ";" + type + ";" + page + ";" + seller.getObjectId() + ";" + byItem + ";" + search); stpl = stpl.replace("%seller_name%", seller.getName()); String title = "N/A"; if (type == 0) { title = (tl != null) && (tl.getTitle() != null) && !tl.getTitle().isEmpty() ? tl.getTitle() : "N/A"; } else if (type == 1) { title = (tl != null) && (tl.getTitle() != null) && !tl.getTitle().isEmpty() ? tl.getTitle() : "N/A"; } else if ((type == 2) && (seller.getPrivateStoreType() == PrivateStoreType.MANUFACTURE)) { title = (cl != null) && (seller.getStoreName() != null) && !seller.getStoreName().isEmpty() ? seller.getStoreName() : "-"; } title = title.replace("<", ""); title = title.replace(">", ""); title = title.replace("&", ""); title = title.replace("$", ""); if (title.isEmpty()) { title = "N/A"; } stpl = stpl.replace("%seller_title%", title); seller_list.append(stpl); } html = html.replace("%SELLER_LIST%", seller_list.toString()); html = html.replace("%search_bypass%", "_bbsregsearch_" + townId + "_" + type); html = html.replace("%TREE%", "&nbsp;>&nbsp;<a action=\"bypass _bbsregion;" + townId + "\"><font color=\"aa9977\"> " + HtmlUtils.htmlNpcString(town[0]) + "</font></a>&nbsp;>&nbsp;" + _regionTypes[type]); separateAndSend(html, player); } else if (command.startsWith("_bbsregview")) { st.nextToken(); int townId = Integer.parseInt(st.nextToken()); int type = Integer.parseInt(st.nextToken()); int page = Integer.parseInt(st.nextToken()); int objectId = Integer.parseInt(st.nextToken()); int byItem = Integer.parseInt(st.nextToken()); String search = st.hasMoreTokens() ? st.nextToken().toLowerCase() : ""; int[] town = _towns[townId]; L2PcInstance seller = L2World.getInstance().getPlayer(objectId); if ((seller == null) || (seller.getPrivateStoreType() == PrivateStoreType.NONE)) { parseCmd("_bbsreglist;" + townId + ";" + type + ";" + page + ";" + byItem + ";" + search, player); return; } String title = "-"; String tpl = HtmCache.getInstance().getHtm(_pageRegionStoreTpl); StringBuilder sb = new StringBuilder(""); if (type < 2) { TradeList sl = type == 0 ? seller.getSellList() : seller.getBuyList(); if (sl == null) { parseCmd("_bbsreglist;" + townId + ";" + type + ";" + page + ";" + byItem + ";" + search, player); return; } if ((type == 0) && (sl.getTitle() != null) && !sl.getTitle().isEmpty()) { title = sl.getTitle(); } else if ((type == 1) && (sl.getTitle() != null) && !sl.getTitle().isEmpty()) { title = sl.getTitle(); } for (TradeItem ti : sl.getItems()) { Item item = ItemTable.getInstance().getTemplate(ti.getItem().getItemId()); if (item != null) { String stpl = tpl.replace("%item_name%", ti.getItem().getName() + (ti.getItem().isEquipable() && (ti.getEnchant() > 0) ? " +" + ti.getEnchant() : "")); stpl = stpl.replace("%item_img%", item.getIcon()); stpl = stpl.replace("%item_count%", String.valueOf(ti.getCount())); stpl = stpl.replace("%item_price%", String.format("%,3d", ti.getPrice()).replace(" ", ",")); String desc = ""; if (item.getCrystalType() != CrystalType.NONE) { desc = _grade[item.getCrystalType().getId() - 1]; desc += item.getCrystalCount() > 0 ? " Crystals: " + item.getCrystalCount() + ";&nbsp;" : ";&nbsp;"; } if (item.isEquipable()) { //removed elements } if (item.isStackable()) { desc += "Stackable;&nbsp;"; } // FIXME /** * if (item.isSealedItem()) { desc += "Sealed;&nbsp;"; } if (item.isShadowItem()) { desc += "Shadow item;&nbsp;"; } if (item.isTimeItem()) { desc += "Temporal;&nbsp;"; } */ stpl = stpl.replace("%item_desc%", desc); sb.append(stpl); } } } else { Map<Integer, L2ManufactureItem> cl = seller.getManufactureItems(); if (cl == null) { parseCmd("_bbsreglist;" + townId + ";" + type + ";" + page + ";" + byItem + ";" + search, player); return; } if ((title = seller.getStoreName()) == null) { title = "-"; } for (L2ManufactureItem mi : seller.getManufactureItems().values()) { RecipeList rec = RecipeTable.getInstance().getRecipeByItemId(mi.getRecipeId() - 1); if (rec == null) { continue; } Item item = ItemTable.getInstance().getTemplate(rec.getId()); if (item == null) { continue; } String stpl = tpl.replace("%item_name%", item.getName()); stpl = stpl.replace("%item_img%", item.getIcon()); stpl = stpl.replace("%item_count%", "N/A"); stpl = stpl.replace("%item_price%", String.format("%,3d", mi.getCost()).replace(" ", ",")); String desc = ""; if (item.getCrystalType() != CrystalType.NONE) { desc = _grade[item.getCrystalType().getId() - 1] + (item.getCrystalCount() > 0 ? " Crystals: " + item.getCrystalCount() + ";&nbsp;" : ";&nbsp;"); } if (item.isStackable()) { desc = "Stackable;&nbsp;"; } // FIXME /** * if (item.isSealedItem()) { desc += "Sealed;&nbsp;"; } */ stpl = stpl.replace("%item_desc%", desc); sb.append(stpl); } } String html = HtmCache.getInstance().getHtm(_pageRegionView); html = html.replace("%sell_type%", _regionTypes[type]); title = title.replace("<", ""); title = title.replace(">", ""); title = title.replace("&", ""); title = title.replace("$", ""); if (title.isEmpty()) { title = "-"; } html = html.replace("%title%", title); html = html.replace("%char_name%", seller.getName()); html = html.replace("%object_id%", String.valueOf(seller.getObjectId())); html = html.replace("%STORE_LIST%", sb.toString()); html = html.replace("%list_bypass%", "_bbsreglist;" + townId + ";" + type + ";" + page + ";" + byItem + ";" + search); html = html.replace("%TREE%", "&nbsp;>&nbsp;<a action=\"bypass _bbsregion;" + townId + "\">" + HtmlUtils.htmlNpcString(town[0]) + "</a>&nbsp;>&nbsp;<a action=\"bypass _bbsreglist;" + townId + ";" + type + ";" + page + ";" + byItem + "\">" + _regionTypes[type] + "</a>&nbsp;>&nbsp;" + seller.getName()); separateAndSend(html, player); } else if (command.startsWith("_bbsregtarget")) { st.nextToken(); int objectId = Integer.parseInt(st.nextToken()); L2PcInstance seller = L2World.getInstance().getPlayer(objectId); if (seller != null) { player.sendPacket(new RadarControl(0, 2, seller.getLoc().getX(), seller.getLoc().getY(), seller.getLoc().getZ())); if (player.getKnownList().getKnownObject(seller.getObjectId()) != null) { player.setTarget(seller); seller.broadcastRelationChanged(); } } else { player.sendPacket(ActionFailed.STATIC_PACKET); } } return; } @SuppressWarnings("synthetic-access") private static List<L2PcInstance> getSellersList(int townId, int type, String search, boolean byItem) { List<L2PcInstance> list = new LinkedList<>(); int town[] = _towns[townId]; int rx = town[1]; int ry = town[2]; int offset = 0; for (L2PcInstance seller : L2World.getInstance().getAllPlayers().values()) { int tx = MapUtils.regionX(seller); int ty = MapUtils.regionY(seller); if ((tx >= (rx - offset)) && (tx <= (rx + offset)) && (ty >= (ry - offset)) && (ty <= (ry + offset))) { TradeItem[] tl = null; if (seller.getPrivateStoreType() == PrivateStoreType.BUY) { tl = seller.getBuyList().getItems(); } else { tl = seller.getSellList().getItems(); } Map<Integer, L2ManufactureItem> cl = seller.getManufactureItems(); if (seller.getPrivateStoreType() != PrivateStoreType.NONE) { if ((type == 0) && (tl != null) && ((seller.getPrivateStoreType() == PrivateStoreType.SELL) || (seller.getPrivateStoreType() == PrivateStoreType.PACKAGE_SELL))) { list.add(seller); } else if ((type == 1) && (tl != null) && (seller.getPrivateStoreType() == PrivateStoreType.BUY)) { list.add(seller); } else if ((type == 2) && (cl != null) && (seller.getPrivateStoreType() == PrivateStoreType.MANUFACTURE)) { list.add(seller); } } } } if (!search.isEmpty() && !list.isEmpty()) { List<L2PcInstance> s_list = new LinkedList<>(); for (L2PcInstance seller : list) { TradeList tl = null; if (seller.getPrivateStoreType() == PrivateStoreType.BUY) { tl = seller.getBuyList(); } else { tl = seller.getSellList(); } Map<Integer, L2ManufactureItem> cl = seller.getManufactureItems(); if (byItem) { if (((type == 0) || (type == 1)) && (tl != null)) { TradeItem[] sl = type == 0 ? seller.getSellList().getItems() : seller.getBuyList().getItems(); if (sl != null) { for (TradeItem ti : sl) { Item item = ItemTable.getInstance().getTemplate(ti.getItem().getItemId()); if ((item != null) && (item.getName() != null) && item.getName().toLowerCase().contains(search)) { s_list.add(seller); break; } } } } else if ((type == 2) && (cl != null)) { for (L2ManufactureItem mi : seller.getManufactureItems().values()) { RecipeList recipe = RecipeTable.getInstance().getRecipeList(mi.getRecipeId() - 1); if (recipe != null) { Item item = ItemTable.getInstance().getTemplate(recipe.getId()); if ((item != null) && (item.getName() != null) && item.getName().toLowerCase().contains(search)) { s_list.add(seller); break; } } } } } else if ((type == 0) && (tl != null) && (tl.getTitle() != null) && tl.getTitle().toLowerCase().contains(search)) { s_list.add(seller); } else if ((type == 1) && (tl != null) && (tl.getTitle() != null) && tl.getTitle().toLowerCase().contains(search)) { s_list.add(seller); } else if ((type == 2) && (cl != null) && (seller.hasManufactureShop()) && (seller.getStoreName() != null) && seller.getStoreName().toLowerCase().contains(search)) { s_list.add(seller); } } list = s_list; } if (!list.isEmpty()) { L2PcInstance[] players = new L2PcInstance[list.size()]; list.toArray(players); Arrays.sort(players, new PlayersComparator<L2PcInstance>()); list.clear(); list.addAll(Arrays.asList(players)); } return list; } @Override protected String getFolder() { return "region/"; } public void parsewrite(String url, String arg1, String arg2, String arg3, String arg4, String arg5, L2PcInstance player) { StringTokenizer st = new StringTokenizer(url, "_"); String cmd = st.nextToken(); if ("bbsregsearch".equals(cmd)) { int townId = Integer.parseInt(st.nextToken()); int type = Integer.parseInt(st.nextToken()); String byItem = "Item".equals(arg4) ? "1" : "0"; if (arg3 == null) { arg3 = ""; } arg3 = arg3.replace("<", ""); arg3 = arg3.replace(">", ""); arg3 = arg3.replace("&", ""); arg3 = arg3.replace("$", ""); if (arg3.length() > 30) { arg3 = arg3.substring(0, 30); } parseCmd("_bbsreglist;" + townId + ";" + type + ";1;" + byItem + ";" + arg3, player); } } private static class PlayersComparator<T> implements Comparator<T> { @Override public int compare(Object o1, Object o2) { if ((o1 instanceof L2PcInstance) && (o2 instanceof L2PcInstance)) { L2PcInstance p1 = (L2PcInstance) o1; L2PcInstance p2 = (L2PcInstance) o2; return p1.getName().compareTo(p2.getName()); } return 0; } } private static class SingletonHolder { protected static final RegionBBSManager _instance = new RegionBBSManager(); } } </spoiler>
  7. mages 8elw na balw se 1 server anti na anigi 2 box na anigi 3-4 pos gnt afto re mages? 8elw na rotisw k mipos 3eri kanenas pos na balw pvp system se hifive aposo nomizo prepi nane kapia arxia an den kn la8os
  8. Hi, I'm trying to create a npc for augment but it's not showing the items the player has in inventory what do I do? error should be here Set<ItemInstance> invitems = player.getInventory().getItems(); is not listing inventory items
  9. Hello, ive created an NPC that teleports the player into anothet instance and location /* * 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 3 of the License, 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, see <http://www.gnu.org/licenses/>. */ package net.sf.l2j.gameserver.model.actor.instance; import cz.nxs.interf.NexusEvents; import net.sf.l2j.gameserver.network.serverpackets.ActionFailed; import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage; import net.sf.l2j.gameserver.templates.chars.L2NpcTemplate; /** * @author zabbix * Lets drink to code! */ public class L2DocTPInstance extends L2NpcInstance { public L2DocTPInstance(int objectId, L2NpcTemplate template) { super(objectId, template); } @Override public void showChatWindow(L2PcInstance player, int val) { player.sendPacket( ActionFailed.STATIC_PACKET ); String filename = "data/html/doctp/no.htm"; if (player.getFactionId() == 1) { filename = "data/html/doctp/doc1.htm"; } else if (player.getFactionId() == 2) { filename = "data/html/doctp/doc2.htm"; } else filename = "data/html/doctp/no.htm"; NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); html.setFile(filename); html.replace("%objectId%", String.valueOf(getObjectId())); player.sendPacket(html); } @Override public void onBypassFeedback(L2PcInstance player, String command) { //doc 1 - Cave of Trials //doc 2 - Cemetery //doc 3 - Cursed Village //doc 4 - Forgotten Temple //doc 5 - Parnassus if (command.startsWith("doc11")) { if(NexusEvents.isInEvent(player)) { player.sendMessage("You can not use this while in event!"); return; } if (player.getInstanceId() != 15) { if (player.getParty() != null) { for (L2PcInstance ptm : player.getParty().getPartyMembers()) { if (ptm.getMentoreeId() != player.getCharId()) { player.leaveParty(); } else { if (player.getInventory().getInventoryItemCount(4357, 0) < 3) { player.sendMessage("You need 3 Silver to enter Document 1!"); } else if (player.getLevel() < 1 || player.getLevel() > 20 || player.getIsMentor() == 1) { player.sendMessage("Your level needs to be atleast 1 and less or equal than 20!"); } else { player.getInventory().destroyItemByItemId("", 4357, 3, player, player); player.setInstanceId(15); player.setInDoc(true); player.teleToLocation(9954, -112487, -2465); } } } } } } else if (command.startsWith("doc12")) { if(NexusEvents.isInEvent(player)) { player.sendMessage("You can not use this while in event!"); return; } if (player.getInstanceId() != 15) { if (player.getParty() != null) { for (L2PcInstance ptm : player.getParty().getPartyMembers()) { if (ptm.getMentoreeId() != player.getCharId()) { player.leaveParty(); } else { if (player.getInventory().getInventoryItemCount(4357, 0) < 3) { player.sendMessage("You need 3 Silver to enter Document 1!"); } else if (player.getLevel() < 1 || player.getLevel() > 20 || player.getIsMentor() == 1) { player.sendMessage("Your level needs to be atleast 1 and less or equal than 20!"); } else { player.getInventory().destroyItemByItemId("", 4357, 3, player, player); player.setInstanceId(15); player.setInDoc(true); player.teleToLocation(24219, -113663, -3416); } } } } } } else if (command.startsWith("doc21")) { if(NexusEvents.isInEvent(player)) { player.sendMessage("You can not use this while in event!"); return; } if (player.getInstanceId() != 16) { if (player.getParty() != null) { for (L2PcInstance ptm : player.getParty().getPartyMembers()) { if (ptm.getMentoreeId() != player.getCharId()) { player.leaveParty(); } else { if (player.getInventory().getInventoryItemCount(4357, 0) < 3) { player.sendMessage("You need 3 Silver to enter Document 1!"); } else if (player.getLevel() < 20 || player.getLevel() > 40 || player.getIsMentor() == 1) { player.sendMessage("Your level needs to be atleast 20 and less or equal than 40!"); } else { player.getInventory().destroyItemByItemId("", 4357, 3, player, player); player.setInstanceId(16); player.setInDoc(true); player.teleToLocation(166018, 20334, -3359); } } } } } } else if (command.startsWith("doc22")) { if(NexusEvents.isInEvent(player)) { player.sendMessage("You can not use this while in event!"); return; } if (player.getInstanceId() != 16) { if (player.getParty() != null) { for (L2PcInstance ptm : player.getParty().getPartyMembers()) { if (ptm.getMentoreeId() != player.getCharId()) { player.leaveParty(); } else { if (player.getInventory().getInventoryItemCount(4357, 0) < 3) { player.sendMessage("You need 3 Silver to enter Document 1!"); } else if (player.getLevel() < 20 || player.getLevel() > 40 || player.getIsMentor() == 1) { player.sendMessage("Your level needs to be atleast 20 and less or equal than 40!"); } else { player.getInventory().destroyItemByItemId("", 4357, 3, player, player); player.setInstanceId(16); player.setInDoc(true); player.teleToLocation(189036, 14870, -2632); } } } } } } else if (command.startsWith("doc31")) { if(NexusEvents.isInEvent(player)) { player.sendMessage("You can not use this while in event!"); return; } if (player.getInstanceId() != 17) { if (player.getParty() != null) { for (L2PcInstance ptm : player.getParty().getPartyMembers()) { if (ptm.getMentoreeId() != player.getCharId()) { player.leaveParty(); } else { if (player.getInventory().getInventoryItemCount(4357, 0) < 3) { player.sendMessage("You need 3 Silver to enter Document 1!"); } else if (player.getLevel() < 40 || player.getLevel() > 60 || player.getIsMentor() == 1) { player.sendMessage("Your level needs to be atleast 40 and less or equal than 60!"); } else { player.getInventory().destroyItemByItemId("", 4357, 3, player, player); player.setInstanceId(17); player.setInDoc(true); player.teleToLocation(59994, -47643, -2719); } } } } } } else if (command.startsWith("doc32")) { if(NexusEvents.isInEvent(player)) { player.sendMessage("You can not use this while in event!"); return; } if (player.getInstanceId() != 17) { if (player.getParty() != null) { for (L2PcInstance ptm : player.getParty().getPartyMembers()) { if (ptm.getMentoreeId() != player.getCharId()) { player.leaveParty(); } else { if (player.getInventory().getInventoryItemCount(4357, 0) < 3) { player.sendMessage("You need 3 Silver to enter Document 1!"); } else if (player.getLevel() < 40 || player.getLevel() > 60 || player.getIsMentor() == 1) { player.sendMessage("Your level needs to be atleast 40 and less or equal than 60!"); } else { player.getInventory().destroyItemByItemId("", 4357, 3, player, player); player.setInstanceId(17); player.setInDoc(true); player.teleToLocation(57958, -30857, 369); } } } } } } else if (command.startsWith("doc41")) { if(NexusEvents.isInEvent(player)) { player.sendMessage("You can not use this while in event!"); return; } if (player.getInstanceId() != 18) { if (player.getParty() != null) { for (L2PcInstance ptm : player.getParty().getPartyMembers()) { if (ptm.getMentoreeId() != player.getCharId()) { player.leaveParty(); } else { if (player.getInventory().getInventoryItemCount(4357, 0) < 3) { player.sendMessage("You need 3 Silver to enter Document 1!"); } else if (player.getLevel() < 60 || player.getLevel() > 76 || player.getIsMentor() == 1) { player.sendMessage("Your level needs to be atleast 60 and less or equal than 76!"); } else { player.getInventory().destroyItemByItemId("", 4357, 3, player, player); player.setInstanceId(18); player.setInDoc(true); player.teleToLocation(-53838, 179285, -4635); } } } } } } else if (command.startsWith("doc42")) { if(NexusEvents.isInEvent(player)) { player.sendMessage("You can not use this while in event!"); return; } if (player.getInstanceId() != 18) { if (player.getParty() != null) { for (L2PcInstance ptm : player.getParty().getPartyMembers()) { if (ptm.getMentoreeId() != player.getCharId()) { player.leaveParty(); } else { if (player.getInventory().getInventoryItemCount(4357, 0) < 3) { player.sendMessage("You need 3 Silver to enter Document 1!"); } else if (player.getLevel() < 60 || player.getLevel() > 76 || player.getIsMentor() == 1) { player.sendMessage("Your level needs to be atleast 60 and less or equal than 76!"); } else { player.getInventory().destroyItemByItemId("", 4357, 3, player, player); player.setInstanceId(18); player.setInDoc(true); player.teleToLocation(-53781, 188233, -4665); } } } } } } else if (command.startsWith("doc51")) { if(NexusEvents.isInEvent(player)) { player.sendMessage("You can not use this while in event!"); return; } if (player.getInstanceId() != 19) { if (player.getParty() != null) { for (L2PcInstance ptm : player.getParty().getPartyMembers()) { if (ptm.getMentoreeId() != player.getCharId()) { player.leaveParty(); } else { if (player.getInventory().getInventoryItemCount(4357, 0) < 3) { player.sendMessage("You need 3 Silver to enter Document 1!"); } else if (player.getLevel() < 76 || player.getLevel() > 96 || player.getIsMentor() == 1) { player.sendMessage("Your level needs to be atleast 76 and less or equal than 95!"); } else { player.getInventory().destroyItemByItemId("", 4357, 3, player, player); player.setInstanceId(19); player.setInDoc(true); player.teleToLocation(150153, 192735, -3696); } } } } } } else if (command.startsWith("doc52")) { if(NexusEvents.isInEvent(player)) { player.sendMessage("You can not use this while in event!"); return; } if (player.getInstanceId() != 19) { if (player.getParty() != null) { for (L2PcInstance ptm : player.getParty().getPartyMembers()) { if (ptm.getMentoreeId() != player.getCharId()) { player.leaveParty(); } else { if (player.getInventory().getInventoryItemCount(4357, 0) < 3) { player.sendMessage("You need 3 Silver to enter Document 1!"); } else if (player.getLevel() < 76 || player.getLevel() > 96 || player.getIsMentor() == 1) { player.sendMessage("Your level needs to be atleast 76 and less or equal than 95!"); } else { player.getInventory().destroyItemByItemId("", 4357, 3, player, player); player.setInstanceId(19); player.setInDoc(true); player.teleToLocation(146591, 151689, -2877); } } } } } } super.onBypassFeedback(player,command); } @Override public String getHtmlPath(int npcId, int val) { String pom = ""; if (val == 0) { pom = "" + npcId; } else { pom = npcId + "-" + val; } return "data/html/doctp/" + pom + ".htm"; } } And the html: <center> <a action="bypass -h npc_%objectId%_doc11">Test</a> </center> but when i click to the link ingame the html closed and im getting no errors in console, while nth happends in game
  10. Hi, I come ask because maybe I just miss something really oblivious. When I try to save UTX/UKX with L2Editor it does save properly but it became unreadable by the game. Also when I create material, like TexEnvMap it just crash UnrealEngine is this normal or something is wrong with my download L2Editor ? I am using Lineage 2 - Epilogue client and it was doing the same on Gracia Final. Thank you for you help it would help me to save ton of time :) PS : I tried to encrypt with encdec but it seem to do the same
  11. I spoted streange bug in my server maybe someone knows how to fix it, when you hiting mobs with faither or mage you cant use any auras, like example if you hit mob with spoiler you cant use fake death skill until you stop hitting. can someone tell me where i can fix this bug in java? tnx.
  12. Hello, im trying to make a text box to add a char name inside and then a button that will set this name at a variable in HTML. How can i do that? (via java) Thx in advance
  13. Ok so , With enter cat you can move with w.a.s.d BUT "a" and "d" TURN YOU they dont move you, ANY IDEA if it can be done and if it can , how? http://prntscr.com/hjhnyo for example can NEW "items" be added to this list or shortcut items? can they be edited?
  14. Hello i have a problem i fixed the most part of the code but i have a problem i get that red line here log.warning(StringUtil.concat( under concat only here is the code package net.sf.l2j.gameserver.masteriopack.rankpvpsystem; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Properties; import java.util.logging.Logger; import net.sf.l2j.commons.lang.StringUtil; import net.sf.l2j.gameserver.masteriopack.imageconverter.ServerSideImage; /** * This class initializes all global variables for configuration.<br> * If the key doesn't appear in properties file, a default value is set by this class.<br> * @author Masterio */ public final class RankPvpSystemConfig { private static final Logger log = Logger.getLogger(RankPvpSystemConfig.class.getName()); // Rank PvP System: public static boolean RANK_PVP_SYSTEM_ENABLED; public static int LEGAL_KILL_MIN_LVL; public static boolean LEGAL_COUNTER_ALTT_ENABLED; public static boolean LEGAL_KILL_FOR_PK_KILLER_ENABLED; public static boolean LEGAL_KILL_FOR_INNOCENT_KILL_ENABLED; public static int PROTECTION_TIME_RESET; public static int LEGAL_KILL_PROTECTION; public static int DAILY_LEGAL_KILL_PROTECTION; public static boolean GM_IGNORE_ENABLED; // PvP + RPC Reward: public static boolean RPC_REWARD_ENABLED; public static long RPC_REWARD_AMOUNT; public static int RPC_REWARD_MIN_LVL; public static boolean PVP_REWARD_ENABLED; public static int PVP_REWARD_ID; public static long PVP_REWARD_AMOUNT; public static int PVP_REWARD_MIN_LVL; public static boolean REWARD_FOR_PK_KILLER_ENABLED; public static boolean REWARD_FOR_INNOCENT_KILL_ENABLED; public static boolean RANK_PVP_REWARD_ENABLED; public static int RANK_PVP_REWARD_MIN_LVL; public static boolean REWARD_LEGAL_KILL_ENABLED; public static boolean RANK_LEVEL_REWARD_ENABLED; // Ranks: public static boolean RANKS_ENABLED; public static int RANK_POINTS_MIN_LVL; public static boolean RANK_POINTS_CUT_ENABLED; public static boolean RANK_RPC_ENABLED; public static boolean RANK_POINTS_DOWN_COUNT_ENABLED; public static List<Integer> RANK_POINTS_DOWN_AMOUNTS = new ArrayList<>(); public static boolean RANK_SHOUT_INFO_ON_KILL_ENABLED; public static boolean RANK_SHOUT_BONUS_INFO_ON_KILL_ENABLED; public static boolean RPC_EXCHANGE_ENABLED; public static boolean RPC_EXCHANGE_CONFIRM_BOX_ENABLED; // War Kills: public static boolean WAR_KILLS_ENABLED; public static double WAR_RANK_POINTS_RATIO; // Combo Kill: public static boolean COMBO_KILL_ENABLED; public static boolean COMBO_KILL_PROTECTION_WITH_LEGAL_KILL_ENABLED; public static boolean COMBO_KILL_PROTECTION_NO_REPEAT_ENABLED; public static Map<Integer, String> COMBO_KILL_LOCAL_AREA_MESSAGES = new HashMap<>(); public static Map<Integer, String> COMBO_KILL_GLOBAL_AREA_MESSAGES = new HashMap<>(); public static boolean COMBO_KILL_ALT_MESSAGES_ENABLED; public static String COMBO_KILL_ALT_MESSAGE; public static int COMBO_KILL_ALT_GLOBAL_MESSAGE_LVL; public static boolean COMBO_KILL_DEFEAT_MESSAGE_ENABLED; public static int COMBO_KILL_DEFEAT_MESSAGE_MIN_LVL; public static String COMBO_KILL_DEFEAT_MESSAGE; public static int COMBO_KILL_RESETER; public static boolean COMBO_KILL_RANK_POINTS_RATIO_ENABLED; public static Map<Integer, Double> COMBO_KILL_RANK_POINTS_RATIO = new HashMap<>(); // Title & Nick Color: public static boolean NICK_COLOR_ENABLED; public static boolean TITLE_COLOR_ENABLED; // Zones: public static List<Integer> ALLOWED_ZONES_IDS = new ArrayList<>(); public static List<Integer> RESTRICTED_ZONES_IDS = new ArrayList<>(); public static List<Integer> DEATH_MANAGER_RESTRICTED_ZONES_IDS = new ArrayList<>(); public static Map<Integer, Double> RANK_POINTS_BONUS_ZONES_IDS = new HashMap<>(); // pvpinfo command, pvp status window, death manager: public static boolean PVP_INFO_COMMAND_ENABLED; public static boolean PVP_INFO_USER_COMMAND_ENABLED; public static int PVP_INFO_USER_COMMAND_ID; public static boolean PVP_INFO_COMMAND_ON_DEATH_ENABLED; public static boolean DEATH_MANAGER_DETAILS_ENABLED; public static boolean DEATH_MANAGER_SHOW_ITEMS_ENABLED; public static boolean TOTAL_KILLS_IN_SHOUT_ENABLED; public static boolean TOTAL_KILLS_IN_PVPINFO_ENABLED; public static boolean TOTAL_KILLS_ON_ME_IN_PVPINFO_ENABLED; public static boolean SHOW_PLAYER_LEVEL_IN_PVPINFO_ENABLED; // Anti-Farm: public static boolean ANTI_FARM_CLAN_ALLY_ENABLED; public static boolean ANTI_FARM_PARTY_ENABLED; public static boolean ANTI_FARM_IP_ENABLED; // Top List (Community Board): public static boolean TOP_LIST_ENABLED; public static long TOP_LIST_IGNORE_TIME_LIMIT; // Database: public static long PVP_TABLE_UPDATE_INTERVAL; public static List<Long> TOP_TABLE_UPDATE_TIMES = new ArrayList<>(); public static boolean RPC_TABLE_FORCE_UPDATE_ENABLED; public static boolean DATABASE_CLEANER_ENABLED; public static long DATABASE_CLEANER_REPEAT_TIME; // Image: public static boolean SERVER_SIDE_IMAGES_ENABLED; public static int IMAGE_PREFIX; // Button style: public static String BUTTON_UP; public static String BUTTON_DOWN; public static String BUTTON_W; public static String BUTTON_H; public static String BUTTON_BIG_W; public static String BUTTON_BIG_H; /** * All required tables are initialized here. */ public static void load() { log.info("> Initializing Rank PvP System ("+RANK_PVP_SYSTEM_VERSION+"):"); try { File cc = new File(RANK_PVP_SYSTEM_CONFIG_FILE); InputStream is = new FileInputStream(cc); Properties ccSettings = new Properties(); ccSettings.load(is); RANK_PVP_SYSTEM_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("RankPvpSystemEnabled", "false")); LEGAL_COUNTER_ALTT_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("LegalCounterAltTEnabled", "false")); DATABASE_CLEANER_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("DatabaseCleanerEnabled", "false")); DATABASE_CLEANER_REPEAT_TIME = Integer.parseInt(ccSettings.getProperty("DatabaseCleanerRepeatTime", "0")); if (DATABASE_CLEANER_REPEAT_TIME <= 0) { DATABASE_CLEANER_ENABLED = false; log.warning("[DatabaseCleanerRepeatTime]: invalid config property -> \""+DATABASE_CLEANER_REPEAT_TIME+"\""); } else { DATABASE_CLEANER_REPEAT_TIME *= 86400000; } RPC_REWARD_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("RpcRewardEnabled", "false")); RPC_REWARD_AMOUNT = Integer.parseInt(ccSettings.getProperty("RpcRewardAmmount", "1")); RPC_REWARD_MIN_LVL = Integer.parseInt(ccSettings.getProperty("RpcRewardMinLvl", "76")); PVP_REWARD_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("PvpRewardEnabled", "false")); PVP_REWARD_ID = Integer.parseInt(ccSettings.getProperty("PvpRewardId", "57")); PVP_REWARD_AMOUNT = Integer.parseInt(ccSettings.getProperty("PvpRewardAmount", "1")); PVP_REWARD_MIN_LVL = Integer.parseInt(ccSettings.getProperty("PvpRewardMinLvl", "76")); REWARD_FOR_PK_KILLER_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("RewardForPkKillerEnabled", "true")); RANK_PVP_REWARD_MIN_LVL = Integer.parseInt(ccSettings.getProperty("RankPvpRewardMinLvl", "76")); REWARD_FOR_INNOCENT_KILL_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("RewardForInnocentKillEnabled", "false")); RANK_PVP_REWARD_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("RankPvpRewardEnabled", "true")); REWARD_LEGAL_KILL_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("RewardLegalKillEnabled", "true")); RANK_LEVEL_REWARD_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("RankLevelRewardEnabled", "true")); RANKS_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("RanksEnabled", "false")); RANK_POINTS_MIN_LVL = Integer.parseInt(ccSettings.getProperty("RankPointsMinLvl", "76")); RANK_POINTS_CUT_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("RankPointsCutEnabled", "true")); RANK_RPC_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("RankRpcEnabled", "false")); // set rank's: String id1[] = ccSettings.getProperty("RankNames", "").split(","); String id2[] = ccSettings.getProperty("RankMinPoints", "").split(","); String id3[] = ccSettings.getProperty("RankPointsForKill", "").split(","); String id5[] = ccSettings.getProperty("RankRpcAmount", "").split(","); String id6[] = ccSettings.getProperty("NickColors", "").split(","); String id7[] = ccSettings.getProperty("TitleColors", "").split(","); if (RANK_PVP_SYSTEM_ENABLED || RANK_RPC_ENABLED || RANKS_ENABLED) { if (id1.length != id2.length || id1.length != id3.length || id1.length != id5.length || id1.length != id6.length || id1.length != id7.length) { log.info("[RankPvpSystemConfig]: Arrays sizes should be the same!"); log.info("RANK_NAMES :" + id1.length); log.info("RANK_MIN_POINTS :" + id2.length); log.info("RANK_POINTS_FOR_KILL :" + id3.length); log.info("RANK_RPC_AMOUNT :" + id5.length); log.info("RANK_NICK_COLORS :" + id6.length); log.info("RANK_TITLE_COLORS :" + id7.length); } else if(id1.length == 0 || id2.length == 0 || id3.length == 0 || id5.length == 0 || id6.length == 0 || id7.length == 0) { log.info("[RankPvpSystemConfig]: Arrays sizes must be greater than 0!"); log.info("RANK_NAMES :" + id1.length); log.info("RANK_MIN_POINTS :" + id2.length); log.info("RANK_POINTS_FOR_KILL :" + id3.length); log.info("RANK_RPC_AMOUNT :" + id5.length); log.info("RANK_NICK_COLORS :" + id6.length); log.info("RANK_TITLE_COLORS :" + id7.length); } else if(id2.length > 0 && Integer.parseInt(id2[id2.length - 1]) != 0) { log.info("[RankMinPoints]: Last value must equal 0! Example: ...,6,5,4,3,2,1,0"); } else { for (int i = 1; i <= id1.length; i++) { Rank rank = new Rank(); rank.setId(i); rank.setName(id1[id1.length - i]); rank.setMinPoints(Long.parseLong(id2[id1.length - i])); rank.setPointsForKill(Integer.parseInt(id3[id1.length - i])); rank.setRpc(Integer.parseInt(id5[id1.length - i])); rank.setNickColor(Integer.decode("0x" + id6[id1.length - i])); rank.setTitleColor(Integer.decode("0x" + id7[id1.length - i])); RankTable.getInstance().getRankList().put(i, rank); } } } NICK_COLOR_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("NickColorEnabled", "false")); TITLE_COLOR_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("TitleColorEnabled", "false")); RANK_POINTS_DOWN_COUNT_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("RankPointsDownCountEnabled", "false")); RANK_POINTS_DOWN_AMOUNTS = new ArrayList<>(); for (String id : ccSettings.getProperty("RankPointsDownAmounts", "").split(",")) { RANK_POINTS_DOWN_AMOUNTS.add(Integer.parseInt(id)); } RANK_SHOUT_INFO_ON_KILL_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("RankShoutInfoOnKillEnabled", "false")); RANK_SHOUT_BONUS_INFO_ON_KILL_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("RankShoutBonusInfoOnKillEnabled", "false")); WAR_KILLS_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("WarKillsEnabled", "false")); if (WAR_KILLS_ENABLED) { WAR_RANK_POINTS_RATIO = Double.parseDouble(ccSettings.getProperty("WarRankPointsRatio", "1.0")); } else { WAR_RANK_POINTS_RATIO = 1.0; } COMBO_KILL_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("ComboKillEnabled", "false")); COMBO_KILL_PROTECTION_WITH_LEGAL_KILL_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("ComboKillProtectionWithLegalKillEnabled", "false")); COMBO_KILL_PROTECTION_NO_REPEAT_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("ComboKillProtectionNoRepeatEnabled", "false")); String propertyValue = ccSettings.getProperty("ComboKillLocalAreaMessages"); if ((propertyValue != null) && (propertyValue.length() > 0)) { String[] propertySplit = propertyValue.split(";"); if (propertySplit.length > 0) { for (String value : propertySplit) { String[] valueSplit = value.split(","); if (valueSplit.length != 2) { log.warning(StringUtil.concat("[ComboKillLocalAreaMessages]: invalid config property -> \"", value, "\"")); } else { try { COMBO_KILL_LOCAL_AREA_MESSAGES.put(Integer.parseInt(valueSplit[0]), valueSplit[1]); } catch (NumberFormatException nfe) { if (!value.isEmpty()) { log.warning(StringUtil.concat("[ComboKillLocalAreaMessages]: invalid config property -> \"", valueSplit[0], "\"", valueSplit[1])); } } } } } } propertyValue = ccSettings.getProperty("ComboKillGlobalAreaMessages", ""); if ((propertyValue != null) && (propertyValue.length() > 0)) { String[] propertySplit = ccSettings.getProperty("ComboKillGlobalAreaMessages").split(";"); if (propertySplit.length > 0) { for (String value : propertySplit) { String[] valueSplit = value.split(","); if (valueSplit.length != 2) { log.warning(StringUtil.concat("[ComboKillGlobalAreaMessages]: invalid config property -> \"", value, "\"")); } else { try { COMBO_KILL_GLOBAL_AREA_MESSAGES.put(Integer.parseInt(valueSplit[0]), valueSplit[1]); } catch (NumberFormatException nfe) { if (!value.isEmpty()) { log.warning(StringUtil.concat("[ComboKillGlobalAreaMessages]: invalid config property -> \"", valueSplit[0], "\"", valueSplit[1])); } } } } } } COMBO_KILL_ALT_MESSAGES_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("ComboKillAltMessagesEnabled", "false")); COMBO_KILL_ALT_MESSAGE = ccSettings.getProperty("ComboKillAltMessage", "%killer% have %combo_level% Combo kills!"); COMBO_KILL_ALT_GLOBAL_MESSAGE_LVL = Integer.parseInt(ccSettings.getProperty("ComboKillAltGlobalMessageMinLvl", "0")); COMBO_KILL_DEFEAT_MESSAGE_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("ComboKillDefeatMessageEnabled", "true")); COMBO_KILL_DEFEAT_MESSAGE_MIN_LVL = Integer.parseInt(ccSettings.getProperty("ComboKillDefeatMessageMinComboLvl", "0")); COMBO_KILL_DEFEAT_MESSAGE = ccSettings.getProperty("ComboKillDefeatMessage", "%killer% is defeated with %combo_level% combo lvl!!!"); COMBO_KILL_RESETER = Integer.parseInt(ccSettings.getProperty("ComboKillReseter", "0")); COMBO_KILL_RANK_POINTS_RATIO_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("ComboKillRankPointsRatioEnabled", "false")); propertyValue = ccSettings.getProperty("ComboKillRankPointsRatio", ""); if ((propertyValue != null) && (propertyValue.length() > 0)) { String[] propertySplit = ccSettings.getProperty("ComboKillRankPointsRatio").split(";"); if (propertySplit.length > 0) { for (String value : propertySplit) { String[] valueSplit = value.split(","); if (valueSplit.length != 2) { log.warning(StringUtil.concat("[ComboKillRankPointsRatio]: invalid config property -> \"", value, "\"")); } else { try { COMBO_KILL_RANK_POINTS_RATIO.put(Integer.parseInt(valueSplit[0]), Double.parseDouble(valueSplit[1])); } catch (NumberFormatException nfe) { if (!value.isEmpty()) { log.warning(StringUtil.concat("[ComboKillRankPointsRatio]: invalid config property -> \"", valueSplit[0], "\"", valueSplit[1])); } } } } } } // additional security for combo kill system: if ((COMBO_KILL_LOCAL_AREA_MESSAGES.size() == 0) && (COMBO_KILL_GLOBAL_AREA_MESSAGES.size() == 0)) { COMBO_KILL_ENABLED = false; } int i = 0; String tempStr = ccSettings.getProperty("AllowedZonesIds"); if ((tempStr != null) && (tempStr.length() > 0)) { for (String rZoneId : tempStr.split(",")) { try { ALLOWED_ZONES_IDS.add(i, Integer.parseInt(rZoneId)); } catch (Exception e) { log.info(e.getMessage()); } i++; } } i = 0; tempStr = ccSettings.getProperty("RestrictedZonesIds"); if ((tempStr != null) && (tempStr.length() > 0)) { for (String rZoneId : tempStr.split(",")) { try { RESTRICTED_ZONES_IDS.add(i, Integer.parseInt(rZoneId)); } catch (Exception e) { log.info(e.getMessage()); } i++; } } LEGAL_KILL_MIN_LVL = Integer.parseInt(ccSettings.getProperty("LegalKillMinLvl", "1")); LEGAL_KILL_FOR_PK_KILLER_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("LegalKillForPkKillerEnabled", "true")); LEGAL_KILL_FOR_INNOCENT_KILL_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("LegalKillForInnocentKillEnabled", "false")); PROTECTION_TIME_RESET = Integer.parseInt(ccSettings.getProperty("ProtectionTimeReset", "0")); LEGAL_KILL_PROTECTION = Integer.parseInt(ccSettings.getProperty("LegalKillProtection", "0")); DAILY_LEGAL_KILL_PROTECTION = Integer.parseInt(ccSettings.getProperty("DailyLegalKillProtection", "0")); GM_IGNORE_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("GMIgnoreEnabled", "true")); PVP_INFO_COMMAND_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("PvpInfoCommandEnabled", "true")); PVP_INFO_USER_COMMAND_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("PvpInfoUserCommandEnabled", "false")); PVP_INFO_USER_COMMAND_ID = Integer.parseInt(ccSettings.getProperty("PvpInfoUserCommandId", "114")); PVP_INFO_COMMAND_ON_DEATH_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("PvpInfoCommandShowOnDeathEnabled", "true")); DEATH_MANAGER_DETAILS_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("DeathManagerDetailsEnabled", "true")); DEATH_MANAGER_SHOW_ITEMS_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("DeathManagerShowItemsEnabled", "true")); i = 0; tempStr = ccSettings.getProperty("DeathManagerRestrictedZonesIds"); if ((tempStr != null) && (tempStr.length() > 0)) { for (String rZoneId : tempStr.split(",")) { try { DEATH_MANAGER_RESTRICTED_ZONES_IDS.add(i, Integer.parseInt(rZoneId)); } catch (Exception e) { log.info(e.getMessage()); } i++; } } propertyValue = ccSettings.getProperty("RankPointsBonusZonesIds", ""); if ((propertyValue != null) && (propertyValue.length() > 0)) { String[] propertySplit = ccSettings.getProperty("RankPointsBonusZonesIds", "").split(";"); if (propertySplit.length > 0) { for (String value : propertySplit) { String[] valueSplit = value.split(","); if (valueSplit.length != 2) { log.warning(StringUtil.concat("[RankPointsBonusZonesIds]: invalid config property -> \"", value, "\"")); } else { try { RANK_POINTS_BONUS_ZONES_IDS.put(Integer.parseInt(valueSplit[0]), Double.parseDouble(valueSplit[1])); } catch (NumberFormatException nfe) { if (!value.isEmpty()) { log.warning(StringUtil.concat("[RankPointsBonusZonesIds]: invalid config property -> \"", valueSplit[0], "\"", valueSplit[1])); } } } } } } TOTAL_KILLS_IN_SHOUT_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("TotalKillsInShoutEnabled", "true")); TOTAL_KILLS_IN_PVPINFO_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("TotalKillsInPvpInfoEnabled", "true")); TOTAL_KILLS_ON_ME_IN_PVPINFO_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("TotalKillsOnMeInPvpInfoEnabled", "true")); SHOW_PLAYER_LEVEL_IN_PVPINFO_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("ShowPlayerLevelInPvpInfoEnabled", "true")); RPC_EXCHANGE_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("RpcExchangeEnabled", "true")); RPC_EXCHANGE_CONFIRM_BOX_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("RpcExchangeConfirmBoxEnabled", "true")); ANTI_FARM_CLAN_ALLY_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("AntiFarmClanAllyEnabled", "true")); ANTI_FARM_PARTY_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("AntiFarmPartyEnabled", "true")); ANTI_FARM_IP_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("AntiFarmIpEnabled", "true")); PVP_TABLE_UPDATE_INTERVAL = (Integer.parseInt(ccSettings.getProperty("PvpTableUpdateInterval", "1")) * 60000); if (PVP_TABLE_UPDATE_INTERVAL < 1) { log.warning(StringUtil.concat("[PvpTableUpdateInterval]: invalid config property -> \"", Long.toString(PVP_TABLE_UPDATE_INTERVAL), "\"")); PVP_TABLE_UPDATE_INTERVAL = 60000; } RPC_TABLE_FORCE_UPDATE_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("RpcTableForceUpdate", "true")); // top table update times: propertyValue = ccSettings.getProperty("TopTableUpdateTimes", "3:00"); List<Long> temp_time_list = new ArrayList<>(); if ((propertyValue != null) && (propertyValue.length() > 0)) { String[] propertySplit = ccSettings.getProperty("TopTableUpdateTimes", "").split(","); if (propertySplit.length > 0) { for (String value : propertySplit) { String[] hm = value.split(":"); if (hm.length != 2) // hm table length { log.warning(StringUtil.concat("[TopTableUpdateTimes]: invalid config property -> \"", value, "\"")); } else { try { // prepare h & m: String h_s = hm[0]; String m_s = hm[1]; if(m_s.length() != 2) { log.warning(StringUtil.concat("[TopTableUpdateTimes]: invalid config property -> \"", value, "\" minutes format incorrect [hh:mm]")); break; } // check times like: [0]3:15, 3:[0]5. if(h_s.startsWith("0") && h_s.length() == 2) { h_s = h_s.substring(1); } if(m_s.startsWith("0") && m_s.length() == 2) { m_s = m_s.substring(1); } if(h_s.equals("0")) { h_s = "24"; } // calculate all times for times in ms from time 0:00. long h = Long.parseLong(h_s); long m = Long.parseLong(m_s); if(h < 0 || m < 0 || h > 24 || m > 59) { log.warning(StringUtil.concat("[TopTableUpdateTimes]: invalid config property -> \"", value, "\" minutes format incorrect [hh:mm]")); break; } long mili = (h * 60 + m) * 60000 - (3600000); // - 1h if(mili >= 0 && !temp_time_list.contains(mili)) temp_time_list.add(mili); } catch (NumberFormatException nfe) { } } } } } class LongComparator implements Comparator<Long> { @Override public int compare(Long v1, Long v2) { if (v1 > v2) { return 1; } else if (v1 == v2) { return 0; } else { return -1; } } } Comparator<Long> comp = new LongComparator(); Long[] aol = new Long[temp_time_list.size()]; Arrays.sort(temp_time_list.toArray(aol), comp); TOP_TABLE_UPDATE_TIMES = Arrays.asList(aol); TOP_LIST_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("TopListEnabled", "true")); TOP_LIST_IGNORE_TIME_LIMIT = Integer.parseInt(ccSettings.getProperty("TopListIgnoreTimeLimit", "0")); if (TOP_LIST_IGNORE_TIME_LIMIT > 0) { TOP_LIST_IGNORE_TIME_LIMIT *= 86400000; // in milliseconds } SERVER_SIDE_IMAGES_ENABLED = Boolean.parseBoolean(ccSettings.getProperty("ServerSideImagesEnabled", "true")); IMAGE_PREFIX = Integer.parseInt(ccSettings.getProperty("ImagePrefix", "1")); // Buttons style: BUTTON_UP = ccSettings.getProperty("ButtonFore", "L2UI_ch3.BigButton3_over"); BUTTON_DOWN = ccSettings.getProperty("ButtonBack", "L2UI_ch3.BigButton3"); BUTTON_W = ccSettings.getProperty("ButtonWidth", "134"); BUTTON_H = ccSettings.getProperty("ButtonHeight", "21"); BUTTON_BIG_W = ccSettings.getProperty("ButtonBigWidth", "180"); BUTTON_BIG_H = ccSettings.getProperty("ButtonBigHeight", "24"); log.warning(" - Rank Pvp System Config initialization complete."); } catch (Exception e) { log.warning("Config: " + e.getMessage()); throw new Error("Failed to Load " + RANK_PVP_SYSTEM_CONFIG_FILE + " File."); } // initializing system PvpTable.getInstance(); if(RPC_REWARD_ENABLED || RANK_RPC_ENABLED || RPC_TABLE_FORCE_UPDATE_ENABLED) RPCTable.getInstance(); else log.info(" - RPCTable: Disabled, players RPC will be not updated!"); if(RPC_REWARD_ENABLED || RPC_EXCHANGE_ENABLED) RPCRewardTable.getInstance(); else log.info(" - RPCRewardTable: Disabled."); if(PVP_REWARD_ENABLED || RANK_PVP_REWARD_ENABLED) RewardTable.getInstance(); else log.info(" - RewardTable: Disabled."); if(TOP_LIST_ENABLED) TopTable.getInstance(); else log.info(" - TopTable: Disabled."); ServerSideImage.getInstance(); } // -------------------------------------------------- // Constants - not placed in configuration file // -------------------------------------------------- public static final String RANK_PVP_SYSTEM_CONFIG_FILE = "./config/masterio/RankPvpSystemConfig.properties"; public static final String RANK_PVP_SYSTEM_VERSION = "3.8.7"; // CHAR_ID_COLUMN_NAME is not in configuration file. //public static final String CHAR_ID_COLUMN_NAME = "charId"; // H5 public static final String CHAR_ID_COLUMN_NAME = "obj_Id"; // IL }
  15. Is it possible to edit the client like in Unreal Engine and the packets, add more UI tables and such? for example for Mentor System to add a new UI to show name etc? or for example ot add more keys to be used ingame?
  16. i got some error in console any ideas whats wrong? Exception in a Runnable execution:java.lang.NullPointerException Exception in a Runnable execution:java.lang.NullPointerException Exception in a Runnable execution:java.lang.NullPointerException Exception in a Runnable execution:java.lang.NullPointerException Exception in a Runnable execution:java.lang.NullPointerException Exception in a Runnable execution:java.lang.NullPointerException Exception in a Runnable execution:java.lang.NullPointerException Exception in a Runnable execution:java.lang.NullPointerException
  17. Im planning to open l2OFF H5, wondering if 1 donation listing would be reasonable enough to launch this kind of server ? - I can say that total cost of running is 2500 - 3000 month, this is server cost, return of investment on source (average per month divided by multiple months, i wont reveal the real price), advertisement, protection, . What i would like to do is: have only Premium Account Status on x20 for 20$ a month. Other than that server should be running passive, there wont be a need even for admin to login the server, unless checking for bots - but current bot protection we have, adrenaline cant by pass it (for now) and weekly events, like letter collection etc - any case its not the issue. So i'm hoping to reach 1500 online on opening day What are the chances, having 1 donation listing not working? What im basically asking is, what is the safe donation services server could offer, without damaging the economy of server and let it bloom on it's own - what i care about is more forums and community.
  18. Hi.. I want to ask two questions because I dont remember how it was.. 1st) question how can i transfer 1 char in another account? (for example i have 1 char with name DaVeOn in maxcheaters account.. how can i transfer the char with name DaVeOn in another account maxcheaters123)? 2nd) question how can i add augument skill on 1 wep that i want? (for example.. i want add passive m.power on arcana) how can i do that?
  19. Kalhspera stin omada tha hthela na kanw 2 erwtiseis gt den thimame pws ginontai.. 1h) erwtish pws mporousa na metafero enan char se ena allo account? (p.x exw enan char me name DaVeOn sto acc maxcheaters.. pws tha metafero ton char DaVeOn sto acc maxcheaters123)? 2h) erwtish pws mporousa na valw ena augument skill pou thelw egw se ena wep? (p.x na valw to passive m.power se arcana)?
  20. σήμερα ξαφνικά ολες οι GK δεν δουλεύουν, είτε οι "off" ειναι Custom... Και πετάει το εξής Error στο G.C. WARN Bad RequestBypassToServer: java.lang.NullPointerException at com.l2jfrozen.gameserver.model.entity.siege.Castle.checkIfInZone(Cast le.java:281) at com.l2jfrozen.gameserver.managers.CastleManager.getCastleIndex(Castle Manager.java:240) at com.l2jfrozen.gameserver.managers.CastleManager.getCastleIndex(Castle Manager.java:231) at com.l2jfrozen.gameserver.model.actor.instance.L2TeleporterInstance.va lidateCondition(L2TeleporterInstance.java:392) at com.l2jfrozen.gameserver.model.actor.instance.L2TeleporterInstance.on BypassFeedback(L2TeleporterInstance.java:94) at com.l2jfrozen.gameserver.network.clientpackets.RequestBypassToServer. runImpl(RequestBypassToServer.java:303) at com.l2jfrozen.gameserver.network.clientpackets.L2GameClientPacket.run (L2GameClientPacket.java:77) at com.l2jfrozen.gameserver.network.L2GameClient.run(L2GameClient.java:1 213) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
  21. So, i get an error when i am trying to compile one .uc file. As you can see, my first package has no problem, but the second has. If anyone can help me i would appreciate it as fuck. Thanks in advance. <3
  22. Hello i've searched alot but i didnt find anything does anyone know how can i make from 85 level max to 95? for hi5
  23. Hello folks, I was wondering how could I get my target's target in .uc files. How can I do it?
  24. Hello :) I know that are few already topics with this subject , but none of them help me in my wishes :D I have xdat editor , but i want to create a new special window for npc`s . In order to do that and to asign that to my npc i need to make a script . Questions : Where are scripts for windows ? Which are files related to interface ? (except interface.xdat) Wich are programs used to decript /encript edit files ? Dont need step by step help , only guidance ! Tnx .
  25. Sorry guys i am pretty new to L2J theme. I compiled, installed, started and tested with compiled one server, but now i am gonna start on Quests and Events, but my head is broken. Subject: For example i got source code of server and compiled one server which i use atm. By next step i put in code changes and i need compile full project again? But whats will be with my changes, which i made on compiled one server? I googled whole day and didnt found answe on this my quest. Subject2: How better work on code with server? I need to make my private svn and put there base code? And update it with tested diffs? Thanks for help.