Jump to content

caanmasu

Miembro
  • Contador contenido

    357
  • Ingreso

  • Última visita

  • Días ganados

    38

Actividad de reputación

  1. Me Gusta
    caanmasu got a reaction from Marcos Pinheiro in borrar   
    borrar
  2. Me Gusta
    caanmasu got a reaction from Marcos Pinheiro in ¡Evento de pesca!   
    ---------------------------------------------------
    UPDATE!
     
    He puesto multilanguage la quest. En el momento está en español e inglés pero está en variables de translate, así que se puede usar en cualquier servidor internacional, solo se agregan las variables de los otros idiomas.
    Esta quest es para que se pueda pescar todo lo que quieras en el mar sin tener que modificar ningún archivo en la base!
    Otra actualización que hice fue que, mientras el evento esté activo y yo como GM agregue o elimine un pez (objeto) va a avisar a todos en un anuncio.
     
    ¿La quieres?
    -------------------------------------------------------
     
    ¡Hola a todos!
     
    He sacado de mi baúl de quests un evento de pesca
     
    El evento consiste en pescar objetos que el GM agregue a la lista de peces.
    Saludos a mi amigo
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. que aparece en el vídeo.  
    Vídeo:
     
     
     
    Instrucciones:
    El GM activa el evento y asigna la duración.
    Hay un menú donde aparecen todos los objetos posibles para pescar, y al seleccionar alguno, se puede elegir como modelo para agregar el objeto que se quiera.
    Una vez agregado, queda en la lista de Objetos especiales que se puede ver en el Pescador y en el NPC donde se activa el evento.
    Los objetos agregados se pueden eliminar desde la lista de Objetos especiales.
    Se puede terminar el evento forzadamente.
    FAQ:
    ¿Si agrego un objeto, se pueden seguir pescando los peces normales?


    ¿Qué sucede cuando agrego un pez? ¿en dónde queda?
    Queda arriba del pez modelo, o sea, del pez elegido.
    Si elegiste Pez pequeño como modelo, en el fishing.txt va a quedar tu nuevo objeto arriba de esa línea.

    ¿Si se termina el evento, no saldrán los objetos especiales?
    Por supuesto que no. Y tampoco se eliminarán los objetos especiales sino que seguirán guardados en la lista.

    ¿Por qué al pescar objetos con socket aparece una rozadura en un socket?
    Ya no recomiendo esto, por favor no poner objetos equipables para pescar

    ¿Si elimino un pez de los normales, lo puedo volver a agregar después?
    No. Hay que hacer una copia de fishing.txt

    ¿Por qué vi un tiempo de 30 segundos cuando se iba a activar el evento?
    Porque era para hacer pruebas, eso ya no estará. 🙂

    ¿Por qué hay que tomar como modelo otro objeto?
    Porque los parámetros de los peces son muy complejos, y para más facilidad solo se copia y se pega la línea.
    ¿Cuánto cuesta?
    Escríbeme para hacer un trato.
     
    El servicio cuenta desde la instalación hasta las actualizaciones que haga del evento.
     
    Esto fue todo amigos 💥

    Discord: Camilo#0869
  3. Me Gusta
    caanmasu got a reaction from Marcos Pinheiro in Serie de misiones diarias   
    Hola
     
    Este post es sobre mi serie de misiones diarias donde voy a subir vídeos de unas misiones que hice hace unos días, con vídeo e información completa de configuración.
    Todas las quest son adaptadas a multiidiomas.
     
    Las misiones se reinician a las 00:00 hora del servidor. Si no aparece, cambia de personaje.
    Al reiniciar las misiones, tus valores se limpian y la quest crea nuevos. Es decir, si no acabaste la misión de hoy, a las 00:00 sale una nueva donde te pida algo nuevo.
     
    1. Metines consecutivos
     
    Consiste en destruir cierta cantidad de metines en cierto tiempo entre cada uno. Si el tiempo expira, habrá otras oportunidades para hacerla.

    Parámetros de configuración:
     
    Nivel requerido. Puedes configurar un nivel mínimo y un nivel máximo en que aparezca la misión. Cantidad de metines a destruir. Puedes elegir un mínimo y un máximo de metines que se van a destruir. El sistema elegirá un número al azar en ese rango. Tiempo restante entre cada metin. La unidad es en segundos y recuerda que el tiempo vuelve al máximo cuando se destruye el siguiente metin. Intentos. Puedes elegir la cantidad de veces que puedes fallar la misión. Metines. Puedes controlar qué metines quieres que cuenten, solo ingresando el vnum en una lista. Recompensa. Puedes agregar una lista de recompensas con su ítem y cantidad. El sistema elige un objeto al azar de la lista como recompensa.  
     
    2. Explorar con tu montura
     
     
    Consiste en recorrer un mapa punto por punto donde indique el juego. No hay tiempo restante.

    Parámetros de configuración:
     
    Nivel requerido. Puedes configurar un nivel mínimo y un nivel máximo en que aparezca la misión. Puntos. Puedes agregar mapas, a cada mapa le puedes asignar un nivel mínimo y un nivel máximo opcional. Debes agregar la ubicación adonde quieres que llegue el personaje una vez sea transportado al mapa, por reino. Por cada mapa puedes agregar las listas de puntos. El sistema elegirá una lista de puntos al azar. Recompensa. Puedes agregar una lista de recompensas con su ítem y cantidad. El sistema elige un objeto al azar de la lista como recompensa.  
    3. El poder preciso
     
     
    Consiste en entregar un objeto con los bonus aleatorios que pide el alquimista. El orden no importa y los valores deben ser exactos.

    Parámetros de configuración:
     
    Nivel requerido. Puedes configurar un nivel mínimo y un nivel máximo en que aparezca la misión. Bonus. Puedes agregar listas de bonus y el sistema elegirá una lista al azar. Cada lista debe tener entre uno y cinco bonus con sus valores. Lo mejor son 5 bonus ya que es muy buena la dificultad. Recompensa. Puedes agregar una lista de recompensas con su ítem y cantidad. El sistema elige un objeto al azar de la lista como recompensa. Actualizaciones:
    Nuevo parámetro de configuración:
    Nivel mínimo del objeto: si es arma o armadura, puedes establecer un nivel mínimo del arma o armadura a entregar. 4. Ofrenda del día
     
     
    Consiste en entregar cierta cantidad de cierto objeto a un NPC.

    Parámetros de configuración:
     
    Nivel requerido. Puedes configurar un nivel mínimo y un nivel máximo en que aparezca la misión. NPC. Puedes cambiar el vnum del NPC de la misión fácilmente. Ítems. Puedes agregar las listas objetos que pide el NPC. El sistema asigna solo un ítem con su cantidad y es elegido al azar de la lista. Cada lista tiene un nivel mínimo y nivel máximo, e incluso se pueden cruzar. En el archivo se entiende muy bien. Esto es para que no pida objetos de niveles altos a los niveles bajos. Recompensa. Al final de cada lista de objetos se agrega la cantidad del objeto recompensa que se ganará el personaje. Y en otro apartado aparece el vnum de ese objeto. En caso de que un objeto elegido por el sistema se combine con varias listas, se sacará el promedio de las cantidades del objeto recompensa. El objeto recompensa es uno solo, la cantidad varía según lo configurado.  
     
  4. Me Gusta
    caanmasu got a reaction from Hardy35 in borrar   
    borrar
     
  5. Caca
    caanmasu got a reaction from 𝗔𝗿𝗲𝘀 in borrar   
    borrar
  6. Caca
    caanmasu got a reaction from 𝗔𝗿𝗲𝘀 in borrar   
    borrar
  7. Caca
    caanmasu got a reaction from 𝗔𝗿𝗲𝘀 in borrar   
    borrar
  8. Caca
    caanmasu got a reaction from 𝗔𝗿𝗲𝘀 in borrar   
    borrar
  9. Caca
    caanmasu got a reaction from 𝗔𝗿𝗲𝘀 in Looking for a EN -> ES/PT translator   
    Me
  10. Caca
    caanmasu got a reaction from 𝗔𝗿𝗲𝘀 in Misiones de caza del oficial   
    Misiones de caza del oficial
     
    He renovado la quest de caza del oficial, la mostraré en el siguiente vídeo:
     
     
    Descripción:
     
     
    Quest levelup
    Cuando fue filtrada la fuente del juego por primera vez, aparecía en quest este archivo levelup.quest. Fue la primera o una de las primeras misiones programadas en el juego. Al intentar instalar esta misión con el archivo original, estaba incompleta y no funcionaba del todo. El código fuente de la misión es demasiado ineficiente, difícil de modificar y su estructura es pésima; es así al ser posiblemente la primera quest programada en el juego y el conocimiento en el lenguaje era nuevo.
    Mi trabajo fue hacer funcionar esta misión, hacerla completa, mejorar su estructura y código fuente.
    La misión viene con la quest, la librería de los datos (niveles, monstruos, señales, recompensas, etc) y las imágenes de los monstruos.
    Parámetros a configurar:
    Niveles: puedes quitar niveles sin problema. Aunque la misión va desde el nivel 2 al 90 consecutivo, no se recomienda quitar niveles. Puedes agregar niveles siempre y cuando tengas una imagen del monstruo. Cantidad: puedes modificar la cantidad de monstruos que vas a matar. Recompensas: puedes modificar la experiencia, los objetos y el Yang. Tener en cuenta que en algunas partes hay que modificar textos fijos en las recompensas.
     
    Recompensas: Las recompensas de experiencia y oro están estructuradas en distribuciones, y cada distribución tiene un rango de niveles. Es decir, si el monstruo está entre el nivel 63 y 83, habrá una tabla donde dará cierto valor de experiencia u oro con una probabilidad de que dé más o menos.
    En cuanto a la experiencia, hay fija y porcentual. Cuando se da experiencia porcentual, esa experiencia corresponderá al nivel de la misión. Es decir, si hiciste la misión de nivel 5 y eres nivel 30, cuando reclames la recompensa dirá por ejemplo que recibiste el 10% de la experiencia, ese 10% es del nivel 5 y no 30.
    Imágenes: En el cliente se encuentran las imágenes de los monstruos y el fondo, que es un pergamino.
    Señales: Son las "burbujas" que aparecen en el mapa grande cuando estás viendo el monstruo seleccionado. Solo aparecerán en los monstruos que pertenezcan a las ciudades. En mapas neutrales no aparecerán señales.
     
    Precio de todo: 45 usd
  11. Caca
    caanmasu got a reaction from 𝗔𝗿𝗲𝘀 in borrar   
    borrar
     
  12. Caca
    caanmasu got a reaction from 𝗔𝗿𝗲𝘀 in [Reclutamiento] Traductores y Miembros Staff   
    Yo te traduzco por money
  13. Caca
    caanmasu got a reaction from 𝗔𝗿𝗲𝘀 in Evento: Super Metines   
    Hola a todos!
     
    He creado un evento llamado Super Metines, que consiste en invocar metines en un mapa, con la diferencia de que cada metin tiene en las mismas coordenadas 5 veces del mismo.
    Vídeo:
    (ignoren el color del desierto)
     
    El evento consiste en invocar metines en el desierto. Cada metin aparecerá con x metines superpuestos. No es un evento de activar. Solo se soltarán oleadas.
     
    Parámetros de configuración:
    Metines: lista de los vnums de los metines que se van a invocar. Puedes agregar varias veces el mismo vnum si quieres que sea más frecuente.
    Superposición: cantidad de metines del mismo tipo que caerán en la misma ubicación.
    Cantidad de metines a invocar: la cantidad a invocar por el GM está controlada por botones, aunque no hay control sobre la cantidad de oleadas que se pueden lanzar.
     
    La quest está adaptada a multiidioma.
     
    Más detalles:
    - Un pergamino aparece en el GM y tiene la opción de elegir con botones la cantidad de metines que va a lanzar.
    - El mapa seleccionado es el desierto.
    - Puedes agregar los vnums de los metines que quieras, todos caerán aleatorios.
    - Puedes modificar la cantidad de metines superpuestos, por defecto está en 5.
    - Una vez lanzada una oleada, aparecerá un anuncio a todos los personajes.
    - Una vez lanzada una oleada, le aparecerá al GM las coordenadas de los metines invocados.
     
    Cualquier personalización te la puedo hacer a pedido.
     
    Precio de la quest al privado o mensaje a mi Discord: Camilo#0869
     
    Saludos!
  14. Caca
    caanmasu got a reaction from 𝗔𝗿𝗲𝘀 in borrar   
    borrar
  15. Gracias
    caanmasu got a reaction from Marcos Pinheiro in borrar   
    borrar
  16. Me Gusta
    caanmasu got a reaction from wille damare in borrar   
    borrar
     
  17. Gracias
    caanmasu got a reaction from josepiti1 in borrar   
    borrar
  18. Me Gusta
    caanmasu reacted to 𝗔𝗿𝗲𝘀 in Crear servidor de 0?   
    Buenos dias:
     
    Antes de nada quiero que sepas que si eres nuevo en esto del mundo del desarrollo es que si vas a buscar a gente te recomiendo que mires bien y te informes antes de contratar a alguien ya que hay muchas personas que tambien han querido venir a montar servidores sin tener idea y las cuales han sido estafadas. Mi recomendacion es que si vas a contratar a personas como dijistes para el tema del mantenimiento y la enseñanza del servidor es que te comuniques con las siguientes personas:
     
    Discord:
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.: Ofrece servicios tanto de VPS asi como de dedicado, al igual que te puede dar un empujon y enseñarte algo sobre metin2 en caso de dudas. Tambien te podra montar la base que desees sin problema. "Yo tengo contratados sus servicios para todo el tema de la vps y la verdad que 0 problemas" En cambio siempre que tuve algun problema no tardaba en repararlo o echarme una mano en algunas dudas que tenia

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.:  Yo me encargo en todo lo relacionado de la implementacion: Armas, armaduras, efectos, alas, sistemas....etc Tambien hago mapas a gusto del comprador.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.:Si deseas tener diseños unicos, Alpha es la mejor opcion. La verdad que hace diseños muy buenos. Debes iniciar sesión para ver el contenido del enlace en esta publicación.:La verdad estuvimos un tiempo trabajando juntos, y si tienes que montar alguna pagina web, autopatcher o cualquiero otro tema relacionado con el hosting esta es la persona ideal.


    Ahora sobre el tema de la base que debes de escoger es:
     
    Que si estas dispuesto a gastar en tu proyecto es que optes por la opcion mas recomendable que es contactar con martysama y comprar la base, ya que podras trabajar en algo estable sin caidas ni bugs ni errores ni nada de eso, ya que es una base limpia por lo cual no tiene sistemas ni vainas raras instaladas. Solo lo basico

    Ahora si no estas dispuesto a gastar en la base te recomiendo que busques por los foros alguna base que sea martysama 4.9 o 5.4 o que intentes contactar con alguien de aca para que te pase una base "Ya que puede haber gente que te haga el favor" Pero recuerda que si montas una base que este publica y que tenga cosas instaladas te la estas arriesgando a montar una base con Backdoor.

    Espero que te ayude esta pequeña informacion.

    Importante: Tambien viendo el tema de que muchas personas nuevas que estan abriendo servidores con los files WoM2, Wonder2. Si de casualidad te ofrecieran bases asegurate de buscar informacion por las que mencione ya que esas bases la gente la estan revendiendo y la verdad es una de las bases mas complicadas a la hora de trabajarlas "Te lo digo por experiencia". Yo por mi parte siempre recomiendo a las nuevas personas usar una base limpia.
     
  19. Caca
  20. Me Gusta
    caanmasu got a reaction from clocki in borrar   
    borrar
  21. Me Gusta
    caanmasu reacted to 𝗔𝗿𝗲𝘀 in [SOLUCION] Bug en los efectos "Cuando inicias de sesion"   
    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.
  22. Me Gusta
    caanmasu got a reaction from 【ℛ-𝓝】ℛ𝔂𝓼𝒆 in borrar   
    borrar
     
  23. Me Gusta
    caanmasu reacted to 𝗔𝗿𝗲𝘀 in Atuendos Auora Kindom   
    Buenos dias zoneros, como hace mucho que no subo contenido al foro hoy os vengo a aportar estos maravillosos atuendos que tenia guardados por los discos duros
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Que es lo que trae:
    Peinados: Todas las razas menos licano
    Armaduras: Todas las razas menos licano
    Alas: Van por mse
    Efectos
     
    Adjunto foto del atuendo:
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  24. Gracias
    caanmasu got a reaction from NazoX in Misiones de caza del oficial   
    Misiones de caza del oficial
     
    He renovado la quest de caza del oficial, la mostraré en el siguiente vídeo:
     
     
    Descripción:
     
     
    Quest levelup
    Cuando fue filtrada la fuente del juego por primera vez, aparecía en quest este archivo levelup.quest. Fue la primera o una de las primeras misiones programadas en el juego. Al intentar instalar esta misión con el archivo original, estaba incompleta y no funcionaba del todo. El código fuente de la misión es demasiado ineficiente, difícil de modificar y su estructura es pésima; es así al ser posiblemente la primera quest programada en el juego y el conocimiento en el lenguaje era nuevo.
    Mi trabajo fue hacer funcionar esta misión, hacerla completa, mejorar su estructura y código fuente.
    La misión viene con la quest, la librería de los datos (niveles, monstruos, señales, recompensas, etc) y las imágenes de los monstruos.
    Parámetros a configurar:
    Niveles: puedes quitar niveles sin problema. Aunque la misión va desde el nivel 2 al 90 consecutivo, no se recomienda quitar niveles. Puedes agregar niveles siempre y cuando tengas una imagen del monstruo. Cantidad: puedes modificar la cantidad de monstruos que vas a matar. Recompensas: puedes modificar la experiencia, los objetos y el Yang. Tener en cuenta que en algunas partes hay que modificar textos fijos en las recompensas.
     
    Recompensas: Las recompensas de experiencia y oro están estructuradas en distribuciones, y cada distribución tiene un rango de niveles. Es decir, si el monstruo está entre el nivel 63 y 83, habrá una tabla donde dará cierto valor de experiencia u oro con una probabilidad de que dé más o menos.
    En cuanto a la experiencia, hay fija y porcentual. Cuando se da experiencia porcentual, esa experiencia corresponderá al nivel de la misión. Es decir, si hiciste la misión de nivel 5 y eres nivel 30, cuando reclames la recompensa dirá por ejemplo que recibiste el 10% de la experiencia, ese 10% es del nivel 5 y no 30.
    Imágenes: En el cliente se encuentran las imágenes de los monstruos y el fondo, que es un pergamino.
    Señales: Son las "burbujas" que aparecen en el mapa grande cuando estás viendo el monstruo seleccionado. Solo aparecerán en los monstruos que pertenezcan a las ciudades. En mapas neutrales no aparecerán señales.
     
    Precio de todo: 45 usd
  25. Me Gusta
    caanmasu got a reaction from xLordneji in borrar   
    borrar
     
×
×
  • Crear nuevo...