Jump to content

caanmasu

Miembro
  • Contador contenido

    357
  • Ingreso

  • Última visita

  • Días ganados

    38

Todo lo publicado 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. 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. Sube los archivos networkModule.py y uiTarget.py
  3. Para ver bien la indentación debes ir al Notepad++ y hacer esto: En la barra de tareas, pestaña Vista -> Mostrar símbolo -> Mostrar todos los caracteres
  4. Tengo el mejor socio @Kronixer™ 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. Te olvidaste de mí jdr xD
  5. 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í: 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 b. Agrego unas columnas en blanco así: c. Voy al final con CTRL+Fin y agrego esto para que quede así: 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 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í: Repetir estos pasos con la columna C y la E. e. Seleccionamos todas las columnas 3. Abrimos Notepad++ y pegamos el contenido. Queda así: 4. Limpiamos los datos así: a. Buscamos y reemplazamos los tabuladores por ningún caracter. Ctrl+F, pestaña Reemplazar. 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 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. mob_names.txtitem_names.txt
  6. 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;
  7. 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!
  8. 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. Vamos de nuevo a char_item.cpp y nos encontramos con esto: 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.
  9. Base WoM pero al menos le dedicaron el tiempo suficiente para trabajarla. Suerte con el proyecto.
  10. Yo no juzgo pero a veces hago preguntas incómodas :V ¿Por qué no dejan las mazmorras como estaban? como las originales
  11. 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!
  12. 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!
  13. 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.
  14. Esos errores le pueden ocurrir a cualquier base. A lo que yo me refiero es que posteen eso así. En stackoverflow lo hubieran sancionado :V
  15. Tengo un programa que traduce en un segundo el item_names.txt y mob_names.txt.
  16. 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
  17. 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;
×
×
  • Crear nuevo...