Jump to content

Recommended Posts

  • Honorable Member

Reversed from 22.2.7.0 Official Binary

Client part is from 2018 Official Root

This is the hidden content, please

This is the hidden content, please

 

 

  • Metin2 Dev 284
  • Eyes 3
  • Good 66
  • Love 9
  • Love 136

 

Link to comment
https://metin2.dev/topic/30589-official-environment-effect-options-reversed/
Share on other sites

The system is not working for me. It works for you, but the system does not work. Now, the systems you have started to have problems.

Sorry Mali. I had to restore backups.

  • Eyes 1
  • Confused 2
  • Lmao 1
  • Love 1
  • Honorable Member
47 minutes ago, BadRomani said:

The system is not working for me. It works for you, but the system does not work. Now, the systems you have started to have problems.

Sorry Mali. I had to restore backups.

no pls use my systems

  • Lmao 6
  • Good 1

 

57 minutes ago, Mali said:

no pls use my systems

oh brother, i won't disparage you. I like your works. I'm sorry if I spoke wrong english. I use your systems and I love you. I just said that your system is not working on my files so I restored the backups.

  • Lmao 1

my syserr:

0327 13:09:21194 ::   File "uiSystemOption.py", line 217, in __Load

0327 13:09:21194 :: AttributeError
0327 13:09:21194 :: : 
0327 13:09:21194 :: 'OptionDialog' object has no attribute '_OptionDialog__OnClickNightModeOffButton'

my uisystemoption.py

Spoiler
import dbg
import ui
import snd
import systemSetting
import net
import chat
import app
import localeInfo
import constInfo
import chrmgr
import player
import musicInfo

import uiSelectMusic
import background

if app.__BL_GRAPHIC_ON_OFF__:
	import grp
    
if app.__BL_ENVIRONMENT_EFFECT_OPTION__:
	import uiPhaseCurtain

MUSIC_FILENAME_MAX_LEN = 25

blockMode = 0

class OptionDialog(ui.ScriptWindow):

	def __init__(self):
		ui.ScriptWindow.__init__(self)
		self.__Initialize()
		self.__Load()
		if app.__BL_ENVIRONMENT_EFFECT_OPTION__:
			self.curtain = uiPhaseCurtain.PhaseCurtain()
			self.curtain.speed = 0.03
			self.curtain.Hide()

	def __del__(self):
		ui.ScriptWindow.__del__(self)
		print " -------------------------------------- DELETE SYSTEM OPTION DIALOG"

	def __Initialize(self):
		self.tilingMode = 0
		self.titleBar = 0
		self.changeMusicButton = 0
		self.selectMusicFile = 0
		self.ctrlMusicVolume = 0
		self.ctrlSoundVolume = 0
		self.musicListDlg = 0
		self.tilingApplyButton = 0
		self.cameraModeButtonList = []
		self.fogModeButtonList = []
		self.tilingModeButtonList = []
		if app.__BL_SHADOW_RENDER_QUALITY_OPTION__:
			self.shadowTargetLevelButtonList = []
			self.shadowQualityLevelButtonList = []
		else:
			self.ctrlShadowQuality = 0
		if app.__BL_ENVIRONMENT_EFFECT_OPTION__:
			self.nightModeButtonList		= []
			self.snowModeButtonList			= []
			self.snowTextureModeButtonList	= []
		if app.__BL_GRAPHIC_ON_OFF__:
			self.effectOnOffButtonList = []
			self.privateshopOnOffButtonList = []
			self.itemdropOnOffButtonList = []
			self.petOnOffButtonList = []
			self.npcnameOnOffButtonList = []
			self.effectApplyButton = None
			self.privateshopApplyButton = None
			self.itemdropApplyButton = None
		if app.__BL_FOG_FIX__:
			self.fogButtonList	= []
		
	def Destroy(self):
		self.ClearDictionary()

		self.__Initialize()
		print " -------------------------------------- DESTROY SYSTEM OPTION DIALOG"

	def __Load_LoadScript(self, fileName):
		try:
			pyScriptLoader = ui.PythonScriptLoader()
			pyScriptLoader.LoadScriptFile(self, fileName)
		except:
			import exception
			exception.Abort("System.OptionDialog.__Load_LoadScript")

	def __Load_BindObject(self):
		try:
			GetObject = self.GetChild
			self.titleBar = GetObject("titlebar")
			self.selectMusicFile = GetObject("bgm_file")
			self.changeMusicButton = GetObject("bgm_button")
			self.ctrlMusicVolume = GetObject("music_volume_controller")
			self.ctrlSoundVolume = GetObject("sound_volume_controller")			
			self.cameraModeButtonList.append(GetObject("camera_short"))
			self.cameraModeButtonList.append(GetObject("camera_long"))
			if app.__BL_FOG_FIX__:
				self.fogButtonList.append(GetObject("fog_off"))
				self.fogButtonList.append(GetObject("fog_on"))
			else:
				self.fogModeButtonList.append(GetObject("fog_level0"))
				self.fogModeButtonList.append(GetObject("fog_level1"))
				self.fogModeButtonList.append(GetObject("fog_level2"))
			self.tilingModeButtonList.append(GetObject("tiling_cpu"))
			self.tilingModeButtonList.append(GetObject("tiling_gpu"))
			self.tilingApplyButton=GetObject("tiling_apply")
			if app.__BL_ENVIRONMENT_EFFECT_OPTION__:
				self.nightModeButtonList.append(GetObject("night_mode_off"))
				self.nightModeButtonList.append(GetObject("night_mode_on"))
				self.snowModeButtonList.append(GetObject("snow_mode_off"))
				self.snowModeButtonList.append(GetObject("snow_mode_on"))
				self.snowTextureModeButtonList.append(GetObject("snow_texture_mode_off"))
				self.snowTextureModeButtonList.append(GetObject("snow_texture_mode_on"))
			if app.__BL_GRAPHIC_ON_OFF__:
				for i in range(5):
					self.effectOnOffButtonList.append(GetObject("effect_level{}".format(i + 1)))
					self.privateshopOnOffButtonList.append(GetObject("privateShop_level{}".format(i + 1)))
					self.itemdropOnOffButtonList.append(GetObject("dropItem_level{}".format(i + 1)))

				self.petOnOffButtonList.append(GetObject("pet_on"))
				self.petOnOffButtonList.append(GetObject("pet_off"))

				self.npcnameOnOffButtonList.append(GetObject("npcName_on"))
				self.npcnameOnOffButtonList.append(GetObject("npcName_off"))

				self.effectApplyButton = GetObject("effect_apply")
				self.privateshopApplyButton = GetObject("privateShop_apply")
				self.itemdropApplyButton = GetObject("dropItem_apply")
			#self.ctrlShadowQuality = GetObject("shadow_bar")
			if app.__BL_SHADOW_RENDER_QUALITY_OPTION__:
				self.shadowTargetLevelButtonList.append(GetObject("shadow_target_none"))
				self.shadowTargetLevelButtonList.append(GetObject("shadow_target_ground"))
				self.shadowTargetLevelButtonList.append(GetObject("shadow_target_ground_and_solo"))
				self.shadowTargetLevelButtonList.append(GetObject("shadow_target_all"))

				self.shadowQualityLevelButtonList.append(GetObject("shadow_quality_bad"))
				self.shadowQualityLevelButtonList.append(GetObject("shadow_quality_average"))
				self.shadowQualityLevelButtonList.append(GetObject("shadow_quality_good"))
		except:
			import exception
			exception.Abort("OptionDialog.__Load_BindObject")

	def __Load(self):
		self.__Load_LoadScript("uiscript/systemoptiondialog.py")
		self.__Load_BindObject()

		self.SetCenterPosition()
		
		self.titleBar.SetCloseEvent(ui.__mem_func__(self.Close))

		self.ctrlMusicVolume.SetSliderPos(float(systemSetting.GetMusicVolume()))
		self.ctrlMusicVolume.SetEvent(ui.__mem_func__(self.OnChangeMusicVolume))

		self.ctrlSoundVolume.SetSliderPos(float(systemSetting.GetSoundVolume()) / 5.0)
		self.ctrlSoundVolume.SetEvent(ui.__mem_func__(self.OnChangeSoundVolume))

