.Rui 157 Posted January 5, 2019 Boa noite, Venho partilhar com vocês como é que podem habilitar o copy paste no vosso servidor. É algo que muita gente não tem conhecimento apesar de ser muito simples mesmo. O Bug de copiar executáveis ou outros arquivos que não podem ser copiados e colados no jogo que posteriormente bloqueia a função em todo o computador até fecharem o cliente está resolvido. Penso que podem encontrar esse bug no Aeldra ainda. Primeiramente abram o IME.cpp do vosso binário; Localização : Eterlib/IME.cpp. Procurar: m_bEnablePaste = false; Substituir por: m_bEnablePaste = true; Procurar: if (!__IsWritable(c)) return; Substituir por: if (c == 0x16) return; Substituir todo o: void CIME::PasteTextFromClipBoard() por: void CIME::PasteTextFromClipBoard() { if (!m_bEnablePaste | !OpenClipboard(NULL)) return; HANDLE handle = GetClipboardData(CF_TEXT); if (!handle) { CloseClipboard(); return; } char * buffer = (char*)GlobalLock(handle); std::string strClipboard = buffer; GlobalUnlock(handle); CloseClipboard(); if (strClipboard.empty()) return; const char* begin = strClipboard.c_str(); const char* end = begin + strClipboard.length(); wchar_t m_wText[IMESTR_MAXLEN]; int wstrLen = MultiByteToWideChar(ms_uInputCodePage, 0, begin, end - begin, m_wText, IMESTR_MAXLEN); InsertString(m_wText, wstrLen); if (ms_pEvent) ms_pEvent->OnUpdate(); } Compilem o binário. Abram o ui.py; Localização: root/ui.py Procurem por: def OnKeyDown(self, key): Caso já tenham a condição que vos habilita o Ctrl+V ignorem este passo, caso contrário insiram esta condição antes do Return True: if app.DIK_V == key and app.IsPressed(app.DIK_LCONTROL): ime.PasteTextFromClipBoard() Caso tenham alguma dúvida avisem. Boa noite. 5 BPinto98, Dynamic Things, morfo2 and 2 others reacted to this Share this post Link to post Share on other sites
Dynamic Things 965 Posted January 5, 2019 Não cheguei a testar mas aparentemente parece-me funcional. obrigado pelo tutorial Share this post Link to post Share on other sites
.Rui 157 Posted January 5, 2019 Olá, a que tipo de verificação te referes? Penso que só existem duas opções quando copias e colas, ou copias e colas texto ou ficheiros em geral sendo que para esta segunda opção é verificado no: if (!handle) { CloseClipboard(); return; } Em relação a verificar links, sendo isto um sistema de colar texto, um link é um simples texto, de que forma queres que seja verificado? Share this post Link to post Share on other sites
morfo2 4,680 Posted January 5, 2019 É assim mesmo, bom conteúdo! Obrigado pela partilha! Continua! Share this post Link to post Share on other sites