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

Anderson

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

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

  • Посещение

  • Отзывы

    0%

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

  1. 1 совет - выкинь нетбинс и поставь Eclipse или IntelliJ IDEA
  2. Ну в зависимости на сколько ГВЕ. Но в данный момент я занимаюсь разработкой типо ГВЕ (но можна и свих килять, обмен итд). Не полная интеграция
  3. Честно говоря не шарю есть ли у тебя исходы, но если есть, то: идете scripts/handlers/voiced/menu.java и там ищем путь к хтм ке
  4. Гайд о том как сделать конфиг на максимальный уровень заточки на Олимпиаде, возможно позволит новичкам освоится в ядре. При входе на стадион олимпиады предмет с точкой выше максимальной будет снят и до конца поединка его одеть будет нельзя. Для этого обязательно наличие сурса (исходного кода). И так поехали: - Добавляем новый конфиг. 1)Идем в java\silentium\gameserver\GameProperties.java 2)Поиском (Ctrl+F) находим строчку(или последнюю строчку конфигов олимпа): public static boolean ALT_OLY_ANNOUNCE_GAMES; 3)После нее вставляем новые 2 строчки(наши конфиги): public static int ALT_OLY_MAX_WEAPON_ENCHANT_LVL; public static int ALT_OLY_MAX_ARMOR_ENCHANT_LVL; 4)Поиском (Ctrl+F) находим строчку(или последнюю строчку вытаскивания конфигов олимпа): ALT_OLY_ANNOUNCE_GAMES = Boolean.parseBoolean(events.getProperty("AltOlyAnnounceGames", "True")); 5)После нее вставляем новые 2 строчки(наше вытаскивание конфигов с файла): ALT_OLY_MAX_WEAPON_ENCHANT_LVL = Integer.parseInt(events.getProperty("AltOlyMaxWeaponEnxhantLvl", "-1")); ALT_OLY_MAX_ARMOR_ENCHANT_LVL = Integer.parseInt(events.getProperty("AltOlyMaxArmorEnxhantLvl", "-1")); 6)Идем в config\game\events.properties 7)После строчки AltOlyDividerNonClassed = 5 (или в конце конфигов олимпа), вставляем: # Максимальный уровень улучшения оружия на олимпиаде, default: -1 - не применять AltOlyMaxWeaponEnxhantLvl =-1 # Максимальный уровень улучшения брони на олимпиаде, default: -1 - не применять AltOlyMaxArmorEnxhantLvl =-1 Ура, первый шаг сделан. Мы добавили переменные - конфиги, и с файла конфигурации вытянули значение. - добавление проверок. 1)Идем в java\silentium\gameserver\model\L2ItemInstance.java 2)Пихаем в класс(кто не знает что это -> гугл -> java классы) после любой функции (кто не знает, аналогично классу) этот код: public boolean checkEnchantCondition(L2Character activeChar) { if(GameProperties.ALT_OLY_MAX_WEAPON_ENCHANT_LVL!=-1) { if (((getItem().getBodyPart()==L2Item.SLOT_R_HAND)||(getItem().getBodyPart()==L2Item.SLOT_LR_HAND))&&(getEnchantLevel()>GameProperties.ALT_OLY_MAX_WEAPON_ENCHANT_LVL)&&(activeChar.getActingPlayer().isInOlympiadMode())) { activeChar.getActingPlayer().sendMessage("Невозможно одеть оружие на Великих Олимпийских Играх с уровнем улучшения выше " + GameProperties.ALT_OLY_MAX_WEAPON_ENCHANT_LVL); return false; } } if(GameProperties.ALT_OLY_MAX_ARMOR_ENCHANT_LVL!=-1) { if (((getItem().getBodyPart()!=L2Item.SLOT_R_HAND)||(getItem().getBodyPart()!=L2Item.SLOT_LR_HAND))&&(getEnchantLevel()>GameProperties.ALT_OLY_MAX_ARMOR_ENCHANT_LVL)&&(activeChar.getActingPlayer().isInOlympiadMode())) { activeChar.getActingPlayer().sendMessage("Невозможно одеть броню на Великих Олимпийских Играх с уровнем улучшения выше " + GameProperties.ALT_OLY_MAX_ARMOR_ENCHANT_LVL); return false; } } return true; } Вы спросите, что делает данный код? Ответ: 1. Проверяет включены ли настройки макс точки (не равно -1) 2. В 1 куске: если это оружие(правая рука или обе) и если его уровень заточки выше максимального и игрок сейчас участвует в олимпиаде, то пишет о невозможности использования предмета на олимпе и возвращает false. 3. В 2 куске все тоже что и в 1, но смотрим на все кроме оружия(бронь) 4. Если ничего выше не выполнилось, то возвращаем false. Итак итог: если уровень улучшения предмета ниже максимального имеем true(он доступен к использованию на олимпе), а если нет, то false(не доступен к использованию на олимпе). 3)Идем в java\silentium\gameserver\network\clientpackets\UseItem.java 4)Находим поиском(или ручками): if (!item.getItem().checkCondition(activeChar, activeChar, true)) { return; } 5)После этого куска кода вставляем: if (!item.checkEnchantCondition(activeChar)) { return; } Что это? При нажатии на итем, вызовется проверка которую мы добавили выше, и если итем не доступен для использование на оли, он не оденется(так как стоит return). 6)Идем в java\silentium\gameserver\model\actor\instance\L2PcInstance.java 7)Ищем руками или поиском: public void checkItemRestriction() { for (int i = 0; i < Inventory.PAPERDOLL_TOTALSLOTS; i++) { L2ItemInstance equippedItem = getInventory().getPaperdollItem(i); if (equippedItem != null && !equippedItem.getItem().checkCondition(this, this, false)) { getInventory().unEquipItemInSlot(i); InventoryUpdate iu = new InventoryUpdate(); iu.addModifiedItem(equippedItem); sendPacket(iu); SystemMessage sm = null; if (equippedItem.getEnchantLevel() > 0) { sm = SystemMessage.getSystemMessage(SystemMessageId.EQUIPMENT_S1_S2_REMOVED); sm.addNumber(equippedItem.getEnchantLevel()); sm.addItemName(equippedItem); } else { sm = SystemMessage.getSystemMessage(SystemMessageId.S1_DISARMED); sm.addItemName(equippedItem); } sendPacket(sm); } } } и заменяем на: public void checkItemRestriction() { for (int i = 0; i < Inventory.PAPERDOLL_TOTALSLOTS; i++) { L2ItemInstance equippedItem = getInventory().getPaperdollItem(i); if ((equippedItem != null) && (!equippedItem.getItem().checkCondition(this, this, false)|| (!equippedItem.checkEnchantCondition(this)))) { getInventory().unEquipItemInSlot(i); InventoryUpdate iu = new InventoryUpdate(); iu.addModifiedItem(equippedItem); sendPacket(iu); SystemMessage sm = null; if (equippedItem.getEnchantLevel() > 0) { sm = SystemMessage.getSystemMessage(SystemMessageId.EQUIPMENT_S1_S2_REMOVED); sm.addNumber(equippedItem.getEnchantLevel()); sm.addItemName(equippedItem); } else { sm = SystemMessage.getSystemMessage(SystemMessageId.S1_DISARMED); sm.addItemName(equippedItem); } sendPacket(sm); } } } Эта функция вызывается когда игрока телепортирует на арену олимпиады, она проверяет на доступность итемы. Мы в нее добавляем свою проверку которую добавили раньше. Итог: при тп на олимп, итем у которого уровень улучшения больше максимально будет снят. Мы добавили конфиг на максимальную точку на олимпиаде. Если есть вопросы, пишем, я отвечу. Гайд подготовлен Anderson ом. Если понравилось, то не ленитесь и поставте "Спасибо".
  5. Уверены что в клиенте добавили в 2 файла и с тем же ид. Есть ли ошибки при запуске гейм сервера в разделе итемов?
  6. Anderson

    Работа С Netbeans

    Советую IDEA, качай не пожалеешь. Правда немножко подлагивает. Но бери не фри версию
  7. И так начнем (буду своим способом): 1)Идем в scripts/handlers/items и там создаем файлик MyItems.java 2)В этот файлик пихаем: public class MyItems implements IItemHandler { @Override public boolean useItem(L2Playable playable, L2ItemInstance item, boolean forceUse) { if (!(playable instanceof L2PcInstance)) { return false; } final L2PcInstance activeChar = (L2PcInstance) playable; int itemId = item.getItemId(); if(itemId==ИД_ХИЛКИ) { activeChar.setCurrentHp(СИЛА_ХИЛКИ_В_ХП + activeChar.getCurrentHp()); activeChar.setCurrentMp(СИЛА_ХИЛКИ_В_МП + activeChar.getCurrentMp()); } return true; } } 3) И в итеме добавляем строчку <set name="handler" val="MyItems"/>
  8. Что ты именно хочешь получить? Текущее время в миллисекундах? Ели да, то: System.currentTimeMillis() А дальше сравниваешь.
  9. А если сделать 2 скила, и впихнуть их к 1 итему? <set name="item_skill" val="ид_скила_хп"/> <set name="item_skill" val="ид_скила_мп"/> Хотя я не уверен. Лично у меня такой пот только на 1 х-ку такой: <skill id="Ид" levels="1" name="Имя"> <set name="power" val="600"/> <set name="hitTime" val="100"/> <set name="staticHitTime" val="true"/> <set name="target" val="TARGET_SELF"/> <set name="reuseDelay" val="2300"/> <set name="skillType" val="COMBATPOINTHEAL"/> <set name="operateType" val="OP_ACTIVE"/> <set name="isPotion" val="true"/> <cond msgId="113" addName="1"> <player flying="False"/> </cond> </skill>
  10. Итак: 1) Первое добавляем на стороне сервера: Идем сюда - gameserver\data\xml\items, создаем новый файл (10000-10099.xml) и по примеру других шмоток делаем шмотки там (но их ид должны быть в диапазоне 10000-10099) 2) На стороне клиента, гайдов куча
  11. Anderson

    Продажа Комплекта!

    Просто невероятный комплект! Покупал у данного человека дизайн, делает качественно, быстро и так как нужно. Советую.
  12. Ну в зависимости что именно=) Если пилит квест - то нет. А добавить и за бесплатно сделаю
  13. Реализовать очень просто, стоит хотя-бы знать квест на покраску тряпки у баюма. Создаешь новый квест и в конец добавляешь: @Override public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isPet) { QuestState st = attacker.getQuestState(qn); if ((st == null) || !st.isStarted() || isPet) { return null; } if (st.getInt("cond") == ТВОЙ_КОНД) { if(rand(100)<ШАНС_ВЫПАДЕНИЯ) { st.giveItems(ИД_ИТЕМА, rand(МАКС_КОЛИЧЕСТВО)); st.playSound(QuestState.SOUND_ITEMGET); } } return null; }
  14. Anderson

    Ht,l Classmaster Frozen

    Это легко проверяется в ядре, заходите в ... instance/ClassmasterInstance.java и в конце где showHtm() ф-я или как-то так, смотрите откуда берутся диалоги
  15. Если нету, идешь в hendlers/item, файлы BlessedSpiritShot SpiritShot SoulShot, и в них удаляешь такой код: (где убиваются соул шоты) / Consume bss if player has enough of them if (activeChar.destroyItemWithoutTrace("Consume", item.getObjectId(), weaponItem.getSpiritShotCount(), null, false)) { if (!activeChar.disableAutoShot(itemId)) { activeChar.sendPacket(SystemMessageId.NOT_ENOUGH_SPIRITSHOTS); } return false; }
  16. Ну от например есть стартовые сертификаты за 500-1500. Как я понял идет шифровка соединения. Но нужно ли это для сайта сервера л2? Платежка - робокаса(не реклама). Как я понимаю будет определенное отсеивание школоло ддосеров? Буду благодарен за ответы, только начал разберется в безопасности. П.С. RapidSSL например (не реклама)
  17. Здравствуйте, интересует вопрос сертификатов. Нужен ли он? (стандартный сертификат проверки домена). Шифровка соединения, итд. Что я получу после его покупки?
  18. Серв будет грузится в 3 раза дольше. А так перенось куда нужно, делай загрузчик и правь запуск сервера. На силентиуме 10 есть такое чудо, можешь от туда стянуть
  19. Anderson

    Парочка Идей

    Можно. Поставил защиту от накрутки в гве не смотря на ип и хвид. Не давать просто так - лучший способ.
  20. Anderson

    Обвязка

    Что за дг, и можно ли ссылку? И сразу ищу людей которые адаптируют шаблон 11 св под 13 или другую смс П.С. ghtweb пользуется кто? Очень понравился. Как защита, стабильность, работа?
  21. Anderson

    Обвязка

    Мне ghtweb понравился дизайном. Странно что бесплатный. Какова защищенность от брута обоих обвязок?
  22. Anderson

    Обвязка

    Ну от зачем флудить? Бесят такие, не можешь ничего сказать? Иди лесом, без обид
  23. Anderson

    Обвязка

    мне просто не очень нравится лк и рега, очень дёшево выглядит
  24. Anderson

    Обвязка

    Сейчас использую нулевку СВ 11, но так посмотрел, подумал. Может есть что-то лучше чем СВ? И возможно стоит купить лицуху за каких-то 22 евро?
×
×
  • Создать...