#		self.ctrlShadowQuality.SetSliderPos(float(systemSetting.GetShadowLevel()) / 5.0)
		if app.__BL_SHADOW_RENDER_QUALITY_OPTION__:
			for i, btn in enumerate(self.shadowTargetLevelButtonList):
				btn.SAFE_SetEvent(self.__OnClickShadowTargetLevelButton, i)
			
			for i, btn in enumerate(self.shadowQualityLevelButtonList):
				btn.SAFE_SetEvent(self.__OnClickShadowQualityLevelButton, i)
			
			self.__ClickRadioButton(self.shadowTargetLevelButtonList, systemSetting.GetShadowTargetLevel())
			self.__ClickRadioButton(self.shadowQualityLevelButtonList, systemSetting.GetShadowQualityLevel())

		self.changeMusicButton.SAFE_SetEvent(self.__OnClickChangeMusicButton)

		self.cameraModeButtonList[0].SAFE_SetEvent(self.__OnClickCameraModeShortButton)
		self.cameraModeButtonList[1].SAFE_SetEvent(self.__OnClickCameraModeLongButton)

		if app.__BL_FOG_FIX__:
			self.fogButtonList[0].SAFE_SetEvent(self.__OnClickFogModeOffButton)
			self.fogButtonList[1].SAFE_SetEvent(self.__OnClickFogModeOnButton)
		else:
			self.fogModeButtonList[0].SAFE_SetEvent(self.__OnClickFogModeLevel0Button)
			self.fogModeButtonList[1].SAFE_SetEvent(self.__OnClickFogModeLevel1Button)
			self.fogModeButtonList[2].SAFE_SetEvent(self.__OnClickFogModeLevel2Button)

		self.tilingModeButtonList[0].SAFE_SetEvent(self.__OnClickTilingModeCPUButton)
		self.tilingModeButtonList[1].SAFE_SetEvent(self.__OnClickTilingModeGPUButton)
        
		if app.__BL_GRAPHIC_ON_OFF__:
			for i, btn in enumerate(self.effectOnOffButtonList):
				btn.SAFE_SetEvent(self.__OnClickEffectOnOffButton, i)
			for i, btn in enumerate(self.privateshopOnOffButtonList):
				btn.SAFE_SetEvent(self.__OnClickPrivateShopOnOffButton, i)
			for i, btn in enumerate(self.itemdropOnOffButtonList):
				btn.SAFE_SetEvent(self.__OnClickItemDropOnOffButton, i)

			self.petOnOffButtonList[0].SAFE_SetEvent(self.__OnClickPetOnOffButton, 0)
			self.petOnOffButtonList[1].SAFE_SetEvent(self.__OnClickPetOnOffButton, 1)

			self.npcnameOnOffButtonList[0].SAFE_SetEvent(self.__OnClickNPCNameOnOffButton, 0)
			self.npcnameOnOffButtonList[1].SAFE_SetEvent(self.__OnClickNPCNameOnOffButton, 1)

			self.effectApplyButton.SAFE_SetEvent(self.__OnClickApplyEffectOnOffButton)
			self.privateshopApplyButton.SAFE_SetEvent(self.__OnClickApplyPrivateShopOnOffButton)
			self.itemdropApplyButton.SAFE_SetEvent(self.__OnClickApplyItemDropOnOffButton)

			self.__ClickRadioButton(self.effectOnOffButtonList, grp.GetEffectOnOffLevel())
			self.__ClickRadioButton(self.privateshopOnOffButtonList, grp.GetPrivateShopOnOffLevel())
			self.__ClickRadioButton(self.itemdropOnOffButtonList, grp.GetDropItemOnOffLevel())
			self.__ClickRadioButton(self.petOnOffButtonList, grp.GetPetOnOffStatus())
			self.__ClickRadioButton(self.npcnameOnOffButtonList, grp.GetNPCNameOnOffStatus())

		self.tilingApplyButton.SAFE_SetEvent(self.__OnClickTilingApplyButton)

		self.__SetCurTilingMode()

		self.__ClickRadioButton(self.fogModeButtonList, constInfo.GET_FOG_LEVEL_INDEX())
		self.__ClickRadioButton(self.cameraModeButtonList, constInfo.GET_CAMERA_MAX_DISTANCE_INDEX())
		if app.__BL_ENVIRONMENT_EFFECT_OPTION__:
			self.nightModeButtonList[0].SAFE_SetEvent(self.__OnClickNightModeOffButton)
			self.nightModeButtonList[1].SAFE_SetEvent(self.__OnClickNightModeOnButton)
			self.__InitNightModeOption()
			
			self.snowModeButtonList[0].SAFE_SetEvent(self.__OnClickSnowModeOffButton)
			self.snowModeButtonList[1].SAFE_SetEvent(self.__OnClickSnowModeOnButton)
			self.__InitSnowModeOption()
			
			self.snowTextureModeButtonList[0].SAFE_SetEvent(self.__OnClickSnowTextureModeOffButton)
			self.snowTextureModeButtonList[1].SAFE_SetEvent(self.__OnClickSnowTextureModeOnButton)		
			self.__InitSnowTextureModeOption()
        
		if app.__BL_FOG_FIX__:
			self.__ClickRadioButton(self.fogButtonList, background.GetFogMode())

		if musicInfo.fieldMusic==musicInfo.METIN2THEMA:
			self.selectMusicFile.SetText(uiSelectMusic.DEFAULT_THEMA)
		else:
			self.selectMusicFile.SetText(musicInfo.fieldMusic[:MUSIC_FILENAME_MAX_LEN])

	def __OnClickTilingModeCPUButton(self):
		self.__NotifyChatLine(localeInfo.SYSTEM_OPTION_CPU_TILING_1)
		self.__NotifyChatLine(localeInfo.SYSTEM_OPTION_CPU_TILING_2)
		self.__NotifyChatLine(localeInfo.SYSTEM_OPTION_CPU_TILING_3)
		self.__SetTilingMode(0)

	def __OnClickTilingModeGPUButton(self):
		self.__NotifyChatLine(localeInfo.SYSTEM_OPTION_GPU_TILING_1)
		self.__NotifyChatLine(localeInfo.SYSTEM_OPTION_GPU_TILING_2)
		self.__NotifyChatLine(localeInfo.SYSTEM_OPTION_GPU_TILING_3)
		self.__SetTilingMode(1)

	def __OnClickTilingApplyButton(self):
		self.__NotifyChatLine(localeInfo.SYSTEM_OPTION_TILING_EXIT)
		if 0==self.tilingMode:
			background.EnableSoftwareTiling(1)
		else:
			background.EnableSoftwareTiling(0)

		net.ExitGame()

	def __OnClickChangeMusicButton(self):
		if not self.musicListDlg:
			
			self.musicListDlg=uiSelectMusic.FileListDialog()
			self.musicListDlg.SAFE_SetSelectEvent(self.__OnChangeMusic)

		self.musicListDlg.Open()

		
	def __ClickRadioButton(self, buttonList, buttonIndex):
		try:
			selButton=buttonList[buttonIndex]
		except IndexError:
			return

		for eachButton in buttonList:
			eachButton.SetUp()

		selButton.Down()


	def __SetTilingMode(self, index):
		self.__ClickRadioButton(self.tilingModeButtonList, index)
		self.tilingMode=index

	def __SetCameraMode(self, index):
		constInfo.SET_CAMERA_MAX_DISTANCE_INDEX(index)
		self.__ClickRadioButton(self.cameraModeButtonList, index)

	def __SetFogLevel(self, index):
		constInfo.SET_FOG_LEVEL_INDEX(index)
		self.__ClickRadioButton(self.fogModeButtonList, index)

	def __OnClickCameraModeShortButton(self):
		self.__SetCameraMode(0)

	def __OnClickCameraModeLongButton(self):
		self.__SetCameraMode(1)

	def __OnClickFogModeLevel0Button(self):
		self.__SetFogLevel(0)

	def __OnClickFogModeLevel1Button(self):
		self.__SetFogLevel(1)

	def __OnClickFogModeLevel2Button(self):
		self.__SetFogLevel(2)
        
	if app.__BL_SHADOW_RENDER_QUALITY_OPTION__:
		def __OnClickShadowTargetLevelButton(self, i):
			systemSetting.SetShadowTargetLevel(i)
			self.__ClickRadioButton(self.shadowTargetLevelButtonList, i)

		def __OnClickShadowQualityLevelButton(self, i):
			systemSetting.SetShadowQualityLevel(i)
			self.__ClickRadioButton(self.shadowQualityLevelButtonList, i)
        
	if app.__BL_GRAPHIC_ON_OFF__:
		def __OnClickEffectOnOffButton(self, i):
			self.__ClickRadioButton(self.effectOnOffButtonList, i)

		def __OnClickPrivateShopOnOffButton(self, i):
			self.__ClickRadioButton(self.privateshopOnOffButtonList, i)

		def __OnClickItemDropOnOffButton(self, i):
			self.__ClickRadioButton(self.itemdropOnOffButtonList, i)

		def __OnClickPetOnOffButton(self, i):
			self.__ClickRadioButton(self.petOnOffButtonList, i)
			grp.SetPetOnOffStatus(i)

		def __OnClickNPCNameOnOffButton(self, i):
			self.__ClickRadioButton(self.npcnameOnOffButtonList, i)
			grp.SetNPCNameOnOffStatus(i)

		def __OnClickApplyEffectOnOffButton(self):
			for i, btn in enumerate(self.effectOnOffButtonList):
				if btn.IsDown():
					grp.SetEffectOnOffLevel(i)
					break
		
		def __OnClickApplyPrivateShopOnOffButton(self):
			for i, btn in enumerate(self.privateshopOnOffButtonList):
				if btn.IsDown():
					grp.SetPrivateShopOnOffLevel(i)
					break

		def __OnClickApplyItemDropOnOffButton(self):
			for i, btn in enumerate(self.itemdropOnOffButtonList):
				if btn.IsDown():
					grp.SetDropItemOnOffLevel(i)
					break
        
	if app.__BL_FOG_FIX__:
		def __OnClickFogModeOnButton(self):
			background.SetFogMode(True)
			self.__ClickRadioButton(self.fogButtonList, 1)
		def __OnClickFogModeOffButton(self):
			background.SetFogMode(False)
			self.__ClickRadioButton(self.fogButtonList, 0)

	def __OnChangeMusic(self, fileName):
		self.selectMusicFile.SetText(fileName[:MUSIC_FILENAME_MAX_LEN])

		if musicInfo.fieldMusic != "":
			snd.FadeOutMusic("BGM/"+ musicInfo.fieldMusic)

		if fileName==uiSelectMusic.DEFAULT_THEMA:
			musicInfo.fieldMusic=musicInfo.METIN2THEMA
		else:
			musicInfo.fieldMusic=fileName

		musicInfo.SaveLastPlayFieldMusic()
		
		if musicInfo.fieldMusic != "":
			snd.FadeInMusic("BGM/" + musicInfo.fieldMusic)

	def OnChangeMusicVolume(self):
		pos = self.ctrlMusicVolume.GetSliderPos()
		snd.SetMusicVolume(pos * net.GetFieldMusicVolume())
		systemSetting.SetMusicVolume(pos)

	def OnChangeSoundVolume(self):
		pos = self.ctrlSoundVolume.GetSliderPos()
		snd.SetSoundVolumef(pos)
		systemSetting.SetSoundVolumef(pos)

	def OnChangeShadowQuality(self):
		pos = self.ctrlShadowQuality.GetSliderPos()
		systemSetting.SetShadowLevel(int(pos / 0.2))

	def OnCloseInputDialog(self):
		self.inputDialog.Close()
		self.inputDialog = None
		return True

	def OnCloseQuestionDialog(self):
		self.questionDialog.Close()
		self.questionDialog = None
		return True

	def OnPressEscapeKey(self):
		self.Close()
		return True
	
	def Show(self):
		ui.ScriptWindow.Show(self)

	def Close(self):
		self.__SetCurTilingMode()
		self.Hide()

	def __SetCurTilingMode(self):
		if background.IsSoftwareTiling():
			self.__SetTilingMode(0)
		else:
			self.__SetTilingMode(1)	

	def __NotifyChatLine(self, text):
		chat.AppendChat(chat.CHAT_TYPE_INFO, text)
		
if app.__BL_ENVIRONMENT_EFFECT_OPTION__:
		def __InitNightModeOption(self):
			self.NightModeOn		= systemSetting.GetNightModeOption()
			self.__ClickRadioButton(self.nightModeButtonList, self.NightModeOn)
			background.SetNightModeOption(self.NightModeOn)
			
		def __InitSnowModeOption(self):
			self.SnowModeOn	= systemSetting.GetSnowModeOption()
			self.__ClickRadioButton(self.snowModeButtonList, self.SnowModeOn)
			background.SetSnowModeOption(self.SnowModeOn)
	
		def __InitSnowTextureModeOption(self):
			self.SnowTextureModeOn	= systemSetting.GetSnowTextureModeOption()
			self.__ClickRadioButton(self.snowTextureModeButtonList, self.SnowTextureModeOn)
			background.SetSnowTextureModeOption(self.SnowTextureModeOn)			
			
		def __OnClickNightModeOffButton(self):
			self.__ClickRadioButton(self.nightModeButtonList, 0)
			self.__SetNightMode(0)
			
		def __OnClickNightModeOnButton(self):
			self.__ClickRadioButton(self.nightModeButtonList, 1)
			self.__SetNightMode(1)
			
		def __OnClickSnowModeOffButton(self):
			self.__ClickRadioButton(self.snowModeButtonList, 0)
			self.__SetSnowMode(0)
			
		def __OnClickSnowModeOnButton(self):
			self.__ClickRadioButton(self.snowModeButtonList, 1)
			self.__SetSnowMode(1)
			
		def __OnClickSnowTextureModeOffButton(self):
			self.__ClickRadioButton(self.snowTextureModeButtonList, 0)
			self.__SetSnowTextureMode(0)
			
		def __OnClickSnowTextureModeOnButton(self):
			self.__ClickRadioButton(self.snowTextureModeButtonList, 1)
			self.__SetSnowTextureMode(1)
			
		def __SetSnowMode(self, index):
			systemSetting.SetSnowModeOption(index)
			background.SetSnowModeOption(index)
			background.EnableSnowMode(index)
	
		def __SetSnowTextureMode(self, index):
			systemSetting.SetSnowTextureModeOption(index)
			background.SetSnowTextureModeOption(index)
			background.EnableSnowTextureMode()
	
		def __SetNightMode(self, index):
			systemSetting.SetNightModeOption(index)	
			background.SetNightModeOption(index)
			
			if not background.GetDayMode():
				return
				
			if not background.IsBoomMap():
				return
			
			if 1 == index:
				self.curtain.SAFE_FadeOut(self.__DayMode_OnCompleteChangeToDark)
			else:
				self.curtain.SAFE_FadeOut(self.__DayMode_OnCompleteChangeToLight)		
		
		def __DayMode_OnCompleteChangeToLight(self):
			background.ChangeEnvironmentData(0)
			self.curtain.FadeIn()
	
		def __DayMode_OnCompleteChangeToDark(self):		
			background.RegisterEnvironmentData(1, constInfo.ENVIRONMENT_NIGHT)
			background.ChangeEnvironmentData(1)
			self.curtain.FadeIn()

 

dont work for me. any idea? @ Mali

the systemoption does not open when i click ingame on them

Edited by Slappy
  • Honorable Member
12 minutes ago, Slappy said:

my syserr:

0327 13:09:21194 ::   File "uiSystemOption.py", line 217, in __Load

0327 13:09:21194 :: AttributeError
0327 13:09:21194 :: : 
0327 13:09:21194 :: 'OptionDialog' object has no attribute '_OptionDialog__OnClickNightModeOffButton'

my uisystemoption.py

  Reveal hidden contents
import dbg
import ui
import snd
import systemSetting
import net
import chat
import app
import localeInfo
import constInfo
import chrmgr
import player
import musicInfo

import uiSelectMusic
import background

if app.__BL_GRAPHIC_ON_OFF__:
	import grp
    
if app.__BL_ENVIRONMENT_EFFECT_OPTION__:
	import uiPhaseCurtain

MUSIC_FILENAME_MAX_LEN = 25

blockMode = 0

class OptionDialog(ui.ScriptWindow):

	def __init__(self):
		ui.ScriptWindow.__init__(self)
		self.__Initialize()
		self.__Load()
		if app.__BL_ENVIRONMENT_EFFECT_OPTION__:
			self.curtain = uiPhaseCurtain.PhaseCurtain()
			self.curtain.speed = 0.03
			self.curtain.Hide()

	def __del__(self):
		ui.ScriptWindow.__del__(self)
		print " -------------------------------------- DELETE SYSTEM OPTION DIALOG"

	def __Initialize(self):
		self.tilingMode = 0
		self.titleBar = 0
		self.changeMusicButton = 0
		self.selectMusicFile = 0
		self.ctrlMusicVolume = 0
		self.ctrlSoundVolume = 0
		self.musicListDlg = 0
		self.tilingApplyButton = 0
		self.cameraModeButtonList = []
		self.fogModeButtonList = []
		self.tilingModeButtonList = []
		if app.__BL_SHADOW_RENDER_QUALITY_OPTION__:
			self.shadowTargetLevelButtonList = []
			self.shadowQualityLevelButtonList = []
		else:
			self.ctrlShadowQuality = 0
		if app.__BL_ENVIRONMENT_EFFECT_OPTION__:
			self.nightModeButtonList		= []
			self.snowModeButtonList			= []
			self.snowTextureModeButtonList	= []
		if app.__BL_GRAPHIC_ON_OFF__:
			self.effectOnOffButtonList = []
			self.privateshopOnOffButtonList = []
			self.itemdropOnOffButtonList = []
			self.petOnOffButtonList = []
			self.npcnameOnOffButtonList = []
			self.effectApplyButton = None
			self.privateshopApplyButton = None
			self.itemdropApplyButton = None
		if app.__BL_FOG_FIX__:
			self.fogButtonList	= []
		
	def Destroy(self):
		self.ClearDictionary()

		self.__Initialize()
		print " -------------------------------------- DESTROY SYSTEM OPTION DIALOG"

	def __Load_LoadScript(self, fileName):
		try:
			pyScriptLoader = ui.PythonScriptLoader()
			pyScriptLoader.LoadScriptFile(self, fileName)
		except:
			import exception
			exception.Abort("System.OptionDialog.__Load_LoadScript")

	def __Load_BindObject(self):
		try:
			GetObject = self.GetChild
			self.titleBar = GetObject("titlebar")
			self.selectMusicFile = GetObject("bgm_file")
			self.changeMusicButton = GetObject("bgm_button")
			self.ctrlMusicVolume = GetObject("music_volume_controller")
			self.ctrlSoundVolume = GetObject("sound_volume_controller")			
			self.cameraModeButtonList.append(GetObject("camera_short"))
			self.cameraModeButtonList.append(GetObject("camera_long"))
			if app.__BL_FOG_FIX__:
				self.fogButtonList.append(GetObject("fog_off"))
				self.fogButtonList.append(GetObject("fog_on"))
			else:
				self.fogModeButtonList.append(GetObject("fog_level0"))
				self.fogModeButtonList.append(GetObject("fog_level1"))
				self.fogModeButtonList.append(GetObject("fog_level2"))
			self.tilingModeButtonList.append(GetObject("tiling_cpu"))
			self.tilingModeButtonList.append(GetObject("tiling_gpu"))
			self.tilingApplyButton=GetObject("tiling_apply")
			if app.__BL_ENVIRONMENT_EFFECT_OPTION__:
				self.nightModeButtonList.append(GetObject("night_mode_off"))
				self.nightModeButtonList.append(GetObject("night_mode_on"))
				self.snowModeButtonList.append(GetObject("snow_mode_off"))
				self.snowModeButtonList.append(GetObject("snow_mode_on"))
				self.snowTextureModeButtonList.append(GetObject("snow_texture_mode_off"))
				self.snowTextureModeButtonList.append(GetObject("snow_texture_mode_on"))
			if app.__BL_GRAPHIC_ON_OFF__:
				for i in range(5):
					self.effectOnOffButtonList.append(GetObject("effect_level{}".format(i + 1)))
					self.privateshopOnOffButtonList.append(GetObject("privateShop_level{}".format(i + 1)))
					self.itemdropOnOffButtonList.append(GetObject("dropItem_level{}".format(i + 1)))

				self.petOnOffButtonList.append(GetObject("pet_on"))
				self.petOnOffButtonList.append(GetObject("pet_off"))

				self.npcnameOnOffButtonList.append(GetObject("npcName_on"))
				self.npcnameOnOffButtonList.append(GetObject("npcName_off"))

				self.effectApplyButton = GetObject("effect_apply")
				self.privateshopApplyButton = GetObject("privateShop_apply")
				self.itemdropApplyButton = GetObject("dropItem_apply")
			#self.ctrlShadowQuality = GetObject("shadow_bar")
			if app.__BL_SHADOW_RENDER_QUALITY_OPTION__:
				self.shadowTargetLevelButtonList.append(GetObject("shadow_target_none"))
				self.shadowTargetLevelButtonList.append(GetObject("shadow_target_ground"))
				self.shadowTargetLevelButtonList.append(GetObject("shadow_target_ground_and_solo"))
				self.shadowTargetLevelButtonList.append(GetObject("shadow_target_all"))

				self.shadowQualityLevelButtonList.append(GetObject("shadow_quality_bad"))
				self.shadowQualityLevelButtonList.append(GetObject("shadow_quality_average"))
				self.shadowQualityLevelButtonList.append(GetObject("shadow_quality_good"))
		except:
			import exception
			exception.Abort("OptionDialog.__Load_BindObject")

	def __Load(self):
		self.__Load_LoadScript("uiscript/systemoptiondialog.py")
		self.__Load_BindObject()

		self.SetCenterPosition()
		
		self.titleBar.SetCloseEvent(ui.__mem_func__(self.Close))

		self.ctrlMusicVolume.SetSliderPos(float(systemSetting.GetMusicVolume()))
		self.ctrlMusicVolume.SetEvent(ui.__mem_func__(self.OnChangeMusicVolume))

		self.ctrlSoundVolume.SetSliderPos(float(systemSetting.GetSoundVolume()) / 5.0)
		self.ctrlSoundVolume.SetEvent(ui.__mem_func__(self.OnChangeSoundVolume))

#		self.ctrlShadowQuality.SetSliderPos(float(systemSetting.GetShadowLevel()) / 5.0)
		if app.__BL_SHADOW_RENDER_QUALITY_OPTION__:
			for i, btn in enumerate(self.shadowTargetLevelButtonList):
				btn.SAFE_SetEvent(self.__OnClickShadowTargetLevelButton, i)
			
			for i, btn in enumerate(self.shadowQualityLevelButtonList):
				btn.SAFE_SetEvent(self.__OnClickShadowQualityLevelButton, i)
			
			self.__ClickRadioButton(self.shadowTargetLevelButtonList, systemSetting.GetShadowTargetLevel())
			self.__ClickRadioButton(self.shadowQualityLevelButtonList, systemSetting.GetShadowQualityLevel())

		self.changeMusicButton.SAFE_SetEvent(self.__OnClickChangeMusicButton)

		self.cameraModeButtonList[0].SAFE_SetEvent(self.__OnClickCameraModeShortButton)
		self.cameraModeButtonList[1].SAFE_SetEvent(self.__OnClickCameraModeLongButton)

		if app.__BL_FOG_FIX__:
			self.fogButtonList[0].SAFE_SetEvent(self.__OnClickFogModeOffButton)
			self.fogButtonList[1].SAFE_SetEvent(self.__OnClickFogModeOnButton)
		else:
			self.fogModeButtonList[0].SAFE_SetEvent(self.__OnClickFogModeLevel0Button)
			self.fogModeButtonList[1].SAFE_SetEvent(self.__OnClickFogModeLevel1Button)
			self.fogModeButtonList[2].SAFE_SetEvent(self.__OnClickFogModeLevel2Button)

		self.tilingModeButtonList[0].SAFE_SetEvent(self.__OnClickTilingModeCPUButton)
		self.tilingModeButtonList[1].SAFE_SetEvent(self.__OnClickTilingModeGPUButton)
        
		if app.__BL_GRAPHIC_ON_OFF__:
			for i, btn in enumerate(self.effectOnOffButtonList):
				btn.SAFE_SetEvent(self.__OnClickEffectOnOffButton, i)
			for i, btn in enumerate(self.privateshopOnOffButtonList):
				btn.SAFE_SetEvent(self.__OnClickPrivateShopOnOffButton, i)
			for i, btn in enumerate(self.itemdropOnOffButtonList):
				btn.SAFE_SetEvent(self.__OnClickItemDropOnOffButton, i)

			self.petOnOffButtonList[0].SAFE_SetEvent(self.__OnClickPetOnOffButton, 0)
			self.petOnOffButtonList[1].SAFE_SetEvent(self.__OnClickPetOnOffButton, 1)

			self.npcnameOnOffButtonList[0].SAFE_SetEvent(self.__OnClickNPCNameOnOffButton, 0)
			self.npcnameOnOffButtonList[1].SAFE_SetEvent(self.__OnClickNPCNameOnOffButton, 1)

			self.effectApplyButton.SAFE_SetEvent(self.__OnClickApplyEffectOnOffButton)
			self.privateshopApplyButton.SAFE_SetEvent(self.__OnClickApplyPrivateShopOnOffButton)
			self.itemdropApplyButton.SAFE_SetEvent(self.__OnClickApplyItemDropOnOffButton)

			self.__ClickRadioButton(self.effectOnOffButtonList, grp.GetEffectOnOffLevel())
			self.__ClickRadioButton(self.privateshopOnOffButtonList, grp.GetPrivateShopOnOffLevel())
			self.__ClickRadioButton(self.itemdropOnOffButtonList, grp.GetDropItemOnOffLevel())
			self.__ClickRadioButton(self.petOnOffButtonList, grp.GetPetOnOffStatus())
			self.__ClickRadioButton(self.npcnameOnOffButtonList, grp.GetNPCNameOnOffStatus())

		self.tilingApplyButton.SAFE_SetEvent(self.__OnClickTilingApplyButton)

		self.__SetCurTilingMode()

		self.__ClickRadioButton(self.fogModeButtonList, constInfo.GET_FOG_LEVEL_INDEX())
		self.__ClickRadioButton(self.cameraModeButtonList, constInfo.GET_CAMERA_MAX_DISTANCE_INDEX())
		if app.__BL_ENVIRONMENT_EFFECT_OPTION__:
			self.nightModeButtonList[0].SAFE_SetEvent(self.__OnClickNightModeOffButton)
			self.nightModeButtonList[1].SAFE_SetEvent(self.__OnClickNightModeOnButton)
			self.__InitNightModeOption()
			
			self.snowModeButtonList[0].SAFE_SetEvent(self.__OnClickSnowModeOffButton)
			self.snowModeButtonList[1].SAFE_SetEvent(self.__OnClickSnowModeOnButton)
			self.__InitSnowModeOption()
			
			self.snowTextureModeButtonList[0].SAFE_SetEvent(self.__OnClickSnowTextureModeOffButton)
			self.snowTextureModeButtonList[1].SAFE_SetEvent(self.__OnClickSnowTextureModeOnButton)		
			self.__InitSnowTextureModeOption()
        
		if app.__BL_FOG_FIX__:
			self.__ClickRadioButton(self.fogButtonList, background.GetFogMode())

		if musicInfo.fieldMusic==musicInfo.METIN2THEMA:
			self.selectMusicFile.SetText(uiSelectMusic.DEFAULT_THEMA)
		else:
			self.selectMusicFile.SetText(musicInfo.fieldMusic[:MUSIC_FILENAME_MAX_LEN])

	def __OnClickTilingModeCPUButton(self):
		self.__NotifyChatLine(localeInfo.SYSTEM_OPTION_CPU_TILING_1)
		self.__NotifyChatLine(localeInfo.SYSTEM_OPTION_CPU_TILING_2)
		self.__NotifyChatLine(localeInfo.SYSTEM_OPTION_CPU_TILING_3)
		self.__SetTilingMode(0)

	def __OnClickTilingModeGPUButton(self):
		self.__NotifyChatLine(localeInfo.SYSTEM_OPTION_GPU_TILING_1)
		self.__NotifyChatLine(localeInfo.SYSTEM_OPTION_GPU_TILING_2)
		self.__NotifyChatLine(localeInfo.SYSTEM_OPTION_GPU_TILING_3)
		self.__SetTilingMode(1)

	def __OnClickTilingApplyButton(self):
		self.__NotifyChatLine(localeInfo.SYSTEM_OPTION_TILING_EXIT)
		if 0==self.tilingMode:
			background.EnableSoftwareTiling(1)
		else:
			background.EnableSoftwareTiling(0)

		net.ExitGame()

	def __OnClickChangeMusicButton(self):
		if not self.musicListDlg:
			
			self.musicListDlg=uiSelectMusic.FileListDialog()
			self.musicListDlg.SAFE_SetSelectEvent(self.__OnChangeMusic)

		self.musicListDlg.Open()

		
	def __ClickRadioButton(self, buttonList, buttonIndex):
		try:
			selButton=buttonList[buttonIndex]
		except IndexError:
			return

		for eachButton in buttonList:
			eachButton.SetUp()

		selButton.Down()


	def __SetTilingMode(self, index):
		self.__ClickRadioButton(self.tilingModeButtonList, index)
		self.tilingMode=index

	def __SetCameraMode(self, index):
		constInfo.SET_CAMERA_MAX_DISTANCE_INDEX(index)
		self.__ClickRadioButton(self.cameraModeButtonList, index)

	def __SetFogLevel(self, index):
		constInfo.SET_FOG_LEVEL_INDEX(index)
		self.__ClickRadioButton(self.fogModeButtonList, index)

	def __OnClickCameraModeShortButton(self):
		self.__SetCameraMode(0)

	def __OnClickCameraModeLongButton(self):
		self.__SetCameraMode(1)

	def __OnClickFogModeLevel0Button(self):
		self.__SetFogLevel(0)

	def __OnClickFogModeLevel1Button(self):
		self.__SetFogLevel(1)

	def __OnClickFogModeLevel2Button(self):
		self.__SetFogLevel(2)
        
	if app.__BL_SHADOW_RENDER_QUALITY_OPTION__:
		def __OnClickShadowTargetLevelButton(self, i):
			systemSetting.SetShadowTargetLevel(i)
			self.__ClickRadioButton(self.shadowTargetLevelButtonList, i)

		def __OnClickShadowQualityLevelButton(self, i):
			systemSetting.SetShadowQualityLevel(i)
			self.__ClickRadioButton(self.shadowQualityLevelButtonList, i)
        
	if app.__BL_GRAPHIC_ON_OFF__:
		def __OnClickEffectOnOffButton(self, i):
			self.__ClickRadioButton(self.effectOnOffButtonList, i)

		def __OnClickPrivateShopOnOffButton(self, i):
			self.__ClickRadioButton(self.privateshopOnOffButtonList, i)

		def __OnClickItemDropOnOffButton(self, i):
			self.__ClickRadioButton(self.itemdropOnOffButtonList, i)

		def __OnClickPetOnOffButton(self, i):
			self.__ClickRadioButton(self.petOnOffButtonList, i)
			grp.SetPetOnOffStatus(i)

		def __OnClickNPCNameOnOffButton(self, i):
			self.__ClickRadioButton(self.npcnameOnOffButtonList, i)
			grp.SetNPCNameOnOffStatus(i)

		def __OnClickApplyEffectOnOffButton(self):
			for i, btn in enumerate(self.effectOnOffButtonList):
				if btn.IsDown():
					grp.SetEffectOnOffLevel(i)
					break
		
		def __OnClickApplyPrivateShopOnOffButton(self):
			for i, btn in enumerate(self.privateshopOnOffButtonList):
				if btn.IsDown():
					grp.SetPrivateShopOnOffLevel(i)
					break

		def __OnClickApplyItemDropOnOffButton(self):
			for i, btn in enumerate(self.itemdropOnOffButtonList):
				if btn.IsDown():
					grp.SetDropItemOnOffLevel(i)
					break
        
	if app.__BL_FOG_FIX__:
		def __OnClickFogModeOnButton(self):
			background.SetFogMode(True)
			self.__ClickRadioButton(self.fogButtonList, 1)
		def __OnClickFogModeOffButton(self):
			background.SetFogMode(False)
			self.__ClickRadioButton(self.fogButtonList, 0)

	def __OnChangeMusic(self, fileName):
		self.selectMusicFile.SetText(fileName[:MUSIC_FILENAME_MAX_LEN])

		if musicInfo.fieldMusic != "":
			snd.FadeOutMusic("BGM/"+ musicInfo.fieldMusic)

		if fileName==uiSelectMusic.DEFAULT_THEMA:
			musicInfo.fieldMusic=musicInfo.METIN2THEMA
		else:
			musicInfo.fieldMusic=fileName

		musicInfo.SaveLastPlayFieldMusic()
		
		if musicInfo.fieldMusic != "":
			snd.FadeInMusic("BGM/" + musicInfo.fieldMusic)

	def OnChangeMusicVolume(self):
		pos = self.ctrlMusicVolume.GetSliderPos()
		snd.SetMusicVolume(pos * net.GetFieldMusicVolume())
		systemSetting.SetMusicVolume(pos)

	def OnChangeSoundVolume(self):
		pos = self.ctrlSoundVolume.GetSliderPos()
		snd.SetSoundVolumef(pos)
		systemSetting.SetSoundVolumef(pos)

	def OnChangeShadowQuality(self):
		pos = self.ctrlShadowQuality.GetSliderPos()
		systemSetting.SetShadowLevel(int(pos / 0.2))

	def OnCloseInputDialog(self):
		self.inputDialog.Close()
		self.inputDialog = None
		return True

	def OnCloseQuestionDialog(self):
		self.questionDialog.Close()
		self.questionDialog = None
		return True

	def OnPressEscapeKey(self):
		self.Close()
		return True
	
	def Show(self):
		ui.ScriptWindow.Show(self)

	def Close(self):
		self.__SetCurTilingMode()
		self.Hide()

	def __SetCurTilingMode(self):
		if background.IsSoftwareTiling():
			self.__SetTilingMode(0)
		else:
			self.__SetTilingMode(1)	

	def __NotifyChatLine(self, text):
		chat.AppendChat(chat.CHAT_TYPE_INFO, text)
		
