Jump to content
  • 0

Cancel subclass keep skills


0flee
 Share

Question

Hello fooooolks, i have one and big problem. I have stacksub server based on l2j-mobius. And i have npc Maximilian where player can add/change/cancel a subclass. All good. But, when player cancel a subclass to do another instead, skills from canceled subclass are retained. How i can make this to disappear one with cancel?

 

Thank you !

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

look one way is go to player.java or pcisntance.java what you have and search for

 

public boolean setActiveClass(int classIndex)

 

search for

restoreHenna(); or

 

            restoreSkills();
            rewardSkills();
            regiveTemporarySkills();  

and try to add checkAllowedSkills();  or restoreSkills();

Link to comment
Share on other sites

  • 0

This is method available to restore player skills. An here should be a check for all subclasses available. And for that available subclasses to give their skills. And rest of skills to be deleted

 

private void restoreSkills()
	{
		try (Connection con = DatabaseFactory.getConnection();
			PreparedStatement ps = con.prepareStatement(RESTORE_SKILLS_FOR_CHAR))
		{
			// Retrieve all skills of this PlayerInstance from the database
			ps.setInt(1, getObjectId());
			try (ResultSet rs = ps.executeQuery())
			{
				while (rs.next())
				{
					final int id = rs.getInt("skill_id");
					final int level = rs.getInt("skill_level");
					
					// Create a Skill object for each record
					final Skill skill = SkillData.getInstance().getSkill(id, level);
					if (skill == null)
					{
						LOGGER.warning("Skipped null skill Id: " + id + " Level: " + level + " while restoring player skills for playerObjId: " + getObjectId());
						continue;
					}
					
					// Add the Skill object to the Creature _skills and its Func objects to the calculator set of the Creature
					addSkill(skill);
					
					if (Config.SKILL_CHECK_ENABLE && (!canOverrideCond(PlayerCondOverride.SKILL_CONDITIONS) || Config.SKILL_CHECK_GM) && !SkillTreeData.getInstance().isSkillAllowed(this, skill))
					{
						Util.handleIllegalPlayerAction(this, "Player " + getName() + " has invalid skill " + skill.getName() + " (" + skill.getId() + "/" + skill.getLevel() + "), class:" + ClassListData.getInstance().getClass(getClassId()).getClassName(), IllegalActionPunishmentType.BROADCAST);
						if (Config.SKILL_CHECK_REMOVE)
						{
							removeSkill(skill);
						}
					}
				}
			}
		}
		catch (Exception e)
		{
			LOGGER.log(Level.WARNING, "Could not restore character " + this + " skills: " + e.getMessage(), e);
		}
	}

 

Link to comment
Share on other sites

  • 0

yes this is what it does but you need to make it run when players get class changed , you need to search for "public boolean setActiveClass(int classIndex)" or something like this fiind exact moment when class is changed and after that add 

checkAllowedSkills(); or  restoreSkills();

 

