SteveDogs 1077 Опубликовано 20 июня, 2013 Есть исходы? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Enfiz132 0 Опубликовано 20 июня, 2013 Есть исходы? нету Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SteveDogs 1077 Опубликовано 20 июня, 2013 нету Тогда скинь сюда конфиг custom.cfg Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Enfiz132 0 Опубликовано 20 июня, 2013 скайп cherep310 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Enfiz132 0 Опубликовано 21 июня, 2013 C:\l2j\gameserver\lib это Ядро???? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
meX 144 Опубликовано 21 июня, 2013 Откуда у него исходный код от PW ? В конфигах тоже нету Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Enfiz132 0 Опубликовано 23 июня, 2013 (изменено) Ядро, скинь UseItem.java ]// Decompiled by DJ v3.11.11.95 Copyright 2009 Atanas Neshkov Date: 23.06.2013 12:33:13 // Home Page: http://members.fortu...neshkov/dj.html http://www.neshkov.com/dj.html - Check often for new version! // Decompiler options: packimports(3) // Source File Name: UseItem.java package net.sf.l2j.gameserver.network.clientpackets; import java.util.logging.Logger; import net.sf.l2j.gameserver.cache.Static; import net.sf.l2j.gameserver.model.L2ItemInstance; import net.sf.l2j.gameserver.model.PcInventory; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.network.L2GameClient; import net.sf.l2j.gameserver.network.serverpackets.EnchantResult; import net.sf.l2j.gameserver.network.serverpackets.ShowCalculator; import net.sf.l2j.gameserver.templates.*; import scripts.items.IItemHandler; import scripts.items.ItemHandler; // Referenced classes of package net.sf.l2j.gameserver.network.clientpackets: // L2GameClientPacket public final class UseItem extends L2GameClientPacket { public UseItem() { } protected void readImpl() { _objectId = readD(); } protected void runImpl() { L2PcInstance player; L2ItemInstance item; int itemId; label0: { player = ((L2GameClient)getClient()).getActiveChar(); if(player == null) return; item = player.getInventory().getItemByObjectId(_objectId); if(item == null) return; itemId = item.getItemId(); if(itemId == 57 || player.isParalyzed()) return; if(!item.isEquipable()) { if(System.currentTimeMillis() - player.gCPBA() < 200L) return; player.sCPBA(); } if(player.isStunned() || player.isSleeping() || player.isAfraid() || player.isParalyzed() || player.isFakeDeath()) return; if(player.isDead() || player.isAlikeDead()) return; if(player.getPrivateStoreType() != 0) { player.sendPacket(Static.CANNOT_TRADE_DISCARD_DROP_ITEM_WHILE_IN_SHOPMODE); return; } if(player.getActiveTradeList() != null) { player.cancelActiveTrade(); return; } if(player.getActiveWarehouse() != null) { player.cancelActiveWarehouse(); return; } if(player.getActiveEnchantItem() != null) { player.setActiveEnchantItem(null); player.sendPacket(new EnchantResult(0, true)); return; } synchronized(player.getInventory()) { if(!player.isFishing() || itemId >= 6535 && itemId <= 6540) break label0; player.sendPacket(Static.CANNOT_DO_WHILE_FISHING_3); } return; } if(!item.getItem().isForWolf() && !item.getItem().isForHatchling() && !item.getItem().isForStrider() && !item.getItem().isForBabyPet()) break MISSING_BLOCK_LABEL_286; player.sendPacket(Static.CANNOT_EQUIP_PET_ITEM); pcinventory; JVM INSTR monitorexit ; return; if(!item.isEquipable()) goto _L2; else goto _L1 _L1: int bodyPart; bodyPart = item.getItem().getBodyPart(); if(!player.isInOlympiadMode() || !item.isHeroItem() && !item.notForOly()) break MISSING_BLOCK_LABEL_331; player.sendActionFailed(); pcinventory; JVM INSTR monitorexit ; return; bodyPart; JVM INSTR lookupswitch 3: default 398 // 128: 368 // 256: 368 // 16384: 368; goto _L3 _L4 _L4 _L4 _L4: if(!player.isCursedWeaponEquiped() && itemId != 6408) goto _L6; else goto _L5 _L5: player.sendActionFailed(); pcinventory; JVM INSTR monitorexit ; return; _L6: player.equipWeapon(item); goto _L7 _L3: player.useEquippableItem(item, true); _L7: pcinventory; JVM INSTR monitorexit ; return; _L2: L2Weapon weaponItem = player.getActiveWeaponItem(); if(itemId != 4393) goto _L9; else goto _L8 _L8: player.sendPacket(new ShowCalculator(4393)); pcinventory; JVM INSTR monitorexit ; return; _L9: if(weaponItem == null) break MISSING_BLOCK_LABEL_514; if(!item.isLure() || weaponItem.getItemType() != L2WeaponType.ROD) goto _L11; else goto _L10 _L10: player.getInventory().setPaperdollItem(8, item); player.broadcastUserInfo(); player.sendItems(false); pcinventory; JVM INSTR monitorexit ; return; _L11: if(itemId != 8192 || weaponItem.getItemType() == L2WeaponType.BOW) break MISSING_BLOCK_LABEL_514; player.sendMessage("\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0441 \u043B\u0443\u043A\u043E\u043C"); pcinventory; JVM INSTR monitorexit ; return; IItemHandler handler = ItemHandler.getInstance().getItemHandler(itemId); if(handler != null) handler.useItem(player, item); pcinventory; JVM INSTR monitorexit ; goto _L12 exception; throw exception; _L12: } public String getType() { return "[C] UseItem"; } private static Logger _log = Logger.getLogger(net/sf/l2j/gameserver/network/clientpackets/UseItem.getName()); private int _objectId; } Изменено 23 июня, 2013 пользователем Ога Правильно оформляем длинные посты ! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Demoncool 1110 Опубликовано 23 июня, 2013 Добавляй, еще в конфиг.ява прописать нужно if (item.getItemType() == L2WeaponType.BOW) { int classid = activeChar.getClassId().getId(); if (Config.BOW_PENALTY.contains(Integer.valueOf(classid))) { if ((!activeChar.isInOlympiadMode()) || (Config.BOW_PENALTY_ON_OLYMP)) { SystemMessage sm = new SystemMessage(SystemMessageId.S1_CANNOT_BE_USED); sm.addItemName(itemId); activeChar.sendPacket(sm); return; } } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ioioioii 549 Опубликовано 23 июня, 2013 господи, почитал посмеялся вывод: что это за [мат]?? тс ну ты и [мат]! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Demoncool 1110 Опубликовано 23 июня, 2013 ]// Decompiled by DJ v3.11.11.95 Copyright 2009 Atanas Neshkov Date: 23.06.2013 12:33:13 // Home Page: http://members.fortu...neshkov/dj.html http://www.neshkov.com/dj.html - Check often for new version! // Decompiler options: packimports(3) // Source File Name: UseItem.java package net.sf.l2j.gameserver.network.clientpackets; import java.util.logging.Logger; import net.sf.l2j.gameserver.cache.Static; import net.sf.l2j.gameserver.model.L2ItemInstance; import net.sf.l2j.gameserver.model.PcInventory; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.network.L2GameClient; import net.sf.l2j.gameserver.network.serverpackets.EnchantResult; import net.sf.l2j.gameserver.network.serverpackets.ShowCalculator; import net.sf.l2j.gameserver.templates.*; import scripts.items.IItemHandler; import scripts.items.ItemHandler; // Referenced classes of package net.sf.l2j.gameserver.network.clientpackets: // L2GameClientPacket public final class UseItem extends L2GameClientPacket { public UseItem() { } protected void readImpl() { _objectId = readD(); } protected void runImpl() { L2PcInstance player; L2ItemInstance item; int itemId; label0: { player = ((L2GameClient)getClient()).getActiveChar(); if(player == null) return; item = player.getInventory().getItemByObjectId(_objectId); if(item == null) return; itemId = item.getItemId(); if(itemId == 57 || player.isParalyzed()) return; if(!item.isEquipable()) { if(System.currentTimeMillis() - player.gCPBA() < 200L) return; player.sCPBA(); } if(player.isStunned() || player.isSleeping() || player.isAfraid() || player.isParalyzed() || player.isFakeDeath()) return; if(player.isDead() || player.isAlikeDead()) return; if(player.getPrivateStoreType() != 0) { player.sendPacket(Static.CANNOT_TRADE_DISCARD_DROP_ITEM_WHILE_IN_SHOPMODE); return; } if(player.getActiveTradeList() != null) { player.cancelActiveTrade(); return; } if(player.getActiveWarehouse() != null) { player.cancelActiveWarehouse(); return; } if(player.getActiveEnchantItem() != null) { player.setActiveEnchantItem(null); player.sendPacket(new EnchantResult(0, true)); return; } synchronized(player.getInventory()) { if(!player.isFishing() || itemId >= 6535 && itemId <= 6540) break label0; player.sendPacket(Static.CANNOT_DO_WHILE_FISHING_3); } return; } if(!item.getItem().isForWolf() && !item.getItem().isForHatchling() && !item.getItem().isForStrider() && !item.getItem().isForBabyPet()) break MISSING_BLOCK_LABEL_286; player.sendPacket(Static.CANNOT_EQUIP_PET_ITEM); pcinventory; JVM INSTR monitorexit ; return; if(!item.isEquipable()) goto _L2; else goto _L1 _L1: int bodyPart; bodyPart = item.getItem().getBodyPart(); if(!player.isInOlympiadMode() || !item.isHeroItem() && !item.notForOly()) break MISSING_BLOCK_LABEL_331; player.sendActionFailed(); pcinventory; JVM INSTR monitorexit ; return; bodyPart; JVM INSTR lookupswitch 3: default 398 // 128: 368 // 256: 368 // 16384: 368; goto _L3 _L4 _L4 _L4 _L4: if(!player.isCursedWeaponEquiped() && itemId != 6408) goto _L6; else goto _L5 _L5: player.sendActionFailed(); pcinventory; JVM INSTR monitorexit ; return; _L6: player.equipWeapon(item); goto _L7 _L3: player.useEquippableItem(item, true); _L7: pcinventory; JVM INSTR monitorexit ; return; _L2: L2Weapon weaponItem = player.getActiveWeaponItem(); if(itemId != 4393) goto _L9; else goto _L8 _L8: player.sendPacket(new ShowCalculator(4393)); pcinventory; JVM INSTR monitorexit ; return; _L9: if(weaponItem == null) break MISSING_BLOCK_LABEL_514; if(!item.isLure() || weaponItem.getItemType() != L2WeaponType.ROD) goto _L11; else goto _L10 _L10: player.getInventory().setPaperdollItem(8, item); player.broadcastUserInfo(); player.sendItems(false); pcinventory; JVM INSTR monitorexit ; return; _L11: if(itemId != 8192 || weaponItem.getItemType() == L2WeaponType.BOW) break MISSING_BLOCK_LABEL_514; player.sendMessage("\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0441 \u043B\u0443\u043A\u043E\u043C"); pcinventory; JVM INSTR monitorexit ; return; IItemHandler handler = ItemHandler.getInstance().getItemHandler(itemId); if(handler != null) handler.useItem(player, item); pcinventory; JVM INSTR monitorexit ; goto _L12 exception; throw exception; _L12: } public String getType() { return "[C] UseItem"; } private static Logger _log = Logger.getLogger(net/sf/l2j/gameserver/network/clientpackets/UseItem.getName()); private int _objectId; } Не очень у вас декомпил вышел package net.sf.l2j.gameserver.network.clientpackets; import java.util.logging.Logger; import net.sf.l2j.gameserver.cache.Static; import net.sf.l2j.gameserver.model.L2ItemInstance; import net.sf.l2j.gameserver.model.PcInventory; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.network.L2GameClient; import net.sf.l2j.gameserver.network.serverpackets.EnchantResult; import net.sf.l2j.gameserver.network.serverpackets.ShowCalculator; import net.sf.l2j.gameserver.templates.L2Item; import net.sf.l2j.gameserver.templates.L2Weapon; import net.sf.l2j.gameserver.templates.L2WeaponType; import scripts.items.IItemHandler; import scripts.items.ItemHandler; public final class UseItem extends L2GameClientPacket { private static Logger _log = Logger.getLogger(UseItem.class.getName()); private int _objectId; protected void readImpl() { this._objectId = readD(); } protected void runImpl() { L2PcInstance player = ((L2GameClient)getClient()).getActiveChar(); if (player == null) { return; } L2ItemInstance item = player.getInventory().getItemByObjectId(this._objectId); if (item == null) { return; } int itemId = item.getItemId(); if ((itemId == 57) || (player.isParalyzed())) { return; } if (!item.isEquipable()) { if (System.currentTimeMillis() - player.gCPBA() < 200L) return; player.sCPBA(); } if ((player.isStunned()) || (player.isSleeping()) || (player.isAfraid()) || (player.isFakeDeath())) { return; } if ((player.isDead()) || (player.isAlikeDead())) { return; } if (player.getPrivateStoreType() != 0) { player.sendPacket(Static.CANNOT_TRADE_DISCARD_DROP_ITEM_WHILE_IN_SHOPMODE); return; } if (player.getActiveTradeList() != null) { player.cancelActiveTrade(); return; } if (player.getActiveWarehouse() != null) { player.cancelActiveWarehouse(); return; } if (player.getActiveEnchantItem() != null) { player.setActiveEnchantItem(null); player.sendPacket(new EnchantResult(0, true)); return; } synchronized (player.getInventory()) { if ((player.isFishing()) && ((itemId < 6535) || (itemId > 6540))) { player.sendPacket(Static.CANNOT_DO_WHILE_FISHING_3); return; } if ((item.getItem().isForWolf()) || (item.getItem().isForHatchling()) || (item.getItem().isForStrider()) || (item.getItem().isForBabyPet())) { player.sendPacket(Static.CANNOT_EQUIP_PET_ITEM); return; } if (item.isEquipable()) { if (((player.isInOlympiadMode()) || (player.getChannel() > 3)) && ((item.isHeroItem()) || (item.notForOly()))) { player.sendActionFailed(); return; } switch (item.getItem().getBodyPart()) { case 128: case 256: case 16384: if ((player.isCursedWeaponEquiped()) || (itemId == 6408)) { player.sendActionFailed(); return; } player.equipWeapon(item); break; default: player.useEquippableItem(item, true); } return; } L2Weapon weaponItem = player.getActiveWeaponItem(); if (itemId == 4393) { player.sendPacket(new ShowCalculator(4393)); return; } if (weaponItem != null) { if ((item.isLure()) && (weaponItem.getItemType() == L2WeaponType.ROD)) { player.getInventory().setPaperdollItem(8, item); player.broadcastUserInfo(); player.sendItems(false); return; } if ((itemId == 8192) && (weaponItem.getItemType() != L2WeaponType.BOW)) { player.sendMessage("\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0441 \u043B\u0443\u043A\u043E\u043C"); return; } } IItemHandler handler = ItemHandler.getInstance().getItemHandler(itemId); if (handler != null) handler.useItem(player, item); } } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Enfiz132 0 Опубликовано 23 июня, 2013 (изменено) Добавляй, еще в конфиг.ява прописать нужно if (item.getItemType() == L2WeaponType.BOW) { int classid = activeChar.getClassId().getId(); if (Config.BOW_PENALTY.contains(Integer.valueOf(classid))) { if ((!activeChar.isInOlympiadMode()) || (Config.BOW_PENALTY_ON_OLYMP)) { SystemMessage sm = new SystemMessage(SystemMessageId.S1_CANNOT_BE_USED); sm.addItemName(itemId); activeChar.sendPacket(sm); return; } } } package net.sf.l2j; import java.io.*; import java.math.BigInteger; import java.util.List; import java.util.Properties; import java.util.concurrent.TimeUnit; import java.util.logging.Logger; import javolution.text.TextBuilder; import javolution.util.*; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.util.Location; import net.sf.l2j.util.TimeLogger; // Referenced classes of package net.sf.l2j: // Server public final class Config { /* member class not found */ class PvpColor {} /* member class not found */ class AltBColor {} /* member class not found */ class EventReward {} /* member class not found */ class ObjectSetType {} /* member class not found */ class ObjectMapType {} /* member class not found */ class IdFactoryType {} /* member class not found */ class L2WalkerAllowed {} public static void load() { if(Server.serverMode == 1) { try { Properties serverSettings = new Properties(); InputStream is = new FileInputStream(new File("./config/server.cfg")); serverSettings.load(is); is.close(); GAMESERVER_HOSTNAME = serverSettings.getProperty("GameserverHostname"); PORT_GAME = Integer.parseInt(serverSettings.getProperty("GameserverPort", "7777")); EXTERNAL_HOSTNAME = serverSettings.getProperty("ExternalHostname", "*"); INTERNAL_HOSTNAME = serverSettings.getProperty("InternalHostname", "*"); GAME_SERVER_LOGIN_PORT = Integer.parseInt(serverSettings.getProperty("LoginPort", "9014")); GAME_SERVER_LOGIN_HOST = serverSettings.getProperty("LoginHost", "127.0.0.1"); REQUEST_ID = Integer.parseInt(serverSettings.getProperty("RequestServerID", "0")); ACCEPT_ALTERNATE_ID = Boolean.parseBoolean(serverSettings.getProperty("AcceptAlternateID", "True")); DATABASE_DRIVER = serverSettings.getProperty("Driver", "com.mysql.jdbc.Driver"); DATABASE_URL = serverSettings.getProperty("URL", "jdbc:mysql://localhost/l2jdb"); DATABASE_LOGIN = serverSettings.getProperty("Login", "root"); DATABASE_PASSWORD = serverSettings.getProperty("Password", ""); DATABASE_MAX_CONNECTIONS = Integer.parseInt(serverSettings.getProperty("MaximumDbConnections", "10")); DATAPACK_ROOT = (new File(serverSettings.getProperty("DatapackRoot", "."))).getCanonicalFile(); CNAME_TEMPLATE = serverSettings.getProperty("CnameTemplate", ".*"); PET_NAME_TEMPLATE = serverSettings.getProperty("PetNameTemplate", ".*"); MAX_CHARACTERS_NUMBER_PER_ACCOUNT = Integer.parseInt(serverSettings.getProperty("CharMaxNumber", "0")); MAXIMUM_ONLINE_USERS = Integer.parseInt(serverSettings.getProperty("MaximumOnlineUsers", "100")); MIN_PROTOCOL_REVISION = Integer.parseInt(serverSettings.getProperty("MinProtocolRevision", "660")); MAX_PROTOCOL_REVISION = Integer.parseInt(serverSettings.getProperty("MaxProtocolRevision", "665")); SHOW_PROTOCOL_VERSIONS = Boolean.parseBoolean(serverSettings.getProperty("ShowProtocolsInConsole", "False")); if(MIN_PROTOCOL_REVISION > MAX_PROTOCOL_REVISION) throw new Error("MinProtocolRevision is bigger than MaxProtocolRevision in server configuration file."); DEADLOCKCHECK_INTERVAL = Integer.parseInt(serverSettings.getProperty("DeadLockCheck", "10000")); GCTaskDelay = Integer.parseInt(serverSettings.getProperty("GCTaskDelay", "0")); RESTART_HOUR = Integer.parseInt(serverSettings.getProperty("AutoRestartHour", "0")); SERVER_SERIAL_KEY = serverSettings.getProperty("SerialKey", "None"); if(SERVER_SERIAL_KEY.equals("None") || SERVER_SERIAL_KEY.length() < 40) throw new Error("Failed to load SerialKey."); WEBSERVER_REFRESH_STATS = Integer.parseInt(serverSettings.getProperty("WebServerRefreshTime", "15")); WEBSERVER_PORT = Integer.parseInt(serverSettings.getProperty("WebServerPort", "37567")); WEBSERVER_FOLDER = serverSettings.getProperty("WebServerFolder", "data/webserver/"); WEBSERVER_PAGE = serverSettings.getProperty("WebServerIndex", "index.html"); } catch(Exception e) { e.printStackTrace(); throw new Error("Failed to Load ./config/server.cfg File."); } try { Properties optionsSettings = new Properties(); InputStream is = new FileInputStream(new File("./config/options.cfg")); optionsSettings.load(is); is.close(); EVERYBODY_HAS_ADMIN_RIGHTS = Boolean.parseBoolean(optionsSettings.getProperty("EverybodyHasAdminRights", "false")); DEBUG = Boolean.parseBoolean(optionsSettings.getProperty("Debug", "false")); ASSERT = Boolean.parseBoolean(optionsSettings.getProperty("Assert", "false")); DEVELOPER = Boolean.parseBoolean(optionsSettings.getProperty("Developer", "false")); TEST_SERVER = Boolean.parseBoolean(optionsSettings.getProperty("TestServer", "false")); SERVER_LIST_TESTSERVER = Boolean.parseBoolean(optionsSettings.getProperty("TestServer", "false")); SERVER_LIST_BRACKET = Boolean.valueOf(optionsSettings.getProperty("ServerListBrackets", "false")).booleanValue(); SERVER_LIST_CLOCK = Boolean.valueOf(optionsSettings.getProperty("ServerListClock", "false")).booleanValue(); SERVER_GMONLY = Boolean.valueOf(optionsSettings.getProperty("ServerGMOnly", "false")).booleanValue(); AUTODESTROY_ITEM_AFTER = Integer.parseInt(optionsSettings.getProperty("AutoDestroyDroppedItemAfter", "0")); HERB_AUTO_DESTROY_TIME = Integer.parseInt(optionsSettings.getProperty("AutoDestroyHerbTime", "15")) * 1000; PROTECTED_ITEMS = optionsSettings.getProperty("ListOfProtectedItems"); LIST_PROTECTED_ITEMS = new FastList(); String arr$[] = PROTECTED_ITEMS.split(","); int len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String id = arr$[i$]; LIST_PROTECTED_ITEMS.add(Integer.valueOf(Integer.parseInt(id))); } DESTROY_DROPPED_PLAYER_ITEM = Boolean.valueOf(optionsSettings.getProperty("DestroyPlayerDroppedItem", "false")).booleanValue(); DESTROY_EQUIPABLE_PLAYER_ITEM = Boolean.valueOf(optionsSettings.getProperty("DestroyEquipableItem", "false")).booleanValue(); SAVE_DROPPED_ITEM = Boolean.valueOf(optionsSettings.getProperty("SaveDroppedItem", "false")).booleanValue(); EMPTY_DROPPED_ITEM_TABLE_AFTER_LOAD = Boolean.valueOf(optionsSettings.getProperty("EmptyDroppedItemTableAfterLoad", "false")).booleanValue(); SAVE_DROPPED_ITEM_INTERVAL = Integer.parseInt(optionsSettings.getProperty("SaveDroppedItemInterval", "0")) * 60000; CLEAR_DROPPED_ITEM_TABLE = Boolean.valueOf(optionsSettings.getProperty("ClearDroppedItemTable", "false")).booleanValue(); PRECISE_DROP_CALCULATION = Boolean.valueOf(optionsSettings.getProperty("PreciseDropCalculation", "True")).booleanValue(); MULTIPLE_ITEM_DROP = Boolean.valueOf(optionsSettings.getProperty("MultipleItemDrop", "True")).booleanValue(); COORD_SYNCHRONIZE = Integer.parseInt(optionsSettings.getProperty("CoordSynchronize", "-1")); ONLY_GM_ITEMS_FREE = Boolean.valueOf(optionsSettings.getProperty("OnlyGMItemsFree", "True")).booleanValue(); ALLOW_WAREHOUSE = Boolean.valueOf(optionsSettings.getProperty("AllowWarehouse", "True")).booleanValue(); WAREHOUSE_CACHE = Boolean.valueOf(optionsSettings.getProperty("WarehouseCache", "False")).booleanValue(); WAREHOUSE_CACHE_TIME = Integer.parseInt(optionsSettings.getProperty("WarehouseCacheTime", "15")); ALLOW_FREIGHT = Boolean.valueOf(optionsSettings.getProperty("AllowFreight", "True")).booleanValue(); ALLOW_WEAR = Boolean.valueOf(optionsSettings.getProperty("AllowWear", "False")).booleanValue(); WEAR_DELAY = Integer.parseInt(optionsSettings.getProperty("WearDelay", "5")); WEAR_PRICE = Integer.parseInt(optionsSettings.getProperty("WearPrice", "10")); ALLOW_LOTTERY = Boolean.valueOf(optionsSettings.getProperty("AllowLottery", "False")).booleanValue(); ALLOW_RACE = Boolean.valueOf(optionsSettings.getProperty("AllowRace", "False")).booleanValue(); ALLOW_WATER = Boolean.valueOf(optionsSettings.getProperty("AllowWater", "False")).booleanValue(); ALLOW_RENTPET = Boolean.valueOf(optionsSettings.getProperty("AllowRentPet", "False")).booleanValue(); ALLOW_DISCARDITEM = Boolean.valueOf(optionsSettings.getProperty("AllowDiscardItem", "True")).booleanValue(); ALLOWFISHING = Boolean.valueOf(optionsSettings.getProperty("AllowFishing", "False")).booleanValue(); ALLOW_MANOR = Boolean.parseBoolean(optionsSettings.getProperty("AllowManor", "False")); ALLOW_BOAT = Boolean.valueOf(optionsSettings.getProperty("AllowBoat", "False")).booleanValue(); ALLOW_RAID_BOSS_PUT = Boolean.valueOf(optionsSettings.getProperty("AllowRaidBossPetrified", "True")).booleanValue(); ALLOW_NPC_WALKERS = Boolean.valueOf(optionsSettings.getProperty("AllowNpcWalkers", "true")).booleanValue(); ALLOW_CURSED_WEAPONS = Boolean.valueOf(optionsSettings.getProperty("AllowCursedWeapons", "False")).booleanValue(); ALLOW_L2WALKER_CLIENT = L2WalkerAllowed.valueOf(optionsSettings.getProperty("AllowL2Walker", "False")); L2WALKER_REVISION = Integer.parseInt(optionsSettings.getProperty("L2WalkerRevision", "537")); AUTOBAN_L2WALKER_ACC = Boolean.valueOf(optionsSettings.getProperty("AutobanL2WalkerAcc", "False")).booleanValue(); GM_EDIT = Boolean.valueOf(optionsSettings.getProperty("GMEdit", "False")).booleanValue(); ACTIVATE_POSITION_RECORDER = Boolean.valueOf(optionsSettings.getProperty("ActivatePositionRecorder", "False")).booleanValue(); DEFAULT_GLOBAL_CHAT = optionsSettings.getProperty("GlobalChat", "ON"); DEFAULT_TRADE_CHAT = optionsSettings.getProperty("TradeChat", "ON"); LOG_CHAT = Boolean.valueOf(optionsSettings.getProperty("LogChat", "false")).booleanValue(); LOG_ITEMS = Boolean.valueOf(optionsSettings.getProperty("LogItems", "false")).booleanValue(); GMAUDIT = Boolean.valueOf(optionsSettings.getProperty("GMAudit", "False")).booleanValue(); COMMUNITY_TYPE = optionsSettings.getProperty("CommunityType", "old").toLowerCase(); BBS_DEFAULT = optionsSettings.getProperty("BBSDefault", "_bbshome"); SHOW_LEVEL_COMMUNITYBOARD = Boolean.valueOf(optionsSettings.getProperty("ShowLevelOnCommunityBoard", "False")).booleanValue(); SHOW_STATUS_COMMUNITYBOARD = Boolean.valueOf(optionsSettings.getProperty("ShowStatusOnCommunityBoard", "True")).booleanValue(); NAME_PAGE_SIZE_COMMUNITYBOARD = Integer.parseInt(optionsSettings.getProperty("NamePageSizeOnCommunityBoard", "50")); NAME_PER_ROW_COMMUNITYBOARD = Integer.parseInt(optionsSettings.getProperty("NamePerRowOnCommunityBoard", "5")); ZONE_TOWN = Integer.parseInt(optionsSettings.getProperty("ZoneTown", "0")); MAX_DRIFT_RANGE = Integer.parseInt(optionsSettings.getProperty("MaxDriftRange", "300")); MIN_NPC_ANIMATION = Integer.parseInt(optionsSettings.getProperty("MinNPCAnimation", "10")); MAX_NPC_ANIMATION = Integer.parseInt(optionsSettings.getProperty("MaxNPCAnimation", "20")); MIN_MONSTER_ANIMATION = Integer.parseInt(optionsSettings.getProperty("MinMonsterAnimation", "5")); MAX_MONSTER_ANIMATION = Integer.parseInt(optionsSettings.getProperty("MaxMonsterAnimation", "20")); SERVER_NEWS = Boolean.valueOf(optionsSettings.getProperty("ShowServerNews", "False")).booleanValue(); SHOW_NPC_LVL = Boolean.valueOf(optionsSettings.getProperty("ShowNpcLevel", "False")).booleanValue(); FORCE_INVENTORY_UPDATE = Boolean.valueOf(optionsSettings.getProperty("ForceInventoryUpdate", "False")).booleanValue(); AUTODELETE_INVALID_QUEST_DATA = Boolean.valueOf(optionsSettings.getProperty("AutoDeleteInvalidQuestData", "False")).booleanValue(); THREADING_MODEL = Integer.parseInt(optionsSettings.getProperty("ThreadingModel", "1")); THREAD_P_MOVE = Integer.parseInt(optionsSettings.getProperty("ThreadPoolSizeMove", "50")); THREAD_P_EFFECTS = Integer.parseInt(optionsSettings.getProperty("ThreadPoolSizeEffects", "20")); THREAD_P_GENERAL = Integer.parseInt(optionsSettings.getProperty("ThreadPoolSizeGeneral", "26")); IO_PACKET_THREAD_CORE_SIZE = Integer.parseInt(optionsSettings.getProperty("UrgentPacketThreadCoreSize", "2")); GENERAL_PACKET_THREAD_CORE_SIZE = Integer.parseInt(optionsSettings.getProperty("GeneralPacketThreadCoreSize", "8")); GENERAL_THREAD_CORE_SIZE = Integer.parseInt(optionsSettings.getProperty("GeneralThreadCoreSize", "8")); NPC_AI_MAX_THREAD = Integer.parseInt(optionsSettings.getProperty("NpcAiMaxThread", "10")); PLAYER_AI_MAX_THREAD = Integer.parseInt(optionsSettings.getProperty("PlayerAiMaxThread", "20")); DELETE_DAYS = Integer.parseInt(optionsSettings.getProperty("DeleteCharAfterDays", "7")); DEFAULT_PUNISH = Integer.parseInt(optionsSettings.getProperty("DefaultPunish", "2")); DEFAULT_PUNISH_PARAM = Integer.parseInt(optionsSettings.getProperty("DefaultPunishParam", "0")); LAZY_CACHE = Boolean.valueOf(optionsSettings.getProperty("LazyCache", "False")).booleanValue(); PACKET_LIFETIME = Integer.parseInt(optionsSettings.getProperty("PacketLifeTime", "0")); BYPASS_VALIDATION = Boolean.valueOf(optionsSettings.getProperty("BypassValidation", "True")).booleanValue(); GAMEGUARD_ENFORCE = Boolean.valueOf(optionsSettings.getProperty("GameGuardEnforce", "False")).booleanValue(); GAMEGUARD_PROHIBITACTION = Boolean.valueOf(optionsSettings.getProperty("GameGuardProhibitAction", "False")).booleanValue(); GRIDS_ALWAYS_ON = Boolean.parseBoolean(optionsSettings.getProperty("GridsAlwaysOn", "False")); GRID_NEIGHBOR_TURNON_TIME = Integer.parseInt(optionsSettings.getProperty("GridNeighborTurnOnTime", "30")); GRID_NEIGHBOR_TURNOFF_TIME = Integer.parseInt(optionsSettings.getProperty("GridNeighborTurnOffTime", "300")); GEODATA = Integer.parseInt(optionsSettings.getProperty("GeoData", "0")); FORCE_GEODATA = Boolean.parseBoolean(optionsSettings.getProperty("ForceGeoData", "True")); ACCEPT_GEOEDITOR_CONN = Boolean.parseBoolean(optionsSettings.getProperty("AcceptGeoeditorConn", "False")); USE_3D_MAP = Boolean.valueOf(optionsSettings.getProperty("Use3DMap", "False")).booleanValue(); PATH_NODE_RADIUS = Integer.parseInt(optionsSettings.getProperty("PathNodeRadius", "50")); NEW_NODE_ID = Integer.parseInt(optionsSettings.getProperty("NewNodeId", "7952")); SELECTED_NODE_ID = Integer.parseInt(optionsSettings.getProperty("NewNodeId", "7952")); LINKED_NODE_ID = Integer.parseInt(optionsSettings.getProperty("NewNodeId", "7952")); NEW_NODE_TYPE = optionsSettings.getProperty("NewNodeType", "npc"); COUNT_PACKETS = Boolean.valueOf(optionsSettings.getProperty("CountPacket", "false")).booleanValue(); DUMP_PACKET_COUNTS = Boolean.valueOf(optionsSettings.getProperty("DumpPacketCounts", "false")).booleanValue(); DUMP_INTERVAL_SECONDS = Integer.parseInt(optionsSettings.getProperty("PacketDumpInterval", "60")); MINIMUM_UPDATE_DISTANCE = Integer.parseInt(optionsSettings.getProperty("MaximumUpdateDistance", "50")); MINIMUN_UPDATE_TIME = Integer.parseInt(optionsSettings.getProperty("MinimumUpdateTime", "500")); CHECK_KNOWN = Boolean.valueOf(optionsSettings.getProperty("CheckKnownList", "false")).booleanValue(); KNOWNLIST_FORGET_DELAY = Integer.parseInt(optionsSettings.getProperty("KnownListForgetDelay", "10000")); } catch(Exception e) { e.printStackTrace(); throw new Error("Failed to Load ./config/options.cfg File."); } try { Properties telnetSettings = new Properties(); InputStream is = new FileInputStream(new File("./config/telnet.cfg")); telnetSettings.load(is); is.close(); IS_TELNET_ENABLED = Boolean.valueOf(telnetSettings.getProperty("EnableTelnet", "false")).booleanValue(); } catch(Exception e) { e.printStackTrace(); throw new Error("Failed to Load ./config/telnet.cfg File."); } try { Properties idSettings = new Properties(); InputStream is = new FileInputStream(new File("./config/idfactory.cfg")); idSettings.load(is); is.close(); MAP_TYPE = ObjectMapType.valueOf(idSettings.getProperty("L2Map", "WorldObjectMap")); SET_TYPE = ObjectSetType.valueOf(idSettings.getProperty("L2Set", "WorldObjectSet")); IDFACTORY_TYPE = IdFactoryType.valueOf(idSettings.getProperty("IDFactory", "Compaction")); BAD_ID_CHECKING = Boolean.valueOf(idSettings.getProperty("BadIdChecking", "True")).booleanValue(); } catch(Exception e) { e.printStackTrace(); throw new Error("Failed to Load ./config/idfactory.cfg File."); } try { Properties otherSettings = new Properties(); InputStream is = new FileInputStream(new File("./config/other.cfg")); otherSettings.load(is); is.close(); DEEPBLUE_DROP_RULES = Boolean.parseBoolean(otherSettings.getProperty("UseDeepBlueDropRules", "True")); ALLOW_GUARDS = Boolean.valueOf(otherSettings.getProperty("AllowGuards", "False")).booleanValue(); EFFECT_CANCELING = Boolean.valueOf(otherSettings.getProperty("CancelLesserEffect", "True")).booleanValue(); ALLOW_WYVERN_UPGRADER = Boolean.valueOf(otherSettings.getProperty("AllowWyvernUpgrader", "False")).booleanValue(); INVENTORY_MAXIMUM_NO_DWARF = Integer.parseInt(otherSettings.getProperty("MaximumSlotsForNoDwarf", "80")); INVENTORY_MAXIMUM_DWARF = Integer.parseInt(otherSettings.getProperty("MaximumSlotsForDwarf", "100")); INVENTORY_MAXIMUM_GM = Integer.parseInt(otherSettings.getProperty("MaximumSlotsForGMPlayer", "250")); MAX_ITEM_IN_PACKET = Math.max(INVENTORY_MAXIMUM_NO_DWARF, Math.max(INVENTORY_MAXIMUM_DWARF, INVENTORY_MAXIMUM_GM)); WAREHOUSE_SLOTS_NO_DWARF = Integer.parseInt(otherSettings.getProperty("MaximumWarehouseSlotsForNoDwarf", "100")); WAREHOUSE_SLOTS_DWARF = Integer.parseInt(otherSettings.getProperty("MaximumWarehouseSlotsForDwarf", "120")); WAREHOUSE_SLOTS_CLAN = Integer.parseInt(otherSettings.getProperty("MaximumWarehouseSlotsForClan", "150")); FREIGHT_SLOTS = Integer.parseInt(otherSettings.getProperty("MaximumFreightSlots", "20")); AUGMENT_EXCLUDE_NOTDONE = Boolean.parseBoolean(otherSettings.getProperty("AugmentExcludeNotdone", "false")); HP_REGEN_MULTIPLIER = Double.parseDouble(otherSettings.getProperty("HpRegenMultiplier", "100")) / 100D; MP_REGEN_MULTIPLIER = Double.parseDouble(otherSettings.getProperty("MpRegenMultiplier", "100")) / 100D; CP_REGEN_MULTIPLIER = Double.parseDouble(otherSettings.getProperty("CpRegenMultiplier", "100")) / 100D; RAID_HP_REGEN_MULTIPLIER = Double.parseDouble(otherSettings.getProperty("RaidHpRegenMultiplier", "100")) / 100D; RAID_MP_REGEN_MULTIPLIER = Double.parseDouble(otherSettings.getProperty("RaidMpRegenMultiplier", "100")) / 100D; RAID_DEFENCE_MULTIPLIER = Double.parseDouble(otherSettings.getProperty("RaidDefenceMultiplier", "100")) / 100D; RAID_MINION_RESPAWN_TIMER = Integer.parseInt(otherSettings.getProperty("RaidMinionRespawnTime", "300000")); RAID_MIN_RESPAWN_MULTIPLIER = Float.parseFloat(otherSettings.getProperty("RaidMinRespawnMultiplier", "1.0")); RAID_MAX_RESPAWN_MULTIPLIER = Float.parseFloat(otherSettings.getProperty("RaidMaxRespawnMultiplier", "1.0")); UNSTUCK_INTERVAL = Integer.parseInt(otherSettings.getProperty("UnstuckInterval", "300")); PLAYER_SPAWN_PROTECTION = Integer.parseInt(otherSettings.getProperty("PlayerSpawnProtection", "0")); PLAYER_FAKEDEATH_UP_PROTECTION = Integer.parseInt(otherSettings.getProperty("PlayerFakeDeathUpProtection", "0")); PARTY_XP_CUTOFF_METHOD = otherSettings.getProperty("PartyXpCutoffMethod", "percentage"); PARTY_XP_CUTOFF_PERCENT = Double.parseDouble(otherSettings.getProperty("PartyXpCutoffPercent", "3.")); PARTY_XP_CUTOFF_LEVEL = Integer.parseInt(otherSettings.getProperty("PartyXpCutoffLevel", "30")); RESPAWN_RESTORE_CP = Double.parseDouble(otherSettings.getProperty("RespawnRestoreCP", "0")) / 100D; RESPAWN_RESTORE_HP = Double.parseDouble(otherSettings.getProperty("RespawnRestoreHP", "70")) / 100D; RESPAWN_RESTORE_MP = Double.parseDouble(otherSettings.getProperty("RespawnRestoreMP", "70")) / 100D; RESPAWN_RANDOM_ENABLED = Boolean.parseBoolean(otherSettings.getProperty("RespawnRandomInTown", "False")); RESPAWN_RANDOM_MAX_OFFSET = Integer.parseInt(otherSettings.getProperty("RespawnRandomMaxOffset", "50")); MAX_PVTSTORE_SLOTS_DWARF = Integer.parseInt(otherSettings.getProperty("MaxPvtStoreSlotsDwarf", "5")); MAX_PVTSTORE_SLOTS_OTHER = Integer.parseInt(otherSettings.getProperty("MaxPvtStoreSlotsOther", "4")); STORE_SKILL_COOLTIME = Boolean.parseBoolean(otherSettings.getProperty("StoreSkillCooltime", "true")); PET_RENT_NPC = otherSettings.getProperty("ListPetRentNpc", "30827"); LIST_PET_RENT_NPC = new FastList(); String arr$[] = PET_RENT_NPC.split(","); int len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String id = arr$[i$]; LIST_PET_RENT_NPC.add(Integer.valueOf(Integer.parseInt(id))); } NONDROPPABLE_ITEMS = otherSettings.getProperty("ListOfNonDroppableItems", "1147,425,1146,461,10,2368,7,6,2370,2369,5598"); LIST_NONDROPPABLE_ITEMS = new FastList(); arr$ = NONDROPPABLE_ITEMS.split(","); len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String id = arr$[i$]; LIST_NONDROPPABLE_ITEMS.add(Integer.valueOf(Integer.parseInt(id))); } ANNOUNCE_MAMMON_SPAWN = Boolean.parseBoolean(otherSettings.getProperty("AnnounceMammonSpawn", "True")); ALT_PRIVILEGES_ADMIN = Boolean.parseBoolean(otherSettings.getProperty("AltPrivilegesAdmin", "False")); ALT_PRIVILEGES_SECURE_CHECK = Boolean.parseBoolean(otherSettings.getProperty("AltPrivilegesSecureCheck", "True")); ALT_PRIVILEGES_DEFAULT_LEVEL = Integer.parseInt(otherSettings.getProperty("AltPrivilegesDefaultLevel", "100")); MASTERACCESS_LEVEL = Integer.parseInt(otherSettings.getProperty("MasterAccessLevel", "127")); GM_HERO_AURA = Boolean.parseBoolean(otherSettings.getProperty("GMHeroAura", "True")); GM_STARTUP_INVULNERABLE = Boolean.parseBoolean(otherSettings.getProperty("GMStartupInvulnerable", "True")); GM_STARTUP_INVISIBLE = Boolean.parseBoolean(otherSettings.getProperty("GMStartupInvisible", "True")); GM_STARTUP_SILENCE = Boolean.parseBoolean(otherSettings.getProperty("GMStartupSilence", "True")); GM_STARTUP_AUTO_LIST = Boolean.parseBoolean(otherSettings.getProperty("GMStartupAutoList", "True")); GM_ADMIN_MENU_STYLE = otherSettings.getProperty("GMAdminMenuStyle", "modern"); PETITIONING_ALLOWED = Boolean.parseBoolean(otherSettings.getProperty("PetitioningAllowed", "True")); MAX_PETITIONS_PER_PLAYER = Integer.parseInt(otherSettings.getProperty("MaxPetitionsPerPlayer", "5")); MAX_PETITIONS_PENDING = Integer.parseInt(otherSettings.getProperty("MaxPetitionsPending", "25")); JAIL_IS_PVP = Boolean.valueOf(otherSettings.getProperty("JailIsPvp", "True")).booleanValue(); JAIL_DISABLE_CHAT = Boolean.valueOf(otherSettings.getProperty("JailDisableChat", "True")).booleanValue(); DEATH_PENALTY_CHANCE = Integer.parseInt(otherSettings.getProperty("DeathPenaltyChance", "20")); String ArmEncTable[] = otherSettings.getProperty("ArmorEnchantTable", "").split(";"); String arr$[] = ArmEncTable; int len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String aet = arr$[i$]; try { ARMOR_ENCHANT_TABLE.add(Float.valueOf(aet)); continue; } catch(NumberFormatException nfe) { } if(!aet.equals("")) System.out.println((new StringBuilder()).append("invalid config property -> ArmorEnchantTable \"").append(aet).append("\"").toString()); } String FullArmEncTable[] = otherSettings.getProperty("FullArmorEnchantTable", "").split(";"); String arr$[] = FullArmEncTable; int len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String faet = arr$[i$]; try { FULL_ARMOR_ENCHANT_TABLE.add(Float.valueOf(faet)); } catch(NumberFormatException nfe) { if(!faet.equals("")) System.out.println((new StringBuilder()).append("invalid config property -> ArmorEnchantTable \"").append(faet).append("\"").toString()); } } } catch(Exception e) { e.printStackTrace(); throw new Error("Failed to Load ./config/other.cfg File."); } try { Properties enchSettings = new Properties(); InputStream is = new FileInputStream(new File("./config/enchants.cfg")); enchSettings.load(is); is.close(); ENCHANT_MAX_WEAPON = Integer.parseInt(enchSettings.getProperty("EnchantMaxWeapon", "16")); ENCHANT_MAX_ARMOR = Integer.parseInt(enchSettings.getProperty("EnchantMaxArmor", "16")); ENCHANT_MAX_JEWELRY = Integer.parseInt(enchSettings.getProperty("EnchantMaxJewelry", "16")); ENCHANT_SAFE_MAX = Integer.parseInt(enchSettings.getProperty("EnchantSafeMax", "3")); ENCHANT_SAFE_MAX_FULL = Integer.parseInt(enchSettings.getProperty("EnchantSafeMaxFull", "4")); ENCHANT_CHANCE_WEAPON_CRYSTAL = Integer.parseInt(enchSettings.getProperty("EnchantChanceWeaponCrystal", "100")); ENCHANT_CHANCE_ARMOR_CRYSTAL = Integer.parseInt(enchSettings.getProperty("EnchantChanceArmorCrystal", "100")); ENCHANT_CHANCE_JEWELRY_CRYSTAL = Integer.parseInt(enchSettings.getProperty("EnchantChanceJewelryCrystal", "100")); ENCHANT_CHANCE_NEXT = Integer.parseInt(enchSettings.getProperty("EnchantXX", "15")); ENCHANT_FAILED_NUM = Integer.parseInt(enchSettings.getProperty("EnchantFailed", "0")); MAGIC_CHANCE_BEFORE_NEXT = Float.parseFloat(enchSettings.getProperty("MagicEnchantSuccesRateBeforeXX", "25.0")); MAGIC_CHANCE_AFTER_NEXT = Float.parseFloat(enchSettings.getProperty("MagicEnchantSuccesRateAfterXX", "35.0")); WEAPON_CHANCE_BEFORE_NEXT = Float.parseFloat(enchSettings.getProperty("WeaponEnchantSuccesRateBeforeXX", "30.0")); WEAPON_CHANCE_AFTER_NEXT = Float.parseFloat(enchSettings.getProperty("WeaponEnchantSuccesRateAfterXX", "30.0")); String ArmEncTable[] = enchSettings.getProperty("ArmorEnchantTable", "").split(";"); String arr$[] = ArmEncTable; int len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String aet = arr$[i$]; try { ARMOR_ENCHANT_TABLE.add(Float.valueOf(aet)); continue; } catch(NumberFormatException nfe) { } if(!aet.equals("")) System.out.println((new StringBuilder()).append("invalid config property -> ArmorEnchantTable \"").append(aet).append("\"").toString()); } String FullArmEncTable[] = enchSettings.getProperty("FullArmorEnchantTable", "").split(";"); String arr$[] = FullArmEncTable; int len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String faet = arr$[i$]; try { FULL_ARMOR_ENCHANT_TABLE.add(Float.valueOf(faet)); continue; } catch(NumberFormatException nfe) { } if(!faet.equals("")) System.out.println((new StringBuilder()).append("invalid config property -> ArmorEnchantTable \"").append(faet).append("\"").toString()); } MULT_ENCH = Integer.parseInt(enchSettings.getProperty("EnchMultisell", "0")); String propertySplit[] = enchSettings.getProperty("EnchMultisellLists", "0,0").split(";"); String arr$[] = propertySplit; int len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String augs = arr$[i$]; String aug[] = augs.split(","); try { MULT_ENCHS.put(Integer.valueOf(aug[0]), Integer.valueOf(aug[1])); continue; } catch(NumberFormatException nfe) { } if(!aug.equals("")) System.out.println((new StringBuilder()).append("enchant.cfg: EnchMultisellLists error: ").append(aug[0]).toString()); } ENCHANT_PENALTY = Boolean.valueOf(enchSettings.getProperty("EnchantPenalty", "True")).booleanValue(); ENCHANT_HERO_WEAPONS = Boolean.valueOf(enchSettings.getProperty("EnchHeroWeapons", "False")).booleanValue(); ENCHANT_ALT_PACKET = true; if(ENCHANT_ALT_PACKET) { ENCHANT_ALT_MAGICCAHNCE = Integer.parseInt(enchSettings.getProperty("EnchantAltMagicChance", "65")); propertySplit = enchSettings.getProperty("EnchantAltMagicSteps", "1,100;2,100").split(";"); arr$ = propertySplit; len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String augs = arr$[i$]; String aug[] = augs.split(","); try { ENCHANT_ALT_MAGICSTEPS.put(Integer.valueOf(aug[0]), Integer.valueOf(aug[1])); continue; } catch(NumberFormatException nfe) { } if(!aug.equals("")) System.out.println((new StringBuilder()).append("enchant.cfg: EnchantAltMagicSteps error: ").append(aug[0]).toString()); } ENCHANT_ALT_WEAPONCAHNCE = Integer.parseInt(enchSettings.getProperty("EnchantAltWeaponChance", "75")); ENCHANT_ALT_WEAPONFAILBLESS = Integer.parseInt(enchSettings.getProperty("EnchantAltWeaponBlessFail", "0")); ENCHANT_ALT_WEAPONFAILCRYST = Integer.parseInt(enchSettings.getProperty("EnchantAltWeaponCrystallFail", "0")); propertySplit = enchSettings.getProperty("EnchantAltWeaponSteps", "1,100;2,100").split(";"); arr$ = propertySplit; len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String augs = arr$[i$]; String aug[] = augs.split(","); try { ENCHANT_ALT_WEAPONSTEPS.put(Integer.valueOf(aug[0]), Integer.valueOf(aug[1])); continue; } catch(NumberFormatException nfe) { } if(!aug.equals("")) System.out.println((new StringBuilder()).append("enchant.cfg: EnchantAltWeaponSteps error: ").append(aug[0]).toString()); } ENCHANT_ALT_ARMORCAHNCE = Integer.parseInt(enchSettings.getProperty("EnchantAltArmorChance", "75")); ENCHANT_ALT_ARMORFAILBLESS = Integer.parseInt(enchSettings.getProperty("EnchantAltArmorBlessFail", "0")); ENCHANT_ALT_ARMORFAILCRYST = Integer.parseInt(enchSettings.getProperty("EnchantAltArmorCrystallFail", "0")); propertySplit = enchSettings.getProperty("EnchantAltArmorSteps", "1,100;2,100").split(";"); arr$ = propertySplit; len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String augs = arr$[i$]; String aug[] = augs.split(","); try { ENCHANT_ALT_ARMORSTEPS.put(Integer.valueOf(aug[0]), Integer.valueOf(aug[1])); continue; } catch(NumberFormatException nfe) { } if(!aug.equals("")) System.out.println((new StringBuilder()).append("enchant.cfg: EnchantAltArmorSteps error: ").append(aug[0]).toString()); } ENCHANT_ALT_JEWERLYCAHNCE = Integer.parseInt(enchSettings.getProperty("EnchantAltJewerlyChance", "75")); ENCHANT_ALT_JEWERLYFAILBLESS = Integer.parseInt(enchSettings.getProperty("EnchantAltJewerlyBlessFail", "0")); ENCHANT_ALT_JEWERLYFAILCRYST = Integer.parseInt(enchSettings.getProperty("EnchantAltJewerlyCrystallFail", "0")); propertySplit = enchSettings.getProperty("EnchantAltJewerlySteps", "1,100;2,100").split(";"); arr$ = propertySplit; len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String augs = arr$[i$]; String aug[] = augs.split(","); try { ENCHANT_ALT_JEWERLYSTEPS.put(Integer.valueOf(aug[0]), Integer.valueOf(aug[1])); continue; } catch(NumberFormatException nfe) { } if(!aug.equals("")) System.out.println((new StringBuilder()).append("enchant.cfg: EnchantAltJewerlySteps error: ").append(aug[0]).toString()); } } propertySplit = null; ENCH_ANTI_CLICK = Boolean.parseBoolean(enchSettings.getProperty("AntiClick", "False")); ENCH_ANTI_CLICK_STEP = Integer.parseInt(enchSettings.getProperty("AntiClickStep", "10")); } catch(Exception e) { e.printStackTrace(); throw new Error("Failed to Load ./config/enchants.cfg File."); } try { Properties serviseSet = new Properties(); InputStream is = new FileInputStream(new File("./config/services.cfg")); serviseSet.load(is); is.close(); STOCK_SERTIFY = Integer.parseInt(serviseSet.getProperty("Sertify", "3435")); SERTIFY_PRICE = Integer.parseInt(serviseSet.getProperty("SertifyPrice", "10")); FIRST_BALANCE = Integer.parseInt(serviseSet.getProperty("StartBalance", "0")); DONATE_COIN = Integer.parseInt(serviseSet.getProperty("StockCoin", "5962")); DONATE_COIN_NEMA = serviseSet.getProperty("StockCoinName", "Gold Golem"); DONATE_RATE = Integer.parseInt(serviseSet.getProperty("CoinConvert", "10")); NALOG_NPS = Integer.parseInt(serviseSet.getProperty("StockTax", "10")); VAL_NAME = serviseSet.getProperty("CoinConvertName", "P."); PAGE_LIMIT = Integer.parseInt(serviseSet.getProperty("PageLimit", "10")); AUGMENT_COIN = Integer.parseInt(serviseSet.getProperty("AugmentCoin", "4355")); ENCHANT_COIN = Integer.parseInt(serviseSet.getProperty("EnchantCoin", "4356")); AUGMENT_COIN_NAME = serviseSet.getProperty("AugmentCoinName", "Blue Eva"); ENCHANT_COIN_NAME = serviseSet.getProperty("EnchantCoinName", "Gold Einhasad"); AUGMENT_PRICE = Integer.parseInt(serviseSet.getProperty("AugmentPrice", "5")); ENCHANT_PRICE = Integer.parseInt(serviseSet.getProperty("EnchantPrice", "3")); AUGSALE_COIN = Integer.parseInt(serviseSet.getProperty("AugsaleCoin", "5962")); AUGSALE_PRICE = Integer.parseInt(serviseSet.getProperty("AugsalePrice", "20")); AUGSALE_COIN_NAME = serviseSet.getProperty("AugsaleCoinName", "Gold Golem"); String propertySplit[] = serviseSet.getProperty("Augsales", "3250,10").split(";"); String arr$[] = propertySplit; int len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String augs = arr$[i$]; String aug[] = augs.split(","); try { AUGSALE_TABLE.put(Integer.valueOf(aug[0]), Integer.valueOf(aug[1])); continue; } catch(NumberFormatException nfe) { } if(!aug.equals("")) System.out.println((new StringBuilder()).append("services.cfg: magicbuff error: ").append(aug[0]).toString()); } propertySplit = null; SOB_ID = Integer.parseInt(serviseSet.getProperty("SobSkill", "0")); SOB_NPC = Integer.parseInt(serviseSet.getProperty("SobNpc", "0")); SOB_COIN = Integer.parseInt(serviseSet.getProperty("SobCoin", "5962")); SOB_PRICE_ONE = Integer.parseInt(serviseSet.getProperty("SobPriceOne", "5")); SOB_PRICE_TWO = Integer.parseInt(serviseSet.getProperty("SobPriceTwo", "10")); SOB_COIN_NAME = serviseSet.getProperty("SobCoinName", "Gold Golem"); BUFFER_ID = Integer.parseInt(serviseSet.getProperty("Buffer", "40001")); propertySplit = serviseSet.getProperty("Magical", "1204,2").split(";"); arr$ = propertySplit; len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String buffs = arr$[i$]; String pbuff[] = buffs.split(","); try { M_BUFF.put(Integer.valueOf(pbuff[0]), Integer.valueOf(pbuff[1])); continue; } catch(NumberFormatException nfe) { } if(!pbuff.equals("")) System.out.println((new StringBuilder()).append("services.cfg: magicbuff error: ").append(pbuff[0]).toString()); } propertySplit = null; propertySplit = serviseSet.getProperty("Fighter", "1204,2").split(";"); arr$ = propertySplit; len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String buffs = arr$[i$]; String pbuff[] = buffs.split(","); try { F_BUFF.put(Integer.valueOf(pbuff[0]), Integer.valueOf(pbuff[1])); continue; } catch(NumberFormatException nfe) { } if(!pbuff.equals("")) System.out.println((new StringBuilder()).append("services.cfg: fightbuff error: ").append(pbuff[0]).toString()); } propertySplit = serviseSet.getProperty("ForbiddenProfileBuffs", "4,72,76,77,78,82,83,86,91,94,99,109,110,111,112,121,123,130,131,139,176,222,282,287,292,297,298,313,317,334,350,351,355,356,357,359,360,396,406,410,411,413,414,415,416,417,420,421,423,424,425,438,439,442,443,445,446,447,1001,1374,1410,1418,1427,3158,3142,3132,3133,3134,3135,3136,3199,3200,3201,3202,3203,3633,5104,5105").split(","); arr$ = propertySplit; len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String buff = arr$[i$]; try { F_PROFILE_BUFFS.add(Integer.valueOf(buff)); continue; } catch(NumberFormatException nfe) { } if(!buff.equals("")) System.out.println((new StringBuilder()).append("services.cfg: ForbiddenProfileBuffs error: ").append(buff).toString()); } propertySplit = serviseSet.getProperty("AdditionBuffs", "8888,7777").split(","); arr$ = propertySplit; len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String buff = arr$[i$]; try { C_ALLOWED_BUFFS.add(Integer.valueOf(buff)); continue; } catch(NumberFormatException nfe) { } if(!buff.equals("")) System.out.println((new StringBuilder()).append("services.cfg: AdditionBuffs error: ").append(buff).toString()); } POST_CHARBRIEF = Boolean.valueOf(serviseSet.getProperty("NewbeiBrief", "False")).booleanValue(); POST_BRIEFAUTHOR = serviseSet.getProperty("BriefAuthor", ":0"); POST_BRIEFTHEME = serviseSet.getProperty("BriefTheme", ""); POST_BRIEFTEXT = serviseSet.getProperty("BriefText", ""); POST_NPCNAME = serviseSet.getProperty("BriefNpc", "Ahosey"); ALLOW_CLASS_MASTERS = Boolean.valueOf(serviseSet.getProperty("AllowClassMasters", "False")).booleanValue(); propertySplit = serviseSet.getProperty("ClassMasterPrices", "1,57,50000;2,57,500000;3,57,5000000").split(";"); arr$ = propertySplit; len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String augs = arr$[i$]; String aug[] = augs.split(","); try { CLASS_MASTERS_PRICES.put(Integer.valueOf(Integer.parseInt(aug[0])), new EventReward(Integer.parseInt(aug[1]), Integer.parseInt(aug[2]), 0)); continue; } catch(NumberFormatException nfe) { } if(!aug.equals("")) System.out.println((new StringBuilder()).append("services.cfg: ClassMasterPrices error: ").append(aug).toString()); } REWARD_SHADOW = Boolean.valueOf(serviseSet.getProperty("AllowShadowReward", "False")).booleanValue(); MASTER_NPCNAME = serviseSet.getProperty("MasterNpc", "PvP Server"); ALLOW_CLAN_LEVEL = Boolean.valueOf(serviseSet.getProperty("AllowClanLevel", "False")).booleanValue(); MCLAN_COIN = Integer.parseInt(serviseSet.getProperty("MClanCoin", "5962")); MCLAN_COIN_NAME = serviseSet.getProperty("MClanCoinName", "Gold Golem"); CLAN_LVL6 = Integer.parseInt(serviseSet.getProperty("Level6", "10")); CLAN_LVL7 = Integer.parseInt(serviseSet.getProperty("Level7", "20")); CLAN_LVL8 = Integer.parseInt(serviseSet.getProperty("Level8", "30")); CLAN_COIN = Integer.parseInt(serviseSet.getProperty("ClanCoin", "5962")); CLAN_COIN_NAME = serviseSet.getProperty("ClanCoinName", "Gold Golem"); CLAN_POINTS = Integer.parseInt(serviseSet.getProperty("ClanPoints", "1000")); CLAN_POINTS_PRICE = Integer.parseInt(serviseSet.getProperty("ClanPointsPrice", "5")); ALLOW_DSHOP = Boolean.valueOf(serviseSet.getProperty("AllowDonateShop", "False")).booleanValue(); ALLOW_CSHOP = Boolean.valueOf(serviseSet.getProperty("AllowChinaShop", "False")).booleanValue(); ALLOW_FAKE_PLAYERS = Boolean.parseBoolean(serviseSet.getProperty("AllowFakePlayers", "False")); FAKE_PLAYERS_PERCENT = Integer.parseInt(serviseSet.getProperty("FakePlayersCount", "100")); ONLINE_PERC = Float.parseFloat(serviseSet.getProperty("FakePlayersPercent", "0")); FAKE_PLAYERS_DELAY = Integer.parseInt(serviseSet.getProperty("FakePlayersDelay", "600000")); PWHERO_COIN = Integer.parseInt(serviseSet.getProperty("BBSHeroCoin", "5962")); PWHERO_PRICE = Integer.parseInt(serviseSet.getProperty("BBSHeroCoinDayPrice", "999")); PWHERO_FPRICE = Integer.parseInt(serviseSet.getProperty("BBSHeroCoinForeverPrice", "999")); PWHERO_MINDAYS = Integer.parseInt(serviseSet.getProperty("BBSHeroMinDays", "1")); PWHERO_TRANPRICE = Integer.parseInt(serviseSet.getProperty("BBSHeroCoinTransferPrice", "999")); PWCSKILLS_COIN = Integer.parseInt(serviseSet.getProperty("BBSCustomSkillCoin", "5962")); PWCSKILLS_PRICE = Integer.parseInt(serviseSet.getProperty("BBSCustomSkillPrice", "999")); PWENCHSKILL_COIN = Integer.parseInt(serviseSet.getProperty("BBSEnchantSkillCoin", "5962")); PWENCHSKILL_PRICE = Integer.parseInt(serviseSet.getProperty("BBSEnchantSkillPrice", "999")); PWCNGSKILLS_COIN = Integer.parseInt(serviseSet.getProperty("BBSTransferSkillCoin", "0")); PWCNGSKILLS_PRICE = Integer.parseInt(serviseSet.getProperty("BBSTransferSkillPrice", "999")); BBS_AUC_ITEM_COIN = Integer.parseInt(serviseSet.getProperty("AucItemCoin", "4037")); BBS_AUC_ITEM_PRICE = Integer.parseInt(serviseSet.getProperty("AucItemPrice", "1")); BBS_AUC_ITEM_NAME = serviseSet.getProperty("AucItemName", "Coin Of Luck"); BBS_AUC_AUG_COIN = Integer.parseInt(serviseSet.getProperty("AucAugCoin", "4037")); BBS_AUC_AUG_PRICE = Integer.parseInt(serviseSet.getProperty("AucAugPrice", "1")); BBS_AUC_AUG_NAME = serviseSet.getProperty("AucAugName", "Coin Of Luck"); BBS_AUC_SKILL_COIN = Integer.parseInt(serviseSet.getProperty("AucSkillCoin", "4037")); BBS_AUC_SKILL_PRICE = Integer.parseInt(serviseSet.getProperty("AucSkillPrice", "1")); BBS_AUC_SKILL_NAME = serviseSet.getProperty("AucSkillName", "Coin Of Luck"); BBS_AUC_HERO_COIN = Integer.parseInt(serviseSet.getProperty("AucHeroCoin", "4037")); BBS_AUC_HERO_PRICE = Integer.parseInt(serviseSet.getProperty("AucHeroPrice", "1")); BBS_AUC_HERO_NAME = serviseSet.getProperty("AucHeroName", "Coin Of Luck"); propertySplit = serviseSet.getProperty("BBSCustomSkills", "9999,9").split(";"); arr$ = propertySplit; len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String augs = arr$[i$]; String aug[] = augs.split(","); try { PWCSKILLS.put(Integer.valueOf(aug[0]), Integer.valueOf(aug[1])); continue; } catch(NumberFormatException nfe) { } if(!aug.equals("")) System.out.println((new StringBuilder()).append("services.cfg: BBSCustomSkills error: ").append(aug[0]).toString()); } PWNCOLOR_COIN = Integer.parseInt(serviseSet.getProperty("BBSColorNameCoin", "5962")); PWNCOLOR_PRICE = Integer.parseInt(serviseSet.getProperty("BBSColorNamePrice", "999")); PWNCOLOR_COINNAME = serviseSet.getProperty("BBSColorNameCoinName", "Gold Golem"); PWTCOLOR_COIN = Integer.parseInt(serviseSet.getProperty("BBSColorTitleCoin", "5962")); PWTCOLOR_PRICE = Integer.parseInt(serviseSet.getProperty("BBSColorTitlePrice", "999")); PWTCOLOR_COINNAME = serviseSet.getProperty("BBSColorTitleCoinName", "Gold Golem"); PWCNGCLASS_COIN = Integer.parseInt(serviseSet.getProperty("BBSChangeClassCoin", "5962")); PWCNGCLASS_PRICE = Integer.parseInt(serviseSet.getProperty("BBSChangeClassPrice", "999")); int count = 0; propertySplit = serviseSet.getProperty("BBSPaintColors", "00FF00,00FF00").split(";"); String arr$[] = propertySplit; int len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String augs = arr$[i$]; String aug[] = augs.split(","); try { PWCOLOURS.put(Integer.valueOf(count), new AltBColor(Integer.decode((new StringBuilder()).append("0x").append(aug[0]).toString()).intValue(), aug[1])); } catch(NumberFormatException nfe) { if(!aug.equals("")) System.out.println((new StringBuilder()).append("services.cfg: BBSPaintColors error: ").append(aug[0]).toString()); } count++; } PWHERO_COINNAME = serviseSet.getProperty("BBSHeroCoinName", "Gold Golem"); PWCSKILLS_COINNAME = serviseSet.getProperty("BBSCustomSkillCoinName", "Gold Golem"); PWENCHSKILL_COINNAME = serviseSet.getProperty("BBSEnchantSkillCoinName", "Gold Golem"); PREMIUM_ENABLE = Boolean.parseBoolean(serviseSet.getProperty("PremiumEnable", "False")); BBS_ONLY_PEACE = Boolean.parseBoolean(serviseSet.getProperty("BbsPeace", "True")); PREMIUM_COIN = Integer.parseInt(serviseSet.getProperty("PremiumCoin", "5962")); PREMIUM_PRICE = Integer.parseInt(serviseSet.getProperty("PremiumPrice", "5962")); PREMIUM_COINNAME = serviseSet.getProperty("PremiumCoinName", "Gold Golem"); propertySplit = serviseSet.getProperty("PremiumDayPrice", "99,2220").split(";"); arr$ = propertySplit; len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String augs = arr$[i$]; String aug[] = augs.split(","); try { PREMIUM_DAY_PRICES.put(Integer.valueOf(Integer.parseInt(aug[0])), Integer.valueOf(Integer.parseInt(aug[1]))); continue; } catch(NumberFormatException nfe) { } if(!aug.equals("")) System.out.println((new StringBuilder()).append("services.cfg: PremiumDayPrice error: ").append(aug).toString()); } PREMIUM_EXP = Float.parseFloat(serviseSet.getProperty("PremiumExp", "1.3")); PREMIUM_SP = Float.parseFloat(serviseSet.getProperty("PremiumSp", "1.3")); PREMIUM_ITEMDROP = Float.parseFloat(serviseSet.getProperty("PremiumDropItem", "1.3")); PREMIUM_ITEMDROPMUL = Float.parseFloat(serviseSet.getProperty("PremiumDropMul", "1.3")); PREMIUM_SPOILRATE = Float.parseFloat(serviseSet.getProperty("PremiumDropSpoil", "1.3")); PREMIUM_ADENAMUL = Float.parseFloat(serviseSet.getProperty("PremiumAdenaMul", "1.3")); PREMIUM_ENCH = Integer.parseInt(serviseSet.getProperty("PremiumEnchRate", "0")); PREMIUM_CHKSKILLS = Boolean.parseBoolean(serviseSet.getProperty("PremiumCheckSkills", "True")); PREMIUM_ANOOUNCE = Boolean.parseBoolean(serviseSet.getProperty("PremiumAnnounceEnter", "False")); PREMIUM_ANNOUNCE_PHRASE = serviseSet.getProperty("PremiumAnnouncePhrase", "\u0418\u0433\u0440\u043E\u043A %player% \u0432\u043E\u0448\u0435\u043B \u0432 \u0438\u0433\u0440\u0443."); PREMIUM_START_DAYS = Integer.parseInt(serviseSet.getProperty("PremiumNewCharDays", "0")); L2JMOD_ALLOW_WEDDING = Boolean.valueOf(serviseSet.getProperty("AllowWedding", "False")).booleanValue(); L2JMOD_WEDDING_PRICE = Integer.parseInt(serviseSet.getProperty("WeddingPrice", "250000000")); L2JMOD_WEDDING_PUNISH_INFIDELITY = Boolean.parseBoolean(serviseSet.getProperty("WeddingPunishInfidelity", "True")); L2JMOD_WEDDING_TELEPORT = Boolean.parseBoolean(serviseSet.getProperty("WeddingTeleport", "True")); L2JMOD_WEDDING_TELEPORT_PRICE = Integer.parseInt(serviseSet.getProperty("WeddingTeleportPrice", "50000")); L2JMOD_WEDDING_TELEPORT_DURATION = Integer.parseInt(serviseSet.getProperty("WeddingTeleportDuration", "60")); L2JMOD_WEDDING_SAMESEX = Boolean.parseBoolean(serviseSet.getProperty("WeddingAllowSameSex", "False")); L2JMOD_WEDDING_FORMALWEAR = Boolean.parseBoolean(serviseSet.getProperty("WeddingFormalWear", "True")); L2JMOD_WEDDING_DIVORCE_COSTS = Integer.parseInt(serviseSet.getProperty("WeddingDivorceCosts", "20")); L2TOP_ENABLE = Boolean.parseBoolean(serviseSet.getProperty("L2TopEnable", "False")); VS_VREF = Boolean.parseBoolean(serviseSet.getProperty("VoteRef", "False")); L2TOP_SERV_ID = Integer.parseInt(serviseSet.getProperty("L2TopServerId", "0")); L2TOP_SERV_KEY = serviseSet.getProperty("L2TopServerKey", "0"); L2TOP_UPDATE_DELAY = (int)TimeUnit.MINUTES.toMillis(Integer.parseInt(serviseSet.getProperty("L2TopUpdateDelay", "5"))); L2TOP_OFFLINE_ITEM = Integer.parseInt(serviseSet.getProperty("L2TopOfflineId", "0")); L2TOP_OFFLINE_COUNT = Integer.parseInt(serviseSet.getProperty("L2TopOfflineCount", "0")); L2TOP_OFFLINE_LOC = serviseSet.getProperty("L2TopOfflineLoc", "INVENTORY"); propertySplit = serviseSet.getProperty("L2TopOnlineRewards", "57,13,100;57,13,100").split(";"); arr$ = propertySplit; len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String augs = arr$[i$]; String aug[] = augs.split(","); try { L2TOP_ONLINE_REWARDS.add(new EventReward(Integer.parseInt(aug[0]), Integer.parseInt(aug[1]), Integer.parseInt(aug[2]))); continue; } catch(NumberFormatException nfe) { } if(!aug.equals("")) System.out.println((new StringBuilder()).append("additions.cfg: CbRewards error: ").append(aug).toString()); } propertySplit = null; EXPOSTB_COIN = Integer.parseInt(serviseSet.getProperty("EpBriefCoin", "4037")); EXPOSTB_PRICE = Integer.parseInt(serviseSet.getProperty("EpBriefPrice", "1")); EXPOSTB_NAME = serviseSet.getProperty("EpBriefCoinName", "Coin Of Luck"); EXPOSTA_COIN = Integer.parseInt(serviseSet.getProperty("EpItemCoin", "4037")); EXPOSTA_PRICE = Integer.parseInt(serviseSet.getProperty("EpItemPrice", "5")); EXPOSTA_NAME = serviseSet.getProperty("EpItemCoinName", "Coin Of Luck"); PC_CAFE_ENABLED = Boolean.parseBoolean(serviseSet.getProperty("PcCafeEnable", "False")); PC_CAFE_INTERVAL = (int)TimeUnit.MINUTES.toMillis(Integer.parseInt(serviseSet.getProperty("PcCafeUpdateDelay", "60"))); PC_CAFE_BONUS = Integer.parseInt(serviseSet.getProperty("PcCafeUpdateBonus", "60")); PC_CAFE_DOUBLE_CHANCE = Integer.parseInt(serviseSet.getProperty("PcCafeUpdateDoubleChance", "60")); } catch(Exception e) { e.printStackTrace(); throw new Error("Failed to Load ./config/services.cfg File."); } try { Properties eventsSettings = new Properties(); InputStream is = new FileInputStream(new File("./config/events.cfg")); eventsSettings.load(is); is.close(); MASS_PVP = Boolean.valueOf(eventsSettings.getProperty("AllowMassPvP", "False")).booleanValue(); MPVP_RTIME = Long.parseLong(eventsSettings.getProperty("AfterServetStart", "60")); MPVP_REG = Long.parseLong(eventsSettings.getProperty("Registration", "15")); MPVP_ANC = Long.parseLong(eventsSettings.getProperty("AnnouncePeriod", "2")); MPVP_TP = Long.parseLong(eventsSettings.getProperty("Teleport", "5")); MPVP_PR = Long.parseLong(eventsSettings.getProperty("Buff", "60")); MPVP_MAX = Long.parseLong(eventsSettings.getProperty("Battle", "60")); MPVP_NEXT = Long.parseLong(eventsSettings.getProperty("Next", "24")); MPVP_MAXC = Integer.parseInt(eventsSettings.getProperty("Rounds", "5")); MPVP_NPC = Integer.parseInt(eventsSettings.getProperty("RegNpc", "5")); MPVP_CREW = Integer.parseInt(eventsSettings.getProperty("RoundReward", "4355")); MPVP_CREWC = Integer.parseInt(eventsSettings.getProperty("RoundCount", "3")); MPVP_EREW = Integer.parseInt(eventsSettings.getProperty("FinalReward", "4355")); MPVP_EREWC = Integer.parseInt(eventsSettings.getProperty("FinalCount", "30")); MPVP_LVL = Integer.parseInt(eventsSettings.getProperty("MinLelev", "76")); MPVP_MAXP = Integer.parseInt(eventsSettings.getProperty("MaxPlayers", "60")); MPVP_NOBL = Boolean.valueOf(eventsSettings.getProperty("OnlyNobless", "True")).booleanValue(); TVT_NOBL = Boolean.valueOf(eventsSettings.getProperty("TvTOnlyNobless", "True")).booleanValue(); String propertySplit[] = eventsSettings.getProperty("Npc", "116530,76141,-2730").split(","); MPVP_NPCLOC = new Location(Integer.parseInt(propertySplit[0]), Integer.parseInt(propertySplit[1]), Integer.parseInt(propertySplit[2])); propertySplit = eventsSettings.getProperty("Back", "116530,76141,-2730").split(","); MPVP_TPLOC = new Location(Integer.parseInt(propertySplit[0]), Integer.parseInt(propertySplit[1]), Integer.parseInt(propertySplit[2])); propertySplit = eventsSettings.getProperty("Cycle", "-92939,-251113,-3331").split(","); MPVP_CLOC = new Location(Integer.parseInt(propertySplit[0]), Integer.parseInt(propertySplit[1]), Integer.parseInt(propertySplit[2])); propertySplit = eventsSettings.getProperty("Final", "-92939,-251113,-3331").split(","); MPVP_WLOC = new Location(Integer.parseInt(propertySplit[0]), Integer.parseInt(propertySplit[1]), Integer.parseInt(propertySplit[2])); TVT_EVENT_ENABLED = Boolean.parseBoolean(eventsSettings.getProperty("TvTEventEnabled", "false")); TVT_EVENT_INTERVAL = Integer.parseInt(eventsSettings.getProperty("TvTEventInterval", "18000")); TVT_EVENT_PARTICIPATION_TIME = Integer.parseInt(eventsSettings.getProperty("TvTEventParticipationTime", "3600")); TVT_EVENT_RUNNING_TIME = Integer.parseInt(eventsSettings.getProperty("TvTEventRunningTime", "1800")); TVT_EVENT_PARTICIPATION_NPC_ID = Integer.parseInt(eventsSettings.getProperty("TvTEventParticipationNpcId", "0")); String arr$[]; int len$; if(TVT_EVENT_PARTICIPATION_NPC_ID == 0) { TVT_EVENT_ENABLED = false; System.out.println("TvTEventEngine[Config.load()]: invalid config property -> TvTEventParticipationNpcId"); } else { propertySplit = eventsSettings.getProperty("TvTEventParticipationNpcCoordinates", "0,0,0").split(","); if(propertySplit.length < 3) { TVT_EVENT_ENABLED = false; System.out.println("TvTEventEngine[Config.load()]: invalid config property -> TvTEventParticipationNpcCoordinates"); } else { TVT_EVENT_PARTICIPATION_NPC_COORDINATES[0] = Integer.parseInt(propertySplit[0]); TVT_EVENT_PARTICIPATION_NPC_COORDINATES[1] = Integer.parseInt(propertySplit[1]); TVT_EVENT_PARTICIPATION_NPC_COORDINATES[2] = Integer.parseInt(propertySplit[2]); TVT_EVENT_MIN_PLAYERS_IN_TEAMS = Integer.parseInt(eventsSettings.getProperty("TvTEventMinPlayersInTeams", "1")); TVT_EVENT_MAX_PLAYERS_IN_TEAMS = Integer.parseInt(eventsSettings.getProperty("TvTEventMaxPlayersInTeams", "20")); TVT_EVENT_MIN_LVL = (byte)Integer.parseInt(eventsSettings.getProperty("TvTEventMinPlayerLevel", "1")); TVT_EVENT_MAX_LVL = (byte)Integer.parseInt(eventsSettings.getProperty("TvTEventMaxPlayerLevel", "80")); TVT_EVENT_RESPAWN_TELEPORT_DELAY = Integer.parseInt(eventsSettings.getProperty("TvTEventRespawnTeleportDelay", "20")); TVT_EVENT_START_LEAVE_TELEPORT_DELAY = Integer.parseInt(eventsSettings.getProperty("TvTEventStartLeaveTeleportDelay", "20")); TVT_EVENT_TEAM_1_NAME = eventsSettings.getProperty("TvTEventTeam1Name", "Team1"); propertySplit = eventsSettings.getProperty("TvTEventTeam1Coordinates", "0,0,0").split(","); if(propertySplit.length < 3) { TVT_EVENT_ENABLED = false; System.out.println("TvTEventEngine[Config.load()]: invalid config property -> TvTEventTeam1Coordinates"); } else { TVT_EVENT_TEAM_1_COORDINATES[0] = Integer.parseInt(propertySplit[0]); TVT_EVENT_TEAM_1_COORDINATES[1] = Integer.parseInt(propertySplit[1]); TVT_EVENT_TEAM_1_COORDINATES[2] = Integer.parseInt(propertySplit[2]); TVT_EVENT_TEAM_2_NAME = eventsSettings.getProperty("TvTEventTeam2Name", "Team2"); propertySplit = eventsSettings.getProperty("TvTEventTeam2Coordinates", "0,0,0").split(","); if(propertySplit.length < 3) { TVT_EVENT_ENABLED = false; System.out.println("TvTEventEngine[Config.load()]: invalid config property -> TvTEventTeam2Coordinates"); } else { TVT_EVENT_TEAM_2_COORDINATES[0] = Integer.parseInt(propertySplit[0]); TVT_EVENT_TEAM_2_COORDINATES[1] = Integer.parseInt(propertySplit[1]); TVT_EVENT_TEAM_2_COORDINATES[2] = Integer.parseInt(propertySplit[2]); propertySplit = eventsSettings.getProperty("TvTEventReward", "57,100000").split(";"); arr$ = propertySplit; len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String reward = arr$[i$]; String rewardSplit[] = reward.split(","); if(rewardSplit.length != 2) { System.out.println((new StringBuilder()).append("TvTEventEngine[Config.load()]: invalid config property -> TvTEventReward \"").append(reward).append("\"").toString()); continue; } try { TVT_EVENT_REWARDS.add(new int[] { Integer.valueOf(rewardSplit[0]).intValue(), Integer.valueOf(rewardSplit[1]).intValue() }); continue; } catch(NumberFormatException nfe) { } if(!reward.equals("")) System.out.println((new StringBuilder()).append("TvTEventEngine[Config.load()]: invalid config property -> TvTEventReward \"").append(reward).append("\"").toString()); } TVT_EVENT_TARGET_TEAM_MEMBERS_ALLOWED = Boolean.parseBoolean(eventsSettings.getProperty("TvTEventTargetTeamMembersAllowed", "true")); TVT_EVENT_POTIONS_ALLOWED = Boolean.parseBoolean(eventsSettings.getProperty("TvTEventPotionsAllowed", "false")); TVT_EVENT_SUMMON_BY_ITEM_ALLOWED = Boolean.parseBoolean(eventsSettings.getProperty("TvTEventSummonByItemAllowed", "false")); propertySplit = eventsSettings.getProperty("TvTEventDoorsCloseOpenOnStartEnd", "").split(";"); arr$ = propertySplit; len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String door = arr$[i$]; try { TVT_EVENT_DOOR_IDS.add(Integer.valueOf(door)); continue; } catch(NumberFormatException nfe) { } if(!door.equals("")) System.out.println((new StringBuilder()).append("TvTEventEngine[Config.load()]: invalid config property -> TvTEventDoorsCloseOpenOnStartEnd \"").append(door).append("\"").toString()); } propertySplit = eventsSettings.getProperty("TvTEventAllowedPotionsList", "").split(","); arr$ = propertySplit; len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String potion = arr$[i$]; try { TVT_WHITE_POTINS.add(Integer.valueOf(potion)); continue; } catch(NumberFormatException nfe) { } if(!potion.equals("")) System.out.println((new StringBuilder()).append("TvTEventEngine[Config.load()]: invalid config property -> TvTEventAllowedPotionsList \"").append(potion).append("\"").toString()); } } } } } TVT_NO_PASSIVE = Boolean.parseBoolean(eventsSettings.getProperty("TvTNoPassive", "False")); ALLOW_SCH = Boolean.valueOf(eventsSettings.getProperty("AllowSchuttgart", "False")).booleanValue(); SCH_NEXT = Integer.parseInt(eventsSettings.getProperty("SchNext", "24")); SCH_RESTART = Integer.parseInt(eventsSettings.getProperty("SchRestart", "60")); SCH_TIME1 = Integer.parseInt(eventsSettings.getProperty("SchWave1", "120000")); SCH_TIME2 = Integer.parseInt(eventsSettings.getProperty("SchWave2", "30000")); SCH_TIME3 = Integer.parseInt(eventsSettings.getProperty("SchWave3", "15000")); SCH_TIME4 = Integer.parseInt(eventsSettings.getProperty("SchWave4", "15000")); SCH_TIME5 = Integer.parseInt(eventsSettings.getProperty("SchWave5", "15000")); SCH_TIME6 = Integer.parseInt(eventsSettings.getProperty("SchWave6", "15000")); SCH_TIMEBOSS = Integer.parseInt(eventsSettings.getProperty("SchWaveBoss", "400000")); SCH_MOB1 = Integer.parseInt(eventsSettings.getProperty("SchMob1", "80100")); SCH_MOB2 = Integer.parseInt(eventsSettings.getProperty("SchMob2", "80101")); SCH_MOB3 = Integer.parseInt(eventsSettings.getProperty("SchMob3", "80101")); SCH_MOB4 = Integer.parseInt(eventsSettings.getProperty("SchMob4", "80100")); SCH_MOB5 = Integer.parseInt(eventsSettings.getProperty("SchMob5", "80102")); SCH_MOB6 = Integer.parseInt(eventsSettings.getProperty("SchMob6", "80103")); SCH_BOSS = Integer.parseInt(eventsSettings.getProperty("SchBoss", "80104")); SCH_ALLOW_SHOP = Boolean.valueOf(eventsSettings.getProperty("SchAllowShop", "False")).booleanValue(); SCH_SHOP = Integer.parseInt(eventsSettings.getProperty("SchShopId", "80105")); SCH_SHOPTIME = Integer.parseInt(eventsSettings.getProperty("SchShopTimeout", "20")); OPEN_SEASON = Boolean.valueOf(eventsSettings.getProperty("AllowOpenSeason", "False")).booleanValue(); OS_NEXT = Integer.parseInt(eventsSettings.getProperty("OsNext", "600")); OS_RESTART = Integer.parseInt(eventsSettings.getProperty("OsAfterRestart", "60")); OS_BATTLE = Integer.parseInt(eventsSettings.getProperty("OsBattlePeriod", "2")); OS_FAIL_NEXT = Integer.parseInt(eventsSettings.getProperty("OsFailNext", "120")); OS_REGTIME = Integer.parseInt(eventsSettings.getProperty("OsRegTime", "300")); OS_ANNDELAY = Integer.parseInt(eventsSettings.getProperty("OsAnnounceDelay", "15")); OS_MINLVL = Integer.parseInt(eventsSettings.getProperty("OsMinLevel", "76")); OS_MINPLAYERS = Integer.parseInt(eventsSettings.getProperty("OsMinPlayers", "10")); propertySplit = eventsSettings.getProperty("OsRewards", "4037,500,100;4355,15,100").split(";"); arr$ = propertySplit; len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String augs = arr$[i$]; String aug[] = augs.split(","); try { OS_REWARDS.add(new EventReward(Integer.parseInt(aug[0]), Integer.parseInt(aug[1]), Integer.parseInt(aug[2]))); continue; } catch(NumberFormatException nfe) { } if(!aug.equals("")) System.out.println((new StringBuilder()).append("events.cfg: OsRewards error: ").append(aug[0]).toString()); } ELH_ENABLE = Boolean.parseBoolean(eventsSettings.getProperty("LastHeroEnable", "False")); ELH_ARTIME = Long.parseLong(eventsSettings.getProperty("LhAfterRestart", "30")); ELH_REGTIME = Long.parseLong(eventsSettings.getProperty("LhRegPeriod", "30")); ELH_ANNDELAY = Long.parseLong(eventsSettings.getProperty("LhAnounceDelay", "30")); ELH_TPDELAY = Long.parseLong(eventsSettings.getProperty("LhTeleportDelay", "30")); ELH_NEXT = Long.parseLong(eventsSettings.getProperty("LhNextStart", "30")); ELH_MINLVL = Integer.parseInt(eventsSettings.getProperty("LhPlayerMinLvl", "76")); ELH_MINP = Integer.parseInt(eventsSettings.getProperty("LhMinPlayers", "76")); ELH_MAXP = Integer.parseInt(eventsSettings.getProperty("LhMaxPlayers", "76")); ELH_NPCID = Integer.parseInt(eventsSettings.getProperty("LhRegNpcId", "55558")); propertySplit = eventsSettings.getProperty("LhRegNpcLoc", "83101,148396,-3407").split(","); ELH_NPCLOC = new Location(Integer.parseInt(propertySplit[0]), Integer.parseInt(propertySplit[1]), Integer.parseInt(propertySplit[2])); ELH_NPCTOWN = eventsSettings.getProperty("LhRegNpcTown", "\u0413\u0438\u0440\u0430\u043D\u0435"); propertySplit = eventsSettings.getProperty("LhBattleLoc", "83101,148396,-3407").split(","); ELH_TPLOC = new Location(Integer.parseInt(propertySplit[0]), Integer.parseInt(propertySplit[1]), Integer.parseInt(propertySplit[2])); ELH_TICKETID = Integer.parseInt(eventsSettings.getProperty("LhTicketId", "0")); ELH_TICKETCOUNT = Integer.parseInt(eventsSettings.getProperty("LhTicketCount", "0")); propertySplit = eventsSettings.getProperty("LhRewards", "9901,500,100;57,1,100").split(";"); arr$ = propertySplit; len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String augs = arr$[i$]; String aug[] = augs.split(","); try { ELH_REWARDS.add(new EventReward(Integer.parseInt(aug[0]), Integer.parseInt(aug[1]), Integer.parseInt(aug[2]))); continue; } catch(NumberFormatException nfe) { } if(!aug.equals("")) System.out.println((new StringBuilder()).append("events.cfg: LhRewards error: ").append(aug[0]).toString()); } propertySplit = eventsSettings.getProperty("FightClubItems", "1234").split(","); arr$ = propertySplit; len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { String id = arr$[i$]; FC_ALLOWITEMS.add(Integer.valueOf(Integer.parseInt(id))); } Изменено 23 июня, 2013 пользователем Enfiz132 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Enfiz132 0 Опубликовано 23 июня, 2013 { Properties customSettings = new Properties(); InputStream is = new FileInputStream(new File("./config/l2custom.cfg")); customSettings.load(is); is.close(); ALLOW_HERO_SUBSKILL = Boolean.parseBoolean(customSettings.getProperty("CustomHeroSubSkill", "False")); SUB_START_LVL = Byte.parseByte(customSettings.getProperty("SubStartLvl", "40")); RUN_SPD_BOOST = Integer.parseInt(customSettings.getProperty("RunSpeedBoost", "0")); MAX_RUN_SPEED = Integer.parseInt(customSettings.getProperty("MaxRunSpeed", "250")); MAX_PCRIT_RATE = Integer.parseInt(customSettings.getProperty("MaxPCritRate", "500")); MAX_MCRIT_RATE = Integer.parseInt(customSettings.getProperty("MaxMCritRate", "300")); MAX_PATK_SPEED = Integer.parseInt(customSettings.getProperty("MaxPAtkSpeed", "1500")); MAX_MATK_SPEED = Integer.parseInt(customSettings.getProperty("MaxMAtkSpeed", "1900")); MAX_MAX_HP = Integer.parseInt(customSettings.getProperty("MaxMaxHp", "30000")); BUFFS_MAX_AMOUNT = Byte.parseByte(customSettings.getProperty("MaxBuffAmount", "24")); MAX_SUBCLASS = Byte.parseByte(customSettings.getProperty("MaxSubClasses", "3")); AUTO_LOOT = Boolean.parseBoolean(customSettings.getProperty("AutoLoot", "False")); AUTO_LOOT_RAID = Boolean.parseBoolean(customSettings.getProperty("AutoLootRaid", "False")); ALT_EPIC_JEWERLY = Boolean.parseBoolean(customSettings.getProperty("AutoLootEpicJewerly", "False")); USE_CHAT_FILTER = Boolean.parseBoolean(customSettings.getProperty("UseChatFilter", "True")); ALT_GAME_NEW_CHAR_ALWAYS_IS_NOBLE = Boolean.parseBoolean(customSettings.getProperty("AltNewCharAlwaysIsNoble", "False")); ALT_START_LEVEL = Integer.parseInt(customSettings.getProperty("AltStartedLevel", "0")); ALT_ALLOW_AUGMENT_ON_OLYMP = Boolean.parseBoolean(customSettings.getProperty("AllowAugmnetOlympiad", "True")); ALT_ALLOW_OFFLINE_TRADE = Boolean.parseBoolean(customSettings.getProperty("AllowOfflineTrade", "False")); ALT_ALLOW_AUC = Boolean.parseBoolean(customSettings.getProperty("AllowAuction", "True")); ALT_GAME_SUBCLASS_WITHOUT_QUESTS = Boolean.parseBoolean(customSettings.getProperty("AltSubClassWithoutQuests", "False")); AUTO_LEARN_SKILLS = Boolean.parseBoolean(customSettings.getProperty("AutoLearnSkills", "false")); ALT_WEIGHT_LIMIT = Double.parseDouble(customSettings.getProperty("AltWeightLimit", "1")); STARTING_ADENA = Integer.parseInt(customSettings.getProperty("StartingAdena", "100")); WYVERN_SPEED = Integer.parseInt(customSettings.getProperty("WyvernSpeed", "100")); STRIDER_SPEED = Integer.parseInt(customSettings.getProperty("StriderSpeed", "80")); WATER_SPEED = Integer.parseInt(customSettings.getProperty("WaterSpeed", "60")); AUGMENT_BASESTAT = Integer.parseInt(customSettings.getProperty("AugmentBasestat", "1")); AUGMENT_SKILL = Integer.parseInt(customSettings.getProperty("AugmentSkill", "11")); ALLOW_RUPOR = Boolean.parseBoolean(customSettings.getProperty("AllowRupor", "False")); RUPOR_ID = Integer.parseInt(customSettings.getProperty("RuporId", "50002")); KICK_L2WALKER = Boolean.parseBoolean(customSettings.getProperty("L2WalkerProtection", "True")); ALLOW_RAID_PVP = Boolean.parseBoolean(customSettings.getProperty("AllowRaidPvpZones", "True")); CP_REUSE_TIME = Long.parseLong(customSettings.getProperty("CpReuseTime", "200")); MANA_RESTORE = Long.parseLong(customSettings.getProperty("ManaRestore", "800")); ANTIBUFF_SKILLID = Integer.parseInt(customSettings.getProperty("AntiBuffSkillId", "2276")); MAGIC_CRIT_EXP = Double.parseDouble(customSettings.getProperty("MagicCritExp", "4")); BLOW_CHANCE_FRONT = Integer.parseInt(customSettings.getProperty("BlowChanceFront", "50")); BLOW_CHANCE_BEHIND = Integer.parseInt(customSettings.getProperty("BlowChanceBehind", "70")); BLOW_CHANCE_SIDE = Integer.parseInt(customSettings.getProperty("BlowChanceSide", "60")); BLOW_DAMAGE_HEAVY = Double.parseDouble(customSettings.getProperty("BlowDamageHeavy", "1")); BLOW_DAMAGE_LIGHT = Double.parseDouble(customSettings.getProperty("BlowDamageLight", "1")); BLOW_DAMAGE_ROBE = Double.parseDouble(customSettings.getProperty("BlowDamageRobe", "1")); SONLINE_ANNOUNE = Boolean.parseBoolean(customSettings.getProperty("AnnounceOnline", "False")); SONLINE_ANNOUNCE_DELAY = Integer.parseInt(customSettings.getProperty("AnnounceDelay", "10")); SONLINE_SHOW_MAXONLINE = Boolean.parseBoolean(customSettings.getProperty("ShowMaxOnline", "False")); SONLINE_SHOW_MAXONLINE_DATE = Boolean.parseBoolean(customSettings.getProperty("ShowMaxOnlineDate", "False")); SONLINE_SHOW_OFFLINE = Boolean.parseBoolean(customSettings.getProperty("ShowOfflineTraders", "False")); SONLINE_LOGIN_ONLINE = Boolean.parseBoolean(customSettings.getProperty("AnnounceOnLogin", "False")); SONLINE_LOGIN_MAX = Boolean.parseBoolean(customSettings.getProperty("ShowLoginMaxOnline", "False")); SONLINE_LOGIN_DATE = Boolean.parseBoolean(customSettings.getProperty("ShowLoginMaxOnlineDate", "False")); SONLINE_LOGIN_OFFLINE = Boolean.parseBoolean(customSettings.getProperty("ShowLoginOfflineTraders", "False")); AUTO_ANNOUNCE_ALLOW = Boolean.parseBoolean(customSettings.getProperty("AutoAnnouncementsAllow", "False")); AUTO_ANNOUNCE_DELAY = Integer.parseInt(customSettings.getProperty("AutoAnnouncementsDelay", "600000")); String propertySplit[] = customSettings.getProperty("ForbiddenOlympItems", "1234").split(","); String arr$[] = propertySplit; int len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты