[ Postat de pe Android ]











Kidro@URAGANU scrie: ↑17 Mar 2020, 16:17 Pune aici rezolvarea în caz ca mai întâmpină cineva problema sa pot închide topicul.
[ Postat de pe Android ]![]()
if app.ENABLE_MOVE_CHANNEL:
def __GetServerID(self):
serverID = 1
for i in serverinfo.REGION_DICT[0].keys():
if serverinfo.REGION_DICT[0]["name"] == net.GetServerInfo().split(",")[0]:
serverID = int(i)
break
return serverID
def RefreshChannel(self, channel):
channelName = ""
serverName = serverinfo.REGION_DICT[0][self.__GetServerID()]["name"]
if channel in serverinfo.REGION_DICT[0][self.__GetServerID()]["channel"]:
channelName = serverinfo.REGION_DICT[0][self.__GetServerID()]["channel"][int(channel)]["name"]
elif channel == 99:
channelName = "Ch. Special"
else:
channelName = "Unknow CH"
net.SetServerInfo("%s, %s" % (serverName,channelName))
if self.interface:
self.interface.wndMiniMap.serverInfo.SetText(net.GetServerInfo())
#chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.MOVE_CHANNEL_NOTICE % (channel))
# app.ChangeTitle(net.GetServerInfo())class MoveChannelWindow(ui.ScriptWindow):
def __init__(self):
ui.ScriptWindow.__init__(self)
self.titleBar = None
ServerStateChecker.Create(self)
self.channelButtonList = []
self.currentChannel = 0
self.__LoadBoard()
self.RefreshChannelButtons()
self.Show()
self.SetCenterPosition()
self.RefreshBeforeShow()
def __del__(self):
ui.ScriptWindow.__del__(self)
def __LoadBoard(self):
try:
pyScrLoader = ui.PythonScriptLoader()
pyScrLoader.LoadScriptFile(self, "UIScript/MoveChannelDialog.py")
except:
import exception
exception.Abort("MoveChannelWindow.__LoadBoard.LoadScript")
try:
self.board = self.GetChild("MoveChannelBoard")
self.titleBar = self.GetChild("MoveChannelTitle")
self.blackBoard = self.GetChild("BlackBoard")
self.okButton = self.GetChild("AcceptButton")
self.cancelButton = self.GetChild("CancelButton")
except:
import exception
exception.Abort("MoveChannelWindow.__LoadBoard.BindObject")
self.titleBar.SetCloseEvent(ui.__mem_func__(self.Close))
self.okButton.SetEvent(ui.__mem_func__(self.ChangeChannel))
self.cancelButton.SetEvent(ui.__mem_func__(self.Close))
self.SetCurentChannel()
self.AddChannels()
def SetCurentChannel(self):
try:
self.currentChannel = int( int(net.GetServerInfo().split(",")[1][-1:]) - 1 )
except:
return
def __GetServerID(self):
for i in serverInfo.REGION_DICT[0].keys():
if serverInfo.REGION_DICT[0]["name"] == net.GetServerInfo().split(",")[0]:
serverID = int(i)
break
return serverID
def __GetChannelNumber(self):
serverID = self.__GetServerID()
try:
channelDict = serverInfo.REGION_DICT[0][serverID]["channel"]
except:
return
return len(channelDict)
def RefreshBeforeShow(self):
self.__RequestServerStateList()
def __RequestServerStateList(self):
try:
channelDict = serverInfo.REGION_DICT[0][self.__GetServerID()]["channel"]
except:
return
ServerStateChecker.Initialize(self)
for id, channelDataDict in channelDict.items():
key = channelDataDict["key"]
ip = channelDataDict["ip"]
udp_port = channelDataDict["udp_port"]
ServerStateChecker.AddChannel(key, ip, udp_port)
ServerStateChecker.Request()
def NotifyChannelState(self, addrKey, state):
try:
stateName = serverInfo.STATE_DICT[state]
except:
stateName = serverInfo.STATE_NONE
regionID = int(addrKey / 1000)
serverID = int(addrKey / 10) % 100
channelID = addrKey % 10
try:
serverInfo.REGION_DICT[regionID][serverID]["channel"][channelID]["state"] = stateName
self.__RefreshChannelStateList()
except:
pass
def AddChannels(self):
self.SetSize(190,80+30*self.__GetChannelNumber())
self.board.SetSize(190,80+30*self.__GetChannelNumber())
self.blackBoard.SetSize(163,7+30*self.__GetChannelNumber())
for i in xrange(self.__GetChannelNumber()):
self.channelButtonList.append(ui.MakeRadioButton(self.blackBoard, 7, 7+30*i, "d:/ymir work/ui/game/myshop_deco/", "select_btn_01.sub", "select_btn_02.sub", "select_btn_03.sub"))
self.channelButtonList.SetText(str(serverInfo.REGION_DICT[0][self.__GetServerID()]["channel"][i+1]["name"]))
self.channelButtonList.SetEvent(lambda arg=i: self.SelectChannel(arg))
self.channelButtonList.Show()
def SelectChannel(self,channel):
self.currentChannel = channel
self.RefreshChannelButtons()
def RefreshChannelButtons(self):
for i in xrange(self.__GetChannelNumber()):
if i == self.currentChannel:
self.channelButtonList.Down()
else:
self.channelButtonList.SetUp()
def ChangeChannel(self):
ServerStateChecker.Update()
channelID = self.currentChannel+1
channelState = serverInfo.REGION_DICT[0][self.__GetServerID()]["channel"][channelID]["state"]
if not channelID:
return
if channelState == serverInfo.STATE_NONE or channelState == serverInfo.STATE_DICT[0]:
chat.AppendChat(chat.CHAT_TYPE_INFO , "|cff00ff00[Watter3] |cffffcc00Acest canal este offline")
return
self.Close()
net.SendChatPacket("/change_channel " + str(channelID))
def Destroy(self):
self.ClearDictionary()
self.Hide()
def Close(self):
ServerStateChecker.Initialize(self)
self.Hide()
def OnUpdate(self):
ServerStateChecker.Update()
def OnPressEscapeKey(self):
self.Close()
return Truep.wPort = (wPort - 1000*(g_bChannel-1) + 1000*(channelId-1));
Utilizatori ce ce navighează pe acest forum: Semrush [Bot] și 30 vizitatori