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

Gaikotsu

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

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

  • Посещение

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

    61
  • Отзывы

    0%

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

  1. или в свойствах самого моба, т.к. во многих сборках подобный механизм уже заложен
  2. насчет первого - ожидается числовое значение, а получено пустое, т.е. значение параметра не задано. ну а насчет второго правильно сказали
  3. Gaikotsu

    L2-Update Начало

    по моему сейчас даже самая задрипанная сборка поддерживает официальный серверный пакет (SendStatus) на отдачу статуса сервера (онлайн, торговцы и т.д.) по внешнему запросу этого пакета
  4. Gaikotsu

    L2-Update Начало

    не это ли взято за основу - https://github.com/VISTALL/game-updater
  5. Gaikotsu

    реальное время

    берешь System.currentTimeMillis() и вперед
  6. добавь стату, лимитирующую урон и проверяй ее значение в методах расчета физ/маг урона. если она больше 0 и урон наносится игроку - лимитировать урон в методе до значения указанного в стате. ну а саму стату давать пассивкой/баффом.
  7. необязательно разный уровень - просто одинаковый стэктайп у них, вот и не ложатся вместе
  8. все просто - сообщение шлется до вызова reduceCurrentHp, так что еще и его копать на эту тему не знаю как в aCis, но в том же овере для этого служит метод displayGiveDamageMessage, обявленный изначально в Creature и который вполне можно переопределить в наследных классах, по аналогии с reduceCurrentHp
  9. ну я вобщем-то большей частью прокомментировал предложение Evolution
  10. может потому-что реализовывать подобное, одевая что-то принудительно из брони и запрещая при этом одевать что-то еще взамен - это верх маразма? если уж реализовывать, то просто подменой внешнего вида одетой брони/оружия. это легко делается при помощи простейших манипуляций с передаваемыми в CI/UI данными об одетых вещах. правда фиг знает переварит ли корректно такое клиент интерлюда, тот же хф легко это позволяет, и в итоге поулучаем вполне кошерный аналог Shape Shifting (официально введенный нцсофтом начиная с хроник Glory Days метод смены внешнего вида экипировки) пример простейшей реализации в хф - лично я это все запилил за один день, притом большую часть этого времени потратил на "красивости", т.е. на оформление самого сервиса в коммюнити - сама техническая реализация подмены вида и хранения данных о ней делается дай бог за полчаса-час максимум. если в интерлюде и не будет полноценно такое работать, то уж в корявом виде то точно - это когда при подмене будет меняться не только внешний вид, но и название+описание одетого предмета.
  11. да... некоторые знают толк в извращениях...
  12. ---> <table name="#rate">1.02 1.04 1.06 1.08 1.10 1.12 1.14 1.16 1.18 2.0</table> З.Ы. тенденция вопросов удручает...
  13. или обычные трансформы или же банальный бафф с абнормалом внешнего вида, меняющим вид брони на один из этих трех вариантов скорее всего именно второе, если все скиллы у персонажа остаются.
  14. в ошибках вроде все ясно и понятно написано 9901 - как вариант сам скилл некорретно описан 9801 - такого скилла вобше не существует 0 - тут уж смотри указанные предметы, судя по всему зачем-то ид скилла задано со значением 0. а вобще тут экстрасенсов нет хочешь чтобы помогли - выкладывай и проблемный код
  15. Gaikotsu

    extractable_items.xml

    что мешает изучить парсер этих данных в сервере на тему допустимой структуры? даже если нет исходников, то в таком простом случае и декомил поможет прояснить.
  16. правкой dat'ников ты это не решишь - ограничения этого глубже, толи в одном из u-файлов, толи в одной из dll
  17. ищи в ядре все что связанно с изменением relation начни с пакета RelationChanged и далее
  18. блин, какой-то движок файлохранилища на форуме сделанный через задницу... заливать к себе файлы 50+мб упорно не хочет, а место где они у меня лежали и куда была прямая ссылка на них пока недоступен. и нормальную ссылку внешную вместо файлов задать не дает... вобщем архивы с данными лежат сейчас вот тут, на OneDrive - http://1drv.ms/1OqtHDe
  19. Gaikotsu

    карта, шансы

    в полигоне описываются точки определяюшие область зоны в рестарт пойнт - точки куда воскресит игрока при смерти, если он умер в этой зоне и выбрал "встать в ближайший город"
  20. Gaikotsu

    Линдрако

    <!-- Summon Lyn Draco / Оседлать Линдрако --> <skill id="19116" levels="1" name="Summon Lyn Draco"> <!-- Mount Lyn Draco. --> <!-- Помогает оседлать Линдрако. --> <set name="icon" val="icon.etc_lind_vehicle" /> <set name="hitTime" val="1000" /> <set name="target" val="SELF" /> <set name="skillType" val="TRANSFORMATION" /> <set name="operateType" val="OP_ACTIVE" /> <set name="isAllowedOnOlympiad" val="false" /> <for> <effect count="1" name="Transformation" time="3600" val="147" /> </for> </skill> <!-- Lind Rider / Линд Всадник --> <transformation id="147" npc_id="13390" is_peace="true"> <skills> <skill id="9210" level="1" /> <!-- Dismount / Слезть с животного --> <skill id="5491" level="1" /> <!-- Decrease Bow/Crossbow Atk. Spd. / Уменьшить Скор. Атк. лука/арбалета. --> </skills> </transformation>
  21. <config keepenchant="true" />
  22. Название: Данные из карт клиентов High Five/Lindvior/Ertheia/Infinite Odyssey/Helios/Grand Crusade Добавил: Gaikotsu Добавлен: 02 Jan 2016 Категория: Прочее Автор: Gaikotsu Собственно говоря раскуроченные unr-файлы из клиентов High Five, Lindvior, Ertheia, Infinite Odyssey, Helios и Grand Crusade (включая classic/arena версии карт). Могут пригодиться к примеру для выяснения координат дверей в секторе карты (искать по Tag=Mover) или к примеру идентификаторы используемых в секторе эвент-триггеров и в каком месте сектора этот триггер показывается (искать по EventID) и т.д.
  23. 168 раз скачали

    Собственно говоря раскуроченные unr-файлы из клиентов High Five, Lindvior, Ertheia и Infinite Odyssey (включая classic версии карт). Могут пригодиться к примеру для выяснения координат дверей в секторе карты (искать по Tag=Mover) или к примеру идентификаторы используемых в секторе эвент-триггеров и в каком месте сектора этот триггер показывается (искать по EventID) и т.д.

    Бесплатный

  24. Gaikotsu

    Олимп

    скорее всего еще в ядре надо правки делать, если их не делал никто, то по дефолту там обычно жестко зашито что меньше месяца период быть не может.
  25. Gaikotsu

    Ёлки

    ну я ж не знаю что у тебя за сборка к примеру в сборках на основе феникса/овера елки спавнятся примерно так package events.Christmas; import handler.items.SimpleItemHandler; import java.util.Calendar; import l2p.gameserver.model.Player; import l2p.gameserver.model.World; import l2p.gameserver.model.Zone.ZoneType; import l2p.gameserver.model.instances.NpcInstance; import l2p.gameserver.model.items.ItemInstance; import l2p.gameserver.network.serverpackets.components.SystemMsg; import l2p.gameserver.utils.NpcUtils; public class ChristmasTree extends SimpleItemHandler { private static int[] _itemIds = { 5560, // Christmas Tree 5561 }; // Special Christmas Tree private static int[] _npcIds = { 13006, // Christmas Tree 13007 }; // Special Christmas Tree private static final int _despawnTime = 10 * 60 * 1000; //10 min @Override protected boolean useItemImpl(Player player, ItemInstance item, boolean ctrl) { if (!player.checkNextActionUseTime("cristmasTree", 10000)) { player.sendMessage("Нельзя ставить елки так часто."); return false; } if (player.isInZone(ZoneType.offshore)) { player.sendMessage("Нельзя поставить елку в этом месте."); return false; } int month = Calendar.getInstance().get(Calendar.MONTH); if (month != Calendar.DECEMBER && month != Calendar.JANUARY && month != Calendar.FEBRUARY) { player.sendMessage("Сейчас не зима, призыв елок недоступен."); return false; } if (World.getAroundNpc(player, 100, 200).size() > 0) { player.sendPacket(SystemMsg.YOU_MAY_NOT_SUMMON_FROM_YOUR_CURRENT_LOCATION); return false; } int npcId = 0; int itemId = item.getItemId(); for (int i = 0; i < _itemIds.length; i++) if (_itemIds[i] == itemId) { npcId = _npcIds[i]; break; } if (npcId == 0) return false; if (!useItem(player, item, 1)) return false; NpcInstance npc = NpcUtils.spawnSingle(npcId, player.getLoc(), player.getReflection(), player.isInPeaceZone() ? _despawnTime / 3 : _despawnTime); // АИ вешающее бафф регена устанавливается только для большой елки if (itemId == 5561) { npc.setAI(new ChristmasTreeAI(npc)); npc.getAI().startAITask(); } return true; } @Override public int[] getItemIds() { return _itemIds; } } вот собственно где-то в конце useItemImpl дополнительно запускать еще и таск и впередтак же можно просто в AI елки, если ей задано оно отдельное, добавить нужный код в thinkActive, чтобы с нужным пеприодом делала вызов dropItem для нужного предмета.
×
×
  • Создать...