Jump to content

KOltin

User
  • Content Count

    14
  • Joined

  • Last visited

  • Feedback

    N/A

Community Reputation

0

About KOltin

  • Rank
    Только пришел

Recent Profile Visitors

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

  1. Собственно подскажите возможно ли это?
  2. Установили лимит одновременных соединений - 400. Также сократили время ожидания, после которого соединение будет закрываться автоматически, если соединение неактивно. Сейчас это значение составляет 180 секунд.
  3. короче все намного проще. http и https
  4. ну он как БЭ доступен в инете. любой может зайти на него.
  5. нет. для того чтобы добавить сервер в топ.
  6. Добрый день. Подскажите пожалуйста что значит на ММОТОПЕ сделать сайт сервера доступным?
  7. KOltin

    ПА скилы

    в том то и дело что релог не помогает
  8. KOltin

    ПА скилы

    package custom.ServiceManager; import java.io.File; import java.io.FileReader; import java.io.LineNumberReader; import java.util.HashMap; import java.util.Map; import ru.catssoftware.gameserver.datatables.ItemTable; import ru.catssoftware.gameserver.handler.IVoicedCommandHandler; import ru.catssoftware.gameserver.handler.VoicedCommandHandler; import ru.catssoftware.gameserver.model.actor.instance.L2NpcInstance; import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance; import ru.catssoftware.gameserver.model.quest.Quest; import ru.catssoftware.gameserver.model.quest.QuestState; import ru.catssoftware.gameserver.util.PcAction; import ru.catssoftware.util.Log; //import javolution.text.TextBuilder; import ru.catssoftware.gameserver.network.serverpackets.PlaySound; import ru.catssoftware.gameserver.network.serverpackets.PledgeSkillList; import ru.catssoftware.gameserver.datatables.SkillTable; public class ServiceManager extends Quest { private static String qn = "ServiceManager"; private static class Price { private int[] _itemId; private int[] _prices; public Price(int[] items, int[] count) { _itemId = items; _prices = count; } } private static Map<Integer, Price> _premiumPrice = new HashMap<Integer, Price>(); private static Map<Integer, Price> _heroPrice = new HashMap<Integer, Price>(); private static Price _colorPrice = new Price(new int[]{4037}, new int[]{10}); private static Price _NoblesPrice = new Price(new int[]{4037}, new int[]{3}); private static Price _ClanSkills = new Price(new int[]{4037}, new int[]{35}); //private static Price _setNamePrice = new Price(new int[]{4037}, new int[]{10}); private static Price _nullPK = new Price(new int[]{4037}, new int[]{10}); private static Price _clanlvl8 = new Price(new int[]{4037}, new int[]{15}); private static Price _crp10k = new Price(new int[]{4037}, new int[]{3}); private String colorTable = ""; private String colorTable2 = ""; public ServiceManager() { super(-1, qn, "quests"); // ================= ЦЕНЫ НА ДВОРЯНСТВО ======== // дни, new Price(new int[] {через , ИД предметов},new int[] {через , количество}); _premiumPrice.put(1, new Price(new int[]{4037}, new int[]{3})); _premiumPrice.put(3, new Price(new int[]{4037}, new int[]{7})); _premiumPrice.put(7, new Price(new int[]{4037}, new int[]{15})); // ================ ЦЕНЫ НА ГЕРОИЗМ =============== _heroPrice.put(3, new Price(new int[]{4037}, new int[]{12})); _heroPrice.put(7, new Price(new int[]{4037}, new int[]{28})); _heroPrice.put(14, new Price(new int[]{4037}, new int[]{50})); _heroPrice.put(21, new Price(new int[]{4037}, new int[]{70})); _heroPrice.put(31, new Price(new int[]{4037}, new int[]{100})); // Таблица цветов из colors.table File f = new File(getScriptFile()); try { LineNumberReader lnr = new LineNumberReader(new FileReader(f.getParent() + "/colors.table")); String line; while ((line = lnr.readLine()) != null) { String[] colors = line.split("\t"); colorTable += "<tr>"; colorTable2 += "<tr>"; for (int i = 0; i < colors.length; i++) { colorTable += "<td><a action=\"bypass -h Quest " + qn + " color " + colors[i] + "\"><font color=\"" + colors[i] + "\">%name%</font></a></td>"; colorTable2 += "<td><a action=\"bypass -h Quest " + qn + " color2 " + colors[i] + "\"><font color=\"" + colors[i] + "\">%name%</font></a></td>"; } colorTable += "</tr>"; colorTable2 += "</tr>"; } lnr.close(); } catch (Exception e) { System.out.println("Error reading " + f.getParent() + "/colors.table"); } } private boolean checkMoney(L2PcInstance player, Price price) { for (int i = 0; i < price._itemId.length; i++) // Проверяем средства { if (player.getInventory().getItemByItemId(price._itemId[i]) == null || player.getInventory().getItemByItemId(price._itemId[i]).getCount() < price._prices[i]) { return false; // Нет денег? Сории } } for (int i = 0; i < price._itemId.length; i++) // Отнимаем средства у населения { if (!player.destroyItemByItemId(qn, price._itemId[i], price._prices[i], null, true)) { return false; } } return true; } @Override public String onAdvEvent(String event, L2NpcInstance npc, L2PcInstance player) { String[] args = event.split(" "); // Разбираем строку параметров if (args[0].equals("premiumlist")) { // Формируем список доступных дней премиума String html = "<html><body><br>Покупка премиума:<br><center>"; for (int days : _premiumPrice.keySet()) { html += "<a action=\"bypass -h Quest " + qn + " premium " + days + "\">На " + days + " дней</a> -"; Price price = _premiumPrice.get(days); for (int i = 0; i < price._itemId.length; i++) { // Формируем список стоимости if (i != 0) // Добавляем , { html += ","; } html += price._prices[i] + " " + ItemTable.getInstance().getTemplate(price._itemId[i]).getName(); } } html += "</center></body></html>"; return html; } else if (args[0].equals("herolist")) { // Список достпуного геройства, аналогично премиуму return "herolist.htm"; } else if (args[0].equals("nothing")) { // Список достпуного геройства, аналогично премиуму return "nothing.htm"; } else if (args[0].equals("premium")) { // Выдаем премиум if (player.getPremiumService() != 0) // Проверяем а не премимум ли чар? { return "already-premium"+player.getLang()+".htm"; } int numDays = 0; Price price = null; try { numDays = Integer.parseInt(args[1]); // В Java массивы нумеруются с 0 price = _premiumPrice.get(numDays); // Ищем цену в списке цен } catch (Exception e) { price = null; } if (price == null) // Не нашли. Что-то тут не то... { return "invalid-param"+player.getLang()+".htm"; } if (!checkMoney(player, price)) // Проверяем деньги { return "no-money"+player.getLang()+".htm"; } PcAction.addPremiumServices(player, numDays, player.getAccountName()); // Выдаем премиум Log.donate("Premium", player.getFingerPrints()); // Показываем .premium меню IVoicedCommandHandler premium = VoicedCommandHandler.getInstance().getVoicedCommandHandler("premium"); if (premium != null) { premium.useVoicedCommand("premium", player, null); } else { return "success"+player.getLang()+".htm"; } } else if (args[0].equals("noblese")) { // Дворянство if (player.isNoble()) // Игрок уже нубл { return "already-noble"+player.getLang()+".htm"; } if (!checkMoney(player, _NoblesPrice)) // Проверяем Деньги { return "no-money"+player.getLang()+".htm"; } player.setNoble(true); // Даем нубла Log.donate("Noble", player.getFingerPrints()); return "success"+player.getLang()+".htm"; } else if (args[0].equals("service")) { return "service"+player.getLang()+".htm"; } else if (args[0].equals("shop")) { return "shop"+player.getLang()+".htm"; } else if (args[0].equals("nullpk")) { return "nullpk"+player.getLang()+".htm"; } else if (args[0].equals("clan")) { return "clan"+player.getLang()+".htm"; } else if (args[0].equals("skills")) { if (!player.isClanLeader()) // Игрок не кланлидер { return "noclan-leader"+player.getLang()+".htm"; } if (!checkMoney(player, _ClanSkills)) // Проверяем Деньги { return "no-money"+player.getLang()+".htm"; } player.getClan().addNewSkill(SkillTable.getInstance().getInfo(370,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(371,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(372,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(373,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(374,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(375,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(376,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(377,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(378,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(379,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(380,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(381,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(382,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(383,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(384,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(385,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(386,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(387,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(388,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(389,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(390,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(391,1)); player.getClan().broadcastToOnlineMembers(new PledgeSkillList(player.getClan())); player.sendPacket(new PlaySound("ItemSound.quest_finish")); Log.donate("HeroStatus", player.getFingerPrints()); return "success"+player.getLang()+".htm"; } else if (args[0].equals("hero")) { // Геройство if (player.isHero()) { return "already-hero"+player.getLang()+".htm"; } int numDays = 0; Price price = null; try { numDays = Integer.parseInt(args[1]); // В Java массивы нумеруются с 0 price = _premiumPrice.get(numDays); // Ищем цену в списке цен } catch (Exception e) { price = null; } if (price == null) // Не нашли. Что-то тут не то... { return "invalid-param"+player.getLang()+".htm"; } if (!checkMoney(player, price)) // Проверяем Деньги { return "no-money"+player.getLang()+".htm"; } PcAction.addHeroStatus(player, numDays); // Даем героя России. Log.donate("HeroStatus", player.getFingerPrints()); return "success"+player.getLang()+".htm"; } else if (args[0].equals("colorlist")) { // Список цветов String prices = ""; for (int i = 0; i < _colorPrice._itemId.length; i++) // Проверяем средства { prices += _colorPrice._prices[i] + " " + ItemTable.getInstance().getItemName(_colorPrice._itemId[i]) + "<br>"; } return "<html><body><center>Цвет ника<br><br>Стоимость услуги: " + prices + "<br>" + "<button value=\"Продолжить\" action=\"bypass -h Quest ServiceManager colorlistok\" width=93 height=22 back=\"saitan.But2\" fore=\"saitan.But3\"></center></body></html>."; } else if (args[0].equals("colorlistok")) { // Список цветов String html = "<html><body><br>Выбор цвета<table width=220>"; html += (colorTable.replace("%name%", player.getName())); html += "</table></body></html>"; return html; } else if (args[0].equals("color")) { //Смена цвета if (!checkMoney(player, _colorPrice)) { return "no-money"+player.getLang()+".htm"; } int color = 0; /* try { String nicknamess = (new TextBuilder(""+args[1])).reverse().toString(); color = Integer.decode((new StringBuilder()).append("0x").append(nicknamess).toString()); } catch (Exception e) { color = 0; } if (color == 0) // Не нашли. Что-то тут не то... { return "invalid-param"+player.getLang()+".htm"; } */ try { color = Integer.parseInt(args[1], 16); // Получаем цвет и меняем старший и младший байты } catch (Exception e) { color = 0; } if (color == 0) // Не нашли. Что-то тут не то... { return "invalid-param.htm"; } color = (color & 0xFF) << 16 | (color & 0xff0000) >> 16 | (color & 0xff00); // Меняем цвет и посылаем всем пакет что цвет сменен player.getAppearance().setNameColor(color); player.broadcastFullInfo(); Log.donate("Color", player.getFingerPrints() + ", NameColor: " + args[1]); return "success"+player.getLang()+".htm"; } else if (args[0].equals("colorlist2")) { // Список цветов String prices = ""; for (int i = 0; i < _colorPrice._itemId.length; i++) // Проверяем средства { prices += _colorPrice._prices[i] + " " + ItemTable.getInstance().getItemName(_colorPrice._itemId[i]) + "<br>"; } return "<html><body><center>Цвет ника<br><br>Стоимость услуги: " + prices + "<br>" + "<button value=\"Продолжить\" action=\"bypass -h Quest ServiceManager colorlist2ok\" width=93 height=22 back=\"saitan.But2\" fore=\"saitan.But3\"></center></body></html>."; } else if (args[0].equals("colorlist2ok")) { // Список цветов String html = "<html><body><br>Выбор цвета<table width=220>"; html += (colorTable2.replace("%name%", player.getName())); html += "</table></body></html>"; return html; } else if (args[0].equals("color2")) { //Смена цвета if (!checkMoney(player, _colorPrice)) { return "no-money"+player.getLang()+".htm"; } int color = 0; /* try { String nicknamess = (new TextBuilder(""+args[1])).reverse().toString(); color = Integer.decode((new StringBuilder()).append("0x").append(nicknamess).toString()); } catch (Exception e) { color = 0; } if (color == 0) // Не нашли. Что-то тут не то... { return "invalid-param"+player.getLang()+".htm"; } */ try { color = Integer.parseInt(args[1], 16); // Получаем цвет и меняем старший и младший байты } catch (Exception e) { color = 0; } if (color == 0) // Не нашли. Что-то тут не то... { return "invalid-param.htm"; } color = (color & 0xFF) << 16 | (color & 0xff0000) >> 16 | (color & 0xff00); // Меняем цвет и посылаем всем пакет что цвет сменен player.getAppearance().setTitleColor(color); player.broadcastFullInfo(); Log.donate("Color", player.getFingerPrints() + ", TitleColor: " + args[1]); return "success"+player.getLang()+".htm"; } else if (args[0].equals("htmsetname")) { // Смена ника return "setnamehtm"+player.getLang()+".htm"; } else if (args[0].equals("setname")) { // Смена ника /*String nick = args[1]; if (nick.contains("?") || nick.contains("/") || nick.contains(";") || nick.contains(" ") || nick.contains(",")) { player.sendMessage("Ник не может содержать ? или ; или , или /");//Проверили на некоторые символы, вернули страницу ошибки return "invalid-param.htm"; } if (player.isClanLeader()) { player.sendMessage("Передайте клан другому персонажу на время смены ника!");//Проверили на Клство return "invalid-param.htm"; } if (!checkMoney(player, _setNamePrice)) // Проверяем Деньги { return "no-money.htm"; } player.setName(nick);// даем новый ник player.broadcastFullInfo(); player.sendMessage("Ваш ник удачно изменен на " + nick); return "success.htm";*/ return "invalid-param"+player.getLang()+".htm"; } else if (args[0].equals("nullpk")) { // Обнуление пк и кармы String prices = ""; for (int i = 0; i < _nullPK._itemId.length; i++) // Проверяем средства { prices += _nullPK._prices[i] + " " + ItemTable.getInstance().getItemName(_nullPK._itemId[i]) + "<br>"; } return "<html><body><center>Обнуление ПК<br><br>Стоимость услуги: " + prices + "<br>" + "<button value=\"Продолжить\" action=\"bypass -h Quest ServiceManager nullpkok\" width=93 height=22 back=\"saitan.But2\" fore=\"saitan.But3\"></body></center></html>."; } else if (args[0].equals("nullpkok")) { // Обнуление пк и кармы if (player.getPkKills() == 0) { // У игрока 0 пк player.sendMessage("У вас 0 ПК"); return "invalid-param"+player.getLang()+".htm"; } if (!checkMoney(player, _nullPK)) // Проверяем Деньги { return "no-money"+player.getLang()+".htm"; } player.setPkKills(0); // Обнуляем ПК player.setKarma(0); // Обнуляем карму player.sendMessage("Теперь у вас 0 ПК и 0 кармы!"); Log.donate("nullpk", player.getFingerPrints()); //return "<html><body><center><br><br>Теперь у вас 0 ПК и 0 кармы!<img src=\"l2ui.squaregray\" width=\"295\" height=\"1\"><br><br><tr><td><button value=\"Назад\" action=\"bypass -h Quest ServiceManager\" width=93 height=22 back=\"saitan.But2\" fore=\"saitan.But3\"></td></tr></center></body></html>."; return "success"+player.getLang()+".htm"; } else if (args[0].equals("clanlvl8")) { // 8 clan lvl if (player.getClan() == null || player.getClan().getLevel() < 5) //клан больше 5? { player.sendMessage("Уровень клана должен быть 5 или выше!"); //return "invalid-param"+player.getLang()+".htm"; return "<html><body><center><br><br>Уровень клана должен быть 5 или выше!<img src=\"l2ui.squaregray\" width=\"295\" height=\"1\"><br><br><tr><td><button value=\"Назад\" action=\"bypass -h Quest ServiceManager\" width=93 height=22 back=\"saitan.But2\" fore=\"saitan.But3\"></td></tr></center></body></html>."; } if (player.getClan() == null || player.getClan().getLevel() >= 8) //клан больше 5? { player.sendMessage("Уровень клана должен быть меньше 8 лвл!"); //return "invalid-param"+player.getLang()+".htm"; return "<html><body><center><br><br>Уровень клана должен быть меньше 8 лвл!<img src=\"l2ui.squaregray\" width=\"295\" height=\"1\"><br><br><tr><td><button value=\"Назад\" action=\"bypass -h Quest ServiceManager\" width=93 height=22 back=\"saitan.But2\" fore=\"saitan.But3\"></td></tr></center></body></html>."; } if (!checkMoney(player, _clanlvl8)) // Проверяем Деньги { return "no-money"+player.getLang()+".htm"; } player.getClan().changeLevel(8); // Делаем 8 лвл клану player.getClan().store(); player.sendMessage("Уровень клана: "+player.getClan().getLevel()+" лвл."); Log.donate("clanlvl8", player.getFingerPrints()); return "success"+player.getLang()+".htm"; } else if (args[0].equals("crp10k")) { // клан 10k crp if (player.getClan() == null || player.getClan().getLevel() <= 5) //клан больше 5? { player.sendMessage("Уровень клана должен быть 6 или выше!"); //return "invalid-param"+player.getLang()+".htm"; return "<html><body><center><br><br>Уровень клана должен быть 5 или выше!<img src=\"l2ui.squaregray\" width=\"295\" height=\"1\"><br><br><tr><td><button value=\"Назад\" action=\"bypass -h Quest ServiceManager\" width=93 height=22 back=\"saitan.But2\" fore=\"saitan.But3\"></td></tr></center></body></html>."; } if (!checkMoney(player, _crp10k)) // Проверяем Деньги { return "no-money"+player.getLang()+".htm"; } player.getClan().setReputationScore(player.getClan().getReputationScore() + 10000, true); // даем 10к крп //player.getClan().store(); player.sendMessage("Репутация клана: "+player.getClan().getReputationScore()+" очков."); Log.donate("crp10k", player.getFingerPrints()); return "success"+player.getLang()+".htm"; } else if (event.startsWith("lang")) { try { player.setChatLanguage(Integer.parseInt(event.substring(5))); } catch (Exception e) { } } return "hello"+player.getLang()+".htm"; } @Override public String onFirstTalk(L2NpcInstance npc, L2PcInstance player) { return onTalk(npc, player); } @Override public String onTalk(L2NpcInstance npc, L2PcInstance player) { QuestState qs = player.getQuestState(qn); if (qs == null) { qs = newQuestState(player); } return "hello"+player.getLang()+".htm"; } public static void main(String[] args) { ServiceManager ps = new ServiceManager(); ps.addFirstTalkId(50016); // Мы не хотим писать диалог для этого НПЦ ps.addStartNpc(50016); // Автоматический контроль состояния квеста ps.addTalkId(50016); // NPC с которым можно говорить. } }
  9. KOltin

    ПА скилы

    Добрый всем день. При покупке ПА не добавляется скил ноблеса, появляется он только после ап лвла. в какую сторону копать подскажите?)
  10. спасибо нашел в файле settings_test.properties # Список итемов, запрещенных к дропу # Пример = 4037,6673 #!!Для отключения = off ForbiddenDropItems = 4037,6673
  11. Всем здрасте. Небольшая проблемка которую походу сам буду очень долго решать. Не дропается FA. Добавляю в базу custom droplist дроп ФА с определенного моба - эффекта ноль. Добавляю в базу droplist дроп ФА с определенного моба - эффекта ноль. Добавляю дроп ФА через шифт - эффекта ноль. Хотя тот же Silver Shilen при добавлении дропается без проблем (хотя шанс стоит 100%, а падает все равно не с каждого моба (через моба или два))
  12. Exception in thread "main" java.lang.RuntimeException: java.net.BindException: Cannot assign requested address: bind at ru.catssoftware.gameserver.L2GameServer.<init>(L2GameServer.java:543) at ru.catssoftware.gameserver.L2GameServer.main(L2GameServer.java:186) Caused by: java.net.BindException: Cannot assign requested address: bind at sun.nio.ch.Net.bind0(Native Method) at sun.nio.ch.Net.bind(Unknown Source) at sun.nio.ch.Net.bind(Unknown Source) at sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source) at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source) at ru.catssoftware.commons.lw.net.SelectorThread.openServerSocket(SelectorThread.java:79) at ru.catssoftware.gameserver.L2GameServer.<init>(L2GameServer.java:538) ... 1 more всем добра. в чем трабла с ГС?))
×
×
  • Create New...