-
Публикаций
1673 -
Зарегистрирован
-
Посещение
-
Победитель дней
9 -
Отзывы
0%
Тип контента
Профили
Форумы
Загрузки
Магазин
Инструкции
Весь контент P1ckw1ck
-
Имеется РвР на данных сурсах только старой ветке, когда только Centro ее разрабатывал.
-
исходники есть?
-
Этот кусок с люцера подобных?
-
Ну у меня вот такая реализация. в 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.
-
А проще юзните поиск через notepad по всему сурсу,по конфигу сабкласов, по их кол-во, в 2ух класах он должен найти конфиг, если реализация есть.
-
Завтра буду дома скину все что связано с сабами.
-
Minz под землю maxz в верх от земли, епался с зонами аванпоста по локе бс,и ев.
-
Data/xml/npc ищи моба по ид и под статами мб есть дроп.
-
По мимо виладж мастера еще в l2pcinstance есть что-то связанное с сабами там гляньте.
-
http://forummaxi.ru/topic/75931-rebellion-team-843-nonstable/?do=findComment&comment=711886
-
Купил не доделанный смарт-гвард, никакой поддержки уже 2ой месяц!
тема ответил P1ckw1ck в теме Обсуждения
не ответствено он подходит к своей работе. -
@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; }
-
Купил не доделанный смарт-гвард, никакой поддержки уже 2ой месяц!
тема ответил P1ckw1ck в теме Обсуждения
Akumu зайдет и думаю ответит ТСу -
Все это может любой начинающий администратор.
-
На смешил, все пишут у них не крадут, а у вас украдут. Странно.
-
Выбор персонажа с этим лобби имеется? или при выборе перса так же будет эта лобе а не персонажи?
-
Купил не доделанный смарт-гвард, никакой поддержки уже 2ой месяц!
тема ответил P1ckw1ck в теме Обсуждения
Раз на Раз не приходится. -
Rebelion думаю под 5-10 человек сойдет, да и багрепорт людям набьете.
-
Тебе не нужно в БД нпц заливать, в папке копируй любого нпц ставь ид своф, хтмл переименовать в ид нпц в папку merchant закинуть. И за сравнить в игре, тип нпц L2Merchant.
-
На ацисах все через хмл, бд в стороне стоит.=)
-
Ну там все уже от тса зависит.
-
Ха смешно.
-
Спасибо дома буду гляну, + добавлю.
-
Спасибо дома буду гляну, + добавлю.