Premium DemOnJR 564 Posted April 11, 2020 Premium Share Posted April 11, 2020 (edited) Hi, i found this bug: how can i fix it? Edited August 25, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
Honorable Member Owsap 8174 Posted April 11, 2020 Honorable Member Share Posted April 11, 2020 (edited) If you are referring to the cooldown overlay try this at uiCharacter.py Spoiler ## Skill Process def __RefreshSkillPage(self, name, slotCount): global SHOW_LIMIT_SUPPORT_SKILL_LIST skillPage = self.skillPageDict[name] startSlotIndex = skillPage.GetStartIndex() if "ACTIVE" == name: if self.PAGE_HORSE == self.curSelectedSkillGroup: startSlotIndex += slotCount getSkillType = skill.GetSkillType getSkillIndex = player.GetSkillIndex getSkillGrade = player.GetSkillGrade getSkillLevel = player.GetSkillLevel getSkillLevelUpPoint = skill.GetSkillLevelUpPoint getSkillMaxLevel = skill.GetSkillMaxLevel for i in xrange(slotCount + 1): slotIndex = i + startSlotIndex skillIndex = getSkillIndex(slotIndex) for j in xrange(skill.SKILL_GRADE_COUNT): skillPage.ClearSlot(self.__GetRealSkillSlot(j, i)) if 0 == skillIndex: continue skillGrade = getSkillGrade(slotIndex) skillLevel = getSkillLevel(slotIndex) skillType = getSkillType(skillIndex) ## 승마 스킬 예외 처리 if player.SKILL_INDEX_RIDING == skillIndex: if skillGrade == 1: skillLevel += 19 elif skillGrade == 2: skillLevel += 29 elif skillGrade == 3: skillLevel = 40 skillPage.SetSkillSlotNew(slotIndex, skillIndex, max(skillLevel - 1, 0), skillLevel) skillPage.SetSlotCount(slotIndex, skillLevel) ## ACTIVE elif skill.SKILL_TYPE_ACTIVE == skillType: for j in xrange(skill.SKILL_GRADE_COUNT): realSlotIndex = self.__GetRealSkillSlot(j, slotIndex) skillPage.SetSkillSlotNew(realSlotIndex, skillIndex, j, skillLevel) skillPage.SetCoverButton(realSlotIndex) if (skillGrade == skill.SKILL_GRADE_COUNT) and j == (skill.SKILL_GRADE_COUNT-1): skillPage.SetSlotCountNew(realSlotIndex, skillGrade, skillLevel) elif (not self.__CanUseSkillNow()) or (skillGrade != j): skillPage.SetSlotCount(realSlotIndex, 0) skillPage.DisableCoverButton(realSlotIndex) skillPage.DeactivateSlot(realSlotIndex) # hotfix else: skillPage.SetSlotCountNew(realSlotIndex, skillGrade, skillLevel) if player.IsSkillActive(slotIndex) and (skillGrade == j): # hotfix skillPage.ActivateSlot(realSlotIndex) ## 그외 else: if not SHOW_LIMIT_SUPPORT_SKILL_LIST or skillIndex in SHOW_LIMIT_SUPPORT_SKILL_LIST: realSlotIndex = self.__GetETCSkillRealSlotIndex(slotIndex) skillPage.SetSkillSlot(realSlotIndex, skillIndex, skillLevel) skillPage.SetSlotCountNew(realSlotIndex, skillGrade, skillLevel) if skill.CanUseSkill(skillIndex): skillPage.SetCoverButton(realSlotIndex) if player.IsSkillActive(slotIndex): # hotfix skillPage.ActivateSlot(realSlotIndex) else: skillPage.DeactivateSlot(realSlotIndex) skillPage.RefreshSlot() ## 쿨 타임 복원 self.__RestoreSlotCoolTime(skillPage) External https://metin2.dev/bin/?c759ae9399ec0b7e#6tcuSnWDsM5mG9aWDgNqrhMtqwwbDZNVahyaiSWpW3nn Edited April 11, 2020 by Owsap 1 https://owsap.dev/ / https://osf.owsap.dev/ Link to comment Share on other sites More sharing options...
Premium DemOnJR 564 Posted April 11, 2020 Author Premium Share Posted April 11, 2020 1 hour ago, Owsap said: If you are referring to the cooldown overlay try this at uiCharacter.py Reveal hidden contents ## Skill Process def __RefreshSkillPage(self, name, slotCount): global SHOW_LIMIT_SUPPORT_SKILL_LIST skillPage = self.skillPageDict[name] startSlotIndex = skillPage.GetStartIndex() if "ACTIVE" == name: if self.PAGE_HORSE == self.curSelectedSkillGroup: startSlotIndex += slotCount getSkillType = skill.GetSkillType getSkillIndex = player.GetSkillIndex getSkillGrade = player.GetSkillGrade getSkillLevel = player.GetSkillLevel getSkillLevelUpPoint = skill.GetSkillLevelUpPoint getSkillMaxLevel = skill.GetSkillMaxLevel for i in xrange(slotCount + 1): slotIndex = i + startSlotIndex skillIndex = getSkillIndex(slotIndex) for j in xrange(skill.SKILL_GRADE_COUNT): skillPage.ClearSlot(self.__GetRealSkillSlot(j, i)) if 0 == skillIndex: continue skillGrade = getSkillGrade(slotIndex) skillLevel = getSkillLevel(slotIndex) skillType = getSkillType(skillIndex) ## 승마 스킬 예외 처리 if player.SKILL_INDEX_RIDING == skillIndex: if skillGrade == 1: skillLevel += 19 elif skillGrade == 2: skillLevel += 29 elif skillGrade == 3: skillLevel = 40 skillPage.SetSkillSlotNew(slotIndex, skillIndex, max(skillLevel - 1, 0), skillLevel) skillPage.SetSlotCount(slotIndex, skillLevel) ## ACTIVE elif skill.SKILL_TYPE_ACTIVE == skillType: for j in xrange(skill.SKILL_GRADE_COUNT): realSlotIndex = self.__GetRealSkillSlot(j, slotIndex) skillPage.SetSkillSlotNew(realSlotIndex, skillIndex, j, skillLevel) skillPage.SetCoverButton(realSlotIndex) if (skillGrade == skill.SKILL_GRADE_COUNT) and j == (skill.SKILL_GRADE_COUNT-1): skillPage.SetSlotCountNew(realSlotIndex, skillGrade, skillLevel) elif (not self.__CanUseSkillNow()) or (skillGrade != j): skillPage.SetSlotCount(realSlotIndex, 0) skillPage.DisableCoverButton(realSlotIndex) skillPage.DeactivateSlot(realSlotIndex) # hotfix else: skillPage.SetSlotCountNew(realSlotIndex, skillGrade, skillLevel) if player.IsSkillActive(slotIndex) and (skillGrade == j): # hotfix skillPage.ActivateSlot(realSlotIndex) ## 그외 else: if not SHOW_LIMIT_SUPPORT_SKILL_LIST or skillIndex in SHOW_LIMIT_SUPPORT_SKILL_LIST: realSlotIndex = self.__GetETCSkillRealSlotIndex(slotIndex) skillPage.SetSkillSlot(realSlotIndex, skillIndex, skillLevel) skillPage.SetSlotCountNew(realSlotIndex, skillGrade, skillLevel) if skill.CanUseSkill(skillIndex): skillPage.SetCoverButton(realSlotIndex) if player.IsSkillActive(slotIndex): # hotfix skillPage.ActivateSlot(realSlotIndex) else: skillPage.DeactivateSlot(realSlotIndex) skillPage.RefreshSlot() ## 쿨 타임 복원 self.__RestoreSlotCoolTime(skillPage) ## Skill Process def __RefreshSkillPage(self, name, slotCount): global SHOW_LIMIT_SUPPORT_SKILL_LIST skillPage = self.skillPageDict[name] startSlotIndex = skillPage.GetStartIndex() if "ACTIVE" == name: if self.PAGE_HORSE == self.curSelectedSkillGroup: startSlotIndex += slotCount getSkillType = skill.GetSkillType getSkillIndex = player.GetSkillIndex getSkillGrade = player.GetSkillGrade getSkillLevel = player.GetSkillLevel getSkillLevelUpPoint = skill.GetSkillLevelUpPoint getSkillMaxLevel = skill.GetSkillMaxLevel for i in xrange(slotCount + 1): slotIndex = i + startSlotIndex skillIndex = getSkillIndex(slotIndex) for j in xrange(skill.SKILL_GRADE_COUNT): skillPage.ClearSlot(self.__GetRealSkillSlot(j, i)) if 0 == skillIndex: continue skillGrade = getSkillGrade(slotIndex) skillLevel = getSkillLevel(slotIndex) skillType = getSkillType(skillIndex) ## 승마 스킬 예외 처리 if player.SKILL_INDEX_RIDING == skillIndex: if skillGrade == 1: skillLevel += 19 elif skillGrade == 2: skillLevel += 29 elif skillGrade == 3: skillLevel = 40 skillPage.SetSkillSlotNew(slotIndex, skillIndex, max(skillLevel - 1, 0), skillLevel) skillPage.SetSlotCount(slotIndex, skillLevel) ## ACTIVE elif skill.SKILL_TYPE_ACTIVE == skillType: for j in xrange(skill.SKILL_GRADE_COUNT): realSlotIndex = self.__GetRealSkillSlot(j, slotIndex) skillPage.SetSkillSlotNew(realSlotIndex, skillIndex, j, skillLevel) skillPage.SetCoverButton(realSlotIndex) if (skillGrade == skill.SKILL_GRADE_COUNT) and j == (skill.SKILL_GRADE_COUNT-1): skillPage.SetSlotCountNew(realSlotIndex, skillGrade, skillLevel) elif (not self.__CanUseSkillNow()) or (skillGrade != j): skillPage.SetSlotCount(realSlotIndex, 0) skillPage.DisableCoverButton(realSlotIndex) skillPage.DeactivateSlot(realSlotIndex) # hotfix else: skillPage.SetSlotCountNew(realSlotIndex, skillGrade, skillLevel) if player.IsSkillActive(slotIndex) and (skillGrade == j): # hotfix skillPage.ActivateSlot(realSlotIndex) ## 그외 else: if not SHOW_LIMIT_SUPPORT_SKILL_LIST or skillIndex in SHOW_LIMIT_SUPPORT_SKILL_LIST: realSlotIndex = self.__GetETCSkillRealSlotIndex(slotIndex) skillPage.SetSkillSlot(realSlotIndex, skillIndex, skillLevel) skillPage.SetSlotCountNew(realSlotIndex, skillGrade, skillLevel) if skill.CanUseSkill(skillIndex): skillPage.SetCoverButton(realSlotIndex) if player.IsSkillActive(slotIndex): # hotfix skillPage.ActivateSlot(realSlotIndex) else: skillPage.DeactivateSlot(realSlotIndex) skillPage.RefreshSlot() ## 쿨 타임 복원 self.__RestoreSlotCoolTime(skillPage) External https://metin2.dev/bin/?c759ae9399ec0b7e#6tcuSnWDsM5mG9aWDgNqrhMtqwwbDZNVahyaiSWpW3nn yes the effect cooldown overlay Link to comment Share on other sites More sharing options...
Premium DemOnJR 564 Posted April 11, 2020 Author Premium Share Posted April 11, 2020 (edited) EDIT: 1 when someone kill me the effect still remain: 2 after the time expires the effect remains SOLVED, I left it that way and set default start from G @Owsap Edited August 25, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now