// Scorpion1453 Chat Stack From Client (25.05.2019) // PythonChat.h // Bul: void ArrangeShowingChat(DWORD dwID); // Ekle: void AddChatStack(const char * c_szChat); //Scp1453 const char* GetChatStack(BYTE index); //Scp1453 BYTE GetChatStackSize(); //Scp1453 // Bul ve altına ekle: CHAT_LINE_MAX_NUM = 300, CHAT_STACK_MAX_NUM = 200,//Scp1453 BYTE // Bul ve altına ekle: typedef std::map TChatSetMap; std::vector m_WritedChatStack;//Scp1453 // PythonChat.cpp // Bul: void CPythonChat::AppendChatWithDelay // Fonksiyondan sonra ekle: void CPythonChat::AddChatStack(const char * c_szChat)//Scp1453 { if (!m_WritedChatStack.empty() && strcmp(m_WritedChatStack.back().c_str(), c_szChat) == 0) return; std::string s; s+=c_szChat; m_WritedChatStack.push_back(s); if (m_WritedChatStack.size() > CHAT_STACK_MAX_NUM) { m_WritedChatStack.erase(m_WritedChatStack.begin()); } } const char* CPythonChat::GetChatStack(BYTE index)//Scp1453 { if (index > m_WritedChatStack.size()) return " "; return (m_WritedChatStack[m_WritedChatStack.size()-index].c_str()? m_WritedChatStack[m_WritedChatStack.size()-index].c_str(): " " ); } BYTE CPythonChat::GetChatStackSize()//Scp1453 { return m_WritedChatStack.size(); } // PythonChatModule.cpp // Bul: PyObject * chatAppendChatWithDelay // Fonksiyondan sonra ekle: PyObject * chatAppendChatStack(PyObject* poSelf, PyObject* poArgs) { char * szChat; if (!PyTuple_GetString(poArgs, 0, &szChat)) return Py_BuildException(); CPythonChat::Instance().AddChatStack(szChat); return Py_BuildNone(); } PyObject * chatGetChatStack(PyObject* poSelf, PyObject* poArgs) { BYTE index; if (!PyTuple_GetInteger(poArgs, 0, &index)) return Py_BuildException(); const char* stack = CPythonChat::Instance().GetChatStack(index); if (strcmp(stack, "") == 0) return Py_BuildNone(); return Py_BuildValue("s", stack); } PyObject * chatGetChatStackSize(PyObject* poSelf, PyObject* poArgs) { return Py_BuildValue("i", CPythonChat::Instance().GetChatStackSize()); } // Bul: { "ArrangeShowingChat", chatArrangeShowingChat, METH_VARARGS }, // Altına ekle: { "AppendChatStack", chatAppendChatStack, METH_VARARGS }, { "GetChatStack", chatGetChatStack, METH_VARARGS }, { "GetChatStackSize", chatGetChatStackSize, METH_VARARGS }, // Pack/uichat.py // Bu iki fonksiyonu arat ve değiştir(Fonksiyonlar alt alta): def __PrevLastSentenceStack(self): """global ENABLE_LAST_SENTENCE_STACK if not ENABLE_LAST_SENTENCE_STACK: return if self.lastSentenceStack and self.lastSentencePos < len(self.lastSentenceStack): self.lastSentencePos += 1 lastSentence = self.lastSentenceStack[-self.lastSentencePos] self.SetText(lastSentence) self.SetEndPosition()""" if self.lastSentencePos < chat.GetChatStackSize(): self.lastSentencePos += 1 lastSentence = chat.GetChatStack(self.lastSentencePos) self.SetText(lastSentence) self.SetEndPosition() def __NextLastSentenceStack(self): """global ENABLE_LAST_SENTENCE_STACK if not ENABLE_LAST_SENTENCE_STACK: return if self.lastSentenceStack and self.lastSentencePos > 1: self.lastSentencePos -= 1 lastSentence = self.lastSentenceStack[-self.lastSentencePos] self.SetText(lastSentence) self.SetEndPosition()""" if self.lastSentencePos > 1: self.lastSentencePos -= 1 lastSentence = chat.GetChatStack(self.lastSentencePos) self.SetText(lastSentence) self.SetEndPosition() // Bul ve değiştir: self.lastSentenceStack.append(text) chat.AppendChatStack(text)##Scp1453_2 // Son || https://forum.turkmmo.com/uye/2163529-scorpion1453/