if app.__BL_ENVIRONMENT_EFFECT_OPTION__:
		def __InitNightModeOption(self):
			self.NightModeOn		= systemSetting.GetNightModeOption()
			self.__ClickRadioButton(self.nightModeButtonList, self.NightModeOn)
			background.SetNightModeOption(self.NightModeOn)
			
		def __InitSnowModeOption(self):
			self.SnowModeOn	= systemSetting.GetSnowModeOption()
			self.__ClickRadioButton(self.snowModeButtonList, self.SnowModeOn)
			background.SetSnowModeOption(self.SnowModeOn)
	
		def __InitSnowTextureModeOption(self):
			self.SnowTextureModeOn	= systemSetting.GetSnowTextureModeOption()
			self.__ClickRadioButton(self.snowTextureModeButtonList, self.SnowTextureModeOn)
			background.SetSnowTextureModeOption(self.SnowTextureModeOn)			
			
		def __OnClickNightModeOffButton(self):
			self.__ClickRadioButton(self.nightModeButtonList, 0)
			self.__SetNightMode(0)
			
		def __OnClickNightModeOnButton(self):
			self.__ClickRadioButton(self.nightModeButtonList, 1)
			self.__SetNightMode(1)
			
		def __OnClickSnowModeOffButton(self):
			self.__ClickRadioButton(self.snowModeButtonList, 0)
			self.__SetSnowMode(0)
			
		def __OnClickSnowModeOnButton(self):
			self.__ClickRadioButton(self.snowModeButtonList, 1)
			self.__SetSnowMode(1)
			
		def __OnClickSnowTextureModeOffButton(self):
			self.__ClickRadioButton(self.snowTextureModeButtonList, 0)
			self.__SetSnowTextureMode(0)
			
		def __OnClickSnowTextureModeOnButton(self):
			self.__ClickRadioButton(self.snowTextureModeButtonList, 1)
			self.__SetSnowTextureMode(1)
			
		def __SetSnowMode(self, index):
			systemSetting.SetSnowModeOption(index)
			background.SetSnowModeOption(index)
			background.EnableSnowMode(index)
	
		def __SetSnowTextureMode(self, index):
			systemSetting.SetSnowTextureModeOption(index)
			background.SetSnowTextureModeOption(index)
			background.EnableSnowTextureMode()
	
		def __SetNightMode(self, index):
			systemSetting.SetNightModeOption(index)	
			background.SetNightModeOption(index)
			
			if not background.GetDayMode():
				return
				
			if not background.IsBoomMap():
				return
			
			if 1 == index:
				self.curtain.SAFE_FadeOut(self.__DayMode_OnCompleteChangeToDark)
			else:
				self.curtain.SAFE_FadeOut(self.__DayMode_OnCompleteChangeToLight)		
		
		def __DayMode_OnCompleteChangeToLight(self):
			background.ChangeEnvironmentData(0)
			self.curtain.FadeIn()
	
		def __DayMode_OnCompleteChangeToDark(self):		
			background.RegisterEnvironmentData(1, constInfo.ENVIRONMENT_NIGHT)
			background.ChangeEnvironmentData(1)
			self.curtain.FadeIn()

 

