domingo, 14 de noviembre de 2010

Informacion detallada sobre los archivos .quest

1.- Estructura general.

[Quest]
Name
Type
FinishedQuests
LogTopic
LogText
ExperiencePoints
PoliticalSuccess
PoliticalSuccessAmount
EnclaveSuccess
EnclaveSuccessAmount
JobSuccess
JobSuccessAmount
Folder
DeliveryEntities
DeliveryAmounts
DeliveryCounter
DestinationEntity
RunningTimeYears
RunningTimeDays
RunningTimeHours
AttribSuccess
AttribSuccessAmount

Notas:
-Todos los archivos tienen que terminar con una linea vacia, es decir darle al "Intro" cuando escribamos la ultima linea.
-El orden varia en algunas misiones, no se por qué, pero este orden es el mas común.
-Hay una diferencia en las misiones canceladas o fallidas. Una mision fallida esta definida por questtype y no se pueden volver a empezar, una mision cancelada esta tambien definida en el questtype (el tipo 5, por ejemplo, permite que te puedan volver a dar la mision) o por un archivo .info (por ejemplo si pones en el .info en CloseQuest el valor 4 sera imposible reempezarla).


2.- Valores.

a) [Quest]
Cabecera del archivo, invariable.

b) Name
Tipo de dato: Caracter.
Description: El nombre del archivo que usa el juego. Tiene que coincidir exactamente con el nombre del archivo en el directorio sin el sufijo estandar "_quest_G3_World_01.quest".
Ejemplo:
En el archivo "Adanos_DestroyArtefacts_quest_G3_World_01.quest" podemos leer
Name=Adanos_DestroyArtefacts

c) Type
Tipo de dato: Números enteros.
Descripcion: Tipo de mision. Esto tambien define las circunstancias en las que la mision es correcta o fallida.

-0 Búsquedas: Exito si el heroe logra entregar la cantidad solicitada de lo que ponga en DeliveryEntities (controlado tambien por el .info con ConditionType=8), fallida si el NPC que te da la mision ha muerto.
-1 Informes: Exito si el heroe le transmite la informacion de la mision al NPC destino, fallida si el NPC destino muere.
-2 Matar: Exito si el heroe mata al DeliveryEntities (NPCs o monstruos), no pueden ser fallidas.
-3 Derrotar: Exito si el heroe derrota a los DeliveryEntities (NPC), no puede fallar.
-4 Persuadir: Exito si consigues persuadir al DeliveryEntities, no puede fallar.
-5 Lucha en la arena: Exito si el heroe derrota al NPC, cancelada si sale de la arena o es derrotado, no puede fallar.
-6 Conducir: Exito si el DeliveryEntities llega al DestinationEntity, fallida si el NPC muere.
-7 Seguir: Exito si el heroe sigue al DeliveryEntities hasta llegar a DestinationEntity, falla si el NPC muere.
-8 Descubrir un area: Exito si el DeliveryEntities (puede ser tambien el PC_Hero) llega a DestinationEntity, no puede fallar porque no se ha iniciado de forma explicita.
-9 No usado en el juego
-10 Revolucion: Se da al liberar ciudades o enclaves, existo si matas a los suficientes NPCs de ese enclave, no puede fallar.
-11 Saqueo: No usada en el juego. Finalizada con exito si el DestinationEntity pierde DeliveryEntities, no puede fallar.
-12 Combate: No usada en el juego.

d) FinishedQuest
Tipo de dato: Caracter.
Descripcion: Las misiones de esta lista deben cumplirse para que la mision actual pueda finalizarse. Las misiones se pueden concatenar con ";". Hay que poner el nombre interno de la mision, lo que iria en Name.
Ejemplo:
Example:
FinishedQuests=Agenak_DefeatDimitar;Agenak_DefeatGembak

e) LogTopic
Tipo de dato: Caracter.
Descripcion: Referencia a una entrada del stringtable.ini ("QUEST_..."). Ahi (en el stringtable) puedes encontrar el nombre de la mision (lo que aparece en el juego de titulo de la mision), por ejemplo: "Derrota a Kulak en la arena".
Ejemplo: LogTopic=QUEST_BPANKRATZ371

f) LogText
Irrelevante, aparece solo en una mision.

g) ExperiencePoints
Tipo de dato: Numero entero.
Descripcion: Cantidad de puntos de experiencia que el heroe obtiene si completa con exito la mision.
ATENCION: Dentro del juego esta cantidad sera multiplicada por 5.
Ejemplo:
ExperiencePoints=300
En el juego obtendremos 1500 puntos de experiencia.

h) PoliticalSuccess - PoliticalSuccessAmount
Tipo de dato: Numero entero - Numero entero.
Descripcion: Define la faccion en la que ganara reputacion si completa la mision - Define la cantidad de reputacion que ganara por completar la mision.
No se pueden concatenar ordenes aqui, en caso de hacerlo el juego lo ignora.

Ejemplo:
PoliticalSuccess=3
PoliticalSuccessAmount=2

Posibles valores de PoliticalSuccess:
1 Orcos
2 Nordmar
3 Rebeldes
4 Montaraces
5 Hashishins
6 Nomadas
9 Piratas

i) EnclaveSuccess - EnclaveSuccessAmount
Tipo de dato: Caracter - Numero entero.
Descripcion: Define la ciudad o enclave en el que ganaras reputacion si finalizas con exito la mision. - Define la cantidad de reputacion que ganas al completar la mision.
No se pueden concatener entradas, el juego lo ignorara.

Ejemplo:
EnclaveSuccess=Vangard
EnclaveSuccessAmount=5

Posibles valores de EnclaveSuccess:
Reddock     
KapDun    
Montera    
Okara    
Faring    
Vangard
Silden    
Geldern    
Trelis    
Nemora    
Braga    
BenErai    
Enclave_Lago
BenSala    
Bakaresh    
MoraSul    
Ishtar    
Wolfclan
Hammerclan    
Fireclan


j) JobSuccess - JobSuccessAmount
Tipo de dato: Numero entero - Numero entero.
Descripcion: significado desconocido, el juego lo ignora.


k) Folder
Descripcion: Es algo raro. Parece ser una especie de carpeta virtual dentro del juego donde se catalogan las misiones.
Ejemplo:
Folder=Myrtana/Vangard_City/

l) DeliveryEntities - DeliveryAmounts - DeliveryCounter - DestinationEntity
Tipo de dato: Caracter - Entero - Entero - Caracter.
Descripcion: Define que entidades (NPC o item) tiene que entregar el heroe, la cantidad y el destino (NPC o lugar). Esta relacionado con el Questtype (punto c)).
Los comandos se pueden concatener con ";". Cada comando debe ser considerado en las cuatro lineas.
La entrada DeliveryCounter parece ser un marcador de posicion dentro del juego, en principio siempre es 0.

Ejemplo:
DeliveryEntities=It_Meat_Fried
DeliveryAmounts=30
DeliveryCounter=0
DestinationEntity=Abe


m) RunningTimeYears - RunningTimeDays - RunningTimeHours
Tipo de dato: Entero - Entero - Entero.
Descripcion: Limite de tiempo para cumplir la mision. Si nos pasamos de tiempo la mision no sólo se cancelara, ademas la informacion de los archivos con ContitionType=4, relativos a esta mision, se pondran como disponibles. (Para misiones tipo "Ven mañana")
Por supuesto el tiempo hace referencia al tiempo interno del juego.

n) AttribSuccess - AttribSuccessAmount
Tipo de dato: Caracter - Entero.
Descripcion: Define el atributo y la cantidad de ganancias por finalizar con exito la mision. Las entradas no se pueden concatenar.
Ejemplo:
AttribSuccess=DEX
AttribSuccessAmount=1

Posibles valores de AttribSuccess:
STR fuerza
THF Robo
ALC Alquimia
DEX Caza
INT Conocimiento Antiguo
MP  Mana
HP  Salud
SMT Herreria
SP  Resistencia
LP  Puntos de aprendizaje

En teoria tambien se pueden poner los siguientes, aunque no se usan en el juego:
PROT_BLADE           Proteccion contra espadas
PROT_FIRE               Proteccion contra fuego
PROT_ICE                 Proteccion contra hielo
PROT_IMPACT         Proteccion contra impactos
PROT_LIGHTNING    Proteccion contra energia
PROT_MISSILE         Proteccion contra proyectiles

6 comentarios:

  1. Hola Drazul soy Ian, mira si por ejemplo quiero que una mision de como recompensa oro en vez de experiencia, ¿como lo podría hacer?


    Gracias.

    ResponderEliminar
  2. Pues puedes poner en DeliveryEntities= Gold (no estoy seguro de si es ese la referencia de las monedas de oro). Tambien puedes ponerlo en el .info de la mision.

    ResponderEliminar
  3. Creo que lo debería mirar en el .info de la misión porque por ejemplo situemonos, la misión de Norris en Reddock que te pide que le entreges 5 montones de armas y cuando se las das el te entrega 300 de Oro.

    En el archivo de quest.pak:

    Norris_BringWeapons_quest_G3_World_01

    Aparece la siguiente línea:

    DeliveryEntities=It_WeaponPack

    Entonces me he quedado pensando y creo que hace referencia al archivo info que bien has descrito antes, pero eso en concreto ... ¿en que directorio del data esta?

    ¿En el Infos.pak se supone no?

    Buscaré por allí y te comunicaré mis avances. Gracias por los consejos maestro =P

    ResponderEliminar
  4. Si, los .info estan relacionados con los .quest, aunque tambien hay muchs que no tienen nada que ver con los .quest.

    ResponderEliminar
  5. pero la mayoria de los infos tienen nombres raros en los titulos, y es dificil encontrar cual tiene que ver con dicha misión ...

    ResponderEliminar
  6. Ya, los nombres de los .info no tienen nada que ver con la mision a la que se refieren. El nombre de la mision a la que referencia solo se puede saber buscando dentro del archivo. Para relacionar los .info con los .quest yo recomiendo usar alguna distribucion de GNU/Linux y usar la herramienta "grep" que busca cadenas dentro de los archivos, de cualquier tipo de archivo.

    ResponderEliminar