Pegasus Posted August 19, 2022 Report Share Posted August 19, 2022 Buenas tardes zoneros y zoneras: En esta ocasion os traigo una solucion para todas aquellas personas que usan base Wonder2 o WoM2 Esta solucion sirve para el bug que provoca que desaparezcan los efectos algunas veces cuando inicias sesion dentro del juego. "Lo que usan la base que mencione sabran de lo que les hablo" Bueno antes de nada dejarme decirle como es ocasionado este bug y cual es su solucion: Este bug esta ocasionado por lo siguiente. Si nos damos cuenta en las opciones del juego, en la segunda pestaña tenemos las siguientes opciones Si se fijan existen 2 opciones de ocultar efectos: Pues bueno lo que haremos aca es elimar completamente la segunda opcion. "La que dice Ocultar efectos" La cual en verdad es tonteria que este puesta ya que hace el mismo funcionamiento que la primera opcion de ocultar. Solamente la diferencia esta en que la primera opcion "La que dice ocultar" Cuando le das a la opcion donde dice efectos automaticamente te ocultan todos los efectos "Incluyendo los buff y demas" Y en la segunda opcion podras ir eligiendo lo que deseas ocultar "Si los buff o los brillos de las armas o los de las armaduras....etc" Bueno ya sabiendo esto comencemos: ¿Como puedo desactivar esas opciones? Mucha gente se pregunta sobre como desactivarlas para que no funcionen mas. Hay gente que se piensa que desactivandolas desde el archivo del uiscript y del game ya no funcionara mas pero ERROR. Hay lo que estas haciendo es desactivando los botones, pero todavia sigue funcionando ya que para desactivarla completamente es necesario eliminarla tambien de la parte del binario. Bueno para eliminarla completa necesitaremos los siguientes archivos: Carpeta UserInterface -.PythonSystem.cpp -.PythonSystem.h -.PythonSystemModule.cpp Carpeta root uigameoption.py Dentro del root la carpeta uiscript gameoptiondialog.py Comencemos: Vamos a nuestro archivo PythonSystem.cpp y buscamos lo siguiente bool CPythonSystem::GetHideMode1Status2() { return m_Config.bHide1Mode2; } bool CPythonSystem::GetHideMode2Status2() { return m_Config.bHide2Mode2; } bool CPythonSystem::GetHideMode3Status2() { return m_Config.bHide3Mode2; } bool CPythonSystem::GetHideMode4Status2() { return m_Config.bHide4Mode2; } void CPythonSystem::SetHideModeStatus2(int type, int value) { switch (type) { case 0: m_Config.bHide1Mode2 = value == 0 ? false : true; CEffectManager::Instance().SetEffectOption(CEffectManager::EFFECT_OPTION_ARMORS_SHININGS, m_Config.bHide1Mode2); break; case 1: m_Config.bHide2Mode2 = value == 0 ? false : true; CEffectManager::Instance().SetEffectOption(CEffectManager::EFFECT_OPTION_WEAPONS_SHININGS, m_Config.bHide2Mode2); break; case 2: m_Config.bHide3Mode2 = value == 0 ? false : true; CEffectManager::Instance().SetEffectOption(CEffectManager::EFFECT_OPTION_BUFF, m_Config.bHide3Mode2); break; case 3: m_Config.bHide4Mode2 = value == 0 ? false : true; CEffectManager::Instance().SetEffectOption(CEffectManager::EFFECT_OPTION_SKILL, m_Config.bHide4Mode2); break; default: break; } } Una vez lo encontremos lo remplazamos por el siguiente //bool CPythonSystem::GetHideMode1Status2() { // return m_Config.bHide1Mode2; //} // //bool CPythonSystem::GetHideMode2Status2() { // return m_Config.bHide2Mode2; //} // //bool CPythonSystem::GetHideMode3Status2() { // return m_Config.bHide3Mode2; //} // //bool CPythonSystem::GetHideMode4Status2() { // return m_Config.bHide4Mode2; //} //void CPythonSystem::SetHideModeStatus2(int type, int value) { // switch (type) { // case 0: // m_Config.bHide1Mode2 = value == 0 ? false : true; // CEffectManager::Instance().SetEffectOption(CEffectManager::EFFECT_OPTION_ARMORS_SHININGS, m_Config.bHide1Mode2); // break; // case 1: // m_Config.bHide2Mode2 = value == 0 ? false : true; // CEffectManager::Instance().SetEffectOption(CEffectManager::EFFECT_OPTION_WEAPONS_SHININGS, m_Config.bHide2Mode2); // break; // case 2: // m_Config.bHide3Mode2 = value == 0 ? false : true; // CEffectManager::Instance().SetEffectOption(CEffectManager::EFFECT_OPTION_BUFF, m_Config.bHide3Mode2); // break; // case 3: // m_Config.bHide4Mode2 = value == 0 ? false : true; // CEffectManager::Instance().SetEffectOption(CEffectManager::EFFECT_OPTION_SKILL, m_Config.bHide4Mode2); // break; // default: // break; // } //} Ahora buscamos lo siguiente m_Config.bHide1Mode2 = false; m_Config.bHide2Mode2 = false; m_Config.bHide3Mode2 = false; m_Config.bHide4Mode2 = false; Todo esto lo remplazamos por lo siguiente //m_Config.bHide1Mode2 = false; //m_Config.bHide2Mode2 = false; //m_Config.bHide3Mode2 = false; //m_Config.bHide4Mode2 = false; Despues buscamos lo siguiente else if (!stricmp(command, "HIDE1_MODE2")) { m_Config.bHide1Mode2 = atoi(value) == 0 ? false : true; CEffectManager::Instance().SetEffectOption(CEffectManager::EFFECT_OPTION_ARMORS_SHININGS, m_Config.bHide1Mode2); } else if (!stricmp(command, "HIDE2_MODE2")) { m_Config.bHide2Mode2 = atoi(value) == 0 ? false : true; CEffectManager::Instance().SetEffectOption(CEffectManager::EFFECT_OPTION_WEAPONS_SHININGS, m_Config.bHide2Mode2); } else if (!stricmp(command, "HIDE3_MODE2")) { m_Config.bHide3Mode2 = atoi(value) == 0 ? false : true; CEffectManager::Instance().SetEffectOption(CEffectManager::EFFECT_OPTION_BUFF, m_Config.bHide3Mode2); } else if (!stricmp(command, "HIDE4_MODE2")) { m_Config.bHide4Mode2 = atoi(value) == 0 ? false : true; CEffectManager::Instance().SetEffectOption(CEffectManager::EFFECT_OPTION_SKILL, m_Config.bHide4Mode2); } Todo esto lo remplazamos por //else if (!stricmp(command, "HIDE1_MODE2")) { // m_Config.bHide1Mode2 = atoi(value) == 0 ? false : true; // CEffectManager::Instance().SetEffectOption(CEffectManager::EFFECT_OPTION_ARMORS_SHININGS, m_Config.bHide1Mode2); //} //else if (!stricmp(command, "HIDE2_MODE2")) { // m_Config.bHide2Mode2 = atoi(value) == 0 ? false : true; // CEffectManager::Instance().SetEffectOption(CEffectManager::EFFECT_OPTION_WEAPONS_SHININGS, m_Config.bHide2Mode2); //} //else if (!stricmp(command, "HIDE3_MODE2")) { // m_Config.bHide3Mode2 = atoi(value) == 0 ? false : true; // CEffectManager::Instance().SetEffectOption(CEffectManager::EFFECT_OPTION_BUFF, m_Config.bHide3Mode2); //} //else if (!stricmp(command, "HIDE4_MODE2")) { // m_Config.bHide4Mode2 = atoi(value) == 0 ? false : true; // CEffectManager::Instance().SetEffectOption(CEffectManager::EFFECT_OPTION_SKILL, m_Config.bHide4Mode2); //} Ahora buscamos lo siguiente fprintf(fp, "HIDE1_MODE2 %d\n", m_Config.bHide1Mode2); fprintf(fp, "HIDE2_MODE2 %d\n", m_Config.bHide2Mode2); fprintf(fp, "HIDE3_MODE2 %d\n", m_Config.bHide3Mode2); fprintf(fp, "HIDE4_MODE2 %d\n", m_Config.bHide4Mode2); Y lo remplazamos por //fprintf(fp, "HIDE1_MODE2 %d\n", m_Config.bHide1Mode2); //fprintf(fp, "HIDE2_MODE2 %d\n", m_Config.bHide2Mode2); //fprintf(fp, "HIDE3_MODE2 %d\n", m_Config.bHide3Mode2); //fprintf(fp, "HIDE4_MODE2 %d\n", m_Config.bHide4Mode2); Guardamos y pasamos al siguiente Abrimos nuestro PythonSystem.h y buscamos lo siguiente bool bHide1Mode2; bool bHide2Mode2; bool bHide3Mode2; bool bHide4Mode2; Este lo remplazamos por el siguiente //bool bHide1Mode2; //bool bHide2Mode2; //bool bHide3Mode2; //bool bHide4Mode2; Ahora buscamos lo siguiente void SetHideModeStatus2(int type, int value); bool GetHideMode1Status2(); bool GetHideMode2Status2(); bool GetHideMode3Status2(); bool GetHideMode4Status2(); Este lo remplazamos por el siguiente //void SetHideModeStatus2(int type, int value); //bool GetHideMode1Status2(); //bool GetHideMode2Status2(); //bool GetHideMode3Status2(); //bool GetHideMode4Status2(); Una vez hecho guardamos y abrimos el siguiente archivo Abrimos nuestro archivo PythonSystemModule.cpp y buscamos lo siguiente PyObject * systemSetHideModeStatus2(PyObject * poSelf, PyObject * poArgs) { int type; if (!PyTuple_GetInteger(poArgs, 0, &type)) return Py_BuildException(); int value; if (!PyTuple_GetInteger(poArgs, 1, &value)) return Py_BuildException(); CPythonSystem::Instance().SetHideModeStatus2(type, value); return Py_BuildNone(); } PyObject * systemGetHideModeStatus2(PyObject * poSelf, PyObject * poArgs) { return Py_BuildValue("(bbbb)", CPythonSystem::Instance().GetHideMode1Status2(), CPythonSystem::Instance().GetHideMode2Status2(), CPythonSystem::Instance().GetHideMode3Status2(), CPythonSystem::Instance().GetHideMode4Status2()); } Luego este lo remplazamos por lo siguiente: //PyObject * systemSetHideModeStatus2(PyObject * poSelf, PyObject * poArgs) { // int type; // if (!PyTuple_GetInteger(poArgs, 0, &type)) // return Py_BuildException(); // // int value; // if (!PyTuple_GetInteger(poArgs, 1, &value)) // return Py_BuildException(); // // CPythonSystem::Instance().SetHideModeStatus2(type, value); // return Py_BuildNone(); //} // //PyObject * systemGetHideModeStatus2(PyObject * poSelf, PyObject * poArgs) { // return Py_BuildValue("(bbbb)", CPythonSystem::Instance().GetHideMode1Status2(), CPythonSystem::Instance().GetHideMode2Status2(), CPythonSystem::Instance().GetHideMode3Status2(), CPythonSystem::Instance().GetHideMode4Status2()); //} Ahora buscamos lo siguiente {"SetHideModeStatus2", systemSetHideModeStatus2, METH_VARARGS}, {"GetHideModeStatus2", systemGetHideModeStatus2, METH_VARARGS}, Este lo remplazamos por el siguiente //{"SetHideModeStatus2", systemSetHideModeStatus2, METH_VARARGS}, //{"GetHideModeStatus2", systemGetHideModeStatus2, METH_VARARGS}, Y listo ya guardamos y compilamos nuestro binario Ahora pasamos a la parte del cliente: Ahora abrimos nuestro archivo uigameoption.py de la carpeta root y buscamos lo siguiente class OptionDialog(ui.ScriptWindow): "Dentro de esta clase buscan la siguiente linea" self.RefreshHideMode2() "Ahora la remplazan por la siguiente" #self.RefreshHideMode2() Ahora buscan lo siguiente def __Initialize(self): "Dentro de este metodo buscan lo siguiente" self.hideMode2ButtonList = [] "Ahora lo remplazan por la siguiente" #self.hideMode2ButtonList = [] "Ahora buscan la siguiente linea" for i in xrange(4): self.hideMode2ButtonList.append(GetObject("hide2mode_%d" % i)) "Ahora la remplazan por la siguiente" #for i in xrange(4): # self.hideMode2ButtonList.append(GetObject("hide2mode_%d" % i)) "Ahora buscan lo siguiente" for i in xrange(4): self.hideMode2ButtonList[i].SetToggleUpEvent(self.__OnClickHideOptionUp2, i) self.hideMode2ButtonList[i].SetToggleDownEvent(self.__OnClickHideOptionDown2, i) "La remplazan por la siguiente" #for i in xrange(4): # self.hideMode2ButtonList[i].SetToggleUpEvent(self.__OnClickHideOptionUp2, i) # self.hideMode2ButtonList[i].SetToggleDownEvent(self.__OnClickHideOptionDown2, i) "Ahora buscan la siguiente linea" def RefreshHideMode2(self): (b1, b2, b3, b4) = systemSetting.GetHideModeStatus2() if b1: self.hideMode2ButtonList[0].Down() else: self.hideMode2ButtonList[0].SetUp() if b2: self.hideMode2ButtonList[1].Down() else: self.hideMode2ButtonList[1].SetUp() if b3: self.hideMode2ButtonList[2].Down() else: self.hideMode2ButtonList[2].SetUp() if b4: self.hideMode2ButtonList[3].Down() else: self.hideMode2ButtonList[3].SetUp() "Esta la remplazan por la siguiente" #def RefreshHideMode2(self): # (b1, b2, b3, b4) = systemSetting.GetHideModeStatus2() # if b1: # self.hideMode2ButtonList[0].Down() # else: # self.hideMode2ButtonList[0].SetUp() # # if b2: # self.hideMode2ButtonList[1].Down() # else: # self.hideMode2ButtonList[1].SetUp() # # if b3: # self.hideMode2ButtonList[2].Down() # else: # self.hideMode2ButtonList[2].SetUp() # # if b4: # self.hideMode2ButtonList[3].Down() # else: # self.hideMode2ButtonList[3].SetUp() Ahora vamos a nuestra carpeta uiscript y abrimos el archivo gameoptiondialog.py "Dentro del archivo buscamos la siguiente linea" { "name" : "hide2_mode", "type" : "text", "x" : LINE_LABEL_X, "y" : 40+(25 * 3)+3, "text" : uiscriptlocale.HIDE_2_OPTION, }, { "name" : "hide2mode_0", "type" : "toggle_button", "x" : LINE_DATA_X, "y" : 40+(25 * 3), "text" : uiscriptlocale.HIDE_2_OPTION0, "default_image" : ROOT_PATH + "large_button_01.sub", "over_image" : ROOT_PATH + "large_button_02.sub", "down_image" : ROOT_PATH + "large_button_03.sub", }, { "name" : "hide2mode_2", "type" : "toggle_button", "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH+27, "y" : 40+(25 * 3), "text" : uiscriptlocale.HIDE_2_OPTION2, "default_image" : ROOT_PATH + "middle_button_01.sub", "over_image" : ROOT_PATH + "middle_button_02.sub", "down_image" : ROOT_PATH + "middle_button_03.sub", }, { "name" : "hide2mode_1", "type" : "toggle_button", "x" : LINE_DATA_X, "y" : 40+(25 * 4), "text" : uiscriptlocale.HIDE_2_OPTION1, "default_image" : ROOT_PATH + "large_button_01.sub", "over_image" : ROOT_PATH + "large_button_02.sub", "down_image" : ROOT_PATH + "large_button_03.sub", }, { "name" : "hide2mode_3", "type" : "toggle_button", "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH+27, "y" : 40+(25 * 4), "text" : uiscriptlocale.HIDE_2_OPTION3, "default_image" : ROOT_PATH + "middle_button_01.sub", "over_image" : ROOT_PATH + "middle_button_02.sub", "down_image" : ROOT_PATH + "middle_button_03.sub", }, "Esta linea la remplazamos por la siguiente" #{ # "name" : "hide2_mode", # "type" : "text", # "x" : LINE_LABEL_X, # "y" : 40+(25 * 3)+3, # "text" : uiscriptlocale.HIDE_2_OPTION, #}, #{ # "name" : "hide2mode_0", # "type" : "toggle_button", # "x" : LINE_DATA_X, # "y" : 40+(25 * 3), # "text" : uiscriptlocale.HIDE_2_OPTION0, # "default_image" : ROOT_PATH + "large_button_01.sub", # "over_image" : ROOT_PATH + "large_button_02.sub", # "down_image" : ROOT_PATH + "large_button_03.sub", #}, #{ # "name" : "hide2mode_2", # "type" : "toggle_button", # "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH+27, # "y" : 40+(25 * 3), # "text" : uiscriptlocale.HIDE_2_OPTION2, # "default_image" : ROOT_PATH + "middle_button_01.sub", # "over_image" : ROOT_PATH + "middle_button_02.sub", # "down_image" : ROOT_PATH + "middle_button_03.sub", #}, #{ # "name" : "hide2mode_1", # "type" : "toggle_button", # "x" : LINE_DATA_X, # "y" : 40+(25 * 4), # "text" : uiscriptlocale.HIDE_2_OPTION1, # "default_image" : ROOT_PATH + "large_button_01.sub", # "over_image" : ROOT_PATH + "large_button_02.sub", # "down_image" : ROOT_PATH + "large_button_03.sub", #}, #{ # "name" : "hide2mode_3", # "type" : "toggle_button", # "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH+27, # "y" : 40+(25 * 4), # "text" : uiscriptlocale.HIDE_2_OPTION3, # "default_image" : ROOT_PATH + "middle_button_01.sub", # "over_image" : ROOT_PATH + "middle_button_02.sub", # "down_image" : ROOT_PATH + "middle_button_03.sub", #}, Y con eso ya estaria el bug reparado, en caso de problemas dejenlos en los comentarios y os ayudare. caanmasu 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.