Jump to content

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

Sign in to follow this  

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

165 files

  1. Free

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

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

    51 downloads

    Submitted

  2. Free

    Water armor for interlude

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

    18 downloads

    Updated

  3. Free

    2 NPC

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

    24 downloads

    Submitted

  4. Free

    Spawnlist для PWSoft

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

    43 downloads

    Updated

  5. Free

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

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

    68 downloads

    Submitted

  6. Free

    Desert eagle

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

    29 downloads

    Submitted

  7. Free

    Lineage 2 GeoData Maps Images Salvation 08.08.17

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

    63 downloads

    Updated

  8. Free

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

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

    159 downloads

    Submitted

  9. Free

    Top Raking

    dla L2jlovely ,u  lucera 

    96 downloads

    Submitted

  10. Free

    [PWSOFT] Noobles RaidBoss Teleport

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

    39 downloads

    Submitted

  11. Free

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

    Доброе утро/день/вечер (смотря кто - когда читает), ув.Пользователи форума!
    В прошлом году делал для своего сервера (пароль для персонажей). Брал исходник из шары у †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(

    47 downloads

    Submitted

  12. Free

    Код для Fake Player

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

    205 downloads

    Submitted

  13. Free

    L2JRoboto-master

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

    146 downloads

    Submitted

  14. Free

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

    Три варианта для получения статуса Барон.
    Тестил на 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 это:

    25 downloads

    Submitted

  15. Free

    Azino 777

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

     
     
    azino777.rar

    30 downloads

    Submitted

  16. Free

    Forgotten Duals для Interlude

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

    28 downloads

    Updated

  17. Free

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

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

    38 downloads

    Submitted

  18. Free

    Noblesse.java

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

    61 downloads

    Updated

  19. Free

    Submitted

  20. Free

    Пет Единорог для ИТ под PW

    В интернете нашел моба и переделал его под Пета + переделал под PW  для Интерлюд

    17 downloads

    Submitted

  21. Free

    Агатионы в место петов 7 шт под PW

    На форуме выкладывали , но переделал запросы и тд с описанием Агатионы в место петов 7 шт под PW

    116 downloads

    Submitted

  22. Free

    Santa Claus Event

    Hello members,
    I made an event because Christmas is coming
     
    I made it with xml version ( i like it more..)
     
    Here's the video:
     

     
    Source
    Files
    Npc's
     
    Credits for the awesome htmls : Sinister Smile
     
    What is this event?
     
    When a mob dies there is a chance to spawn santa boy/girl and get some rewards. I do not think you need more explainations...
    Check the xml and set it as you wish! (Rewards are unlimited but one of them will be chosen)
     
    Edit: Coded in acis 372
     
    Updates:
    ConcurrentHashMap replace by ArrayList
    Override onSpawn method removed in SantaClaus instance
    Xml reworked (removed id)
    Fixed html path
    Fixed 1 bug while storing rewards.
    Added npc's link

    33 downloads

    Updated

  23. Free

    CatsGuard (diff)

    Нашел на просторах форума diff версию котов. Решил выложить сюда чтобы не потерялся. Подойдет для рукастых чтобы встроить в своё ядро.

    116 downloads

    Submitted

  24. Free

    Рейтинг NPC олимпиады онлайн

    Рейтинг NPC олимпиады онлайн
    Для Интерлюда
    Сделано для сборки L2jFrozen
    Если будет нужно под 2гую, просто импорти поменяйте, и все заработает.

    64 downloads

    Submitted

  25. Free

    Dagon (dota) для Lineage 2

    Система "Для тех кто не знает" : 1 ур (Staff of Wizardy + Null Talisman + Рецепт) = Дагон 1 ур .



    Второй уровень : Дагон 1 ур . + Рецепт ( ну и так далее)



    PS Не знаю для чего делал это ,просто что то в голову взбрело.


    39 downloads

    Updated

Sign in to follow this  

×
×
  • Create New...