Duda sobre la tabla "creature_text_locale"

NapalMe

Capataz
Desde
10 Oct 2020
Mensajes
73
Reacciones
47
Honor
37
Buenas noches.

Estoy usando el emulador AzerothCore, la instalación que usa Docker (versión actual).
Estoy investigando el tema de las localizaciones, y he notado que el texto traducido que dicen las criaturas (Por ejemplo el "¡Tú no llevarte vela!" de los kóbolds), corresponde al de la tabla "broadcast_text_locale", a la que apuntará el campo "BroadcastTextId" de la tabla "creature_text".
Si modifico algo allí, queda reflejado en el juego.

Mi pregunta es: ¿Para que sirve entonces la tabla "creature_text_locale"?
 

NapalMe

Capataz
Desde
10 Oct 2020
Mensajes
73
Reacciones
47
Honor
37
Todo lo que tiene ver con locale sirve para traducir el texto según al idioma del cliente puede ser:
  • esES
  • esMX
  • enGB
  • frFR
  • deDE
  • ruRU
Y algunos más que no recuerdo.

Si, cierto, pero el texto que MUESTRA por pantalla y en el chat, es el situado en "broadcast_text_locale".
Si modifico los textos de "creature_text_locale" no veo ningún efecto en el juego.
Así que mi pregunta es: Si el texto que se muestra es el localizado en "broadcast_text_locale", ¿para que se usa el situado en "creature_text_locale"?
 
Upvote 0
Desde
19 Oct 2019
Mensajes
807
Reacciones
495
Honor
82
Si, cierto, pero el texto que MUESTRA por pantalla y en el chat, es el situado en "broadcast_text_locale".
Si modifico los textos de "creature_text_locale" no veo ningún efecto en el juego.
Así que mi pregunta es: Si el texto que se muestra es el localizado en "broadcast_text_locale", ¿para que se usa el situado en "creature_text_locale"?
AzerothCore en mi vida no lo he tocado ni visto su estructura de base de datos world pero como lo que mas trabajo es trinity broadcast_text eso que en trinity esta en la hotfixes trae el texto y las voces que es lo que se inserta en creature_text inclusive broadcast_text_locale trae las traducciones a difirentes lenguajes de dicho texto ahora creature_text_locale deve hacer esa misma funcion de traducir cuanto tu cliente este en el lenguage ejemplo esMX el revisara creature_text y buscará el texto si está, compara la info con lo que tenga en creature_text_locale para dartelo en tu lenguaje en caso de que en creature_text no tenga la id del broadcast_text entonces usara la de creature_text_locale.
 
Upvote 0

NapalMe

Capataz
Desde
10 Oct 2020
Mensajes
73
Reacciones
47
Honor
37
... revisara creature_text y buscará el texto si está, compara la info con lo que tenga en creature_text_locale para dartelo en tu lenguaje en caso de que en creature_text no tenga la id del broadcast_text entonces usara la de creature_text_locale.
Entiendo, las frases de "creature_text_locale" se usarian en caso de no encontrarse en "broadcast_text_locale". Lo probaré a ver que tal, gracias :)

De hecho, en la BBDD de AzerothCore "creature_text_locale" viene vacía ( me he fijado que pasa con otras tablas ), y en otros emuladores he visto que están llenas, así que no sabia si era normal.
Si el comportamiento es ese, creo mejor dejarla vacía e ir trabajando con la "broadcast_text_locale".
 
Upvote 0

NapalMe

Capataz
Desde
10 Oct 2020
Mensajes
73
Reacciones
47
Honor
37
AzerothCore ... revisara creature_text y buscará el texto si está, compara la info con lo que tenga en creature_text_locale para dartelo en tu lenguaje en caso de que en creature_text no tenga la id del broadcast_text entonces usara la de creature_text_locale.