i try to help you but i have 0 experience in substack type servers

 

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share



  • Posts

    • 1. И где в твоей ссылки из словаря написано что войну объявляет нападавшая сторона? Ты в глаза долбишься? Термин война используют только на Украине и на Западе. В РФ это называется СВО. Я хз почему войну не объявили, наверное чтобы тебе в твой жилой подвал калибр не прилетел.  В РФ объявлена ЧАСТИЧНАЯ мобилизация, не полная. Так что уже хз какой раз подписал себя под пиздабола. Вздернись на своих трусах на колокольне, не позорься.   2. Интерьвью Зели -  Либо он тут синий, либо наркоман. Посмотри на его глаза и как он губы облизывает. Характерный признак накуренного торчка. 3. Про украниских марионеток писал не ты, а твоя подруга - выше по сообщениям поищи. Ну да, к таким авторитетным изданиям по умолчанию огромный кредит доверия. 4. И что же там не так? Монтаж пробирки с солью?  5. Так тетка врала или нет? Как ты красиво слился с темы, понял что тебя носом в дерьмо ткнули и решил просто отделать отпиской.  Про военкомат я тебя лично имел ввиду. Ты вначале пиздел "я ходил лично, мне сказали мест нет". Видимо забыл про своё пиздабольство.  И про все остальное. Я даже комментировать этот высер не хочу. Наснимали дешевые фейки, записали захваченные переговоры с идеальной связью и выдали за перехват. Дешевый театр дырявых актеров. Я хз как можно быть таким отбитым, тебе в лицо врут ваши "власти", а с удовольствием запихиваешь это дерьмо себе в рот, да еще и добавки просишь.     
    • How to change open  Community Board from lvl 6 to lvl 1)
    • Как обстоят дела в Украине?    Любые обновления?
    • Я к тому и говорю что твое мышление настолько узкое что ты пытаешься оправдываться теми же терминами что говорят твои же соратники, это дает ощущение что у вас один мозг на всех и вы как мантры задаете одни и те же вопросы. Естественно приходиться давать одни и те же ответы на них. 1. Война: Война объявляться нападавшей стороной а не защищайся, другое дело если вы напали без объявления войны это не значит что нападение не считается войной. Идет противоборство вооруженных сил двух стран. Это и есть война. На узкий, почитай свой толковый словарь на досуге. https://slovarozhegova.ru/word.php?wordid=3653#:~:text=ВОЙНА%2C -ы%2C мн.,народами%2C между классами внутри государства. Другой вопрос почему вы не обвили войну? Ссытесь? Хоть и мобилизация идет полная. Че ссать то? Да потому что не выгодно. 2. Наркоман: С чего ты взял что он наркоман? Скарабеевский дипфейк с рашитудей я видел, его быстро развенчали оригиналом видео. У вас вообще каловый коллекционер сидит. Мы же не называем вашего плешивого каловым магнатом пока не посмотрим в его чемоданчик. Правильно? Когда это состоится официально то дадим знать. 3. Ты сейчас пытаешься перекрутить все факты чтоб затем высосать что либо из пальца чтоб затем было легче переобуться. Не получиться, я не когда не писал что правда едет с запада, я писал о том что есть авторитетные мировые издания которые естественно берут информацию от разведок США, Великобритании и не только. Я не когда не писал что Америка воюет руками Украинцев, это ваша мантра. Запад нам помогает оружием чтоб противостоять идиотам. За это им большое спасибо. Почему же вы не напали на США до сих пор? Ссыте? 4. Ирак: Ты бы посмотрел полное видео и без русского перевода, может бы понял насколько ваша пропаганда пудрит вам мозг. 5. Тетка: Для того чтоб апеллировать фактами ты даже не удосужился запомнить имя "тетки" о чем можно говорить с деревенским идиотом? А что не так с военкоматами? Я же уже утер тебе нос вашим видео которое вы выдали за Украинское с погоней за призывником. 6. Посмотри нытье стрелкова, посмотри что говорят сторонники путина, вас же и будут ебать кадыровци "Дайте дорогу молодым волкам а еще лучше зрелому льву" :D. Это все уже происходит, но тебе деревенскому узко-мыслящему орку пока ещё не возможно это осознать. 7. Ладно небольшие проблемы с обеспечением, но у вас они просто сдохнут в окопах от голода и холода, молчу про медицину она вообще 0, все уже видели видео про червей в ране у солдата. А чего только стоят рассказы в перехватах. Ну чебе же узколобому это не интересно, это все фейк и ты внеполитики. Потом не удивляйся почему все так и кто вас предал, и почему тебя как бомжа кинули в окоп. 8. Это вы вцепились за вырезанную фразу из контекста, который сами же себе и перекрутили. Но по факту все что он говорил все исполнилось. И продолжает исполняться. Так что закупай себе тампоны и прокладки, хотя бы самые дешевые, там подруга лично с чечни знает.  
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock