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

P1ckw1ck

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

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

  • Посещение

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

    9
  • Отзывы

    0%

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

  1. Имеется РвР на данных сурсах только старой ветке, когда только Centro ее разрабатывал.
  2. Ну у меня вот такая реализация. в L2PcInstance public boolean addSubClass(int classId, int classIndex) { if (!_subclassLock.tryLock()) return false; try { if (getTotalSubClasses() == Config.MAX_SUB_CLASSES || classIndex == 0) return false; if (getSubClasses().containsKey(classIndex)) return false; // Note: Never change _classIndex in any method other than setActiveClass(). SubClass newClass = new SubClass(); newClass.setClassId(classId); newClass.setClassIndex(classIndex); try (Connection con = L2DatabaseFactory.getInstance().getConnection()) { PreparedStatement statement = con.prepareStatement(ADD_CHAR_SUBCLASS); statement.setInt(1, getObjectId()); statement.setInt(2, newClass.getClassId()); statement.setLong(3, newClass.getExp()); statement.setInt(4, newClass.getSp()); statement.setInt(5, newClass.getLevel()); statement.setInt(6, newClass.getClassIndex()); // <-- Added statement.execute(); statement.close(); } catch (Exception e) { _log.warning("WARNING: Could not add character sub class for " + getName() + ": " + e); return false; } // Commit after database INSERT incase exception is thrown. getSubClasses().put(newClass.getClassIndex(), newClass); ClassId subTemplate = ClassId.values()[classId]; Collection<L2SkillLearn> skillTree = SkillTreeTable.getInstance().getAllowedSkills(subTemplate); if (skillTree == null) return true; final Map<Integer, L2Skill> prevSkillList = new LinkedHashMap<>(); for (L2SkillLearn skillInfo : skillTree) { if (skillInfo.getMinLevel() <= 40) { L2Skill prevSkill = prevSkillList.get(skillInfo.getId()); L2Skill newSkill = SkillTable.getInstance().getInfo(skillInfo.getId(), skillInfo.getLevel()); if (prevSkill != null && (prevSkill.getLevel() > newSkill.getLevel())) continue; prevSkillList.put(newSkill.getId(), newSkill); storeSkill(newSkill, prevSkill, classIndex); } } return true; } finally { _subclassLock.unlock(); } } L2VilladgeMasterInstance case 1: // Add Subclass - Initial // Avoid giving player an option to add a new sub class, if they have three already. if(player.getTotalSubClasses() == Config.MAX_SUB_CLASSES) { player.sendMessage("You can now only change one of your current sub classes."); return; } subsAvailable = getAvailableSubClasses(player); if(subsAvailable != null && !subsAvailable.isEmpty()) { content.append("Add Subclass:<br>Which sub class do you wish to add?<br>"); for(PlayerClass subClass : subsAvailable) { content.append("<a action=\"bypass -h npc_" + getObjectId() + "_Subclass 4 " + subClass.ordinal() + "\" msg=\"1268;" + formatClassForDisplay(subClass) + "\">" + formatClassForDisplay(subClass) + "</a><br>"); } } else { player.sendMessage("There are no sub classes available at this time."); return; } break; Обратите внимание в конфиге может быть MaxSubClasses, а в коде MAX_SUB_CLASSES.
  3. А проще юзните поиск через notepad по всему сурсу,по конфигу сабкласов, по их кол-во, в 2ух класах он должен найти конфиг, если реализация есть.
  4. Завтра буду дома скину все что связано с сабами.
  5. Minz под землю maxz в верх от земли, епался с зонами аванпоста по локе бс,и ев.
  6. Data/xml/npc ищи моба по ид и под статами мб есть дроп.
  7. По мимо виладж мастера еще в l2pcinstance есть что-то связанное с сабами там гляньте.
  8. P1ckw1ck

    Сборка [High Five]

    http://forummaxi.ru/topic/75931-rebellion-team-843-nonstable/?do=findComment&comment=711886
  9. P1ckw1ck

    TvT Эвент

    @Override public boolean useVoicedCommand(String command, L2PcInstance activeChar, String param) { if (activeChar == null) { return false; } if (param != null) { String[] params = param.split(" "); AbstractEvent evt = EventManager.getInstance().findEvent(params[0]); if (evt != null) { if (params[1].equals("join")) { if (evt.getState() == AbstractEvent.STATE_RUNNING) { activeChar.sendMessage(String.format(Message.getInstance().getMessage(activeChar, "MSG_EVENT_RUNNING"), evt.getName())); } else if (evt.getState() == AbstractEvent.STATE_ACTIVE) { if (evt.register(activeChar)) { activeChar.sendMessage(String.format(Message.getInstance().getMessage(activeChar, "MSG_EVENT_REGISTERED"), evt.getName())); } } else { activeChar.sendMessage(String.format(Message.getInstance().getMessage(activeChar, "MSG_EVENT_NOT_ACTIVE"), evt.getName())); } showPage(evt, activeChar); return true; } else if (params[1].equals("leave")) { if (evt.getState() == AbstractEvent.STATE_RUNNING) { activeChar.sendMessage(String.format(Message.getInstance().getMessage(activeChar, "MSG_EVENT_RUNNING"), evt.getName())); } else if (evt.getState() == AbstractEvent.STATE_ACTIVE) { if (evt.register(activeChar)) { activeChar.sendMessage(String.format(Message.getInstance().getMessage(activeChar, "MSG_EVENT_REGISTERED"), evt.getName())); } } else { activeChar.sendMessage(String.format(Message.getInstance().getMessage(activeChar, "MSG_EVENT_NOT_ACTIVE"), evt.getName())); } showPage(evt, activeChar); return true; } else if (params[1].equals("page") && EventManager.getInstance().findEvent(params[0]) != null) { showPage(evt, activeChar); return true; } } } showPage(EventManager.getInstance().findEvent("TeamVsTeam"), activeChar); return true; }
  10. Все это может любой начинающий администратор.
  11. P1ckw1ck

    Нужна реклама

    На смешил, все пишут у них не крадут, а у вас украдут. Странно.
  12. Выбор персонажа с этим лобби имеется? или при выборе перса так же будет эта лобе а не персонажи?
  13. P1ckw1ck

    Сборка [High Five]

    Rebelion думаю под 5-10 человек сойдет, да и багрепорт людям набьете.
  14. P1ckw1ck

    NPC в базе данных

    Тебе не нужно в БД нпц заливать, в папке копируй любого нпц ставь ид своф, хтмл переименовать в ид нпц в папку merchant закинуть. И за сравнить в игре, тип нпц L2Merchant.
  15. На ацисах все через хмл, бд в стороне стоит.=)
  16. Ну там все уже от тса зависит.
  17. Спасибо дома буду гляну, + добавлю.
  18. Спасибо дома буду гляну, + добавлю.
×
×
  • Создать...