Después de unas pruebas, puedo confirmar que estás en lo correcto, la tabla "create_text_locale" se utiliza cuando "create_text" apunta a un "BroadcastTextId" inexistente dentro de "broadcast_text_locale".

De forma que, si las tablas "create_text" y "broadcast_text_locale" son correctas, "create_text_locale" es innecesaria.
(De hecho,"create_text_locale" está vacía)

WoWScrnShot.jpg


Gracias @Sargero 😁

Nota. Se que me repito, pero de esta manera otra persona con la misma duda no tendrá que leer todo el post.
 
Última edición:
Upvote 0

Mamni

Capataz
Desde
21 Nov 2019
Mensajes
45
Reacciones
36
Honor
52
Buenas y disculpa si me meto pero create_text_locale sirve siempre por si quiere meter alguna traduccion X por decirlo
 
Upvote 0

NapalMe

Capataz
Desde
10 Oct 2020
Mensajes
73
Reacciones
47
Honor
37
Buenas y disculpa si me meto pero create_text_locale sirve siempre por si quiere meter alguna traduccion X por decirlo

En otros emuladores no lo se, pero en AzerothCore, si el texto localizado existe en la tabla "broadcast_text_locale" , va a ignorar lo que haya en "create_text_locale", y en caso de no existir en "broadcast_text_locale" entonces si que usa "create_text_locale".

El caso es que, si en "broadcast_text_locale" hay las traducciones, por mucho que modifiques "create_text_locale", no lo va a usar.

Es posible que en otros emuladores funcione distinto.
 
Upvote 0

Mamni

Capataz
Desde
21 Nov 2019
Mensajes
45
Reacciones
36
Honor
52
Bueno entiendo a que se refiere en otro o el que uso de legion es asi que en create_text_locale usa las traducciones o no esten si la aplica es create_text y en la columna BroadcastTextID y va leer el broadcast
 
Upvote 0
Desde
19 Oct 2019
Mensajes
807
Reacciones
495
Honor
82
Después de unas pruebas, puedo confirmar que estás en lo correcto, la tabla "create_text_locale" se utiliza cuando "create_text" apunta a un "BroadcastTextId" inexistente dentro de "broadcast_text_locale".

De forma que, si las tablas "create_text" y "broadcast_text_locale" son correctas, "create_text_locale" es innecesaria.
(De hecho,"create_text_locale" está vacía)

View attachment 1098

Gracias @Sargero 😁

Nota. Se que me repito, pero de esta manera otra persona con la misma duda no tendrá que leer todo el post.
por nada, esa tabla create_text_locale ya esta obsoleta yo no la uso. Cualquier duda que vea la respondo no hay problema (y)
PD: Lo que mas trabajo es trinity core pero igual si esta en mis conocimientos ya que todos son parecidos respondere donde quiera que escriban @Sargero que ando corto de saldo nauta y llego a revisar solo las notificaciones y los mensajes privados ;)
 
Última edición:
Upvote 0
Desde
30 Sep 2020
Mensajes
172
Reacciones
222
Honor
67
Depende de como se llame al dialogo, si dentro de un script, se lo llama con el método Talk() el mismo se lee de creature_text, pero si por el contrario, el texto se llama de forma tradicional, entonces se lee de broadcast_text. De todos modos, generalmente en creature_text, esta la vinculación con el broadcast, y de esa manera, debe haber sido mas sencillo hacer todas las traducciones. Solo tenes que buscar el broadcast_text correspondiente y vincularlo con el creature_text que creaste. Se que era mas sencillo antes quizás, pero debe haber sido mejor así para traducirlo.

Yo al principio, también me pregunte eso, pero ahora me acostumbre a usarlo de esa forma.
 
Upvote 0

Create an account or login to comment

You must be a member in order to leave a comment

Create account

Create an account on our community. It's easy!

Log in

Already have an account? Log in here.

3,655Temas
24,078Mensajes
15,180Usuarios
PicoooÚltimo usuario
Top