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

Серверные дополнения

Дополнения предназначенные для серверной части: датапаки, скрипты, эвенты, гмшопы и прочее

196 файлов

  1. Бесплатный

    Bereti

    Хроники:Gracia Final

    26 раз скачали

    Отправлено

  2. Бесплатный

    Lineage 2 Goddess of Destruction cloak

    Хроники:Gracia Final

    44 раза скачали

    Отправлено

  3. Бесплатный

    Thundercats-Cloak-Admins-Cloak-SuperHaste

    Хроники:Freya

    40 раз скачали

    Отправлено

  4. Бесплатный

    33 Cloak for Gracia Final

    Хроники:Gracia Final

    53 раза скачали

    Отправлено

  5. Бесплатный

    Cloaks Eve

    Хроники: Gracia Final

    29 раз скачали

    Отправлено

  6. Бесплатный

    Antharas Cloak

    Хроники: Gracia Final

    35 раз скачали

    Отправлено

  7. Бесплатный

    .epic интервал спавн

    Чуть переделал скрипт .epic (люцера 2\ит.су). Все как на скрине 

    295 раз скачали

    Отправлено

  8. Бесплатный

    Water armor for interlude

    Всем привет. 
    Валялось на компе, может кому нужно. 
    Автора не знаю, к сожалению. 

    75 раз скачали

    Обновлено

  9. Бесплатный

    2 NPC

    Всем привет. 
    Выкладываю 2 прикольных НПЦ. Может кому пригодится
    Если уже были- извиняйте

    112 раза скачали

    Отправлено

  10. Бесплатный

    Spawnlist для PWSoft

    Было скучно решил разобраться в проблеме с мобоами на PwSoft что моба видно, а атаковать его нельзя, потратил несколько часов ковыряясь в коде, понаписал тьму методов расчета z при спавне, в результате ответ был прост, спавнлист в PW сам по себе кривой. Спавн лист который в данной теме взять с l2jlovely и адаптирован под PW, на нем проблем с мобами нету.

    125 раз скачали

    Обновлено

  11. Бесплатный

    [Buffer] Старый баффер классического вида

    Перезаливаю старый классический баффер от MiddleMan, возможно кому пригодиться.
    В архиве html, напутствия от автора по установке, и скрипт самого баффера (под свою сборку переделываем сами).

    253 раза скачали

    Отправлено

  12. Бесплатный

    Desert eagle

    Со старого патча  l2deathgame
    Три вида ( Heavy , Light , Robe )

    96 раз скачали

    Отправлено

  13. Бесплатный

    Lineage 2 GeoData Maps Images Salvation 08.08.17

    Недавно понадобилась карта квадратов новых хроник но прошерстив интернет не нашел не чего выше хф да и то за частую это хроники ниже выдаваемые за выше. Вот и пришлось в ручную собирать все до кучи, да не тут то было, в последних хрониках иконки всех городов вынесены отдельно от карты и ко всему ещё и с левым фоном который убирается альфой в унреале.  Подшаманив повырезав иконки наложив нумерацию квадратов, сетку, вырезанные иконки и подписав все города в ручную получилось что то вот такое, что я и выкладываю вам на обозрение, не идеал но делалось в спехе, может кому и пригодится. 
    Карта под последние руофф хроники актуальные на 08.07.18
    Автор: webdes27

    214 раза скачали

    Обновлено

  14. Бесплатный

    платные моды lucera2

    Все платные моды которые продовал рут)) либы закодированные, но для умельцев же не составит труда

    315 раз скачали

    Отправлено

  15. Бесплатный

    Top Raking

    dla L2jlovely ,u  lucera 

    187 раз скачали

    Отправлено

  16. Бесплатный

    [PWSOFT] Noobles RaidBoss Teleport

    [PWSOFT] Noobles RaidBoss Teleport - Телепорт по рейдбоссам только для нублесов за Coin of luck
    ИД итема и стоимость настраивать здесь nobleTPRaid.java [L2ItemInstance coin = player.getInventory().getItemByItemId(4037);]

    82 раза скачали

    Отправлено

  17. Бесплатный

    Пароль на персонажа (для люцероподобных)

    Доброе утро/день/вечер (смотря кто - когда читает), ув.Пользователи форума!
    В прошлом году делал для своего сервера (пароль для персонажей). Брал исходник из шары у †DeMoN†™ и слегка изменил его.
    Теперь до ввода дополнительного пароля, персонажу вешается блокировка чата и запрещается торговля.
    Так-же добавлены команды: ".cblock" ".cunblock" для блокировки и разблокировки персонажа.
    В яве - только учусь, так что, за кракозябры в коде - извеняюсь  !
    ================================================
    Папку: "Passkey" копируем в папку в корень "html"
    #Создаем в: "ru\catssoftware\gameserver\handler\voicedcommandhandlers\" новый документ: "CharPassKey.java"
    Показать контент   package ru.catssoftware.gameserver.handler.voicedcommandhandlers; import ru.catssoftware.gameserver.handler.IVoicedCommandHandler; import ru.catssoftware.gameserver.handler.VoicedCommandHandler; import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance; import ru.catssoftware.gameserver.model.restriction.AvailableRestriction; import ru.catssoftware.gameserver.model.restriction.ObjectRestrictions; import ru.catssoftware.gameserver.model.restriction.RestrictionBindClassException; import ru.catssoftware.gameserver.network.serverpackets.NpcHtmlMessage; public class CharPassKey implements IVoicedCommandHandler { public CharPassKey() { } private static final String[] VOICED_COMMANDS = { "cblock", "cunblock" }; public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target) { // Check activeChar if (activeChar == null) return false; if (command.startsWith("cunblock")) { NpcHtmlMessage html = new NpcHtmlMessage(activeChar.getObjectId()); html.setFile("data/html/passkey/charunblock.htm"); activeChar.sendPacket(html); } if (command.startsWith("cblock")) { activeChar.setIsParalyzed(true); activeChar.setTradeRefusal(true); activeChar.sendMessage("[!] Вам заблокирован чат - до аутентификации персонажа."); activeChar.sendMessage("[!] Если вы случайно закрыли окно, введите: .cunblock."); NpcHtmlMessage html = new NpcHtmlMessage(activeChar.getObjectId()); html.setFile("data/html/passkey/charblock.htm"); activeChar.sendPacket(html); if (activeChar == null) return false; try { ObjectRestrictions.getInstance().addRestriction(activeChar, AvailableRestriction.PlayerChat); } catch (RestrictionBindClassException e) { return false; } } return false; } public String getDescription(String command) { if(command.equals("")) return ""; return null; } public String[] getVoicedCommandList() { return VOICED_COMMANDS; } }  
    Hide    
    #В: "ru\catssoftware\gameserver\network\clientpackets\EnterWorld.java" добавляем следующее:
    Показать контент   import ru.catssoftware.gameserver.cache.HtmCache; import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance; import ru.catssoftware.gameserver.model.restriction.AvailableRestriction; import ru.catssoftware.gameserver.model.restriction.ObjectRestrictions; import ru.catssoftware.gameserver.model.restriction.RestrictionBindClassException; import ru.catssoftware.gameserver.network.serverpackets.NpcHtmlMessage; public static void enablePasskey(L2PcInstance activeChar) { activeChar.setIsParalyzed(true); activeChar.setTradeRefusal(true); String str; NpcHtmlMessage localNpcHtmlMessage; if (RequestBypassToServer.getPassKeyEnable(activeChar)) { activeChar.sendMessage("[!] Если вы случайно закрыли окно, введите: .cunblock."); str = HtmCache.getInstance().getHtm("data/html/passkey/login.htm", activeChar); localNpcHtmlMessage = new NpcHtmlMessage(1); localNpcHtmlMessage.setHtml(str); activeChar.sendPacket(localNpcHtmlMessage); localNpcHtmlMessage = null; if (activeChar == null) return; try { ObjectRestrictions.getInstance().addRestriction(activeChar, AvailableRestriction.PlayerChat); } catch (RestrictionBindClassException e) { return; } } else { str = HtmCache.getInstance().getHtm("data/html/passkey/setup.htm", activeChar); localNpcHtmlMessage = new NpcHtmlMessage(1); localNpcHtmlMessage.setHtml(str); activeChar.sendPacket(localNpcHtmlMessage); localNpcHtmlMessage = null; if (activeChar == null) return; try { ObjectRestrictions.getInstance().addRestriction(activeChar, AvailableRestriction.PlayerChat); } catch (RestrictionBindClassException e) { return; } } }  
    Hide    
    #В: "ru\catssoftware\gameserver\network\clientpackets\EnterWorld.java" добавляем:
    Показать контент   import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.StringTokenizer; import ru.catssoftware.Config; import ru.catssoftware.gameserver.cache.HtmCache; import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance; import ru.catssoftware.gameserver.model.restriction.AvailableRestriction; import ru.catssoftware.gameserver.model.restriction.ObjectRestrictions; import ru.catssoftware.gameserver.model.restriction.RestrictionBindClassException; import ru.catssoftware.gameserver.network.serverpackets.NpcHtmlMessage; import ru.catssoftware.tools.codec.Base64; import ru.catssoftware.L2DatabaseFactory; else if (_command.equalsIgnoreCase("pkrecovery")) { String msg = HtmCache.getInstance().getHtm("data/html/passkey/recovery.htm",activeChar); NpcHtmlMessage html = new NpcHtmlMessage(1); html.setHtml(msg); 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 msg = HtmCache.getInstance().getHtm("data/html/passkey/setup.htm",activeChar); NpcHtmlMessage html = new NpcHtmlMessage(1); html.setHtml(msg); 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 msg = HtmCache.getInstance().getHtm("data/html/passkey/setup.htm",activeChar); NpcHtmlMessage html = new NpcHtmlMessage(1); html.setHtml(msg); 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 msg = HtmCache.getInstance().getHtm("data/html/passkey/setup.htm",activeChar); NpcHtmlMessage html = new NpcHtmlMessage(1); html.setHtml(msg); activeChar.sendPacket(html); html = null; return; } insertPassKeyInformation(activeChar, pass1, question, answer); activeChar.sendMessage("[!] Установлена двухфакторная аутентификация!"); String msg = HtmCache.getInstance().getHtm("data/html/passkey/login.htm",activeChar); NpcHtmlMessage html = new NpcHtmlMessage(1); html.setHtml(msg); activeChar.sendPacket(html); html = null; } else if (_command.startsWith("pklogin")) { StringTokenizer st = new StringTokenizer(_command, " "); if (st.countTokens() != 2) { activeChar.sendMessage("[!] Допущена ошибка при вводе пароля."); String msg = HtmCache.getInstance().getHtm("data/html/passkey/login.htm",activeChar); NpcHtmlMessage html = new NpcHtmlMessage(1); html.setHtml(msg); 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); activeChar.setTradeRefusal(false); try { ObjectRestrictions.getInstance().removeRestriction(activeChar, AvailableRestriction.PlayerChat); } catch (Exception e) { e.printStackTrace(); return; } } else { activeChar.sendMessage("[!] Неправильный пароль от персонажа."); String msg = HtmCache.getInstance().getHtm("data/html/passkey/login.htm",activeChar); NpcHtmlMessage html = new NpcHtmlMessage(1); html.setHtml(msg); activeChar.sendPacket(html); html = null; return; } } else if (_command.startsWith("pkrec")) { StringTokenizer st = new StringTokenizer(_command, " "); if (st.countTokens() != 4) { activeChar.sendMessage("[!] Допущена ошибка при вводе данных!"); String msg = HtmCache.getInstance().getHtm("data/html/passkey/recovery.htm",activeChar); NpcHtmlMessage html = new NpcHtmlMessage(1); html.setHtml(msg); 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 msg = HtmCache.getInstance().getHtm("data/html/passkey/recovery.htm",activeChar); NpcHtmlMessage html = new NpcHtmlMessage(1); html.setHtml(msg); 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(

    82 раза скачали

    Отправлено

  18. Бесплатный

    Код для Fake Player

    Простой код для вашего сервера, это код для Fake Player

    372 раза скачали

    Отправлено

  19. Бесплатный

    L2JRoboto-master

    L2j Roboto
     
    Так что, как я уже сказал, я бы поделился фальшивым игровым движком, над которым я начал работать.
    Это WIP, поэтому НЕ используйте его в какой-либо производственной среде.
    Я только разделяю это, потому что кто-то может быть заинтересован в том, чтобы дать руку.
     
    Особенности
    Выполненные функции:
    Только атакующая логика для ботов для ботов (планируйте сделать ее настраиваемой даже игрой) Задача автоматического масштабирования логики, чтобы иметь меньше итераций в большем количестве задач Буфф-боты с автоповтором Soulshots / Spiritshots с автозаполнением Стрелки / Кости с автозаполнением Один AI за класс (всего лишь несколько реализованных на данный момент) Случайная атака, выбранная с вероятностью  
    команды
    // fakes - открывает панель управления поддельных игроков (вероятно, изменится на // roboto) // spawnrandom - порождает случайный бот с AI по умолчанию  
    Как установить
    L2jRoboto имеет минимальные зависимости
    Найдите папку patch.diff в папке dist

    242 раза скачали

    Отправлено

  20. Бесплатный

    Три варианта для получения статуса Барон

    Три варианта для получения статуса Барон.
    Тестил на PWSOFT.
     
    Установка
    файл 50004.html (Закинуть в gameserver\data\html\merchant)
    Файл 2017_n3w (Закинуть в gameserver\data\jscript\quests)
    Дописать строчку в этой же папки __init__ строчка '2017_n3w',
    Закинуть файл N3W.utx в клиент в папку systextures
    в Архиве нет SQL ( сделать секунду)
    ID NPC 50004
     
    Редактировать Скрипт
    идем сюда gameserver\data\jscript\quests\2017_n3w
    открываем файл __init__ (блокнот или notepad++ или что то другое)
    Далее все написано в скрипте.
     

     
    Скрипт загрузился без ошибок если в GS это:

    47 раз скачали

    Отправлено

  21. Бесплатный

    Azino 777

    Опять приступы шизофрении!
    Скрипта Лохотрона у меня нет (Но в Шаре он где-то есть ), кидаю только HTML и Клиент часть.
    Всем Добра и Поднять Бабла !

     
     
    azino777.rar

    58 раз скачали

    Отправлено

  22. Бесплатный

    Forgotten Duals для Interlude

    Дуалы S грейда для Interlud сервера
    архив включает в себя:
    1. клиентскую часть
    2. файл базы данных
    3. статы и мультиселл для маммона
    Скрины и инструкция есть внутри.

    64 раза скачали

    Обновлено

  23. Бесплатный

    Скрипт Баф с мобов

    Скрипт Баф с мобов, можно поставить как новогодний ивент)

    84 раза скачали

    Отправлено

  24. Бесплатный

    Noblesse.java

    Данный скрипт предназначен для того, что-бы после смерти не спадали эффекты бафов.

    92 раза скачали

    Обновлено

  25. Бесплатный

    Отправлено


×
×
  • Создать...