Jump to content

caanmasu

Miembro
  • Contador contenido

    357
  • Ingreso

  • Última visita

  • Días ganados

    38

Mensajes publicados por caanmasu

  1. Bueno no es por nada pero debo explicar xD

    Las personas que trabajaron estos files cambiaron drásticamente el código fuente de las mazmorras.

    El flag cooldown se modifica cuando se ejecuta la función de quest d.remove_item(), que no sé por qué lo hicieron, ya que la eliminación de ítems no está relacionada con el tiempo de recarga de la mazmorra.

    --catacombe.lua
    				elseif result == 1 then
    					say(gameforge[lang].common.dungeon_21)
    					wait()
    					d.remove_item(30320, 1, 30321, 1, 30312, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1800, "catacombe")
    					game.set_event_flag(string.format("ww_216_%d", pc.get_channel_id()), get_global_time() + 5)
    					d.join_cords(216, 4434, 12698)
    				end
    //questlua_dungeon.cpp
      	ALUA(dungeon_remove_item)
    		...
    		int32_t cooldown = (int32_t)lua_tonumber(L, 17);
    		//para grupo y para individual:
    					tch->SetQuestFlag(m_questname + ".enter_time", get_global_time());
    					tch->SetQuestFlag(m_questname + ".cooldown", get_global_time() + cooldown);

    Por esto y muchas otras cosas tuve que cambiar todo el código a como estaba.

     

    hace 6 horas, lizbeth de la luz dijo:

    Una pregunta soy nuevo en esto use estos serverfiles para probar un poquito como puedo cambiar el tiempo para volver a entrar a una dungeon no encuentro como cambiarlos ni donde estás los archivos.cooldown se los agradecería bastante

    Respondiendo a tu pregunta, el cooldown se cambia en d.remove_item, en el penúltimo parámetro, digamos, en catacombe.lua, busca esa línea de d.remove_item, y en vez de 1800 (es 60*3), pones el número en segundos; si quieres una hora pon 60, si quieres 2 horas pon 60*2; si no quieres poner tiempo, déjalo en 0.

  2. En 17/7/2022 a las 12:35, Rhaegal dijo:

    0714 15:51:13845 :: 
    networkModule.py(line:208) SetSelectCharacterPhase
    system.py(line:130) __pack_import
    system.py(line:110) _process_result
    introSelect.py(line:26) <module>
    system.py(line:130) __pack_import
    system.py(line:110) _process_result
    uiTarget.py(line:19) <module>
    uiTarget.py(line:511) TargetBoard

    networkModule.SetSelectCharacterPhase - <type 'exceptions.NameError'>:name 'self' is not defined

    0714 15:51:13845 :: ============================================================================================================
    0714 15:51:13845 :: Abort!!!!


     

    Sube los archivos

    networkModule.py y uiTarget.py

  3. Tengo el mejor socio

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
     😁

     

    Pues no sé cómo vas a manejar todo ese asunto, aquí es difícil cazar talentos y con ética.

    Igual te deseo muchos éxitos.

     

    En 16/6/2022 a las 23:17, 【ℛ-𝓝】ℛ𝔂𝓼𝒆 dijo:

    Para trabajos se puede recomendar a algunos como:

    Para comprar una base:

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.

    Diseños:

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.

    3D:

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.

    Mapas:

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.

    C++:

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.

    Te olvidaste de mí jdr xD

  4. Yo lo traduzco en 2 minutos.

    Voy a decirles cómo lo hago para este caso desde db.

     

    1. Tomo el mob_names.txt del oficial. (Saco el cliente descompilado del foro de Dev)

    2. Abro mob_names.txt en Excel.

    Inicialmente mi tabla está así:

    image.png

    Desde el Excel voy a crear las querys para meter en el Navicat, entonces debo hacer esto:

    a. Paso la columna de los Vnum a la derecha

    image.png

    b. Agrego unas columnas en blanco así:

    image.png

    c. Voy al final con CTRL+Fin y agrego esto para que quede así:

    image.png

    Columna A: 'UPDATE player.mob_proto SET locale_name = "'

    Columna C : '" WHERE vnum = '

    Columna E: ';'

    (copia y pega lo que está dentro de las comillas simples (') y respeta los espacios)

    d. Vamos a rellenar las columnas.

    Copia la celda de A

    image.png

    Presiona CTRL+Shift (izquierdo) + flecha arriba. Con esto se seleccionará toda la columna de la celda actual hasta la primera.

    Le damos CTRL+V (pegar)

    y queda así:

    image.png

    Repetir estos pasos con la columna C y la E.

    e. Seleccionamos todas las columnas

    image.png

    3. Abrimos Notepad++ y pegamos el contenido.

    Queda así:

    Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación.

    4. Limpiamos los datos así:

    a. Buscamos y reemplazamos los tabuladores por ningún caracter.

    Ctrl+F, pestaña Reemplazar. 

    image.png

    Se busca "\t" que corresponde al tabulador.

    Asegurarnos de que el modo de búsqueda esté en Extendido para que entienda el \

    En Reemplazar con: dejamos en blanco. Ojo, no poner espacio, solo dejar vacío.

    Le damos a Reemplazar todo.

    b. Borramos la primera línea.

    c. Buscar un caracter inválido y reemplazamos por nada.

    Este archivo tiene un caracter STX que hay que quitarlo.

    Nos vamos a uno de ellos

    image.png

    Le damos doble clic a STX para que quede seleccionado, y luego CTRL+F. Reemplazamos por ningún caracter.

    5. CTRL+A para seleccionar todo el contenido

    6. Vamos al Navicat en Query -> New Query, pegamos el contenido y le damos a Run.

     

    Lo que va a pasar es que, si el vnum existe, va a reemplazar el locale_name correspondiente.

    Este proceso va a durar un poco, según el pc de cada uno.

     

    Hacer lo mismo con item_names.txt.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.

     

     

  5. hace 25 minutos, TheKing24 dijo:

    gracias bro pero no consigo o veo algo diferente esta es la fuente me dices cual es el error?

                                        if (INTARIRE_PERMANENT == false)
                                        {
                                            item->SetCount(item->GetCount() - 1);
                                            break;
                                        }
                                        break;

    Ahí está el problema. Ellos usan una variable llamada INTARIRE_PERMANENT. Si dejas esa variable en false, se va a descontar el objeto.

    La otra sería borrar ese if, o sea, dejar solo:
     

                                        item->SetCount(item->GetCount() - 1);
                                        break;

     

  6. hace 7 minutos, NazoX dijo:

    Puede ser como dices, me base en un define porque el dice o me dio a entender que había código remplazado  "pero no se quita ay otro codigo existente para quitarlo"

    por eso pensé quizás en el 6-7 del oficial o algo similar, una vez descartásemos eso, procederíamos a tu comentario aún así se agradece que te me hayas adelantado! quizás le sirva a alguien más <.<

    Sí, es que no sé, su mensaje es confuso, no le entiendo bien xD

    Esos files se ven muy tocados, no sé qué tan complicado sea trabajar donde otros pusieron la mano sin saber cómo modificaron las cosas.

    Hice mi aporte :v como si tuviera unos files vírgenes.

    Bueno hace parte del trabajo ayudar en cuanto uno puede.

    Saludos NazoX!

  7. Hola

    Dudo que venga con un define ya que esa modificación es solo tocar una línea 🙂

    Voy a ver si lo puedo explicar bien

     

    Eso va por el lado del servidor

    Te vas a char_item.cpp, este archivo describe la interacción entre entidades (personajes) e ítems.

    Hay una clase muy importante llamada UseItemEx, que es cuando se le da clic derecho a un objeto para usarlo.

    bool CHARACTER::UseItemEx(LPITEM item, TItemPos DestCell)

    Como todos los ítems tienen una clasificación, y estos son los tipos y subtipos, ahí podemos guiarnos.

    En el proto se ve en la línea del objeto de coacción el type ITEM_USE y el subtype USE_ADD_ATTRIBUTE.

    image.png

    Vamos de nuevo a char_item.cpp

    y nos encontramos con esto:

    image.png

    La línea 

    item->SetCount(item->GetCount() - 1);

    seguramente la comentaron o la quitaron. Hay que revisarlo. Creo que se entiende, la cantidad de ese objeto disminuye en 1.

     

     

  8.  

    hace 15 horas, PACI dijo:

    No entiendo como va esto de tener que enviarte un mensaje privado por algo que estás compartiendo.

    Pocas personas usan Yohara en sus servidores. 

    Si realmente hay alguien interesado en obtener esta modificación, yo libero el sistema. Es un filtro que se realiza incluso en los sistemas de embudo. 

     

    También estoy desarrollando un server y por el camino he encontrado gente interesante que me ha contactado al privado porque le interesa lo que hago y estamos trabajando de la mano. 

     

    Un saludo! 

  9. No sé si esto se pueda hacer pero ahí va

    Pones los bonus normal en el proto, en las columnas attrtypex, attrvaluex

    Luego quitas la absorción poniendo un 0 en el value0 o value1, alguno de esos dos

    Quitas la opción del NPC que permite la absorción.

    (aún no tiene la opción de que se le pueda agregar bonus aleatorios)

     

    En jugabilidad esto es demasiado inviable, ya los objetos equipables tienen bonus demasiado altos, y poner un objeto más es recargarlo aún más. Por eso no volvieron a sacar objetos así. Por ejemplo, cuando sacaron cinturones no pusieron demasiados bonus fijos y los 5 aleatorios sino uno o dos bonus fijos suaves. Luego cuando sacaron las skins para armas y armaduras pusieron hasta 3 bonus aleatorios ligeros. Lo mismo en peinados, ese tipo de accesorios no deben tener los bonus como si fueran armas, armaduras, zapatos, escudos, etc.

    En temas de jugabilidad, si cambiaras lo de la estola, ponle bonus ligeros fijos, incluso ponerle 3 ya es mucho. Y sin bonus aleatorios (objetos encantados).

    Yo de ti la dejaría tal cual está, con su absorción, que ese es el objetivo de la estola, un saludo.

  10. Debes agregar la función say_yellow en el questlib.lua.

    function say_blue ( name ) say ( color256 ( 0 , 0 , 255 ).. name .. color256 ( 0 , 0 , 255 )) end
    function say_red ( name ) say ( color256 ( 255 , 0 , 0 ).. name .. color256 ( 255 , 0 , 0 )) end
    function say_green ( name ) say ( color256 ( 0 , 238 , 0 ).. name .. color256 ( 0 , 238 , 0 )) end
    function say_gold ( name ) say ( color256 ( 255 , 215 , 0 ).. name .. color256 ( 255 , 215 , 0 )) end
    function say_black ( name ) say ( color256 ( 0 , 0 , 0 ).. name .. color256 ( 0 , 0 , 0 )) end
    function say_white ( name ) say ( color256 ( 255 , 255 , 255 ).. name .. color256 ( 255 , 255 , 255 )) end
    function say_yellow ( name ) say ( color256 ( 255 , 255 , 0 ).. name .. color256 ( 255 , 255 , 0 )) end
    function say_blue2 ( name ) say ( color256 ( 0 , 206 , 209 ).. name .. color256 ( 0 , 206 , 209 )) end

    Te dejé varias, las acabo de sacar de un foro xD

  11. La estructura de la tabla la tienes mal. Pon esta query en log:

     

    SET NAMES utf8mb4;
    SET FOREIGN_KEY_CHECKS = 0;
    
    DROP TABLE IF EXISTS `money_log`;
    CREATE TABLE `money_log`  (
      `time` datetime(0) NULL DEFAULT NULL,
      `type` int(11) NULL DEFAULT NULL,
      `vnum` int(11) NULL DEFAULT NULL,
      `gold` int(11) NULL DEFAULT NULL
    ) ENGINE = MyISAM CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Fixed;
    
    SET FOREIGN_KEY_CHECKS = 1;

     

  12. Te faltan comillas para cerrar el texto traducido:

    "SHOP_REASON";
    "<?el D?kan> Correcto;

    Acá te faltó el ;

    "%s ¢¥A ¡¾¨¬AO¡¤I AO¢¬iCO¨ùo ¨ú©ª¨öA¢¥I¢¥U .";
    "No puedes ir como monarca %s"

     

    Todos los textos que estaban por debajo de "SHOP_REASON" daban error por esas comillas que faltaron.

     

    Por supuesto que encontrar ese error es buscar una aguja en un pajar, tuve que usar un programa.

×
×
  • Crear nuevo...