1. Estructura general.
[Info]
Name
SortID
Owner
InfoGiven
Parent
Quest
ConditionType
InfoType
GoldCost
CondOwnerNearEntity
Folder
CondPlayerKnows
CondPlayerKnowsNot (desde CP 1.70)
CondItemContainer
CondItems
CondItemAmounts
CondWearsItem (desde CP 1.70)
CondHasSkill (desde CP 1.70)
CondReputGroup (desde CP 1.73)
CondReputAmount (desde CP 1.73)
CondReputRelation (desde CP 1.73)
CondPAL (desde CP 1.73)
CondSecondaryNPC
CondSecondaryNPCstates
ClearChildren
Permanent
InfoScript Commands
InfoScript Entities1
InfoScript Entities2
InfoScript IDs1
InfoScript IDs2
InfoScript Texts
TeachSkill
TeachAttrib
TeachAttribValue
Nota:
-Todos los archivos tienen que terminar con una linea en blanco, es decir con un salto de linea, un "Intro".
2. Valores.
a) [Info]
Cabecera invariable.
b) Name
Tipo de dato: Caracter.
Descripcion: Nombre interno del archivo. Debe coincidir con el nombre del archivo en windows sin el sufijo estandar "_info_G3_World_01.info".
Ejemplo:
En el archivo "FILLER210_info_G3_World_01.info" podemos leer
Name=FILLER210
c) SortID
Tipo de dato: Numero Entero (A partir de ahora Entero).
Descripcion:
-Realidad: SortIDs generalmente tienen valor, pero no siempre, ademas no tienen porque ir seguidos los numeros.
-Presuncion: En caso de duda el motor toma el SortID para decidir el orden de las opciones de dialogo en el menu de dialogo.
-Percepcion: Los SortIDs no tienen por que ser unicos.
-Consejo: Es mejor poner numeros seguidos.
d) Owner
Tipo de dato: Caracter.
Descripcion: Aqui puede aparecer el nombre de un NPC o de un objeto usable (por ejemplo los santuarios) con los que puedes tener esta conversacion.
Caso especial: En algunos archivos el Owner es el PC_Hero (por ejemplo en archivos con ConditionType=16). Estos dialogos aparecen con todos los NPCs, para ser mas exactos con los NPCs que cumplen el ConditionType. Ejemplo: Por ejemplo el dialogo de todos los instructores de la misma habilidad.
Ejemplos:
Owner=Diego
Owner=G3_Object_Interact_Innos_Statue_01
e) InfoGiven
Tipo de dato: Boolean (true o false) escrito con caracteres.
Descripcion: Solo lo usa el motor del juego, nosotros tenemos que poner siempre "InfoGiven=false".
f) Parent
Tipo de dato: Caracter.
Descripcion: El nombre dentro del juego de otro archivo .info se puede poner aqui.
Cuando este parametro esta escrito el archivo donde se pone es "hijo" del otro. El archivo "hijo" solo se iniciara si el "padre" se ha cumplido y todas las condiciones del "hijo" se cumplen. Si el "padre" se ha ejecutado y alguna de las condiciones del "hijo" no se cumplian en el momento entonces este ultimo no se ejecutara nunca (excepcion: El archivo Parent es "Permanent=true", ver despues).
Ejemplo:
Parent=BPANKRATZ31079
(busca en BPANKRATZ31000_info_G3_World_01.info)
g) Quest
Tipo de dato: Caracter.
Descripcion: Si el archivo info es relevante para el quest, o por el contrario, el quest es relevante para ejecutar el archivo info (ver "ContitionType"), este es el lugar para escribir los nombres internos de las misiones.
Ejemplo:
Quest=Anog_ReportInog
h) ConditionType
Tipo de dato: Entero.
Descripcion: Este parametro puede funcionar de multiples formas relacionadas con las misiones o con el NPC con el que el jugador esta hablando.
Ejemplo:
ConditionType=10
Posibles valores de ConditinType:
-0 Delito: No se usa en el juego.
-1 Lucha: Si el heroe escapa de una pelea el NPC con el que estaba peleando lo reconoce ("¿No has tenido suficiente?").
-2 Hola: Dialogo disponible solo la primera vez que se habla con el NPC.
-3 Por defecto: Sin condicion de mision o de NPC, pero si se pone entonces aparecera en el registro de la mision.
-4 El plazo de tiempo para realizar la mision ha finalizado.
-5 La mision puede activarse, aun no se ha iniciado, cancelado o fallado.
-6 La mision se activara con la activacion de este dialogo.
-7 El dialogo solo esta disponible si se ha activado la mision.
-8 Reportes o informaciones.
-9 Traer solo parte de los objetos requeridos (por ejemplo se traen 3 de las 5 piezas de mineral).
-10 La mision se ha terminado con exito.
-11 La mision se cancela con la ejecucion de este dialogo.
-12 La mision ha fallado (por ejemplo con la muerte del NPC).
-13 La mision ha sido cancelada intencionadamente (por ejemplo con el comando CloseQuest o un archivo .info con Conditiontype=11).
-14 El NPC acompaña al heroe ("Ven conmigo"). Aqui el owner es el PC_Hero.
-15 El NPC es expulsado del grupo. El owner es el PC_Hero.
-16 El NPC es un maestro y el heroe lo sabe (TeachEnlabled). El owner es el PC_Hero.
-17 El NPC es un comerciante y el heroe lo sabe (TradeEnabled).
-18 Robar (condicion: el heroe debe tener la habilidad de robar carteras, que la haya aprendido antes de ejecutar el .info y que el NPC destino no haya sido robado ya).
-19 La mision no ha sido cancelada, terminada o se puede evitar aun.
-20 El heroe ha perdido en la arena (Los NPCs se mofan de el).
-21 Se reinicia el compbate en la arena.
-22 El heroe gana en la arena. No se usa en el juego, iria con el Sparring del .quest.
-23 "Maestro ladron". No se utiliza en el juego.
-24 El heroe tiene al menos el 75% de reputacion en el lugar donde esta el NPC.
-25 El heroe tiene al menos el 75% de reputacion con la faccion del NPC.
-26 Primer aviso de los guardias de no acercarse.
-27 Segundo aviso de los guardias de no acercarse.
-28 "Unirse al combate", por ejemplo cuando se libera la mina del Clan Martillo ("¡Al ataque!").
-29 El NPC es un esclavo del heroe (SlaveryEnlabled) ("Te sacaré de aqui").
-30 "Hace tiempo que no te veo". No se usa en el juego. No se puede usar porque no esta bien implementado.
-31 "Crimen local", los guardias te atacan automaticamente cuando has cometido algun crimen en el lugar.
-32 "Crimen en la faccion", los lideres de las ciudades o enclaves dicen "Malas noticias",etc (Se activa despues de la liberacion de 3 ciudades).
-33 "Mandar al compañero", expulsas del grupo a los NPCs (MobENlabled) y los envias al "punto de encuentro".
-34 El NPC es miembro del grupo ("Espera aqui").
-35 El NPC es miembro del grupo ("Dar una pocion").
-50 "Nada que decir": reaccion de rechazo de los NPCs (InfoType=0 ó 2) o del heroe (InfoType=0) ("No puedo usar esto", "No interesado").
-51 Opcion "Fin" del dialogo.
-52 Opcion "Atras" del dialogo (por ejemplo despues del "Enseñame algo").
Añadidos a partir del 1.73CP:
-36 Animales: Esta orden es para ordeñar las vacas, el interlocutor debe ser una vaca y la ultima conversacion entre los dos debe ser anterior a 48 horas.
-37
-38 No amigo: El NPC es un hombre u orco. El NPC no es del tipo "Amigo" y no ha sido compañero del heroe una hora antes.
-39 No amigo o ladron: Como la 38 pero ademas
i) InfoType
Tipo de dato: Caracter.
Descripcion: Esto determina quien hablara en primer lugar, un NPC o el heroe; si esto sucedera de forma automatica o no; y si el menu de dialogo se abrira.
Observacion: La regla de que todas las condiciones del archivo info deben cumplirse para que se ejecute tambien se cumple en los archivos donde el NPC tiene que hablar al heroe sin que le pregunte (InfoTipe= 1 ó 5).
Ejemplo:
InfoType=3
Posibles valores:
0 "Basura" (comentarios negativos de algun NPC o del heroe, sin subtitulos).
1 El NPC inicia una conversacion automatica con el heroe sin que éste le haya preguntado.
2 El NPC inicia una conversacion automatica con el heroe sólo si este le ha hecho click.
3 El usuario elige la frase en el cuadro de dialogo.
4 - \Parent\: Der Satz steht dem Spieler im Dialogmenü zur Verfügung, sofern die Bedingungen
der Parent-Datei selbst und die von mindestens einem Child erfüllt sind. Parent-
Dateien gelten übrigens immer als permanent, auch wenn dort Permanent=false stehen
sollte.
5 "Comentario" (El NPC habla sin ser preguntado, pero a diferencia de 1 aqui el cuadro de dialogo no se abre).
j) GoldCost
Tipo de dato: Entero.
Descripcion: Dinero que tiene que pagar el heroe para ejecutar el dialogo.
Nota: Solo tiene sentido con InfoType=3
Ejemplo:
GoldCost=1400
K) CondOwnerNearEntity
Tipo de dato: Caracter.
Descripcion: El dialogo solo esta disponible si el owner esta cerca de una cierta entidad.
Ejemplo:
CondOwnerNearEntity=Gotha_Gorn_Prison_Sit_Ground
CondOwnerNearEntity=Nav_Zone_Lago_Stollen
CondOwnerNearEntity=Yasmin
l) Folder
Tipo de dato: Caracter.
Descripcion: Es un poco raro. Parece ser una especie de carpeta virtual dentro de del juego donde se "cataloga" el archivo. Siempre esta relacionado con el owner.
Ejemplo:
Folder=Varant/BenErai/
m) CondPlayerKnows
Tipo de dato: Caracter.
Descripcion: Se refiere a los "Eventos del juego" que tienen que ser asginados a "true" antes de que este trozo de dialogo este disponible. Los eventos pueden ser definidos libremente y normalmente se establecen en el "InfoScripts" (vease punto w). Algunos eventos los establece el motor del juego. Puedes poner un evento, mas eventos (concatenados con ";") o ninguno.
Ejemplo:
CondPlayerKnows=Ashton_Champion;Potros_Unhappy
n) CondPlayerKnowsNot
Tipo de dato: Caracter.
Descripcion: Esta instruccion hace exactamente lo contrario que el COndPlayerKnows. Esto significa que la condicion se cumple si uno o varios eventos del juego son falsos o no se han llegado a evaluar.
Ejemplo:
CondPlayerKnowsNot=TheHeroDoesntKnowThis
o) CondItemContainer - CondItems - CondItemAmounts
Tipo de dato: Caracter.
Descripcion: EL dialogo solo esta disponible cuando el "item container" (normalmente el PC_Hero, algunas veces algun NPC) tiene la cantidad fijada de un elemento determinado. Pueden concatenarse instrucciones con ";". Cada condicion debe considerarse en las tres lineas.
Ejemplo:
CondItemContainer=PC_Hero;PC_Hero
CondItems=It_Pickaxe;It_Hammer
CondItemAmounts=20;5
Nota:
A partir del 1.70CP podemos poner CondItemAmounts=0, antes no era posible.
CondItemAmount=0
La condicion conocida CondItemAmount esta relacionada con los parametros CondItem y CondItemContainer. Por ejemplo las entradas:
CondItemContainer=Markus
CondItems=It_FiremageCup
CondItemAmounts=1
Vienen a decir que el dialogo con Markus esta disponible solo si éste tiene un Caliz de Fuego en su inventario.
Pero hasta aora no era posible desencadenar un dialogo si un NPC no tiene algo en particular en su inventario. Con el 1.70CP esto se soluciona con CondItemAmounts=0
Atencion: Tenga cuidado con los comerciantes, puede ser que no tengan el elemento en su inventario pero si en los articulos a la venta. Esto puede dar lugar a situaciones raras.
p) CondWaersItem
Tipo de dato: Caracter.
Descripcion: Esta nuevo parametro esta relacionado con el "CondItemContainer". En cada archivo .info solo puede haber un "CondItemContainer".
El significado de este parametro debe estar claro: Si un NPC en particular lleva un arma, anillo, amuleto,...el dialogo estara disponible.
Resultado(de ejemplo): El dialogo de este archivo .info solo se activa si el heroe lleva una tunica de druida.
Por favor asegurate de que en el mismo archivo .info no necesitas dos CondItemContainer. Ademas asegurate que el CondItemCOntainer este relacionado con los parametros COndItems y CondItemsAmounts por un lago y con COndWearsItem por otro. Hay riesgo de confundir estos dos parametros.
Ejemplo:
CondItemContainer=PC_Hero
CondWearsItem=Body_Druid
q) CondHasSkill
Tipo de dato: Caracter.
Descripcion: El significado es obvio. Puedes concatener varias habilidades y hechizos separados por ";". (todo sin el prefijo "it_")
En este ejemplo el dialogo solo esta disponible si el heroe ha aprendido "regatear" y "explosion de hielo".
Atencion: esta nueva condicion se relaciona siempre con el heroe, no vale un NPC (los NPCs no tienen habilidades o hechizos, por lo que seria incongruente).
Ademas la condicion solo se cumple si el heroe ha aprendido la habilidad o el hechizo de un maestro, no valen los bonus de armas y armaduras.
Ejemplo:
CondHasSkill=Perk_Barter;Spl_IceBomb
r) CondReputGroup - CondReputAmount - CondReputRelation
Tipo de dato: Caracter - Entero - Caracter (MAX/MIN).
Descripcion: Estos tres parámetros condicionales se tienen que declarar siempre juntos. Con ellos puedes hacer diálogos que se activen dependiendo de la reputación del héroe.
-Dos tipos de especificaciones se permiten en "ReputGroup": Facciones (Valores: Reb,Orc, Ass (hashishins), Mid (montaraces), Nrd (Nordmar), Nom, Pir(Sí, piratas)) o lugares(en este caso el nombre interno del lugar, son validos por ejemplo MoraSul, KapDun, etc.).
-"Amount" es un numero entero entre el 0 y el 100.
- Para "Relation" los valores "MAX" y "MIN" están permitidos.
Sintaxis:
CondReputGroup=MoraSul;Reb
CondReputAmount=70;12
CondReputRelation=MAX;MIN
Resultado: El dialogo de este info solo está disponible si la reputación del héroe en Mora Sul es 70 o menos y si su reputación con los rebeldes es 12 o más.
¡Tened cuidado con las invocaciones("Reb, "MAX",etc)!
s) CondPAL
Esta condición solo tiene sentido en los archivos info cuyo propietario sea el héroe "owner=PC_Hero". Este parámetro está hecho para crear diálogos que solo deberían estar disponibles con un cierto grupo, por ejemplo orcos y mercenarios de los orcos. Los valores permitidos son: Reb, Orc, Ass, Mid, Nrd, Nom, Pir.
Sintaxis:
CondPAL=Mid;Orc
Resultado: Este dialogo solo está disponible si se habla con un montaraz/druida o con un orco/mercenario.
De nuevo: ¡tener mucho cuidado con la llamada! ¡Este parámetro no se llama CondPal (es CondPAL), por ejemplo!
t) CondSecondaryNPC - CondSecondaryNPCstates
Tipo de dato: Caracter -Entero.
Descripcion: El dialogo solo esta disponible cuando el mencionado NPC esta en el estado mencionado. Las condiciones se pueden concatenar con ";". Cada estado debe estar considerado en las dos lineas.
Ejemplo:
CondSecondaryNPC=Russel;Roland;Javier;Anog
CondSecondaryNPCstates=3;3;3;0
Posibles valores de CondSecondaryNPCstates:
0 Vivo.
1 Aun no ha sido derrotado por el heroe.
2 Ha sido derrotado por el heroe.
3 Muerto.
4 Ya ha hablado con el heroe.
5 No ha hablado con el heroe aun.
u) ClearChildren
Tipo de dato: Booleano escrito con caracteres ("true" o "false").
Descripcion: Si el dialogo tiene mas de un "niño" este parametro tiene la informacion de si los "niños" deben estar siponibles despues de que este dialogo haya sido ejecutado.
Ejemplo:
ClearChildren=true
v) Permanent
Tipo de dato: Booleano escrito con caracteres ("true" o "false").
Descripcion: Contiene la informacion sobre si este dialogo se hace una vez o siempre (siempre y cuando todas las condiciones se cumplan). Por lo general cada dialogo solo se ejecutara una sola vez. Las excepciones son las ordenes a los miembros del grupo ("Espera aqui", "Toma una pocion").
Ejemplo:
Permanent=false
w) InfoScript Commands - InfoScript Entities1 - InfoScript Entities2 - InfoScript IDs1 -
InfoScript IDs2 - InfoScript Texts
Tipo de dato: Caracter - Caracter - Caracter - Caracter - Caracter - Caracter.
Descripcion: Aqui estan los comandos que se ejecutaran cuando el dialogo se lleve a cabo. Se determina qué dice o qué hace.
Los comandos mas comunes son "Say", "Give" y "SetGameEvent" ("SetGameEvent" creara una nueva entrada en la "lista de eventos" que puede ser llamada desde "CondPlayerKnows"). Los comandos pueden ser concatenados por ";". Cada comando debe ser consideradoen los seis parametros, basta con solo poner un ";" si no quieres darle valor.
Las lineas de dialogo no se escriben en este archivo. En su lugar se hace referencia al archivo stringtable.ini y se usa un .ogg (archivo de audio) ("INFO_...", por ejemplo "INFO_LINE000001").
"Dungeon Master" ha recopilado una lista de todos los comandos utilizados y su sintaxis en: http://forum.worldofplayers.de/forum/showthread.php?p=3886587
Ejemplo:
InfoScript_Commands=Say;Say;SetRoutine;SetSectorStatus
InfoScript_Entities1=player;npc;npc;
InfoScript_Entities2=;;;
InfoScript_IDs1=;;Hunt;G3_Myrtana_01_Outdoor_StoryLurker
InfoScript_IDs2=;;;1
InfoScript_Texts=INFO_SKALVERAM320060208190145;INFO_SKALVERAM320060223231917;;
Nota: Aparte de los reocigo en la lista de "Dungeon Master" hay que tener en cuenta un nuevo comando añadido en el 1.70CP.
Erase
En contraste con los parámetros de condición mencionados hasta ahora, "Erase" es un nuevo comando para las líneas InfoScript. Al igual que "Say", "Give", "SetGameEvent",etc.
Con "Erase" puedes eliminar una cantidad determinada de elementos del inventario de un NPC especifico. (Este comando fue creado inicialmente para eliminar una botella del inventario del héroe cada vez que ordeñe a una vaca sin que se muestre el mensaje.)
Sintaxis:
InfoScript_Commands=Erase
InfoScript_Entities1=player
InfoScript_Entities2
InfoScript_IDs1=It_Gold
InfoScript_IDs2=100
InfoScript_Texts
No sabemos si este comando tiene sentido en otros contextos. Por favor, no abuses de él, no hagas trucos :-)
x) TeachSkill
Tipo de dato: Caracter.
Descripcion: Cuando se ejecuta el dialogo, el owner (que es siempre PC_Hero) aprende la habilidad o hechizo aqui mencionados. Solo tiene sentido en los archivos .info con ConditionType=16.
Ejemplo:
TeachSkill=Perk_Druid
Valores:
Se pueden ver aqui: http://forum.worldofplayers.de/forum/showthread.php?p=3879458
y) TeachAttrib - TeachAttribValue
Tipo de dato: Caracter - Entero.
Descripcion: Cuando se ejecuta el dialogo, el propietario (que es siembre PC_Hero) aumenta el atributo mencionado en la cantidad mencionada. SOlo tiene sentido en los .info con ConditionType=16.
Ejemplo:
TeachAttrib=SP
TeachAttribValue=1
Valores de TeachAttrib:
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
No hay comentarios:
Publicar un comentario