Actualizar datos de misiones (Cata)
Para este caso, usamos la tabla: quest_template.
Recuerden que la ayuda de TC, está actualizada y no coincide todo exactamente. Si no encuentran algo ahí, está en la ayuda de quest_template_addon (el emu de cata es mas viejo y está todo en una sola tabla). Sino, pueden ver la versión de la ayuda (si están logueados en la página), del 2014, ahí coincide.
Hay muchísimos datos en esta tabla, pueden ver la ayuda y solucionar problemas que no se expliquen acá. Veremos los mas importantes.
- Descripciones de Misiones
- Quest de facción, clase, raza, profesión
- Linkeo
- Dar item al tomar misión.
Descripciones de Misiones
En Verde, los valores que uds tienen que modificar. El azul es solo para que sea mas agradable a la vista la lectura (si se agrega alguna de estas lineas a un editor SQL, también se las ponen de color).
Todos los datos van en inglés, las traducciones van en otra tabla.
http://www.wowhead.com/quest=29359
Title - Título de la misión
Objectives - texto debajo del título en Wowhead
Details - Description en WowHead
RequestItemsText - Progreso
OfferRewardText - Terminación
ObjectiveText1 (2,3,4,) - Si no es matar un npc o agarrar items, por lo general tiene un texto explicativo. Por ejemplo: "Furbolg purificado".
QuestGiverTextWindow - Texto del cuadro adyacente que aparece a veces con imágen de npc - Al tomar quest (ej. ver video en wowhead de la quest 28131 para entender esto)
QuestGiverTargetName - título de ese cuadro - Al tomar quest
QuestGiverPortrait - modelid del npc que aparece en el cuadro (tomar quest).
QuestTurnTextWindow - Texto del cuadro, pero este es al entregar la misión.
QuestTurnTargetName - Título del cuadro al entregar la misión.
QuestTurnInPortrait - modelid del npc que aparece en el cuadro (entregar quest).
Código:
UPDATE quest_template SET
Details="Herring is one of the most sought-after fish in Darnassus, but not just any herring. The Kaldorei herring is native only to the waters surrounding Teldrassil. $B$BI try to keep a good supply of it because it's so versatile!",
RequestItemsText="Did you get those herring?",
OfferRewardText="Thanks! I wonder what I should do with this batch..."
WHERE id= 29359;
Si por ejemplo, solo hace falta agregar el RequestItemsText y OfferRewardText, solo escriben esas lineas:
Código:
UPDATE quest_template SET RequestItemsText='Have you collected the samples I require?', OfferRewardText='These are fine specimens, $r.$B$BI shall commence my studies immediately.' WHERE Id= 14305;
Caracteres especiales
$B = sería un Enter. Punto y aparte. Se sigue escribiendo directamente luego de la B.
$N = nombre del jugador. Ej: Hola $N. -> Hola Fearless!.
$C = clase del jugador. Ej: Bienvenido $C. -> Bienvenido Warlock.
$R = raza del jugador. Ej: Felicitaciones $R amigo. -> Felicitaciones Undead amigo.
$Gmale:female; = género del jugador. Male y Female lo reemplazan por las palabras que quieran; el orden es siempre el mismo.
Quest de facción, clase, raza, profesión
Código:
UPDATE quest_template SET RequiredRaces=2098253 WHERE id=84; -- Quest solo para Alianzas.
UPDATE quest_template SET RequiredRaces=946 WHERE id=25130; -- Quest solo para Hordas.
UPDATE quest_template SET RequiredRaces=0 WHERE id=24748; -- Quest for both faction
UPDATE quest_template SET ZoneOrSort=-161, RequiredClasses=161, RequiredRaces=2 WHERE id=25149; -- Quest para magos orcos
RequiredRaces - Las razas de los personajes que puede tomar la misión.
RequiredClasses - Las clases de los personajes que puede tomar la misión.
ZoneOrSort - Esto ubica la quest en nuestra lista de quest, en una categoria/título. Si está en positivo, es el ID de la zona. Si es negativo, aparecerá como quest de clase, evento, profesión.
Lista completa
Clases, profesiones: https://trinitycore.atlassian.net/wi...0266/QuestSort
Razas: https://trinitycore.atlassian.net/wi...29966/ChrRaces
En el caso de las razas, los valores se pueden sumar:
1 Human
8 Night Elf
RequiredRaces=9 - significa que esa quest es para humanos y elfos de la noche.
Linkeo entre misiones
PrevQuestId -
valor > 0 = id de la misión que hay que completar, para poder obtener esta.
valor < 0 = misión que hay que tener activa para poder tomar esta.
NextQuestId -
valor > 0 = id de la misión que sigue al completar esta. En caso de que PrevQuestId no sea suficiente.
valor < 0 = ----.
ExclusiveGroup -
valor > 0 = Define un grupo del cual solo se puede tomar una sola misión. Al tomar una de estas, las otras desaparecen. Ej: si se pudiese hacer solo una mision entre la 1200, 1201 y 1202, ponemos ExclusiveGroup=1200 a esas tres misiones y solo nos dejará tomar una.
valor < 0 = Define un grupo de misiones que deben ser completadas para poder tomar la siguiente misión. Ej: Si para hacer la misión 2000 tenemos que completar la 1500, 1501, 1502, en esas tres misiones ponemos ExclusiveGroup=-1500 y a la misión 2000 le ponemos ExclusiveGroup=1500.
Nota: Si de las misiones de ExclusiveGroup deben salir random y no darnos la posibilidad de elegir una, hay que usar ademas las tablas pool_template y pool_quest para que el server elija una.
NextQuestIdChain - id de la misión que sigue. Aparecerá para aceptarla inmediatamente al entregar la anterior.
Código:
-- An Impactful Discovery 14380 - Ponemos quest previa y la posterior
UPDATE quest_template SET PrevQuestId= 14378, NextQuestId=14381 WHERE Id= 14380;
Código:
-- Quest 26326, pide que completemos dos misiones antes. Usamos group negativo
UPDATE `quest_template` SET PrevQuestId=27938, ExclusiveGroup=0 WHERE `id`=26326; -- The Very Earth Beneath Our Feet. - Quest previas group 27938
UPDATE `quest_template` SET ExclusiveGroup=-27938 WHERE `id`=27938; -- The Middle Fragment (group 27938).
UPDATE `quest_template` SET ExclusiveGroup=-27938 WHERE `id`=26876; -- The World Pillar Fragment (group 27938).
Para linkeos mas complicados (como que la mision X pida la misión W (alianza) o la misión Z (horda), prefiero poner los valores de estas columnas en cero, y usar la tabla `conditions`. Ver la guia correspondiente.
Dar item al tomar la misión
Código:
-- A Victory For The Silver Covenant (24795)
UPDATE `quest_template` SET SourceItemId=22050, SourceItemCount=1 WHERE `id`=24795;
SourceItemId - Id del item que debe darnos la misión.
SourceItemCount - Cantidad.