- Desde
- 19 Sep 2022
- Mensajes
- 301
- Reacciones
- 257
- Honor
- 82
Mientras andaba jugando me encontré con una cadena de misiones rota (questchain, questline o storyline, no son exactamente sinónimos, pero tienen contextos similares). Así que se me ocurrió hacer una búsqueda de misiones para revisar la cadena... Entonces,
1. Dónde reviso las cadenas de misiones? Por lo general uso 2 fuentes para comparativas. a) wowhead, por supuesto! b) wowpedia.fandom.com
Suelo comparar porque wowhead, en el transcurso de su evolución, no ha mantenido un orden unánime en la secuencia de misiones, cosa que sí está bien diseñada en wowpedia. El problema con wowpedia es que sus links son autorreferenciales, en lugar de dirigir directamente a una base de datos (eso lo deja abajo para usar 2 referencias: wowhead y wowdb).
Enlace recomendado a wowpedia:
wowpedia.fandom.com
2. Dónde busco lo que necesito en la base de datos? Depende de la estructura de la base de datos... En el repack que estoy usando, si bien está basado en trinitycore, tiene una mezcla con otras estructuras... No tengo certeza de si es azeroth, ashmane core o mangos... entonces, más bien, debo saber qué es lo que voy a buscar.
Necesito, como mínimo, nombres de las misiones o ID's (pueden verse fácil en wowhead, pero no es seguro el orden correcto), secuencia de las misiones (por eso complemento con wowpedia), con eso ya tendré una idea de cuáles van a ser las misiones previas y siguientes por cada misión en la cadena...
3. Ya teniendo el orden de las misiones y sabiendo dónde debo consultar en la base de datos. Cómo las busco? Pues, bien, en la base de datos que voy a revisar, `ID` de las misiones está en `quest_template`, pero el nombre está en `LogTitle` en la tabla `quest_template_locale` y las referencias a las misiones previas y siguientes están en `PrevQuestID` y `NextQuestID` en la tabla `quest_template_addon`... Como realizar consulta tabla por tabla resulta tedioso y puede ser hasta confuso, es útil usar un JOIN de SQL y ahí surge esta consulta de, por ejemplo, la historia de la tribu Bloodtotem en Highmountain, usando los nombres de las misiones de la cadena:
El resultado es que la cadena está rota desde la primera misión, porque la siguiente no concuerda con la segunda misión de la cadena, cosa que sí sucede entre la segunda y la tercera... Que cómo la arreglaría? con un UPDATE.
Hay que tener claro que lo que comparto no es una consulta (query) para usar y después quejarse de que no sirve, sino el proceso para ir desarrollando una consulta funcional y útil. También recordar que siempre es mejor saber cómo se hace algo antes de hacerlo. Cualquier comentario, bienvenido, como siempre.
Abracitos.
PD: Se me olvidaba decir que HeidiSQL hace como wowhead y ordena los resultados como se le da la gana.
1. Dónde reviso las cadenas de misiones? Por lo general uso 2 fuentes para comparativas. a) wowhead, por supuesto! b) wowpedia.fandom.com
Suelo comparar porque wowhead, en el transcurso de su evolución, no ha mantenido un orden unánime en la secuencia de misiones, cosa que sí está bien diseñada en wowpedia. El problema con wowpedia es que sus links son autorreferenciales, en lugar de dirigir directamente a una base de datos (eso lo deja abajo para usar 2 referencias: wowhead y wowdb).
Enlace recomendado a wowpedia:
Zone storylines
This category contains overarching quest storylines for each zone and patch campaign in World of Warcraft. This only applies to retail version of the game. For Classic releases, see World of Warcraft campaign.
2. Dónde busco lo que necesito en la base de datos? Depende de la estructura de la base de datos... En el repack que estoy usando, si bien está basado en trinitycore, tiene una mezcla con otras estructuras... No tengo certeza de si es azeroth, ashmane core o mangos... entonces, más bien, debo saber qué es lo que voy a buscar.
Necesito, como mínimo, nombres de las misiones o ID's (pueden verse fácil en wowhead, pero no es seguro el orden correcto), secuencia de las misiones (por eso complemento con wowpedia), con eso ya tendré una idea de cuáles van a ser las misiones previas y siguientes por cada misión en la cadena...
3. Ya teniendo el orden de las misiones y sabiendo dónde debo consultar en la base de datos. Cómo las busco? Pues, bien, en la base de datos que voy a revisar, `ID` de las misiones está en `quest_template`, pero el nombre está en `LogTitle` en la tabla `quest_template_locale` y las referencias a las misiones previas y siguientes están en `PrevQuestID` y `NextQuestID` en la tabla `quest_template_addon`... Como realizar consulta tabla por tabla resulta tedioso y puede ser hasta confuso, es útil usar un JOIN de SQL y ahí surge esta consulta de, por ejemplo, la historia de la tribu Bloodtotem en Highmountain, usando los nombres de las misiones de la cadena:
SQL:
Necesitas,
Acceder
o
Registrarse para ver el contenido.
El resultado es que la cadena está rota desde la primera misión, porque la siguiente no concuerda con la segunda misión de la cadena, cosa que sí sucede entre la segunda y la tercera... Que cómo la arreglaría? con un UPDATE.
Hay que tener claro que lo que comparto no es una consulta (query) para usar y después quejarse de que no sirve, sino el proceso para ir desarrollando una consulta funcional y útil. También recordar que siempre es mejor saber cómo se hace algo antes de hacerlo. Cualquier comentario, bienvenido, como siempre.
Abracitos.
PD: Se me olvidaba decir que HeidiSQL hace como wowhead y ordena los resultados como se le da la gana.
Última edición: