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

Gaikotsu

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

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

  • Посещение

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

    63
  • Отзывы

    0%

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

  1. Gaikotsu

    Проблема с тп к рб

    У нас тут не филиал ТНТ - экстрасенсов нет.
  2. Gaikotsu

    Выручайте

    ты как я понимаю про Аура Сигеля / Аура Тира и т.п. тогглы? опять же все обрабатывается в эффекте таких тогглов - какой дополнительный скилл включать например у меня так: <!-- Аура Сигеля / Sigel Aura --> <skill id="1927" levels="1" name="Аура Сигеля"> <!-- Дает члену группы Силу Сигеля. Физ. Атк. +1%. --> <stat name="icon" value="icon.icon_sigel" /> <stat name="reuseDelay" value="5000" /> <stat name="target" value="SELF" /> <stat name="skillType" value="CONT" /> <stat name="operateType" value="OP_TOGGLE" /> <stat name="magicType" value="3" /> <stat name="magicLevel" value="85" /> <for> <effect name="ForceAura" count="0x7fffffff" time="5"> <def name="forceSkill" value="1928" /> </effect> </for> </skill> <!-- Сила Сигеля / Sigel Force --> <skill id="1928" levels="1" name="Сила Сигеля"> <!-- Физ. Атк. +1%. --> <stat name="icon" value="icon.icon_sigel_01" /> <stat name="reuseDelay" value="5000" /> <stat name="affectRange" value="1600" /> <stat name="target" value="PARTY" /> <stat name="skillType" value="BUFF" /> <stat name="operateType" value="OP_TOGGLE" /> <stat name="magicType" value="3" /> <stat name="hideStartMessage" value="true" /> <stat name="hideUseMessage" value="true" /> <stat name="magicLevel" value="85" /> <stat name="effectPoint" value="2" /> <for> <effect name="ForceAura" count="0x7fffffff" time="5" stackOrder="1" stackType="synergy_sigel"> <def name="auraSkill" value="1927" /> <mul order="0x30" stat="pAtk" value="1.01" /> </effect> </for> </skill> + эффект ForceAura кладет еще один дополнительный бафф (Сила Единства Группы) на пати, если в ней активировано не менее 4 аур, и среди этих аур есть ауры сигеля и альгиза. наверняка в мобиусе что-то подобное тоже сделано
  3. Gaikotsu

    Выручайте

    как вариант через листенеры equip/unequip идет выдача/забирание доп. скиллов от комбинации надетых предметов. а как конкретно это в мобиусе запилено - в ядре или в дп - без понятия
  4. я не знаю что тут сложного вобще? вот, чисто ради интересу буквально за 10 минут набросал рабочий вариант, правда для овероподобных сборок, но все же package managers; import l2p.commons.threading.RunnableImpl; import l2p.gameserver.ThreadPoolManager; import l2p.gameserver.listener.actor.player.OnPickupItemListener; import l2p.gameserver.model.Location; import l2p.gameserver.model.Player; import l2p.gameserver.model.actor.listener.PlayerListenerList; import l2p.gameserver.model.items.ItemInstance; import l2p.gameserver.scripts.ScriptFile; import l2p.gameserver.utils.ItemUtils; /** * @author Gaikotsu */ public class AutoDropManager implements ScriptFile { private static boolean _enabled = true; private static final int _itemId = 57; private static final long _itemCount = 1000L; private static final long _dropDelay = 10_000L; private static final Location _dropLoc = new Location(83473, 149223, -3300); // Giran private static final PickupItemListener _listener = new PickupItemListener(); private static int _objId = 0; @Override public void onLoad() { if (!_enabled) return; PlayerListenerList.addGlobal(_listener); dropItem(); } @Override public void onReload() {} @Override public void onShutdown() {} private static void dropItem() { ItemInstance item = ItemUtils.createItem(_itemId); item.setCount(_itemCount); item.dropMe(null, Location.coordsRandomize(_dropLoc, 50, 150)); _objId = item.getObjectId(); } private static class PickupItemListener implements OnPickupItemListener { @Override public void onPickupItem(Player player, ItemInstance item) { if (item.getObjectId() != _objId) return; ThreadPoolManager.getInstance().schedule(new RunnableImpl() { @Override public void runImpl() throws Exception { dropItem(); } }, _dropDelay); } } }
  5. Клиент линейки и так базируется на UE2. Ты корее всего видел попытки портирования на UE3 или UE4, коих было уже не одна попытка, но все обычно ограничивается самым минимумом, после чего все забрасывается.
  6. В методе расчета маг урона вызвывать (или в скилтайпе MDAM), если произошел крит
  7. данный вывод текста вроде как не юзает системный шрифт, а вместо него используется шрифт из текстур. и такое вроде как от некорректных данных в файлах *.gly - если не ошибаюсь, то заданы не те размеры глифов, какие реально есть в текстуре с шрифтами.
  8. эм? оО ничего что и так можно юзать WASD для управления и ничего для этого дополнительно менять в клиенте не требуется? прыжки формально тоже есть, можно задействовать FlyToLocation (правда не помню, есть ли в старых хрониках анимации такого перемещения в виде прыжка или нет) или же в GOD+ систему рамунов, со своими, отдельными пакетами прыжков.
  9. "мама-мама, смотри - я сайт сделаль"-стайл.
  10. Ну тогда можно реализовать хотелку эту простым, но извратным способом, который не потребует дорогой и сложной модификации клиента - добавить voiced-команду, которая будет выдавать диалог со списком баффов, которые можно снять досрочно и обрабатывать на эту тему ссылки из этого диалога.
  11. А в интерлюде вобще пакет RequestDispel то существует?
  12. 1. просто какие-то мобы в процессе спавна вызывают менеджеры ХБ и РБ, в итоге и происходит их инициализация раньше чем они явно инициализируются в классе GameServer к примеру. если ттебе так сильно чисто из принципа надо чтобы в лог статус загрузки этих менеджеров выдавало после всех спавнов, то просто выпили вывод в лог из самого конструктора/загрузчика в этих классах в отдельный метод и вызывай его позже. 2. найти в Quest.java метод addQuestItem и выпилить из него доп проверку на то, что предмет является квестовым (находится в вкладке квестовых предметов инвентаря). можно убирать такую проверку частично - к примеру не проверять на это экипируемые вещи. так же можно убрать подобные вещи из регистрации квестовых итемов в квесте, т.е. не регать через addQuestItem, но тогда обязательно не забыть вручную удалять такие вещи у игрока при завершении или отмене квеста. 3. параметры описания двери в студию - скорее всего для нее заданы нулевая ширина/длина.
  13. Gaikotsu

    Help Community close

    проблем нет просто потому-что у тебя статус Неуловимого Джо.
  14. Gaikotsu

    Help Community close

    Для начала я бы посоветовал используемый код выкинуть и даже не вспоминать о нем. И попросить кого-то написать нормальный. А того кто писал этот - гнать ссаными тряпками. Для понимающих - поглядите что происходит в методе showTp, вызываемом каждый раз, когда запрашивается "покажи список точек телепорта". Правильно - каждый раз метод лезет в бд... что уже является очень даже удобным местом для ддоса сервера. Неужели нельзя было додуматься до простейшего кэширования этих данных... Да и сам по себе код уязвимый - в команды teleport / player_ teleport легко можно подсунуть при помощи пакетхака к примеру любые координаты, которые спокойно будут приняты и будет произведена телепортация в них. В нормальных коммюнити телепортах координаты телепорта в ссылке передавать не принято - лучше отправлять просто ид-ключ для списка объявленных телепортов, по которому и будет определяться, куда телепортировать... или послать нафиг, если прислали ключ к несуществующей записи.
  15. просто выбор нужного варианта в диалоге с анимацией соотвествующего скилла при этом, показывающем над игроком и нпс камень/ножницы/бумагу.
  16. ну в моей реализации за полные комплекты можно было поиграть в игру "камень/ножницы/бумага"
  17. Аналог кубиков из древнего офф эвента Change of Heart / Перемена чувств ? Там тоже 9 кубиков, из которых надо было собрать большое сердечко.
  18. Gaikotsu

    Ошибка Java

    ну вобще-то это больше похоже на проблемную геодату в данном месте - если вобще геодата для этого сектора есть в наличии.
  19. Gaikotsu

    npc рейты

    я так понимаю в сборке используется принцип расчета эспы с моба по офф-формуле? тогда итоговое значение равно exp = npcLevel * npcLevel * expRate
  20. эм... ты это серьезно? заниматься сервером и не знать самых основ? к тому же ты не указал сборку - откуда мне знать где у тебя лежат списки изучаемых игроками умений, бд или в хмлках датапака к примеру.
  21. в дерево скиллов добавить всем базовым классам, с автоизучением на 1 уровне.
  22. листенеры на подбор предметов в сборке есть?
  23. ну лимит в 11000 вобще не вписывается в ни одну из степеней двоек, так что скорее всего в парсерах есть к примеру доп. условие на максимальное значение. в хрониках выше вполне можно юзать и значения поболее - к примеру в хф я юзал ид со значениями 90000+ для нпс/предметов/скиллов, т.е. судя по всему уже юзаются 32-битные переменные для хранения ид. кстати в крусейде (или чуть раньше) в скиллах произошла так сказать деградация в этом плане, как минимум в парсере - там ид стали приводится к short, т.е. к 2^16 - достаточно долго пытался понять, почему у меня клиент дохнет с непонятной ошибкой при запуске, ругаясь на несуществующие объявления скиллов, пока не выяснил причину.
×
×
  • Создать...