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

Gaikotsu

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

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

  • Посещение

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

    62
  • Отзывы

    0%

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

  1. не вводи человека в заблуждение, если совершенно не разбираешься в вопросе. 2 Автор: эти описания описаны в виде скиллов, в skillname-e, а показ их прописан в npcgrp, в виде информации о скиллах-пассивках моба.
  2. скорее уж так: <cond msgId="1508" addName="1"> <not> <or> <player instance_zone="607" /> <player instance_zone="608" /> <player instance_zone="609" /> <player instance_zone="610" /> </or> </not> </cond> З.Ы. не оптимальна такая проверка - каждый раз при юзе скилла/итема такое проверять - не очень.
  3. это ты про проверку на то что игрок находится в зоне определенного типа?можно и так. но мне лично такой способ никогда не нравился - слишком громоздко и нерационально. лично у меня подобные запреты для вещей и скиллов описываются проще, типа так: <set name="allowed_on_olympiad" value="false" /> <set name="allowed_on_pvp_event" value="false" />
  4. ну например добавить игроку хранилище запрещенных предметов и добавлять туда нужные ид например при реге на эвент, а при окончании эвента очищать. ну и затем проверять в UseItem например так if (activeChar.isForbiddenItem(itemId)) { activeChar.sendPacket(new SystemMessage(SystemMsg.S1_CANNOT_BE_USED_DUE_TO_UNSUITABLE_TERMS).addItemName(itemId)); return; } другой вариант - ввести для игроков какой-то флаг - в котором будет выставляться признак того, что игрок участвует в эвенте. а для вещей ввести параметр - запрещающий их использование на эвенте и опять же в UseItem проверять типа так if (activeChar.isInPvPEventMode() && !item.getTemplate().isAllowedOnPvPEvent()) { activeChar.sendPacket(new SystemMessage(SystemMsg.S1_CANNOT_BE_USED_DUE_TO_UNSUITABLE_TERMS).addItemName(itemId)); return; } P.S. аналогично можно запрещать еще скажем и использование определенных скиллов на эвенте.
  5. Gaikotsu

    Trade Zone

    делать что-то типа такого (если сборка поддерживает) <zone name="[giran_non_trade]" type="dummy"> <set name="blocked_actions" val="open_private_store;open_private_workshop" /> <polygon> <coords loc="85792 147072" /> <coords loc="83605 147080" /> <coords loc="83560 147537" /> <coords loc="83440 147472" /> <coords loc="80780 147474" /> <coords loc="80692 147543" /> <coords loc="80691 149704" /> <coords loc="80786 149774" /> <coords loc="86445 149877" /> </polygon> <banned_polygon> <coords loc="82725 147884" /> <coords loc="82729 149334" /> <coords loc="81134 149326" /> <coords loc="81137 147887" /> <coords loc="82694 147886" /> <coords loc="82143 148383" /> <coords loc="81692 148378" /> <coords loc="81689 148839" /> <coords loc="82149 148840" /> <coords loc="82150 148396" /> <coords loc="82723 147885" /> </banned_polygon> </zone> во всей зоне, исключая описанную в banned_polygon терииторию, нельзя будет садиться в приват трейд/крафт.
  6. самый простой - это тот что выше указан, все остальные что на ум приходят - сложнее и требуют модификаций кода. только я бы дополнил - лучше добавлять статы не в общие для всех скиллы, а в такие, которые есть только у нужных классов, тогда не придется с кондишнами возиться.
  7. а конкретно RequestMultiSellChoose, в большинстве сборок алгоритм подбора подходящей для обмена вещи сделан так, что старается выбрать для обмена вещь с самым низким энчантом, если их несколько в инвентаре.
  8. ну это понятно - обычно такое идет в связке с защитой, чтобы нельзя было просто взять и заменить модифицированный файл обычной версией.
  9. не знаю как точно у лг сделано, но думаю примерно так: l2.exe или используемые им дллки модифицированы так, что при запуске проверяют, как именно была запущена игра, т.е. напрямую или же через апдейтер и если запуск был не через апдейтер, то запускается апдейтер, а l2.exe прекращает работу. обычно для подобных дел подменяют например dsetup.dll из клиента самописной версией, с нужным функционалом.
  10. или в данном случае вместо mul использовать div, т.е. деление вместо умножения.
  11. самый простой и защищающий только от нубов способ - переименовать l2.exe например в l2.bin или еще что-то, апдейтеру указать что надо запускать этот, переименованный файл, а в качестве l2.exe написать любом языке программирования свою программку из пары строк, которая при запуске просто будет запускать апдейтер.
  12. Gaikotsu

    Lin][Info

    перепиши под себя - особых знаний php и т.п. для этого не требуется.
  13. Gaikotsu

    Lin][Info

    Название: Lin][info Добавил: Gaikotsu Добавлен: 08 Jan 2014 Категория: Скрипты\движки Автор: Gaikotsu Да-да, ваши глаза вас не обманывают - это шара очередной версии базы знаний от меня, уже третьей по счету (если считать только те версии, что я расшаривал). Шарю по причине того, что доработка данной версии мною заморожена и более эта версия, для HF, развиваться не будет - сейчас дорабатывается новая версия, для GoD, основанная на этой. Так что чего зря добру пропадать - может кто возьмет за основу эту версию и доработает ее для своих нужд. Техническая информация: - сама база написана с использованием фреймворка UIKit, шаблонизатора XTemplate и всякой разной мелочи; - активно используются плюшки CSS3 и HTML5, так что старые браузеры в пролете; - парсеры данных заточены под выдирание данных из сервера на базе феникса, так что если у вас сервер на базе овера или еще каком-то другом - парсеры придется переписать под свои нужды (это не так уж и сложно). В живую работу базы можно посмотреть по этому адресу: http://l2i.gaikotsu.ru/ Нажмите здесь, чтобы скачать файл
  14. Gaikotsu

    Lin][info

    Версия 2.0

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

    Да-да, ваши глаза вас не обманывают - это шара очередной версии базы знаний от меня, уже третьей по счету (если считать только те версии, что я расшаривал). Шарю по причине того, что доработка данной версии мною заморожена и более эта версия, для HF, развиваться не будет - сейчас дорабатывается новая версия, для GoD, основанная на этой. Так что чего зря добру пропадать - может кто возьмет за основу эту версию и доработает ее для своих нужд. Техническая информация: - сама база написана с использованием фреймворка UIKit, шаблонизатора XTemplate и всякой разной мелочи; - активно используются плюшки CSS3 и HTML5, так что старые браузеры в пролете; - парсеры данных заточены под выдирание данных из сервера на базе феникса, так что если у вас сервер на базе овера или еще каком-то другом - парсеры придется переписать под свои нужды (это не так уж и сложно). В живую работу базы можно посмотреть по этому адресу: http://l2i.gaikotsu.ru/

    Бесплатный

  15. Gaikotsu

    Стильный Баннер

    Hight Five :рукалицо:
  16. а потому-что никак ты это не сделаешь. для 99.9% клиентских окон ничего серву не шлется при их закрытии. можешь банально поставить отладку в GamePacketHandler (или подобный класс - зависит от сборки), чтобы выводило в лог названия всех полученных пакетов и убедиться в этом сам.
  17. в чем проблема самому дописать данный функционал, если исходники есть? не такая уж и сложная вещь. З.Ы. можно и без исходников ядра сделать - в виде эвента, в котором при входе игрока в игру ему будет выдавать нужные скиллы, если у его клана есть замок. но данная реализация будет ущербной, т.к. скиллы будут исчезать например при переключении сабы.
  18. на шару/продажу не очень много народу разрабатывает. по моему в основном пилят линдвиор и выше чисто для своих серверов (как мы например).
  19. может тебе еще и готовые аи написать? за прошедшее с создания темы время мог бы даже просто методом тыка написать все что тебе нужно было, даже если знаешь самые-самые основы явы.
  20. Все через их аи делается и очень-очень просто и банально...
  21. ну оыбчно автолут можно настроить отдельно как для обычных мобов так и для боссов, но я хз как там у тебя в твоей сборке.
  22. Сделать несколько групп дропа с нужной вещью
  23. там же по коду метода lockTarget вроде все понятно - если задать в нем объект, то не будет давать игроку, на котором висит эффект, выделять кого либо, кроме этого объекта. ну а при окончании просто обнуляет блокировку, так сказать разрешая снова свободное выделение любой цели.
  24. плохо видимо читаешь... это же самые основы в любом языке программирования.
  25. делаешь зону на основной зал, где босс, и вешаешь на нее слушатель. в слушателе в методе вызываемом при выходе объекта из зоны делаешь проверку - если этот объект фрея, то телепортируешь ее к примеру обратно в центр зала.
×
×
  • Создать...