Postado Outubro 18, 2015 9 anos Olá pessoal do TK ! Tudo bem? Bom gostaria de saber se alguém poderia me ajudar a Resolver o BUG de Duplicate Window do meu OTClient ? Aqui tem a Print de como é que está , e qual é o bugDesde já Agradeço
Postado Outubro 29, 2015 9 anos @Up to com o msm erro Gente, não dou suporte via mp, caso queira ajuda crie um tópico no fórum!!! Ajudei? Clicar em gostar não vai te matar
Postado Outubro 29, 2015 9 anos Posta o entergame.otui de vocês que eu arrumo. Editado Outubro 29, 2015 9 anos por Overllord (veja o histórico de edições) Não respondo PMs solicitando suporte. Já existem seções no fórum para isto.
Postado Outubro 30, 2015 9 anos EnterGameWindow < MainWindow !text: tr('Enter Game') size: 236 298 EnterGameButton < Button width: 64 ServerListButton < UIButton size: 17 17 image-source: /images/topbuttons/minimap image-color: #ffffffff $hover !disabled: image-color: #ffffff99 $pressed: image-color: #ffffff44 $disabled: image-color: #ffffff55 EnterGameWindow id: enterGame &authenticatorEnabled: false &authenticatorHeight: 44 &stayLoggedBoxEnabled: false &stayLoggedBoxHeight: 24 @onEnter: EnterGame.doLogin() MenuLabel !text: tr('Account name') anchors.left: parent.left anchors.top: parent.top text-auto-resize: true PasswordTextEdit id: accountNameTextEdit anchors.left: parent.left anchors.right: parent.right anchors.top: prev.bottom margin-top: 2 MenuLabel !text: tr('Password') anchors.left: prev.left anchors.top: prev.bottom margin-top: 8 text-auto-resize: true PasswordTextEdit id: accountPasswordTextEdit anchors.left: parent.left anchors.right: parent.right anchors.top: prev.bottom margin-top: 2 MenuLabel id: authenticatorTokenLabel !text: tr('Authenticator Token') anchors.left: prev.left anchors.top: prev.bottom text-auto-resize: true margin-top: -12 visible: false $on: visible: true margin-top: 8 TextEdit id: authenticatorTokenTextEdit anchors.left: parent.left anchors.right: parent.right anchors.top: prev.bottom margin-top: -22 visible: false max-length: 8 $on: visible: true margin-top: 2 CheckBox id: stayLoggedBox !text: tr('Stay logged during session') anchors.left: parent.left anchors.right: parent.right anchors.top: prev.bottom margin-top: 6 margin-top: -16 visible: false $on: visible: true margin-top: 8 HorizontalSeparator anchors.left: parent.left anchors.right: parent.right anchors.top: prev.bottom margin-top: 8 MenuLabel id: serverLabel !text: tr('Server') anchors.left: prev.left anchors.top: prev.bottom margin-top: 8 text-auto-resize: true ServerListButton id: serverListButton !tooltip: tr('Server list') anchors.right: parent.right anchors.top: serverLabel.bottom margin-top: 3 @onClick: ServerList.show() TextEdit id: serverHostTextEdit !tooltip: tr('Make sure that your client uses\nthe correct game client version') anchors.left: parent.left anchors.right: serverListButton.left anchors.top: serverLabel.bottom margin-top: 2 margin-right: 4 MenuLabel id: clientLabel !text: tr('Client Version') anchors.left: parent.left anchors.top: serverHostTextEdit.bottom text-auto-resize: true margin-right: 10 margin-top: 8 ComboBox id: clientComboBox anchors.left: parent.left anchors.right: parent.horizontalCenter anchors.top: clientLabel.bottom margin-top: 2 margin-right: 3 width: 90 menu-scroll: true menu-height: 125 menu-scroll-step: 25 MenuLabel id: portLabel !text: tr('Port') anchors.left: serverPortTextEdit.left anchors.top: serverHostTextEdit.bottom margin-top: 8 text-auto-resize: true TextEdit id: serverPortTextEdit text: 7171 anchors.right: parent.right anchors.left: parent.horizontalCenter anchors.top: clientComboBox.top margin-left: 3 CheckBox id: rememberPasswordBox !text: tr('Remember password') !tooltip: tr('Remember account and password when starts client') anchors.left: parent.left anchors.right: parent.right anchors.top: prev.bottom margin-top: 10 @onCheckChange: self:getParent():getChildById('autoLoginBox'):setEnabled(self:isChecked()) CheckBox id: autoLoginBox enabled: false !text: tr('Auto login') !tooltip: tr('Open charlist automatically when starting client') anchors.left: parent.left anchors.right: parent.right anchors.top: prev.bottom margin-top: 2 HorizontalSeparator anchors.left: parent.left anchors.right: parent.right anchors.top: prev.bottom margin-top: 6 EnterGameButton !text: tr('Ok') anchors.right: parent.right anchors.top: prev.bottom margin-top: 4 @onClick: EnterGame.doLogin() Label id: serverInfoLabel font: verdana-11px-rounded anchors.top: prev.top anchors.left: parent.left margin-top: 5 color: green text-auto-resize: true Esse é o entergame.otui O debaixo é o .lua, só que, tem como deixar, só pra por a senha e o login? e a opção de salvaaar e logar automaticamente? EnterGame = { } -- private variables local loadBox local enterGame local motdWindow local motdButton local enterGameButton local clientBox local protocolLogin local motdEnabled = true -- private functions local function onError(protocol, message, errorCode) if loadBox then loadBox:destroy() loadBox = nil end if not errorCode then EnterGame.clearAccountFields() end local errorBox = displayErrorBox(tr('Login Error'), message) connect(errorBox, { onOk = EnterGame.show }) end local function onMotd(protocol, motd) G.motdNumber = tonumber(motd:sub(0, motd:find("\n"))) G.motdMessage = motd:sub(motd:find("\n") + 1, #motd) if motdEnabled then motdButton:show() end end local function onSessionKey(protocol, sessionKey) G.sessionKey = sessionKey end local function onCharacterList(protocol, characters, account, otui) -- Try add server to the server list ServerList.add(G.host, G.port, g_game.getClientVersion()) -- Save 'Stay logged in' setting g_settings.set('staylogged', enterGame:getChildById('stayLoggedBox'):isChecked()) if enterGame:getChildById('rememberPasswordBox'):isChecked() then local account = g_crypt.encrypt(G.account) local password = g_crypt.encrypt(G.password) g_settings.set('account', account) g_settings.set('password', password) ServerList.setServerAccount(G.host, account) ServerList.setServerPassword(G.host, password) g_settings.set('autologin', enterGame:getChildById('autoLoginBox'):isChecked()) else -- reset server list account/password ServerList.setServerAccount(G.host, '') ServerList.setServerPassword(G.host, '') EnterGame.clearAccountFields() end loadBox:destroy() loadBox = nil for _, characterInfo in pairs(characters) do if characterInfo.previewState and characterInfo.previewState ~= PreviewState.Default then characterInfo.worldName = characterInfo.worldName .. ', Preview' end end CharacterList.create(characters, account, otui) CharacterList.show() if motdEnabled then local lastMotdNumber = g_settings.getNumber("motd") if G.motdNumber and G.motdNumber ~= lastMotdNumber then g_settings.set("motd", G.motdNumber) motdWindow = displayInfoBox(tr('Message of the day'), G.motdMessage) connect(motdWindow, { onOk = function() CharacterList.show() motdWindow = nil end }) CharacterList.hide() end end end local function onUpdateNeeded(protocol, signature) loadBox:destroy() loadBox = nil if EnterGame.updateFunc then local continueFunc = EnterGame.show local cancelFunc = EnterGame.show EnterGame.updateFunc(signature, continueFunc, cancelFunc) else local errorBox = displayErrorBox(tr('Update needed'), tr('Your client needs updating, try redownloading it.')) connect(errorBox, { onOk = EnterGame.show }) end end -- public functions function EnterGame.init() enterGame = g_ui.displayUI('entergame') enterGameButton = modules.client_topmenu.addLeftButton('enterGameButton', tr('Login') .. ' (Ctrl + G)', '/images/topbuttons/login', EnterGame.openWindow) motdButton = modules.client_topmenu.addLeftButton('motdButton', tr('Message of the day'), '/images/topbuttons/motd', EnterGame.displayMotd) motdButton:hide() g_keyboard.bindKeyDown('Ctrl+G', EnterGame.openWindow) if motdEnabled and G.motdNumber then motdButton:show() end local account = g_settings.get('account') local password = g_settings.get('password') local host = g_settings.get('host') local port = g_settings.get('port') local stayLogged = g_settings.getBoolean('staylogged') local autologin = g_settings.getBoolean('autologin') local clientVersion = g_settings.getInteger('client-version') if clientVersion == 0 then clientVersion = 854 end server = "127.0.0.1" EnterGame.setUniqueServer('127.0.0.1', 7171, 854, 270, 210) EnterGame.setAccountName(account) EnterGame.setPassword(password) enterGame:getChildById('serverHostTextEdit'):setText(host) enterGame:getChildById('serverPortTextEdit'):setText(port) enterGame:getChildById('autoLoginBox'):setChecked(autologin) enterGame:getChildById('stayLoggedBox'):setChecked(stayLogged) clientBox = enterGame:getChildById('clientComboBox') for _, proto in pairs(g_game.getSupportedClients()) do clientBox:addOption(proto) end clientBox:setCurrentOption(clientVersion) EnterGame.toggleAuthenticatorToken(clientVersion, true) EnterGame.toggleStayLoggedBox(clientVersion, true) connect(clientBox, { onOptionChange = EnterGame.onClientVersionChange }) enterGame:hide() if g_app.isRunning() and not g_game.isOnline() then enterGame:show() end end function EnterGame.firstShow() EnterGame.show() local account = g_crypt.decrypt(g_settings.get('account')) local password = g_crypt.decrypt(g_settings.get('password')) local host = g_settings.get('host') local autologin = g_settings.getBoolean('autologin') if #host > 0 and #password > 0 and #account > 0 and autologin then addEvent(function() if not g_settings.getBoolean('autologin') then return end EnterGame.doLogin() end) end end function EnterGame.terminate() g_keyboard.unbindKeyDown('Ctrl+G') disconnect(clientBox, { onOptionChange = EnterGame.onClientVersionChange }) enterGame:destroy() enterGame = nil enterGameButton:destroy() enterGameButton = nil clientBox = nil if motdWindow then motdWindow:destroy() motdWindow = nil end if motdButton then motdButton:destroy() motdButton = nil end if loadBox then loadBox:destroy() loadBox = nil end if protocolLogin then protocolLogin:cancelLogin() protocolLogin = nil end EnterGame = nil end function EnterGame.show() if loadBox then return end enterGame:show() enterGame:raise() enterGame:focus() end function EnterGame.hide() enterGame:hide() end function EnterGame.openWindow() if g_game.isOnline() then CharacterList.show() elseif not g_game.isLogging() and not CharacterList.isVisible() then EnterGame.show() end end function EnterGame.setAccountName(account) local account = g_crypt.decrypt(account) enterGame:getChildById('accountNameTextEdit'):setText(account) enterGame:getChildById('accountNameTextEdit'):setCursorPos(-1) enterGame:getChildById('rememberPasswordBox'):setChecked(#account > 0) end function EnterGame.setPassword(password) local password = g_crypt.decrypt(password) enterGame:getChildById('accountPasswordTextEdit'):setText(password) end function EnterGame.clearAccountFields() enterGame:getChildById('accountNameTextEdit'):clearText() enterGame:getChildById('accountPasswordTextEdit'):clearText() enterGame:getChildById('authenticatorTokenTextEdit'):clearText() enterGame:getChildById('accountNameTextEdit'):focus() g_settings.remove('account') g_settings.remove('password') end function EnterGame.toggleAuthenticatorToken(clientVersion, init) local enabled = (clientVersion >= 854) if enabled == enterGame.authenticatorEnabled then return end enterGame:getChildById('authenticatorTokenLabel'):setOn(enabled) enterGame:getChildById('authenticatorTokenTextEdit'):setOn(enabled) local newHeight = enterGame:getHeight() local newY = enterGame:getY() if enabled then newY = newY - enterGame.authenticatorHeight newHeight = newHeight + enterGame.authenticatorHeight else newY = newY + enterGame.authenticatorHeight newHeight = newHeight - enterGame.authenticatorHeight end if not init then enterGame:breakAnchors() enterGame:setY(newY) enterGame:bindRectToParent() end enterGame:setHeight(newHeight) enterGame.authenticatorEnabled = enabled end function EnterGame.toggleStayLoggedBox(clientVersion, init) local enabled = (clientVersion >= 854) if enabled == enterGame.stayLoggedBoxEnabled then return end enterGame:getChildById('stayLoggedBox'):setOn(enabled) local newHeight = enterGame:getHeight() local newY = enterGame:getY() if enabled then newY = newY - enterGame.stayLoggedBoxHeight newHeight = newHeight + enterGame.stayLoggedBoxHeight else newY = newY + enterGame.stayLoggedBoxHeight newHeight = newHeight - enterGame.stayLoggedBoxHeight end if not init then enterGame:breakAnchors() enterGame:setY(newY) enterGame:bindRectToParent() end enterGame:setHeight(newHeight) enterGame.stayLoggedBoxEnabled = enabled end function EnterGame.onClientVersionChange(comboBox, text, data) local clientVersion = tonumber(text) EnterGame.toggleAuthenticatorToken(clientVersion) EnterGame.toggleStayLoggedBox(clientVersion) end function EnterGame.doLogin() G.account = enterGame:getChildById('accountNameTextEdit'):getText() G.password = enterGame:getChildById('accountPasswordTextEdit'):getText() G.authenticatorToken = enterGame:getChildById('authenticatorTokenTextEdit'):getText() G.stayLogged = enterGame:getChildById('stayLoggedBox'):isChecked() G.host = enterGame:getChildById('serverHostTextEdit'):getText() G.port = tonumber(enterGame:getChildById('serverPortTextEdit'):getText()) local clientVersion = tonumber(clientBox:getText()) EnterGame.hide() if g_game.isOnline() then local errorBox = displayErrorBox(tr('Login Error'), tr('Cannot login while already in game.')) connect(errorBox, { onOk = EnterGame.show }) return end g_settings.set('host', G.host) g_settings.set('port', G.port) g_settings.set('client-version', clientVersion) protocolLogin = ProtocolLogin.create() protocolLogin.onLoginError = onError protocolLogin.onMotd = onMotd protocolLogin.onSessionKey = onSessionKey protocolLogin.onCharacterList = onCharacterList protocolLogin.onUpdateNeeded = onUpdateNeeded loadBox = displayCancelBox(tr('Please wait'), tr('Connecting to login server...')) connect(loadBox, { onCancel = function(msgbox) loadBox = nil protocolLogin:cancelLogin() EnterGame.show() end }) g_game.setClientVersion(clientVersion) g_game.setProtocolVersion(g_game.getClientProtocolVersion(clientVersion)) g_game.chooseRsa(G.host) if modules.game_things.isLoaded() then protocolLogin:login(G.host, G.port, G.account, G.password, G.authenticatorToken, G.stayLogged) else loadBox:destroy() loadBox = nil EnterGame.show() end end function EnterGame.displayMotd() if not motdWindow then motdWindow = displayInfoBox(tr('Message of the day'), G.motdMessage) motdWindow.onOk = function() motdWindow = nil end end end function EnterGame.setDefaultServer(host, port, protocol) local hostTextEdit = enterGame:getChildById('serverHostTextEdit') local portTextEdit = enterGame:getChildById('serverPortTextEdit') local clientLabel = enterGame:getChildById('clientLabel') local accountTextEdit = enterGame:getChildById('accountNameTextEdit') local passwordTextEdit = enterGame:getChildById('accountPasswordTextEdit') local authenticatorTokenTextEdit = enterGame:getChildById('authenticatorTokenTextEdit') if hostTextEdit:getText() ~= host then hostTextEdit:setText(host) portTextEdit:setText(port) clientBox:setCurrentOption(protocol) accountTextEdit:setText('') passwordTextEdit:setText('') authenticatorTokenTextEdit:setText('') end end function EnterGame.setUniqueServer(host, port, protocol, windowWidth, windowHeight) local hostTextEdit = enterGame:getChildById('serverHostTextEdit') hostTextEdit:setText(host) hostTextEdit:setVisible(false) hostTextEdit:setHeight(0) local portTextEdit = enterGame:getChildById('serverPortTextEdit') portTextEdit:setText(port) portTextEdit:setVisible(false) portTextEdit:setHeight(0) local authenticatorTokenTextEdit = enterGame:getChildById('authenticatorTokenTextEdit') authenticatorTokenTextEdit:setText('') authenticatorTokenTextEdit:setOn(false) local authenticatorTokenLabel = enterGame:getChildById('authenticatorTokenLabel') authenticatorTokenLabel:setOn(false) local stayLoggedBox = enterGame:getChildById('stayLoggedBox') stayLoggedBox:setChecked(false) stayLoggedBox:setOn(false) clientBox:setCurrentOption(protocol) clientBox:setVisible(false) clientBox:setHeight(0) local serverLabel = enterGame:getChildById('serverLabel') serverLabel:setVisible(false) serverLabel:setHeight(0) local portLabel = enterGame:getChildById('portLabel') portLabel:setVisible(false) portLabel:setHeight(0) local clientLabel = enterGame:getChildById('clientLabel') clientLabel:setVisible(false) clientLabel:setHeight(0) local serverListButton = enterGame:getChildById('serverListButton') serverListButton:setVisible(false) serverListButton:setHeight(0) serverListButton:setWidth(0) local rememberPasswordBox = enterGame:getChildById('rememberPasswordBox') rememberPasswordBox:setMarginTop(-8) if not windowWidth then windowWidth = 236 end enterGame:setWidth(windowWidth) if not windowHeight then windowHeight = 210 end enterGame:setHeight(windowHeight) end function EnterGame.setServerInfo(message) local label = enterGame:getChildById('serverInfoLabel') label:setText(message) end function EnterGame.disableMotd() motdEnabled = false motdButton:hide() end Thx, uso OTC 0.6.6 @Overllord Editado Outubro 30, 2015 9 anos por Gaant (veja o histórico de edições) Gente, não dou suporte via mp, caso queira ajuda crie um tópico no fórum!!! Ajudei? Clicar em gostar não vai te matar
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.