Перейти к содержанию

GUSTAVO

Постоялец
  • Публикаций

    239
  • Зарегистрирован

  • Посещение

  • Победитель дней

    4

Весь контент GUSTAVO

  1. Всем привет. Может кто сталкивался с такой ерундой? Добавил в кб мультиселы, нажимаю, открывает окно с мультиселом, а купить не получается ничего. Такое бывает не всегда. бывает нормально покупает, а бывает не покупает ничего. в гс ничего не выводит, никаких реакций. тупо ничего не происходит. Вот код на мультиселл : Тык if (command.startsWith("_bbsmultisell;")) { if (!canUse(activeChar, !Config.MULTISELL_CB_DEAD, !Config.MULTISELL_CB_IVENT, !Config.MULTISELL_CB_SIEGE, !Config.MULTISELL_CB_CAST, !Config.MULTISELL_CB_COMBAT, !Config.MULTISELL_CB_FLAG, !Config.MULTISELL_CB_OLYMPIAD, !Config.MULTISELL_CB_JAIL, !Config.MULTISELL_CB_FLY, !Config.MULTISELL_CB_KARMA, !Config.MULTISELL_CB_DUEL, !Config.MULTISELL_CB_SIT, !Config.MULTISELL_CB_INSTANCE)) { return false; } final StringTokenizer st = new StringTokenizer(command, ";"); st.nextToken(); int listId = 778; int idp = Integer.parseInt(st.nextToken()); try { listId = Integer.parseInt(st.nextToken()); } catch (final Exception e) { activeChar.sendMessage("Ohh Cheat dont work? You have a problem now!"); Util.handleIllegalPlayerAction(activeChar, "Client " + client.toString() + " Failed: [Community Board] No found ID!", Config.DEFAULT_PUNISH); } String content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/Shop/" + idp + ".html"); CommunityBoardHandler.separateAndSend(content, activeChar); MultisellData.getInstance().separateAndSend(listId, activeChar, null, false); } Hide Проверку на npc не убирал, может это влияет? Но почему раз через раз? Вот MultisellData.java тЫк /* * Copyright (C) 2004-2016 L2J Server * * This file is part of L2J Server. * * L2J Server 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. * * L2J Server 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 com.l2jserver.gameserver.data.xml.impl; import java.io.File; import java.io.FileFilter; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import org.w3c.dom.DOMException; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import com.l2jserver.Config; import com.l2jserver.gameserver.model.StatsSet; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.multisell.Entry; import com.l2jserver.gameserver.model.multisell.Ingredient; import com.l2jserver.gameserver.model.multisell.ListContainer; import com.l2jserver.gameserver.model.multisell.PreparedListContainer; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.ExBrExtraUserInfo; import com.l2jserver.gameserver.network.serverpackets.MultiSellList; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; import com.l2jserver.gameserver.network.serverpackets.UserInfo; import com.l2jserver.gameserver.util.Util; import com.l2jserver.util.data.xml.IXmlReader; import com.l2jserver.util.file.filter.NumericNameFilter; public final class MultisellData implements IXmlReader { private final Map<Integer, ListContainer> _entries = new HashMap<>(); public static final int PAGE_SIZE = 40; // Special IDs. public static final int PC_BANG_POINTS = -100; public static final int CLAN_REPUTATION = -200; public static final int FAME = -300; // Misc private static final FileFilter NUMERIC_FILTER = new NumericNameFilter(); protected MultisellData() { load(); } @Override public void load() { _entries.clear(); parseDatapackDirectory("data/multisell", false); if (Config.CUSTOM_MULTISELL_LOAD) { parseDatapackDirectory("data/multisell/custom", false); } verify(); LOG.info("{}: Loaded {} multisell lists.", getClass().getSimpleName(), _entries.size()); } @Override public void parseDocument(Document doc, File f) { try { int id = Integer.parseInt(f.getName().replaceAll(".xml", "")); int entryId = 1; Node att; final ListContainer list = new ListContainer(id); for (Node n = doc.getFirstChild(); n != null; n = n.getNextSibling()) { if ("list".equalsIgnoreCase(n.getNodeName())) { att = n.getAttributes().getNamedItem("applyTaxes"); list.setApplyTaxes((att != null) && Boolean.parseBoolean(att.getNodeValue())); att = n.getAttributes().getNamedItem("useRate"); if (att != null) { try { list.setUseRate(Double.valueOf(att.getNodeValue())); if (list.getUseRate() <= 1e-6) { throw new NumberFormatException("The value cannot be 0"); // threat 0 as invalid value } } catch (NumberFormatException e) { try { list.setUseRate(Config.class.getField(att.getNodeValue()).getDouble(Config.class)); } catch (Exception e1) { LOG.warn("{}: Unable to parse {}", getClass().getSimpleName(), doc.getLocalName(), e1); list.setUseRate(1.0); } } catch (DOMException e) { LOG.warn("{}: Unable to parse {}", getClass().getSimpleName(), doc.getLocalName(), e); } } att = n.getAttributes().getNamedItem("maintainEnchantment"); list.setMaintainEnchantment((att != null) && Boolean.parseBoolean(att.getNodeValue())); for (Node d = n.getFirstChild(); d != null; d = d.getNextSibling()) { if ("item".equalsIgnoreCase(d.getNodeName())) { Entry e = parseEntry(d, entryId++, list); list.getEntries().add(e); } else if ("npcs".equalsIgnoreCase(d.getNodeName())) { for (Node b = d.getFirstChild(); b != null; b = b.getNextSibling()) { if ("npc".equalsIgnoreCase(b.getNodeName())) { if (Util.isDigit(b.getTextContent())) { list.allowNpc(Integer.parseInt(b.getTextContent())); } } } } } } } _entries.put(id, list); } catch (Exception e) { LOG.error("{}: Error in file {}", getClass().getSimpleName(), f, e); } } @Override public FileFilter getCurrentFileFilter() { return NUMERIC_FILTER; } private final Entry parseEntry(Node n, int entryId, ListContainer list) { Node first = n.getFirstChild(); final Entry entry = new Entry(entryId); NamedNodeMap attrs; Node att; StatsSet set; for (n = first; n != null; n = n.getNextSibling()) { if ("ingredient".equalsIgnoreCase(n.getNodeName())) { attrs = n.getAttributes(); set = new StatsSet(); for (int i = 0; i < attrs.getLength(); i++) { att = attrs.item(i); set.set(att.getNodeName(), att.getNodeValue()); } entry.addIngredient(new Ingredient(set)); } else if ("production".equalsIgnoreCase(n.getNodeName())) { attrs = n.getAttributes(); set = new StatsSet(); for (int i = 0; i < attrs.getLength(); i++) { att = attrs.item(i); set.set(att.getNodeName(), att.getNodeValue()); } entry.addProduct(new Ingredient(set)); } } return entry; } /** * This will generate the multisell list for the items.<br> * There exist various parameters in multisells that affect the way they will appear: * <ol> * <li>Inventory only: * <ul> * <li>If true, only show items of the multisell for which the "primary" ingredients are already in the player's inventory. By "primary" ingredients we mean weapon and armor.</li> * <li>If false, show the entire list.</li> * </ul> * </li> * <li>Maintain enchantment: presumably, only lists with "inventory only" set to true should sometimes have this as true. This makes no sense otherwise... * <ul> * <li>If true, then the product will match the enchantment level of the ingredient.<br> * If the player has multiple items that match the ingredient list but the enchantment levels differ, then the entries need to be duplicated to show the products and ingredients for each enchantment level.<br> * For example: If the player has a crystal staff +1 and a crystal staff +3 and goes to exchange it at the mammon, the list should have all exchange possibilities for the +1 staff, followed by all possibilities for the +3 staff.</li> * <li>If false, then any level ingredient will be considered equal and product will always be at +0</li> * </ul> * </li> * <li>Apply taxes: Uses the "taxIngredient" entry in order to add a certain amount of adena to the ingredients. * <li> * <li>Additional product and ingredient multipliers.</li> * </ol> * @param listId * @param player * @param npc * @param inventoryOnly * @param productMultiplier * @param ingredientMultiplier */ public final void separateAndSend(int listId, L2PcInstance player, L2Npc npc, boolean inventoryOnly, double productMultiplier, double ingredientMultiplier) { ListContainer template = _entries.get(listId); if (template == null) { LOG.warn("{}: Cannot find list ID: {} requested by player: {}, NPC ID: {}!", getClass().getSimpleName(), listId, player, (npc != null ? npc.getId() : 0)); return; } if (((npc != null) && !template.isNpcAllowed(npc.getId())) || ((npc == null) && template.isNpcOnly())) { LOG.warn("{}: Player {} attempted to open multisell {} from npc {} which is not allowed!", getClass().getSimpleName(), player, listId, npc); return; } final PreparedListContainer list = new PreparedListContainer(template, inventoryOnly, player, npc); // Pass through this only when multipliers are different from 1 if ((productMultiplier != 1) || (ingredientMultiplier != 1)) { list.getEntries().forEach(entry -> { // Math.max used here to avoid dropping count to 0 entry.getProducts().forEach(product -> product.setItemCount((long) Math.max(product.getItemCount() * productMultiplier, 1))); // Math.max used here to avoid dropping count to 0 entry.getIngredients().forEach(ingredient -> ingredient.setItemCount((long) Math.max(ingredient.getItemCount() * ingredientMultiplier, 1))); }); } int index = 0; do { // send list at least once even if size = 0 player.sendPacket(new MultiSellList(list, index)); index += PAGE_SIZE; } while (index < list.getEntries().size()); player.setMultiSell(list); } public final void separateAndSend(int listId, L2PcInstance player, L2Npc npc, boolean inventoryOnly) { separateAndSend(listId, player, npc, inventoryOnly, 1, 1); } public static final boolean hasSpecialIngredient(int id, long amount, L2PcInstance player) { switch (id) { case CLAN_REPUTATION: if (player.getClan() == null) { player.sendPacket(SystemMessageId.YOU_ARE_NOT_A_CLAN_MEMBER); break; } if (!player.isClanLeader()) { player.sendPacket(SystemMessageId.ONLY_THE_CLAN_LEADER_IS_ENABLED); break; } if (player.getClan().getReputationScore() < amount) { player.sendPacket(SystemMessageId.THE_CLAN_REPUTATION_SCORE_IS_TOO_LOW); break; } return true; case FAME: if (player.getFame() < amount) { player.sendPacket(SystemMessageId.NOT_ENOUGH_FAME_POINTS); break; } return true; } return false; } public static final boolean takeSpecialIngredient(int id, long amount, L2PcInstance player) { switch (id) { case CLAN_REPUTATION: player.getClan().takeReputationScore((int) amount, true); SystemMessage smsg = SystemMessage.getSystemMessage(SystemMessageId.S1_DEDUCTED_FROM_CLAN_REP); smsg.addLong(amount); player.sendPacket(smsg); return true; case FAME: player.setFame(player.getFame() - (int) amount); player.sendPacket(new UserInfo(player)); player.sendPacket(new ExBrExtraUserInfo(player)); return true; } return false; } public static final void giveSpecialProduct(int id, long amount, L2PcInstance player) { switch (id) { case CLAN_REPUTATION: player.getClan().addReputationScore((int) amount, true); break; case FAME: player.setFame((int) (player.getFame() + amount)); player.sendPacket(new UserInfo(player)); player.sendPacket(new ExBrExtraUserInfo(player)); break; } } private final void verify() { ListContainer list; final Iterator<ListContainer> iter = _entries.values().iterator(); while (iter.hasNext()) { list = iter.next(); for (Entry ent : list.getEntries()) { for (Ingredient ing : ent.getIngredients()) { if (!verifyIngredient(ing)) { LOG.warn("{}: Cannot find ingredient with item ID: {} in list: {}!", getClass().getSimpleName(), ing.getItemId(), list.getListId()); } } for (Ingredient ing : ent.getProducts()) { if (!verifyIngredient(ing)) { LOG.warn("{}: Cannot find product with item ID: {} in list: {}!", getClass().getSimpleName(), ing.getItemId(), list.getListId()); } } } } } private final boolean verifyIngredient(Ingredient ing) { switch (ing.getItemId()) { case CLAN_REPUTATION: case FAME: return true; default: return ing.getTemplate() != null; } } public static MultisellData getInstance() { return SingletonHolder._instance; } private static class SingletonHolder { protected static final MultisellData _instance = new MultisellData(); } } Hide Где и как проверку убрать? лучше было бы в конфиг включалку вывести проверку на нпц. сборка l2j high five. Какие еще могут быть варианты почему так работает мультиисел?
  2. Решено: Все оказалось просто. В GameServer.java поставил в первую очередь загрузку try (InputStream is = new FileInputStream(new File(LOG_NAME))) { LogManager.getLogManager().readConfiguration(is); } в методе: public static void main(String[] args) throws Exception { В Батнике StartGamerver.bat добавил -Dconsole.encoding=UTF-8 -Dfile.encoding=UTF-8 и в Log.cfg добавил строчку java.util.logging.ConsoleHandler.encoding=Cp866 после строки java.util.logging.ConsoleHandler.formatter = com.l2jserver.log.formatter.ConsoleLogFormatter И все нормально выводит. Спасибо @@CalypsoToolz
  3. GUSTAVO

    Dev-guard ?

    есть в шаре серверная часть, но больше интересует клиент сурсы
  4. GUSTAVO

    Dev-guard ?

    ну там вроде что то они дописывали к ft-guard , вот хочу поковырять, интересно что там есть)
  5. Не помогло. он вообще не реагирует на это. Батник так и оставил со строчками энкодинга в UTF-8 Пробывал по разному и в конец конфига и как вы написали и кодировки разные, эффекта вообще ни какого, даже иероглифы не меняются если кодировку меняю в конфиге. будто он и не читает его
  6. Добавил строчку в log.cfg но эффекта никакого нет. Может быть я не так добавляю? посмотрите [spoiler=log.cfg]############################################################ # Global properties ############################################################ # "handlers" specifies a comma separated list of log Handler # classes. These handlers will be installed during VM startup. # Note that these classes must be on the system classpath. # By default we only configure a ConsoleHandler, which will only # show messages at the INFO and above levels. #handlers= java.util.logging.ConsoleHandler java.util.logging.ConsoleHandler.encoding = Cp866 # To also add the FileHandler, use the following line instead. handlers = java.util.logging.FileHandler,\ java.util.logging.ConsoleHandler,\ com.l2jserver.log.handler.ErrorLogHandler chat.handlers = com.l2jserver.log.handler.ChatLogHandler chat.useParentHandlers = false gmaudit.handlers = com.l2jserver.log.handler.GMAuditLogHandler gmaudit.useParentHandlers = false item.handlers = com.l2jserver.log.handler.ItemLogHandler item.useParentHandlers = false audit.handlers = com.l2jserver.log.handler.AuditLogHandler audit.useParentHandlers = false enchant.handlers = com.l2jserver.log.handler.EnchantItemLogHandler,\ com.l2jserver.log.handler.EnchantSkillLogHandler enchant.useParentHandlers = false olympiad.handlers = com.l2jserver.log.handler.OlympiadLogHandler olympiad.useParentHandlers = false damage.handlers = com.l2jserver.log.handler.AllDamageLogHandler,\ com.l2jserver.log.handler.PDamageLogHandler,\ com.l2jserver.log.handler.MDamageLogHandler damage.useParentHandlers = false accounting.handlers = com.l2jserver.log.handler.AccountingLogHandler accounting.useParentHandlers = false # Default global logging level. # This specifies which kinds of events are logged across # all loggers. For any given facility this global level # can be overridden by a facility specific level # Note that the ConsoleHandler also has a separate level # setting to limit messages printed to the console. .level= CONFIG ############################################################ # Handler specific properties. # Describes specific configuration info for Handlers. ############################################################ # default file output is in user's home directory. java.util.logging.FileHandler.pattern = log/java%g.log java.util.logging.FileHandler.count = 20 java.util.logging.FileHandler.limit = 0 java.util.logging.FileHandler.formatter = com.l2jserver.log.formatter.FileLogFormatter java.util.logging.FileHandler.level = CONFIG # Limit the message that are printed on the console to INFO and above. java.util.logging.ConsoleHandler.level = FINER java.util.logging.ConsoleHandler.formatter = com.l2jserver.log.formatter.ConsoleLogFormatter # log errors (exceptions) com.l2jserver.log.handler.ErrorLogHandler.pattern = log/error%g.log com.l2jserver.log.handler.ErrorLogHandler.count = 20 com.l2jserver.log.handler.ErrorLogHandler.limit = 0 com.l2jserver.log.handler.ErrorLogHandler.formatter = java.util.logging.SimpleFormatter com.l2jserver.log.handler.ErrorLogHandler.filter = com.l2jserver.log.filter.ErrorFilter com.l2jserver.log.handler.ErrorLogHandler.level = CONFIG # log chats com.l2jserver.log.handler.ChatLogHandler.pattern = log/chat.log com.l2jserver.log.handler.ChatLogHandler.formatter = com.l2jserver.log.formatter.ChatLogFormatter com.l2jserver.log.handler.ChatLogHandler.filter = com.l2jserver.log.filter.ChatFilter com.l2jserver.log.handler.ChatLogHandler.append = true com.l2jserver.log.handler.ChatLogHandler.level = INFO # log GM Audit com.l2jserver.log.handler.GMAuditLogHandler.pattern = log/gmaudit.log com.l2jserver.log.handler.GMAuditLogHandler.formatter = com.l2jserver.log.formatter.GMAuditFormatter com.l2jserver.log.handler.GMAuditLogHandler.filter = com.l2jserver.log.filter.GMAuditFilter com.l2jserver.log.handler.GMAuditLogHandler.append = true com.l2jserver.log.handler.GMAuditLogHandler.level = INFO # log items com.l2jserver.log.handler.ItemLogHandler.pattern = log/item.log com.l2jserver.log.handler.ItemLogHandler.formatter = com.l2jserver.log.formatter.ItemLogFormatter com.l2jserver.log.handler.ItemLogHandler.filter = com.l2jserver.log.filter.ItemFilter com.l2jserver.log.handler.ItemLogHandler.append = true com.l2jserver.log.handler.ItemLogHandler.level = INFO # audit com.l2jserver.log.handler.AuditLogHandler.pattern = log/audit.log com.l2jserver.log.handler.AuditLogHandler.formatter = com.l2jserver.log.formatter.AuditFormatter com.l2jserver.log.handler.AuditLogHandler.filter = com.l2jserver.log.filter.AuditFilter com.l2jserver.log.handler.AuditLogHandler.append = true com.l2jserver.log.handler.AuditLogHandler.level = INFO # enchant item log com.l2jserver.log.handler.EnchantItemLogHandler.pattern = log/enchantitem.log com.l2jserver.log.handler.EnchantItemLogHandler.formatter = com.l2jserver.log.formatter.EnchantFormatter com.l2jserver.log.handler.EnchantItemLogHandler.filter = com.l2jserver.log.filter.EnchantItemFilter com.l2jserver.log.handler.EnchantItemLogHandler.append = true com.l2jserver.log.handler.EnchantItemLogHandler.level = INFO # enchant skill log com.l2jserver.log.handler.EnchantSkillLogHandler.pattern = log/enchantskill.log com.l2jserver.log.handler.EnchantSkillLogHandler.formatter = com.l2jserver.log.formatter.EnchantFormatter com.l2jserver.log.handler.EnchantSkillLogHandler.filter = com.l2jserver.log.filter.EnchantSkillFilter com.l2jserver.log.handler.EnchantSkillLogHandler.append = true com.l2jserver.log.handler.EnchantSkillLogHandler.level = INFO # olympiad log com.l2jserver.log.handler.OlympiadLogHandler.pattern = log/olympiad.csv com.l2jserver.log.handler.OlympiadLogHandler.formatter = com.l2jserver.log.formatter.OlympiadFormatter com.l2jserver.log.handler.OlympiadLogHandler.append = true com.l2jserver.log.handler.OlympiadLogHandler.level = INFO # damage logs com.l2jserver.log.handler.AllDamageLogHandler.pattern = log/game/_all.txt com.l2jserver.log.handler.AllDamageLogHandler.formatter = com.l2jserver.log.formatter.DamageFormatter com.l2jserver.log.handler.AllDamageLogHandler.append = true com.l2jserver.log.handler.AllDamageLogHandler.level = INFO com.l2jserver.log.handler.PDamageLogHandler.pattern = log/game/damage_pdam.txt com.l2jserver.log.handler.PDamageLogHandler.formatter = com.l2jserver.log.formatter.DamageFormatter com.l2jserver.log.handler.PDamageLogHandler.filter = com.l2jserver.log.filter.PDamageFilter com.l2jserver.log.handler.PDamageLogHandler.append = true com.l2jserver.log.handler.PDamageLogHandler.level = INFO com.l2jserver.log.handler.MDamageLogHandler.pattern = log/game/damage_mdam.txt com.l2jserver.log.handler.MDamageLogHandler.formatter = com.l2jserver.log.formatter.DamageFormatter com.l2jserver.log.handler.MDamageLogHandler.filter = com.l2jserver.log.filter.MDamageFilter com.l2jserver.log.handler.MDamageLogHandler.append = true com.l2jserver.log.handler.MDamageLogHandler.level = INFO # accounting com.l2jserver.log.handler.AccountingLogHandler.pattern = log/accounting.log com.l2jserver.log.handler.AccountingLogHandler.formatter = com.l2jserver.log.formatter.AccountingFormatter com.l2jserver.log.handler.AccountingLogHandler.append = true com.l2jserver.log.handler.AccountingLogHandler.level = CONFIG ############################################################ # Facility specific properties. # Provides extra control for each logger. ############################################################ # For example, set the com.xyz.foo logger to only log SEVERE # messages: com.l2jserver.gameserver.level = CONFIG com.l2jserver.loginserver.level = CONFIG #com.l2jserver.gameserver.Connection.level = CONFIG com.l2jserver.gameserver.network.serverpackets.level = FINER com.l2jserver.gameserver.network.clientpackets.level = FINER com.l2jserver.gameserver.model.actor.L2Character.level = FINER com.l2jserver.gameserver.engines.DocumentEngine.level = INFO # Alt Privileges Administration AltPrivilegesAdmin.pattern = log/admin-commands.log AltPrivilegesAdmin.formatter = com.l2jserver.log.formatter.FileLogFormatter AltPrivilegesAdmin.append = true AltPrivilegesAdmin.level = CONFIG # c3p0 Logging com.mchange.v2.level = WARNING
  7. Спасибо за ответ, но у меня уже стоит chcp 65001. Наверно вы не открывали спойлер который я выкладывал ранее. Есть еще идеи?
  8. Если ставлю шрифт Lucinda в консоли, то все отображает. Но как сделать чтоб точечный шрифт норм отображал все это дело?
  9. GUSTAVO

    Dev-guard ?

    Есть ли у кого нибудь исходники dev-guard с клиент частью тоже исходник) ? Может кто шару сделает?) ну или продайте не дорого, цену пишите.
  10. Дело явно в портах на роутере, открой порты с ip 0.0.0.0 и попробуй (если хочешь проверить в роутере ли вообще дело, подключи провод инэта на прямую)
  11. Ты порты в фаерволе винды открыл?
  12. Пробывал добавить строчку java.util.logging.ConsoleHandler.encoding=UTF-8 но это не помогло. вот конфиг логера [spoiler=cfg]############################################################ # Global properties ############################################################ # "handlers" specifies a comma separated list of log Handler # classes. These handlers will be installed during VM startup. # Note that these classes must be on the system classpath. # By default we only configure a ConsoleHandler, which will only # show messages at the INFO and above levels. #handlers= java.util.logging.ConsoleHandler # To also add the FileHandler, use the following line instead. handlers = java.util.logging.FileHandler,\ java.util.logging.ConsoleHandler,\ com.l2jserver.log.handler.ErrorLogHandler chat.handlers = com.l2jserver.log.handler.ChatLogHandler chat.useParentHandlers = false gmaudit.handlers = com.l2jserver.log.handler.GMAuditLogHandler gmaudit.useParentHandlers = false item.handlers = com.l2jserver.log.handler.ItemLogHandler item.useParentHandlers = false audit.handlers = com.l2jserver.log.handler.AuditLogHandler audit.useParentHandlers = false enchant.handlers = com.l2jserver.log.handler.EnchantItemLogHandler,\ com.l2jserver.log.handler.EnchantSkillLogHandler enchant.useParentHandlers = false olympiad.handlers = com.l2jserver.log.handler.OlympiadLogHandler olympiad.useParentHandlers = false damage.handlers = com.l2jserver.log.handler.AllDamageLogHandler,\ com.l2jserver.log.handler.PDamageLogHandler,\ com.l2jserver.log.handler.MDamageLogHandler damage.useParentHandlers = false accounting.handlers = com.l2jserver.log.handler.AccountingLogHandler accounting.useParentHandlers = false # Default global logging level. # This specifies which kinds of events are logged across # all loggers. For any given facility this global level # can be overridden by a facility specific level # Note that the ConsoleHandler also has a separate level # setting to limit messages printed to the console. .level= CONFIG ############################################################ # Handler specific properties. # Describes specific configuration info for Handlers. ############################################################ # default file output is in user's home directory. java.util.logging.FileHandler.pattern = log/java%g.log java.util.logging.FileHandler.count = 20 java.util.logging.FileHandler.limit = 0 java.util.logging.FileHandler.formatter = com.l2jserver.log.formatter.FileLogFormatter java.util.logging.FileHandler.level = CONFIG # Limit the message that are printed on the console to INFO and above. java.util.logging.ConsoleHandler.level = FINER java.util.logging.ConsoleHandler.formatter = com.l2jserver.log.formatter.ConsoleLogFormatter # log errors (exceptions) com.l2jserver.log.handler.ErrorLogHandler.pattern = log/error%g.log com.l2jserver.log.handler.ErrorLogHandler.count = 20 com.l2jserver.log.handler.ErrorLogHandler.limit = 0 com.l2jserver.log.handler.ErrorLogHandler.formatter = java.util.logging.SimpleFormatter com.l2jserver.log.handler.ErrorLogHandler.filter = com.l2jserver.log.filter.ErrorFilter com.l2jserver.log.handler.ErrorLogHandler.level = CONFIG # log chats com.l2jserver.log.handler.ChatLogHandler.pattern = log/chat.log com.l2jserver.log.handler.ChatLogHandler.formatter = com.l2jserver.log.formatter.ChatLogFormatter com.l2jserver.log.handler.ChatLogHandler.filter = com.l2jserver.log.filter.ChatFilter com.l2jserver.log.handler.ChatLogHandler.append = true com.l2jserver.log.handler.ChatLogHandler.level = INFO # log GM Audit com.l2jserver.log.handler.GMAuditLogHandler.pattern = log/gmaudit.log com.l2jserver.log.handler.GMAuditLogHandler.formatter = com.l2jserver.log.formatter.GMAuditFormatter com.l2jserver.log.handler.GMAuditLogHandler.filter = com.l2jserver.log.filter.GMAuditFilter com.l2jserver.log.handler.GMAuditLogHandler.append = true com.l2jserver.log.handler.GMAuditLogHandler.level = INFO # log items com.l2jserver.log.handler.ItemLogHandler.pattern = log/item.log com.l2jserver.log.handler.ItemLogHandler.formatter = com.l2jserver.log.formatter.ItemLogFormatter com.l2jserver.log.handler.ItemLogHandler.filter = com.l2jserver.log.filter.ItemFilter com.l2jserver.log.handler.ItemLogHandler.append = true com.l2jserver.log.handler.ItemLogHandler.level = INFO # audit com.l2jserver.log.handler.AuditLogHandler.pattern = log/audit.log com.l2jserver.log.handler.AuditLogHandler.formatter = com.l2jserver.log.formatter.AuditFormatter com.l2jserver.log.handler.AuditLogHandler.filter = com.l2jserver.log.filter.AuditFilter com.l2jserver.log.handler.AuditLogHandler.append = true com.l2jserver.log.handler.AuditLogHandler.level = INFO # enchant item log com.l2jserver.log.handler.EnchantItemLogHandler.pattern = log/enchantitem.log com.l2jserver.log.handler.EnchantItemLogHandler.formatter = com.l2jserver.log.formatter.EnchantFormatter com.l2jserver.log.handler.EnchantItemLogHandler.filter = com.l2jserver.log.filter.EnchantItemFilter com.l2jserver.log.handler.EnchantItemLogHandler.append = true com.l2jserver.log.handler.EnchantItemLogHandler.level = INFO # enchant skill log com.l2jserver.log.handler.EnchantSkillLogHandler.pattern = log/enchantskill.log com.l2jserver.log.handler.EnchantSkillLogHandler.formatter = com.l2jserver.log.formatter.EnchantFormatter com.l2jserver.log.handler.EnchantSkillLogHandler.filter = com.l2jserver.log.filter.EnchantSkillFilter com.l2jserver.log.handler.EnchantSkillLogHandler.append = true com.l2jserver.log.handler.EnchantSkillLogHandler.level = INFO # olympiad log com.l2jserver.log.handler.OlympiadLogHandler.pattern = log/olympiad.csv com.l2jserver.log.handler.OlympiadLogHandler.formatter = com.l2jserver.log.formatter.OlympiadFormatter com.l2jserver.log.handler.OlympiadLogHandler.append = true com.l2jserver.log.handler.OlympiadLogHandler.level = INFO # damage logs com.l2jserver.log.handler.AllDamageLogHandler.pattern = log/game/_all.txt com.l2jserver.log.handler.AllDamageLogHandler.formatter = com.l2jserver.log.formatter.DamageFormatter com.l2jserver.log.handler.AllDamageLogHandler.append = true com.l2jserver.log.handler.AllDamageLogHandler.level = INFO com.l2jserver.log.handler.PDamageLogHandler.pattern = log/game/damage_pdam.txt com.l2jserver.log.handler.PDamageLogHandler.formatter = com.l2jserver.log.formatter.DamageFormatter com.l2jserver.log.handler.PDamageLogHandler.filter = com.l2jserver.log.filter.PDamageFilter com.l2jserver.log.handler.PDamageLogHandler.append = true com.l2jserver.log.handler.PDamageLogHandler.level = INFO com.l2jserver.log.handler.MDamageLogHandler.pattern = log/game/damage_mdam.txt com.l2jserver.log.handler.MDamageLogHandler.formatter = com.l2jserver.log.formatter.DamageFormatter com.l2jserver.log.handler.MDamageLogHandler.filter = com.l2jserver.log.filter.MDamageFilter com.l2jserver.log.handler.MDamageLogHandler.append = true com.l2jserver.log.handler.MDamageLogHandler.level = INFO # accounting com.l2jserver.log.handler.AccountingLogHandler.pattern = log/accounting.log com.l2jserver.log.handler.AccountingLogHandler.formatter = com.l2jserver.log.formatter.AccountingFormatter com.l2jserver.log.handler.AccountingLogHandler.append = true com.l2jserver.log.handler.AccountingLogHandler.level = CONFIG ############################################################ # Facility specific properties. # Provides extra control for each logger. ############################################################ # For example, set the com.xyz.foo logger to only log SEVERE # messages: com.l2jserver.gameserver.level = CONFIG com.l2jserver.loginserver.level = CONFIG #com.l2jserver.gameserver.Connection.level = CONFIG com.l2jserver.gameserver.network.serverpackets.level = FINER com.l2jserver.gameserver.network.clientpackets.level = FINER com.l2jserver.gameserver.model.actor.L2Character.level = FINER com.l2jserver.gameserver.engines.DocumentEngine.level = INFO # Alt Privileges Administration AltPrivilegesAdmin.pattern = log/admin-commands.log AltPrivilegesAdmin.formatter = com.l2jserver.log.formatter.FileLogFormatter AltPrivilegesAdmin.append = true AltPrivilegesAdmin.level = CONFIG # c3p0 Logging com.mchange.v2.level = WARNING Вот скрин батника и что выходит в консоли если русские смиволы (маленькие красные выделения - вместо пустоты должно быть слово "ноя" и вот большое выделение красным должно быть "Привет Хозяин")
  13. Где ставить кодировку логеру? По второму пункту я выше писал, что добавил, спойлер откройте.
  14. Сейчас проверил так: System.out.println("Привет Хозяин!") и все нормально выводит русский символ, а если вывожу лог LOG.info("Привет Хозин?"); То русские символы он показывать не хочет. Кто подскажет?
  15. Вот так в гсе, я так понял нет не указан: [spoiler=тык]@@Echo off title Private Game Server Console :start echo Starting Private Game Server. echo. java -Dpython.cachedir=../cachedir -Xms512m -Xmx1212m -jar PrivateGS.jar REM NOTE: If you have a powerful machine, you could modify/add some extra parameters for performance, like: REM -Xms1536m REM -Xmx3072m REM -XX:+AggressiveOpts REM Use this parameters carefully, some of them could cause abnormal behavior, deadlocks, etc. REM More info here: http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html if ERRORLEVEL 2 goto restart if ERRORLEVEL 1 goto error goto end :restart echo. echo Admin Restarted Game Server. echo. goto start :error echo. echo Game Server Terminated Abnormally! echo. :end echo. echo Game Server Terminated. echo. pause Изменил на: [spoiler=ТыК]@@Echo off title Private Game Server Console :start echo Starting Private Game Server. echo. ChCp 65001 java -Dconsole.encoding=UTF-8 -Dfile.encoding=UTF-8 -Dpython.cachedir=../cachedir -Xms512m -Xmx1212m -jar PrivateGS.jar REM NOTE: If you have a powerful machine, you could modify/add some extra parameters for performance, like: REM -Xms1536m REM -Xmx3072m REM -XX:+AggressiveOpts REM Use this parameters carefully, some of them could cause abnormal behavior, deadlocks, etc. REM More info here: http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html if ERRORLEVEL 2 goto restart if ERRORLEVEL 1 goto error goto end :restart echo. echo Admin Restarted Game Server. echo. goto start :error echo. echo Game Server Terminated Abnormally! echo. :end echo. echo Game Server Terminated. echo. pause В итоге в игре показывать стало нормально русский язык, а в консоли не показывает нормально, на скрине выделил что выходит, а должен быть ник ХОЗЯИН
  16. Всем привет! Возникла проблема с кодировкой в скриптах. Если пишу русский язык с коде скрипта, вместо него в игре появляются кракозябры. Кодировка стоит UTF8 БЕЗ Boom. Так же и в гс кракозябры вместо русского высвечивает. С этим давно сталкнулся, поправить ума не хватает, надеюсь на вашу помощь.
  17. Я же сказал, внешний нужно писать
  18. ему нужно чтоб к нему могли подключиться другие, а не только он, зачем ему локаллку ставить? Автор в конфигах пропиши 0.0.0.0 везде и в l2.ini свой внешний ip ставь
  19. GUSTAVO

    Сертификация l2j

    Решил, нужно было по порядку добавить скилы начиная с первого уровня, например: <skill skillName="Emergent Ability - Attack" skillId="631" skillLvl="1" getLevel="1" /> <skill skillName="Emergent Ability - Attack" skillId="631" skillLvl="2" getLevel="2" /> <skill skillName="Emergent Ability - Attack" skillId="631" skillLvl="3" getLevel="3" /> <skill skillName="Emergent Ability - Attack" skillId="631" skillLvl="4" getLevel="4" /> <skill skillName="Emergent Ability - Attack" skillId="631" skillLvl="5" getLevel="5" /> <skill skillName="Emergent Ability - Attack" skillId="631" skillLvl="6" getLevel="6" />
  20. Попробуйте версию java поменять
  21. GUSTAVO

    Сертификация l2j

    нет, вообще все ничего не говорит
  22. Всем привет! Ребят сделал сертификацию чтоб автоматом скилы все учились, добавил их в xml файл - ClassSkillTrees.xml Добавляются все скилы кроме этих 4-х: <skill skillName="Emergent Ability - Attack" skillId="631" skillLvl="6" getLevel="1"/> <skill skillName="Emergent Ability - Defense" skillId="632" skillLvl="6" getLevel="1"/> <skill skillName="Emergent Ability - Empower" skillId="633" skillLvl="6" getLevel="1"/> <skill skillName="Emergent Ability - Magic Defense" skillId="634" skillLvl="6" getLevel="1"/> Кто подскажет в чем может быть проблема? Они прописаны так же как и все остальные (Например вот рабочий: <skill skillName="Master Ability - Focus" skillId="640" skillLvl="1" getLevel="1"/>) Сборка l2jserver high five.
  23. Ему интересно как сделать чтоб клиент выводил уровень больше 99 (трехзначное число)
  24. GUSTAVO

    Спавн мобов Lucera

    В базе прописываются? Если в табоицу Custom_spawnlist сохраняется то В конфигах посмотри настройку загрузки спавн листа
  25. В общем сделал так: https://bitbucket.org/ignaciovenezia/l2j_server/commits/92b389ffe0ab2ef5cba5d68ca89fe5a806e5daf6
×
×
  • Создать...