Jump to content

caanmasu

Members
  • Content Count

    249
  • Joined

  • Last visited

  • Days Won

    12

caanmasu last won the day on August 24

caanmasu had the most liked content!

About caanmasu

  • Rank
    Aficionado

Recent Profile Visitors

1,571 profile views
  1. Apoyo la regulación de servidores privados... u.u
  2. Es un sistema que se llama Hidden Costume System
  3. Tengo pensado traducir el locale_string.txt de unos files turcos que tienen todos los sistemas y luego dejarlo público para que luego usen el programa anterior de comparar y ya, se traduce todo. El trabajo es traducirlos pero si guba se le mide a hacerlo está bien xD
  4. Claro que lo intenté pero siguió igual. Antes me funcionaba pero ni idea de qué pasó xD Uff lo del reemplazo no es así nada más, te explico: Hay textos así "texto %d texto" y la traducción queda así "texto% D texto" "%s texto" -> "% S texto" "%u texto" -> "% u texto" "texto %lld" -> "texto % Lld" etc y son muchas variables, como u, s, d, ld, lld, lu, etc.
  5. Hola! Bueno luego de haber alcanzado los 500 puntos gracias a ustedes, he elaborado una versión experimental para traducir cualquier cosa desde Google Translate automáticamente. Seguro me preguntarán: para eso copio línea por línea y la pego en la página de Google Translate. Seguro es lo primero que llegaste a pensar pero son muchas líneas ya que muchos files traen muchos sistemas y están en turco. Tardarías mucho tiempo traduciendo e interpretando el contexto ya que la traducción de turco a español muchas veces no se entiende lo que quiere decir. El Google Translate es el mismo traductor de Google. Google vende este servicio, pero sabemos que no lo vamos a comprar. Así que hay personas que crean códigos abiertos y de alguna forma crean su propia api para Google Translate y la comparte. Por si ya lo entendiste, estaré usando una api de Google pirata. Al menos en mi pc cada segundo puede traducir 5 frases sencillas de un reglón y es automático. Esto es mucho mejor que copiar y pegar línea por línea en la página del traductor. Si recuerdan mi post del programa para traducir locale_string.txt (pinche vato el que le puso a mi publicación) Aquí uso este mismo programa para reemplazar las líneas que ya están traducidas. Luego las líneas que no se reemplazaron son las que se van a traducir por el Google Translate. Voy a nombrar algunas desventajas, que no todo es color de rosas, además que este programa es básico, le falta mejorar algunas cosas: - La codificación me funcionaba bien, pero luego de un cambio ahora no detecta bien algunos caracteres, y esto afecta la traducción. - Cuando se traducen variables (%d, %u, %s, %lld, etc), la frase traducida separa el % de la letra, es decir, si era "%s" queda "% S". Y a veces se pega a la palabra de al lado. Mejor dicho, hay que procesar un poco las frases traducidas. - Hay algunas palabras que se traducen en turco a español que no tienen ningún sentido y necesariamente hay que revisarlas manualmente. Esto no es problema de la api sino que ocurre en la misma página del traductor de Google. Voy a mostrarte algunas capturas Aquí dice que hay 63 líneas para traducir. La línea original es la de arriba, y fíjate que hay signos de interrogación; ahí hay caracteres turcos que antes me los leía y ya no. :c Mira que el texto nuevo no tiene sentido. Antes sí lo tenía xD Antes tenía sentido esto. Pero bueno, lo que quiero mostrar acá es que hay problemas de codificación desde el texto original y eso no se traduce; también las variables, ejemplo, la "%d" se separa "% d" y se pega a la palabra anterior. También donde dice mafia ahí va mob. Hay frases bien traducidas. Esto es una versión experimental como puse arriba. No está lista para usar y listo. Requiere que venga alguien y lo mejore. Y ver si en verdad es útil porque puede que no, y sea mejor traducir a mano. Adjunto código de Python from googletrans import Translator def getArrayFile(path): content = [] with open(path) as f: line = f.readline() content.append(line) while line: line = f.readline() content.append(line) while content[len(content)-1] == "": content.pop(len(content)-1) f.close() return content def translateFile(array_lines): translator = Translator() count = 1 for i in array_lines: print(str(i)+": locale_string_content: "+locale_string_content[i]) new_text = translator.translate(locale_string_content[i], dest='es') print("new_text: "+new_text.text) locale_string_content[i] = new_text.text+"\n" print(str(count)+"/"+str(len(array_lines))) print("\n") count = count + 1 def getLinesTrans(): array_lines = [] for i in range(0, len(locale_string_content), 3): founded = False for j in range(0, len(other_file_content), 3): if locale_string_content[i] == other_file_content[j]: founded = True if not founded: array_lines.append(i+1) return array_lines print("You should have your locale_string within this directory") print("Type name file translated locale_string.txt (ex. locale_string_es.txt)") other_file = "locale_string_es.txt" #input() locale_string_content = getArrayFile("locale_string.txt") other_file_content = getArrayFile(other_file) def CheckFile(): error = False for i in range(0, len(locale_string_content), 3): if ord(locale_string_content[i][0]) == 10: print("Error en la línea "+str(i)+" o cercano del archivo locale_string.txt") print("Debes eliminar la línea") error = True break for i in range(0, len(other_file_content), 3): if ord(locale_string_content[i][0]) == 10: print("Error en la línea "+str(i)+" o cercano del archivo "+other_file) print("Debes eliminar la línea") error = True break return error if not CheckFile(): for i in range(0, len(other_file_content), 3): for j in range(0, len(locale_string_content), 3): if other_file_content[i] == locale_string_content[j]: locale_string_content[j+1] = other_file_content[i+1] lines_translate = getLinesTrans() translateFile(lines_translate) with open('new_locale_string.txt', 'w') as f: for i in locale_string_content: f.write(i) print("New file: new_locale_string.txt") Requisito: debes tener Python 3+ También debes instalar la api poniendo en el cmd esto: pip install googletrans==4.0.0-rc1 Debes tener tu archivo locale_string.txt para traducir, y también el archivo locale_string_xx.txt que ya está traducido. Funciona como el programa que subí la vez pasada, solo que las líneas que no se encontraron en el otro archivo se van a traducir con la api y ya. Si estás perdido, tranquilo, esto es para developers pero también puedes ser curioso xD Saludos!
  6. Bueno no suelo hacer esto pero lo dejaré por aquí Todo lo de Plechito free actualizado hasta el día de hoy 25 de agosto de 2021 [Hidden Content] No sé si aparezca esa dung pero tienes otras 20 Si este mensaje va contra las reglas, por favor borrarlo
  7. Hola! He llegado a los 500 puntos, es hora de celebrar! Gracias a todos ustedes por participar en este foro. Todos hemos aportado así sea un grano de arena, está súper bien. Y bueno, hoy les voy a traer un regalo, lo posteo más tarde mientras le hago algunas reparaciones. No puedo decir qué es, pero seguro les va a encantar. Todo lo que yo hago les encanta xDDDDD Vamos y les invito a unas chamanas (sin sorpresa) O ustedes deberían invitarme a mí jajaja Listo bro's pues a seguir aportando al foro! Saludos al crack de @Break
  8. estas bro quisiera una consulta si no es mucha molestia

     

    1. caanmasu

      caanmasu

      Dale. Escríbeme al Discord

      Camilo#0869

  9. El mapa de Sohan y el de la Torre de Nemere deben estar en el mismo core. El mapa de Tierra de fuego y el Infierno deben estar en el mismo core. PD: esa quest yo no la pondría, mejor subo una yo xD
  10. Así debería funcionar o.O ese 'Ninguno' ese el valor de 3, y (3 < 3) es false, o sea que no entra al if :v
  11. Revisando el source estuve curioso averiguando cómo funcionaba la parte de cuando el monstruo muere y cae Yang. Bueno esto es lo que intuyo cuando leo esta parte del source. Obviamente leer esto tiene una parte lógica o de flujo que solo la entienden los programadores pero yo lo haré de una manera de que lo entiendan los mortales xD Aquí va Todo monstruo tiene una probabilidad de botar Yang. Aumenta por: - el bonus PREMIUM_GOLD (rates priv_empire de Yang) - el bonus POINT_MALL_GOLDBONUS que viene en algunos objetos de la ItemShop aunque ciertamente no sé cuáles - el bonus PREMIUM_GOLD (bonus de Yang premium de la parte izquierda superior ícono azul) o el bonus UNIQUE_GROUP_LUCKY_GOLD (Medalla de la Suerte). Nota: Al poseer alguno de los dos, duplica la probabilidad que ya tenías. Esto da a entender que tener las dos cosas NO te duplica dos veces tu probabilidad, solo una vez. Es inútil tener una Medalla de la Suerte en un server privado teniendo ya los bonus premium de los íconos azules. A menos que se modifique esto en el src. Hay entre 0% y 30% de probabilidades de que caiga el Yang multiplicado Según una diferencia de 15 niveles. Realmente no sé exactamente cómo funciona pero sucede igual si es mob normal o boss. Una vez la probabilidad caiga a tu favor, sigue esto: El multiplicador en test server está en 3. Si no es test server está en 1. Hay 1 entre 50 mil monstruos para que te multiplique por 10 tu multiplicador. Es decir, el multiplicador está en 1 pero si tienes suerte, se te aumenta * 10. Si tuvieras multiplicador 3 y tienes suerte, el multiplicador se va a 3*10 = 30. También hay 1 entre 10 mil monstruos para que te multiplique por 5 el multiplicador. Si tienes bonus POINT_GOLD_DOUBLE_BONUS como el Cinto Elegante, según la cantidad que tengas, tendrás esa probabilidad para que el multiplicador se te multiplique por 2. Bombas Yang. Es el bonus de priv_empire que hace que los mobs boten mucho Yang en diferentes fracciones. Jefes y mobs: Rates 0% -> 1 de cada 100 mobs hace caer Bomba Yang. Rates 50% -> 1 de cada 66 mobs hace caer Bomba Yang. Rates 100% -> 1 de cada 50 mobs hace caer Bomba Yang. Rates 1000% -> 1 de cada 9 mobs hace caer Bomba Yang. Las fracciones de Yang caen entre 25 y 35 partes para jefes y caen el doble de radio que los mobs normales. Para mobs normales caen 10 fijos. Ahora sí se agarra un valor aleatorio entre el gold_min y gold_max del mob_proto. Luego ese valor se multiplica por el multiplicador que teníamos. En caso de que no caiga Bomba Yang, si es jefe caen partes de Yang entre 3 y 10. En mobs normales caen entre 1 y 3.
  12. Al final cuando el pj reciba sus habilidades pones abajo table.foreachi(special.active_skill_list[pc.get_job()+1][pc.get_skill_group()],function(r,skill) pc.set_skill_level(skill,59) end) pero debes asegurarte que tengas la 6° habilidad puesta en el questlib special.active_skill_list = { { { 1, 2, 3, 4, 5, 6}, //Guerrero corporal { 16, 17, 18, 19, 20, 21}, //mental }, { {31, 32, 33, 34, 35, 36}, {46, 47, 48, 49, 50, 51}, }, { {61, 62, 63, 64, 65, 66}, {76, 77, 78, 79, 80, 81}, }, { {91, 92, 93, 94, 95, 96}, {106, 107, 108, 109, 110, 111}, }, { {170, 171, 172, 173, 174, 175}, //lícano }, }
×
×
  • Create New...