Сообщений: 45
Тем: 7
Зарегистрирован: Sep 2012
Репутация:
9
вы l2new посмотрите, а я просто искал помощь
Сообщений: 102
Тем: 6
Зарегистрирован: Jun 2012
Репутация:
116
Ну вообще, про барыг, камень был не в огород вашей студии, Юрий, я абстрактно сказал.
Сообщений: 1,363
Тем: 17
Зарегистрирован: Oct 2011
Да просто тут все камни кидать любят и никто сперва на себя не смотрит. Если не в мой огород, то извиняюсь. Удачи значит вам в разработке !
Сообщений: 102
Тем: 6
Зарегистрирован: Jun 2012
Репутация:
116
Апну тему, не понимаю логики, при добавлении саба, если условия соответствуют то работате это:
Код: if(allowAddition)
{
if(!player.addSubClass(classId, true, 0))
{
player.sendMessage(new CustomMessage("sw.awaken.gameserver.model.instances.L2VillageMasterInstance.SubclassCouldNotBeAdded", player));
return;
}
content.append("Add Subclass:<br>The subclass of <font color=\"LEVEL\">").append(HtmlUtils.htmlClassName(classId)).append("</font> has been added.");
player.sendPacket(SystemMsg.THE_NEW_SUBCLASS_HAS_BEEN_ADDED);
}
и соответственно из класса Player:
public boolean addSubClass(final int classId, boolean storeOld, int certification) { if(_classlist.size() >= (4 + Config.ALT_GAME_SUB_ADD)) return false; final ClassId newId = ClassId.VALUES[classId]; final SubClass newClass = new SubClass(); newClass.setBase(false); if(newId.getRace() == null) return false; newClass.setClassId(classId); newClass.setCertification(certification); _classlist.put(classId, newClass); Connection con = null; PreparedStatement statement = null; try { // Store the basic info about this new sub-class. con = DatabaseFactory.getInstance().getConnection(); statement = con.prepareStatement("INSERT INTO character_subclasses (char_obj_id, class_id, exp, sp, curHp, curMp, curCp, maxHp, maxMp, maxCp, level, active, isBase, death_penalty, certification) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"); statement.setInt(1, getObjectId()); statement.setInt(2, newClass.getClassId()); statement.setLong(3, Experience.LEVEL[40]); statement.setInt(4, 0); statement.setDouble(5, getCurrentHp()); statement.setDouble(6, getCurrentMp()); statement.setDouble(7, getCurrentCp()); statement.setDouble(8, getCurrentHp()); statement.setDouble(9, getCurrentMp()); statement.setDouble(10, getCurrentCp()); statement.setInt(11, 40); statement.setInt(12, 0); statement.setInt(13, 0); statement.setInt(14, 0); statement.setInt(15, certification); statement.execute(); } catch(final Exception e) { _log.warn("Could not add character sub-class: " + e, e); return false; } finally { DbUtils.closeQuietly(con, statement); } setActiveSubClass(classId, storeOld); boolean countUnlearnable = true; int unLearnable = 0; Collection<SkillLearn> skills = SkillAcquireHolder.getInstance().getAvailableSkills(this, AcquireType.NORMAL); while(skills.size() > unLearnable) { for(final SkillLearn s : skills) { final Skill sk = SkillTable.getInstance().getInfo(s.getId(), s.getLevel()); if(sk == null || !sk.getCanLearn(newId)) { if(countUnlearnable) unLearnable++; continue; } addSkill(sk, true); } countUnlearnable = false; skills = SkillAcquireHolder.getInstance().getAvailableSkills(this, AcquireType.NORMAL); } sendPacket(new SkillList(this)); setCurrentHpMp(getMaxHp(), getMaxMp(), true); setCurrentCp(getMaxCp()); return true; }
Так, где должно быть условие, чтобы при добавлении саба, скилы основы удалялись, но при смене саба на основу, скилы саба переходили на основу?
Сообщений: 2
Тем: 0
Зарегистрирован: Aug 2020
Репутация:
0
BoneBreaker Написал:Код: public static boolean areClassesComportable(PlayerClass c1, PlayerClass c2)
{
if(c1.isOfRace(Race.kamael) != c2.isOfRace(Race.kamael))
return false; // камаэли только с камаэлями
if(c1.isOfRace(Race.elf) && c2.isOfRace(Race.darkelf) || c1.isOfRace(Race.darkelf) && c2.isOfRace(Race.elf))
return false; // эльфы несовместимы с темными
if(c1 == PlayerClass.Overlord || c1 == PlayerClass.Warsmith || c2 == PlayerClass.Overlord || c2 == PlayerClass.Warsmith)
return false; // эти вообще
if(subclassSetMap.get(c1) == subclassSetMap.get(c2))
return false; // однотипные
return true;
}
Это имеется ввиду? В каких файлах это находиться подскажи
Сообщений: 2
Тем: 1
Зарегистрирован: Aug 2020
Репутация:
0
womandark Написал:В каких файлах это находиться подскажи
По всей видимости в ядре в файле с названием L2VillageMasterInstance или что-то в этом роде.
|