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

Relvl

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

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

  • Посещение

  • Отзывы

    0%

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

  1. Relvl

    Шара От Lacosta

    Рисовал сам, или любитель приписывать копирайты? И эт самое... Разделом не ошибся?
  2. Relvl

    Raid Boss

    Тебе конкретно-то что нужно от босса? Чтоб респавился после рестарта?
  3. А запостить его? Или Вы, как любой, уважающий себя хомяк, сначала клянчите помощь, а потом решение жлобите?
  4. Pattern.matches("[A-Za-z0-9\`\~\!\@\#\$\%\^\*\(\)\_\-\=\[\]\'\.\,\:\;]{4,16}", event) От себя добавлю, что использовать символы $ и ~ не рекомендовал бы. Первый мешает работе некоторых методов замены регулярного выражения в Яве, а второй просто не печатается клиентом. Я лично вот такую маску использую: private static String mask = "[a-zA-Z0-9_\\@\\~\\#\\^\\&\\*\\(\\)\\-\\+\\=]{4,16}";
  5. Relvl

    Color

    байты переверни. HTML и ява работают на разных вариантах цвета. Ява на GGBBRR, а HTML на RRGGBB. Пример, в HTML красный FF0000, а я яве 0000FF, более доступный пример: FA883F <=> 3F88FA Ну и мега-шара от меня, подобранные цвета впихнутые в энумератор public static enum Colors{ //Color(ID, Color, Name, Nick, Title, Html); White(0xFFFFFF, "Белый (бесплатно)", true , false, "FFFFFF", true), WhiteTitle(0xFFFFFF, "Белый", false , true, "FFFFFF"), Electric(0xFFFF77, "Электро (бесплатно)", false , true, "77FFFF", true), ElectricName(0xFFFF77, "Электро", true , false, "77FFFF"), Black(0x000000, "Черный", true , true, "000000"), DarkGray(0x555555, "Темно-серый", true , true, "555555"), LiteGray(0xAAAAAA, "Светло-серый", true , true, "AAAAAA"), Red(0x0000FF, "Красный", false , true, "FF0000"), Green(0x00FF00, "Зеленый", true , true, "00FF00"), Blue(0xFF0000, "Синий", true , true, "0000FF"), Yellow(0x00FFFF, "Желтый", true , true, "FFFF00"), Mandarine(0x008CFF, "Мандарин", true , true, "FF8C00"), Yantar(0x00bfff, "Янтарь", true , true, "ffbf00"), Golden(0x00d7ff, "Золотой", true , true, "ffd700"), Peach(0xb4e5ff, "Персиковый", true , true, "ffe5b4"), Beige(0xdcf5f5, "Бежевый", true , true, "f5f5dc"), YellowBrown(0x8cb4d2, "Желто-коричневый", true , true, "d2b48c"), Haki(0x2a6b80, "Хаки", true , true, "806b2a"), DarkHaki(0x183c4c, "Темный хаки", true , true, "4c3c18"), Olive(0x008080, "Оливковый", true , true, "808000"), Latun(0x42a6b5, "Латунный", true , true, "b5a642"), Creame(0xc6ddf2, "Кремовый", true , true, "f2ddc6"), GreenTea(0xbadaca, "Зеленый чай", true , true, "cadaba"), Swamp(0x8eb7ac, "Болотный", true , true, "acb78e"), Grassy(0x30a15d, "Трава", true , true, "5da130"), Acid(0x00ff7f, "Кислотный", true , true, "7fff00"), LiteGreen(0x99ff99, "Салатовый", true , true, "99ff99"), Nefrite(0x6ba800, "Нефритовый", true , true, "00a86b"), Emerald(0x78c850, "Изумрудный", true , true, "50c878"), Aquamarine(0xd4ff7f, "Аквамарин", true , true, "7fffd4"), Murena(0x726b1c, "Мурена", true , true, "1c6b72"), BlueRgeen(0x808000, "Cине-зеленый", true , true, "008080"), CatbirdEgg(0xcccc00, "Яйцо дрозда", true , true, "00cccc"), Cian(0xffff00, "Циановый", true , true, "00ffff"), Silver(0xc0c0c0, "Серебрянный", true , true, "c0c0c0"), Saphire(0x672508, "Сапфировый", true , true, "082567"), Ultramarine(0x8f0a12, "Ультрамарин", true , true, "120a8f"), Cobalt(0xab4700, "Кобальт", true , true, "0047ab"), KingBlue(0xe16941, "Королевский", true , true, "4169e1"), LiteBlue(0xffaa42, "Голубой", true , true, "42aaff"), Sky(0xffc77f, "Небесный", true , true, "7fc7ff"), Lavender(0xfae6e6, "Лавандовый", true , true, "e6e6fa"), Glicin(0xdca0c9, "Глицин", true , true, "c9a0dc"), Ametiste(0xcc6699, "Аметистовый", true , true, "9966cc"), SeroBuroMalinoviy(0x845173, "Серобуромалиновый", true , true, "735184"), Purple(0xff008b, "Фиолетовый", true , true, "8b00ff"), Persian(0xff0066, "Персицкий", true , true, "6600ff"), DeepPurple(0x893142, "Deep Purple", true , true, "423189"), Indigo(0x82004b, "Индиго", true , true, "4b0082"), Plum(0x660066, "Сливовый", true , true, "660066"), Orchid(0xd670da, "Орхидея", true , true, "da70d6"), LitePurple(0xe584f9, "Светло-фиолетовый", true , true, "f984e5"), Glamour(0xca47ff, "Гламурный", true , true, "ff47ca"), Magenta(0xff00ff, "Пурпурный", false , true, "ff00ff"), Aubergine(0x660099, "Баклажановый", true , true, "990066"), Cherry(0x421e91, "Вишневый", false , true, "911e42"), LiteCherry(0x6331de, "Светло-вишневый", false , true, "de3163"), Violet(0x9370db, "Лиловый", true , true, "db7093"), Brown(0x1c1645, "Коричневый", true , true, "45161c"), Carrot(0x2362f3, "Морковный", true , true, "f36223"); private final int _color; private final String _locName; private final boolean _forNick; private final boolean _forTitle; private final String _htmlColor; private final boolean _free; public int COLOR(){return _color;} public String LOCNAME(){return _locName;} public boolean FORNICK(){return _forNick;} public boolean FORTITLE(){return _forTitle;} public String HTMLCOLOR(){return _htmlColor;} public boolean FREE(){return _free;} private Colors(int color, String locName, boolean forNick, boolean forTitle, String htmlColor){_color = color;_locName = locName;_forNick = forNick;_forTitle = forTitle;_htmlColor = htmlColor;_free = false;} private Colors(int color, String locName, boolean forNick, boolean forTitle, String htmlColor, boolean free){_color = color;_locName = locName;_forNick = forNick;_forTitle = forTitle;_htmlColor = htmlColor;_free = free;} } Пользоваться так: case "namecolor": html = "<table border=0 cellspacing=0>"; i = 0; for (Colors clr : Colors.values()) { if (clr.FORNICK()){ if (i % 4 == 0){html += "<tr>";} html += "<td width=130 height=25><a action=\"bypass -h BBS_SERVICES:namecolor:set:"+clr.name()+"\"><font color="+clr.HTMLCOLOR()+">"+clr.LOCNAME()+"</font></a></td>"; if (i % 4 == 3){html += "</tr>";} i++; } } if (html.endsWith("</tr>")){html += "</tr>";} html += "</table>"; Content = Content.replaceAll("<tag_list_colors>", html); Content = Content.replaceAll("<tag_namecolor_cost>", Util.getItemHtmlName(_CommunityBoard.DONATE_ITEM_ID, COST_NICK_COLOR, player)); break; и case "namecolor": if (Arg2.equals("set") && Arg3 != null){ Colors _color = Colors.valueOf(Arg3); if (_color == null || !_color.FORNICK()){ onError(player,"Ошибка при попытке определить цвет! Администрация извещена."); _log.log(Level.WARNING, "[bBS_SERVICE:parseCommand] "+player.getName()+" ("+player.getObjectId()+") send illegal bypass: BBS_SERVICES:"+Arg1+":"+Arg2+":"+Arg3); break; } if (!_color.FREE()){ if (player.getInventory().getItemByItemId(_CommunityBoard.DONATE_ITEM_ID).getCount() < COST_NICK_COLOR){ onError(player,"Стоимость смены цвета ника составляет "+Util.getCountString(COST_NICK_COLOR)+" "+Util.getItemIdName(_CommunityBoard.DONATE_ITEM_ID)); break; } else if (!player.destroyItemByItemId("CommunitySetNameColor", _CommunityBoard.DONATE_ITEM_ID, COST_NICK_COLOR, player, true)){ onError(player,"Ошибка при попытке оплаты сервиса."); break; } } player.getAppearance().setNameColor(_color.COLOR()); player.broadcastUserInfo(); player.store(); return _CommunityBoard.BBS_SERVICES + ":namecolor:congr:"+_color.name(); } break; Других подробностей не дам, надоело всё объяснять как для даунов. Есть голова - припилите к своей сборке. Нет - пройдете мимо.
  6. Relvl

    Color

    зачем новую таблицу делать? добавь к существующей в конец. oid персонажа там есть, в конец добавь нужные поля (если навикат, то правый так по таблице - дизайн). Загружать прямо в загрузке персонажа. Вы лыже это L2PcInstance.restore(); Сохранять аналогично, в сохранении персонажа, L2PcInstance.store(); Если сделаешь так - производительность не упадет. Если в коде нет загрузки цвета титула (что уже странно) - делай по аналогии с самим титулом. Он уж точно сохраняется как надо и куда надо. Если пишешь в эклипсе - то наведи курсор на метод getTitle, правый тык, Ссылки -> Рабочая область. В окне поиска покажет все упомянания этого метода. Там и найдешь загрузку/сохранение.
  7. Relvl

    Lucera Interlude.li

    Поймите, что в клиентской части защиты жестко прописан IP сервера, который покупал защиту. Ну, даст вам кто-нибудь патч, и что? Заходить вы будете на сервер, которыё покупал защиту.
  8. Relvl

    Color

    На большинстве сборок это не реализовано. Необходимо в базу characters добавлять столбец "nameColor", в загрузке и выгрузке персонажа читать и записывать его. Смотрите по аналогии с titleColor.
  9. Называй цену. У них даже описания везде английские, даже качать не стал.
  10. Здравствуйте, уважаемые. Собсна, сабж. Есть в шаре или у кого-нибудь русский датапак на L2JServer HF (текущая сборка) или его части? Перевести самому не сложно, но нет времени...
  11. Я бы помог за просто так, самому интересно... Но некогда... Усиленно пилю сервак свой.
  12. Relvl

    Dos

    Опять просыпается мое патологическое недоверие к людям Или это паранойя? Сдается мне, что может обойтись не проксированием, а очередным ддосом...
  13. Relvl

    Dos

    МайклДжексон не конкретный случай имел в виду. Этот дриад уже всех затрахал своей тупизной и дристанием во всех топиках форума. PS: 220вольт, сколько просишь за проксификацию?
  14. Опять же: слова выражаете малосвязанные. Линки, хотя бы, приведите... Говорить о том, что всё длается просто и элементарно - проще простого. Я вот Вам тоже могу сказать, что мультиконтроллер и мост перепаять на ноуте или xBox - проще простого.
  15. "Я магу управлять сервирам усилиям мысли!" Голословных "авторов" мало кто слушает. Примеры настройки? PS: Одно только Ваше слово "линуха" уже направляет Вас в сторону разряда "ламеры"...
  16. Relvl

    Dos

    DOS - атака с одного адреса. dDOS - атака с нескольких адресов. Всё это называется атаками на отказ в обслуживании (Denied Of Service) Вы в каждом топике испражняетесь? У Вас диарея?
  17. С ходу небольшая модернизация идеи. Зачем вэб на это напрягать? Писать сразу уж Аутентикейт-Сервер, поднимать его на произвольном порту. и отвечать только на правильные запросы. Если клиент прошел - открывать iptable для Лса, а если авторизация в ЛС прошла - открывать iptable для Гса. По поводу клиентской части - PE-редактором приаттачивать либу. Либа при запуске саспендит все потоки приложения, кроме ствоего. Создает новый поток с сокетом, который коннектитная на Аутентикейт, сообщает ему параметры железа. Аутентикейт отвечает, что всё в порядке и доступ открыл. Либа убивает свой воторой поток, размораживает потоки клиента и детачится. Всё просто. А если ещё хукать этой же либой расшифрованный клиентом трафик - и перешифровывать его - будет вообще сказка.
  18. Relvl

    Защита

    Ребята правильно делают, что ищут безопасника, а не полагаются на закрытые исходники. Кто знает, что там ЛГ наделали?.. Я вообще сам планирую писать и развивать собственную защиту, вэб-сервер на яве и прочее.
  19. Альтернативный вариант - учить винапи, Си или Дельфи. И писать все плюшки самому. А скрывать ИП свой смысла нет. Нубам он и не нужен, а профессионал и так посмотрит на какой ИП соединение установлено по порту ГСа.
  20. Не юрист ли Вы часом?.. Приват у лыжи есть, но пишут не на продажу.
  21. А почему не тут? Я думаю, не мне одному будет полезно почитать...
  22. Я не про это... Выдержку из CharInfo или UserInfo классов приведите, запись пакета. А ещё лучше во время записи пакета исполните такое: player.sendMessage(player.getClassId.classId()); как-то так. и посмотрите, о чем клиент писать будет.
  23. *рукалицо* я не писал "мне нужна защита вот от такой иньекции". я прямо написал, что хочу послушать советы по безопасности, и дал примеры тем советов. Если читаете через строчку по диагонали - извольте не испражняться в этой теме.
  24. расу точно правильную клиенту суете?
×
×
  • Создать...