dont work for me. any idea? @ Mali

the systemoption does not open when i click ingame on them

indent problem:

.png

  • Love 1

 

  • 2 weeks later...
9 hours ago, metrix2020 said:

i installed the system without errors but when i want to switch from day to night nothing happend

nvm solved

The system works. You make a mistake.  Look step by step where the mistake is. 

  • 1 month later...
  • 2 months later...
  • 2 months later...
On 7/29/2023 at 7:09 AM, backtop said:

Sorry for the double post (cant edit my post above)... i fixed the day and night.. another problem is that the snow texture of the maps dont show and snowfall either... Do i miss something? I'm using TMP4 files

Same problem for me as well, same svf as well ?

22 hours ago, SussyFlore96 said:

Same problem for me as well, same svf as well ?

Try: /x1 and /xmas_snow 1 and try

KH.jpg

Nicks: Nazox™ Krone™ Nagato™ Yahiko™ Yakiro™
Proyecto: Trabajando en el.
Compañeros & firma: DreamHQ  - 2009-2015 [Nostalgia]

  • 3 weeks later...

Fix for this?

0 errors in syserr...

	def __IsXMasMap(self):
		if app.__BL_ENVIRONMENT_EFFECT_OPTION__:
			mapDict = (	"metin2_map1_a1",
						"metin2_map1_a3",
						"metin2_map1_b1",
						"metin2_map1_b3",
						"metin2_map1_c1",
						"metin2_map1_c3",
						"metin2_map_n_flame_01",
						"metin2_map_n_desert_01",
						"metin2_map_spiderdungeon_01",
						"metin2_map_spiderdungeon_02",
						"metin2_map_spiderdungeon_03",
						"metin2_map_deviltower1",
						"season1/metin2_map_sungzi_flame_hill_01",
						"season1/metin2_map_sungzi_flame_hill_02",
						"season1/metin2_map_sungzi_flame_hill_03",
						"season1/metin2_map_sungzi_desert_01",
						"season1/metin2_map_sungzi_desert_hill_01",
						"season1/metin2_map_sungzi_desert_hill_02",
						"season1/metin2_map_sungzi_desert_hill_03",
						"season2/metin2_map_empirewar03",
						"metin2_map_devilsCatacomb",
						"metin2_map_Mt_Thunder",
						"metin2_map_n_flame_dungeon_01",
						"metin2_map_dawnmist_dungeon_01",
						"metin2_map_Mt_Th_dungeon_01",)
		else:
			mapDict = (	"metin2_map_n_flame_01",
						"metin2_map_n_desert_01",
						"metin2_map_spiderdungeon",
						"metin2_map_deviltower1", )

https://metin2.download/video/G2sWGrf7xSYF8LBOb0w4PYiC78f2P9cR/.mp4

Edited by Metin2 Dev International
Core X - External 2 Internal
  • 2 months later...
  • 2 years later...
  • 2 weeks later...

Don't use any images from : imgur, turkmmop, freakgamers, inforge, hizliresim... Or your content will be deleted without notice...
Use : https://metin2.download/media/add/

Please use https://metin2.download/ when uploading files smaller than 100MB, otherwise the approval will take longer due to manual upload.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.