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

Nha

OVC-Dev
  • Публикаций

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

  • Посещение

  • Отзывы

    100%

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

  1. Nha

    Помощь Java

    Актуально еще, нет? Ну ладно. Возни здесь нет вообще. Что нужно сделать? 1) Выполнить в БД такой запрос: ALTER TABLE characters ADD trader_skills_count INT DEFAULT 0; Добавляет столбец trader_skills_count в конец таблицы character. 2) Правим файл L2PcInstance.java (Добавляем этот столбец уже в самом коде) В строковых методах UPDATE_CHARACTER и RESTORE_CHARACTER по аналогии добавляем нашу колонку trader_skills_count (Это шаблоны запросов в БД) Добавляем переменную с нашим счетчиком: private int _traderSkillsCount = 0; В методе createDb() по аналогии добавляем нашу колонку trader_skills_count: con.prepareStatement("INSERT INTO characters (level, .... ,last_recom_date,trader_skills_count) values (?, .... ,?,?)"); Тут же заносим в параметр: statement.setInt(ПОРЯДКОВЫЙ НОМЕР В ЗАПРОСЕ, getTraderSkillsCount()); Далее в методе restore(int objectId): player.setTraderSkillsCount(rset.getInt("trader_skills_count")); Где, догадаться не трудно, все аналогично. Дальше в storeCharBase(): statement.setInt(ПОРЯДКОВЫЙ НОМЕР В ЗАПРОСЕ, getTraderSkillsCount()); statement.setInt(ПОСЛЕДНИЙ НОМЕР В ЗАПРОСЕ, getObjectId()); Ну и добавляем где-нибудь в конце файла пару методов: public int getTraderSkillsCount() { return _traderSkillsCount; } public int setTraderSkillsCount(int value) { _traderSkillsCount = value; } Конечно, можно не допереть что-куда вставлять, чтобы понять, нужно просто взять какую-нибудь колонку из character.sql (pkkills к примеру) и просто в поиске по файлу смотреть где и как оно здесь фигурирует. 3) Теперь направляемся в файл L2TraderManagerInstance.java и изменяем байпасс: if (command.startsWith("TraderSkillList")) { // Максимальное допустимое число покупки умений final int maxCount = 10; if (player.getTraderSkillsCount() < maxCount) { player.setSkillLearningClassId(player.getClassId()); showTraderSkillList(player); } else { player.sendMessage("Вы уже выучили " + maxCount + " умений!"); } } Ну и наконец инкрементируем счетчик в RequestAquireSkill: Где-нибудь под этим: SystemMessage sm = new SystemMessage(SystemMessageId.S2_S1_DISAPPEARED); sm.addItemName(costid); sm.addItemNumber(costcount); sendPacket(sm); sm = null; Вставляем это: player.setTraderSkillsCount(player.getTraderSkillsCount() + 1); Вот diff патч, для наглядности. Ну как-то так, писалось почти на коленке, да и в блокноте, так что могут быть ошибки, если все же эта тема актуальна, обращайся.
×
×
  • Создать...