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

IIPOCIIEKT

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

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

  • Посещение

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

    1
  • Отзывы

    0%

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

  1. Aion - посмотрел картинки и видео, и то что про неё сказали мои друзья, сделал вывод - забыть навсегда это слово и то что оно означает. Самая нормальная игра на данный момент это Guild Wars 2 и ищо там одна платная RIFT. Бесплатная - Raiderz.
  2. Karos - скучная MMORPG игра, кач очень долгий, после 26 уровня без пати просто тяжело играть, можно так сказать нереально. Игра рассчитана на то чтобы вы звали своих друзей и вместе с ними играли(Задротили днями и ночами) и тратили свои деньги на донат.
  3. Ну помогите хоть кто-то....
  4. Прочитайте внимательней моё сообщение.
  5. Вот часть этого кода, вот мне именно его нужно отредактировать, сама проблема с L2DatabaseFactory под терлионов, у них это просто DatabaseFactory + else if (_command.equalsIgnoreCase("pkrecovery")) + { + String htmContent = HtmCache.getInstance().getHtm("data/html/passkey/recovery.htm"); + NpcHtmlMessage html = new NpcHtmlMessage(1); + html.setHtml(htmContent); + html.replace("%question%", getPassKeyQuestion(activeChar)); + activeChar.sendPacket(html); + html = null; + } + else if (_command.startsWith("pkset")) + { + StringTokenizer st = new StringTokenizer(_command, "]"); + + if (st.countTokens() != 5) + { + activeChar.sendMessage("Вы ввели не все данные!"); + String htmContent = HtmCache.getInstance().getHtm("data/html/passkey/setup.htm"); + NpcHtmlMessage html = new NpcHtmlMessage(1); + html.setHtml(htmContent); + activeChar.sendPacket(html); + html = null; + return; + } + + String newCommand = st.nextToken(); + String pass1 = st.nextToken(); + pass1 = pass1.substring(1, pass1.length() - 1); + String pass2 = st.nextToken(); + pass2 = pass2.substring(1, pass2.length() - 1); + String question = st.nextToken(); + question = question.substring(1, question.length() - 1); + String answer = st.nextToken(); + answer = answer.substring(1, answer.length()); + + if (pass1 == null || pass2 == null || question == null || answer == null) + { + activeChar.sendMessage("Ошибка при вводе"); + String htmContent = HtmCache.getInstance().getHtm("data/html/passkey/setup.htm"); + NpcHtmlMessage html = new NpcHtmlMessage(1); + html.setHtml(htmContent); + activeChar.sendPacket(html); + html = null; + return; + } + + if (!pass1.equals(pass2)) + { + activeChar.sendMessage("Вы ввели разные пароли"); + activeChar.sendMessage("pass1 = " + pass1); + activeChar.sendMessage("pass2 = " + pass2); + activeChar.sendMessage("Question = " + question); + activeChar.sendMessage("answer = " + answer); + + String htmContent = HtmCache.getInstance().getHtm("data/html/passkey/setup.htm"); + NpcHtmlMessage html = new NpcHtmlMessage(1); + html.setHtml(htmContent); + activeChar.sendPacket(html); + html = null; + return; + } + insertPassKeyInformation(activeChar, pass1, question, answer); + + String htmContent = HtmCache.getInstance().getHtm("data/html/passkey/login.htm"); + NpcHtmlMessage html = new NpcHtmlMessage(1); + html.setHtml(htmContent); + activeChar.sendPacket(html); + html = null; + } + else if (_command.startsWith("pklogin")) + { + StringTokenizer st = new StringTokenizer(_command, " "); + if (st.countTokens() != 2) + { + activeChar.sendMessage("Вы допустили ошибку при вводе пароля!"); + String htmContent = HtmCache.getInstance().getHtm("data/html/passkey/login.htm"); + NpcHtmlMessage html = new NpcHtmlMessage(1); + html.setHtml(htmContent); + activeChar.sendPacket(html); + html = null; + return; + } + String newCommand = st.nextToken(); + String pass = st.nextToken(); + + Connection con = null; + String query = "SELECT passkey FROM passkey WHERE obj_Id = ?"; + String pwdindb = "error"; + try + { + con = L2DatabaseFactory.getInstance().getConnection(); + PreparedStatement ps = con.prepareStatement(query); + ps.setInt(1, activeChar.getObjectId()); + ResultSet rs = ps.executeQuery(); + + while (rs.next()) + pwdindb = rs.getString(1); + + rs.close(); + ps.close(); + ps = null; + rs = null; + } + catch (Exception e) + { + e.printStackTrace(); + } + finally + { + try + { + con.close(); + } + catch (SQLException e) + { + e.printStackTrace(); + } + con = null; + } + + if (pwdindb.equals(encodePass(pass))) + { + activeChar.setIsParalyzed(false); + } + else + { + activeChar.sendMessage("Вы ввели не правильный пароль"); + String htmContent = HtmCache.getInstance().getHtm("data/html/passkey/login.htm"); + NpcHtmlMessage html = new NpcHtmlMessage(1); + html.setHtml(htmContent); + activeChar.sendPacket(html); + html = null; + return; + } + } + else if (_command.startsWith("pkrec")) + { + StringTokenizer st = new StringTokenizer(_command, " "); + if (st.countTokens() != 4) + { + activeChar.sendMessage("Вы допустили ошибку при вводе данных!"); + String htmContent = HtmCache.getInstance().getHtm("data/html/passkey/recovery.htm"); + NpcHtmlMessage html = new NpcHtmlMessage(1); + html.setHtml(htmContent); + html.replace("%question%", getPassKeyQuestion(activeChar)); + activeChar.sendPacket(html); + html = null; + return; + } + + String newCommand = st.nextToken(); + String answer = st.nextToken(); + String pass1 = st.nextToken(); + String pass2 = st.nextToken(); + + if (!pass1.equals(pass2)) + { + activeChar.sendMessage("Вы ввели разные пароли"); + String htmContent = HtmCache.getInstance().getHtm("data/html/passkey/recovery.htm"); + NpcHtmlMessage html = new NpcHtmlMessage(1); + html.setHtml(htmContent); + html.replace("%question%", getPassKeyQuestion(activeChar)); + activeChar.sendPacket(html); + html = null; + return; + } + + Connection con = null; + String query = "SELECT answer FROM passkey WHERE obj_Id = ?"; + String anwindb = "error"; + try + { + con = L2DatabaseFactory.getInstance().getConnection(); + PreparedStatement ps = con.prepareStatement(query); + ps.setInt(1, activeChar.getObjectId()); + ResultSet rs = ps.executeQuery(); + + while (rs.next()) + anwindb = rs.getString(1); + + rs.close(); + ps.close(); + ps = null; + rs = null; + } + catch (Exception e) + { + e.printStackTrace(); + } + finally + { + try + { + con.close(); + } + catch (SQLException e) + { + e.printStackTrace(); + } + con = null; + } + + if (anwindb.equals(answer)) + { + updPassKey(activeChar, pass1); + activeChar.sendMessage("Вы успешно изменили пароль."); + String htmContent = HtmCache.getInstance().getHtm("data/html/passkey/login.htm"); + NpcHtmlMessage html = new NpcHtmlMessage(1); + html.setHtml(htmContent); + activeChar.sendPacket(html); + html = null; + } + else + { + activeChar.sendMessage("Вы ввели неправильный ответ на свой вопрос"); + String htmContent = HtmCache.getInstance().getHtm("data/html/passkey/recovery.htm"); + NpcHtmlMessage html = new NpcHtmlMessage(1); + html.setHtml(htmContent); + html.replace("%question%", getPassKeyQuestion(activeChar)); + activeChar.sendPacket(html); + html = null; + return; + } + + } } catch(Exception e) @@ -409,4 +642,171 @@ // } } + + private void updPassKey(L2PcInstance player, String pass) + { + Connection con = null; + String query = "UPDATE passkey SET passkey = ? WHERE obj_Id = ?"; + try + { + con = L2DatabaseFactory.getInstance().getConnection(); + PreparedStatement st = con.prepareStatement(query); + st.setString(1, encodePass(pass)); + st.setInt(2, player.getObjectId()); + st.executeUpdate(); + st.close(); + st = null; + } + catch (Exception e) + { + e.printStackTrace(); + } + finally + { + try + { + con.close(); + } + catch (SQLException e) + { + e.printStackTrace(); + } + con = null; + } + } + + private String encodePass(String password) + { + String pass = "error"; + try + { + MessageDigest md = MessageDigest.getInstance("SHA"); + byte[] raw = password.getBytes("UTF-8"); + byte[] hash = md.digest(raw); + pass = Base64.encodeBytes(hash); + } + catch (Exception e) + { + e.printStackTrace(); + } + return pass; + } + + private void insertPassKeyInformation(L2PcInstance player, String pass, String question, String answer) + { + Connection con = null; + String query = "INSERT INTO passkey (obj_Id, passkey, question, answer) VALUES (?,?,?,?)"; + try + { + con = L2DatabaseFactory.getInstance().getConnection(); + PreparedStatement st = con.prepareStatement(query); + st.setInt(1, player.getObjectId()); + st.setString(2, encodePass(pass)); + st.setString(3, question); + st.setString(4, answer); + st.execute(); + st.close(); + st = null; + } + catch (Exception e) + { + e.printStackTrace(); + } + finally + { + try + { + con.close(); + } + catch (SQLException e) + { + e.printStackTrace(); + } + con = null; + } + } + + private String getPassKeyQuestion(L2PcInstance player) + { + Connection con = null; + String query = "SELECT question FROM passkey WHERE obj_Id = ?"; + String question = "error"; + try + { + con = L2DatabaseFactory.getInstance().getConnection(); + PreparedStatement st = con.prepareStatement(query); + st.setInt(1, player.getObjectId()); + ResultSet rs = st.executeQuery(); + + while (rs.next()) + question = rs.getString(1); + + rs.close(); + st.close(); + st = null; + rs = null; + } + catch (Exception e) + { + e.printStackTrace(); + } + finally + { + try + { + con.close(); + } + catch (SQLException e) + { + e.printStackTrace(); + } + con = null; + } + + return question; + } + + public static boolean getPassKeyEnable(L2PcInstance player) + { + Connection con = null; + String query = "SELECT COUNT(*) FROM passkey WHERE obj_Id = ?"; + int count = 0; + + try + { + con = L2DatabaseFactory.getInstance().getConnection(); + PreparedStatement st = con.prepareStatement(query); + st.setInt(1, player.getObjectId()); + ResultSet rs = st.executeQuery(); + + while (rs.next()) + count = rs.getInt(1); + + rs.close(); + st.close(); + st = null; + rs = null; + } + catch (Exception e) + { + e.printStackTrace(); + } + finally + { + try + { + con.close(); + } + catch (SQLException e) + { + e.printStackTrace(); + } + con = null; + } + + if (count == 1) + return true; + else + return false; + }
  6. Вобщем у меня такая проблема, что Терлионы изменили полностю L2DatabaseFactory Вот часть этого кода con = L2DatabaseFactory.getInstance().getConnection(); при компиле ругаеться на .getInstance() Может ли кто-то помоч Добавить в сборку Пароль на персонажа? Я именно не понимаю что они наделали в ядре....... половину то что они сделали я понял как нужно редактировать, а вот это я просто не могу понять. Терлионы, брали за основу линков, линки брали фрозенов.
  7. Ну что не кто не поможет?
  8. Вобщем у меня проблема с защитой CatsGuard, я пробовал прикрутить к терлионе, но не чего не получилось. При компиле выдавало от 1 до 12 ошибок(Это при переписке кода). Сейчас проблема в файле CatsGuard.java GameCrypt.java GameServer.java, если кто-то поможет мне исправить через тайм вивер, я буду очень благодарен вам.
  9. Вобщем я решил сделать сервер Interlude с дополнениями. Вот думаю какую сборку взять за основу - Терлионов(Добавлю кб,новые конфиги и пару новых эвентов в том числе и Беременность) или же взять пв с ихними скриптами(Она у меня почти готова, осталось только настроить фарм и добавить пару вещей)
  10. Это уникальный домен? извини но я лучше куплю la2-pvpmegastarsuperserver.ru с фантазией хоть будет. Зачем покупать домен с рук другого человека? может этот проект был сфейлен кучу раз, зачем людям такая репутация для своего проекта.
  11. Понимаете если вы поставите новое ядро то будут открыты новые более ценные баги для читеров. Я советую включить функцию в конфигах - Проверять ли на левые скиллы персонажей? (Как-то так)
  12. В контактах не моя ася и не мой скайп. Напишите мне свой скайп, я вас завтра после 6 часов вечера добавлю.
  13. А какой сайт вашего проекта? Я даже вам могу компил ядра от ПВ дать где этот баг пофикшен, но конечно же не бесплатно)
  14. А какой у вас ник на том форуме был?
  15. ....спасибо за помощь, уже нашёл, тему можно закрыть.
  16. У кого остался датапак от Mexico скиньте если не тяжело, спасибо поставлю)
  17. может кто-то скинуть бекап бд от люцеры?
  18. http://www.google.ru/#hl=ru&newwindow=1&output=search&sclient=psy-ab&q=силки+на+норм+(красивых)++монстров+для+Интерлюде&oq=силки+на+норм+(красивых)++монстров+для+Интерлюде&gs_l=hp.3...1585.1585.1.1799.1.1.0.0.0.0.141.141.0j1.1.0...0.0...1c.2.5.hp.wKY-4BDcdSs&psj=1&bav=on.2,or.r_gc.r_pw.r_qf.&bvm=bv.43287494,d.ZWU&fp=a8451d4597086906&biw=1647&bih=824
  19. Прочитайте внимательней моё сообщение, я допустил ошибку в слове сборка*. Везде сылки были удалены, возможно у кого-то осталась данная сборка.
  20. У кого осталась сборка сервера Lin2-Bad? или возможно скилы с этой сборки (напомню то что она была с дополнениями.) Перезалейте пожалуйста.
  21. у кого остался данный пак оружия?
  22. IIPOCIIEKT

    [Interlude] L2ET 0.0.1

    Вы уверены в этом что фикс этого бага займёт 5 минут? Дюп происходит через оффлайн трейд, и при этом нужно иметь нормальную версию L2phx и своего клиента(потому что могут возникнуть проблемы). Более подробная информация вас ждёт на жуке.
  23. За что такая цена? за украденую идею друго-го сервера? только со своим впиханым бредом? Цена не больше 700 рублей, за это просто стыдно давать деньги
×
×
  • Создать...