Buscando por Taleworlds he encontrado muchos tutoriales interesantes que aqui muchos no tenian ni idea de que existian, asi que traducire los que mas me gusten, y comenten de que les gustaria, si encuentro algo lo traduzco.
Empezaremos con el primer tutorial: Como crear compañeros, creado por Malik Faris
Necesitaremos:
Python:
https://www.python.org/downloads/release/python-279/
^ Es necesario para abrir los archivos .py (python)
Mount & blade Module System:
http://forums.taleworlds.com/index.php/topic,324874.0.html
Puedes extraer los archivos del Module System donde quieras en realidad, pero preferiblemente en su propia carpeta. Tal vez quieras crear una nueva carpeta en el escritorio llamada ''Mi M&B Mod.'' O puedes extraerlos en su carpeta de modulos de M&B, esto es lo que yo hice porque constantemente cambiaba entre los dos.
Y una copia limpia del Native, si has usado algun mod en la carpeta del Native como TweakMB, puede que quieras una instalacion limpia, que puedes conseguir aqui:
https://www.taleworlds.com/en/Games/Warband/Download
Cuando tengas eso listo, crea una copia de tu carpeta del Native y renombrala asi no trabajas en tus archivos del Native cuando crees tus compañeros.
Los unicos 4 archivos que nesecitas editar:
Esos archivos son module_info.py, module_scripts.py, module_strings.py y module_troops.py
Si has instalado Python correctamente, para abrirlos, haz click derecho sobre ellos y elije ''Edit with IDLE'' (es la forma correcta de abrirlos).
Paso 1: Configurar el directorio para que build_module extraiga los archivos
El primer archivo que tendras que editar es module_info.py, solo tiene 4 lineas de texto, y solo necesitas cambiar una de ellas.
Nota: Cualquier linea con # en el costado y este coloreada de rojo significa que es una ''nota'' que no hace nada, los desarrolladores las ponen ahi como una instrucción o referencia. Tú veras eso mucho en strings y scripts.
Copia el directorio donde tienes tu copia de la carpeta del Native y pegala sobre el directorio que sigue despues de "export_dir =", CON comillas ('' '') alrededor de el. Deberas cambiar todos los slashes hacia atras ( \ ) por slashes hacia adelante ( / ), y asegurate de que hay un slash hacia adelante al final de su carpeta llamada por ejemplo, "/Native-copia/"
Si no esta ahi solo esta pegado dentro de la carpeta anterior a ella (como modules).
Despues de hacer eso , click en File -> Save.
Ahora ya has terminado con info.py.
Paso 2: ''Diseñando'' tu nuevo compañero.
Una cosa que sera de ayuda o necesaria cuando hagas tu compañero es crear su cara. Para hacerlo puedes usar el menu de Warband, Crear un personaje/Editor de cara.
Para empezar, necesitaras activar el modo editor, puedes hacerlo desde la pestaña configuracion en el launcher del juego en ''avanzados''. Tambien ayuda iniciar el juego en una ventana en vez de en pantalla completa, tambien puedes cambiarlo en las configuraciones.
Cuando inicies el juego y crees un nuevo personaje o cargues una pertida, ve a la ventana de personaje, y haz click en tu retrato para abrir el editor de rostros.
Diseña la cara que quieres que tenga tu compañero, presiona Control+E. y una linea de texto aparecera sobre la cara:
Vamos a usar ese loco string de numeros en solo un segundo.
Abre module_troops.py (click derecho, edit with IDLE).
Asegurate de que tienes la ventana en pantalla y seleccionada apreta Control+F.
Esto abrira la ventana Busqueda (Control+F funciona en un monton de programas tambien como IE, Firefox, Word, Excel) escribe "npc16" y apreta buscar.
Esto te llevara a tu entrada de la tropa Klethi:
Pon una linea de espacio entre la informacion de Klethi y #npc system. Entonces, copiala a su informacion y pegala debajo de ella
Cambia la copia ''npc16'' a ''npc17'' y podras editar los otros dos nombres (el primero es el singular, el segundo es el plural, como la diferecia entre hombre y hombres, el primero afecta como su nombre aparece en tabernas y tal, el segundo es como se ve cuando pones ''lord/lady'' delante de el, así tu puedes tener el primer nombre de tu compañero como ''John, el caballero'' y el segundo nombre sera ''John'' entonces cuando el reciba un feudo y sea un lord se llamara ''Lord John'' en vez de ''Lord John, el caballero'')
Para motivos de prueba, en este momento, NO cambies nada mas acerca de este nuevo compañero, sigue los pasos de abajo para scripts y strings, solo COPIA y pega como es Klethi, y cambia los numeros, una vez hecho esto, guarda los archivos, inicia build_module.bat y mientras no de ningun error, ve al juego, INICIA UNA NUEVA PARTIDA, y usa los trucos para teletransportarte a todas las ciudades, y ve a cada taberna a buscar al ''newcompanion'' una vez hallado, sabras que tu nuevo compañero ''funciona'' y existe, ahora puedes editarlo para convertirlo en una ''persona real'' en vez de solo una copia.
Dejame explicarte esas etiquetas despues de los nombres:
tf_hero hace que aparezca en el menu Notas: Personajes
tf_female hace que sea mujer.
tf_unmovable_in_party_window hce que no puedes dejarlo como guarnicion o ''desbandarlo''
tf_guarantee_ranged hace que comienze asignado al tipo de tropa Arqueros en vez de Infanteria
para hacerlo comenzar como tipo de tropa Caballeria debes cambiarlo tanto a tf_guarantee_horse y tf_mounted, ellos no trabajan separados.
Cada una de ellas necesita ser separada por un '' | '' (shift+\)
Lo unico que deberas cambiar en realidad es tf_female, borralo si tu compañero es hombre, ponlo si es mujer.
No se que hace ''0, reserved'', pero no necesitamos cambiarlo.
Lo mismo sucede con ''fac_commoners''
Despues de eso estan los objetos del compañero, puedes buscar los otros items del juego en module_items.py, asegurate de que cada nuevo objeto que añadas tenga ''itm_'' delante de el
Luego vienen los atributos:
str_7|agi_11|int_8|cha_7|level(2),wp(80),knows_tracker_npc|
Una explicacion aqui.
wp es habilidad de arma, esto es para TODOS los tipos de arma, para variar habilidades:
Si quieres que tus npc's no tengan puntos extra/ tengan la misma cantidad de atributos/puntos de habilidad tu como jugador, sigue esta formula cuando asignes habilidades/atributos:
El knows_tracker_npc es un establecedor de habilidad/atributo que se usa para poner sus habilidades cada vez que inicias un nuevo juego. Tus tres elecciones para tus compañeros incluyen las habilidades que conceden:
knows_tracker_npc:knows_riding_2|knows_trade_3|knows_inventory_management_3
knows_warrior_npc:knows_weapon_master_2|knows_ironflesh_1|knows_athletics_1|knows_power_strike_2|knows_riding_2|knows_shield_1|knows_inventory_management_2
knows_merchant_npc:knows_weapon_master_1|knows_athletics_2|knows_spotting_2|knows_pathfinding_2|knows_tracking_2|knows_ironflesh_1|knows_inventory_management_2
Eso es bastante explicativo tambien.
Ahora vamos a las habilidades:
knows_power_throw_3|knows_athletics_2|knows_power_strike_1,
Puedes buscar las otras habilidades en module_skills.py.
Puedes cambiar eso a lo que tu quieras, mientras esten en el formato correcto y sean habilidades reales, y probablemente puedas tener cuantas tu quieras, solo separalas con un ( | ).
Debajo de las habilidades, esta la cara de los compañeros:
0x0000000f000015c836db6db6db6db6db00000000001db6db0000000000000000
El loco string de numeros, ¿Recuerdas el que aparecio cuando diseñabas la cara del personaja despues de que apretaras control+e?
Bien ahora todo lo que debes hacer es click en la linea de numeros de antes y se copiara a tu portapapeles, entonces selecciona la copia de la cara de Klethi y pega el que tu diseñaste sobre el.
El compañero ya esta ''diseñado''
Paso 3: module_scripts.py
Ahora vamos a hacer lo mismo para buscar a Klethi/npc16 como hicimos en module_troops.py,control+f y busca npc16, pero lo primero que encontrara sera a Borcha, pero el es el compañero #1 asi que puedes mirar abajo o seguir buscando con control+f.
Cuando lleges a Klethi, copia su codigo entero, con algunos de los espacios debajo de el:
Y de nuevo, pegalo debajo de su entrada, y cambia todos los trp_npc16 a trp_npc17, una forma rapida de hacerlo es cambiar el primero, doble click en el, cuando solo selecciona trp_npc17, copialo, entoces has doble click en el trp_npc16 deebajo dde el y pegalo, y asi sucesivamente.
Las primeras dos cosas que vamos a editar acrca de nuestro nuevo copañero es sus dos tipos de moral y valores, los compañeros pueden solo tener una moral si quieres, (mira a Nizar, por ejemplo).
Este post es el que mejor explica los tipos de moral:
http://forums.taleworlds.com/index.php/topic,113974.msg2748380.html#msg2748380
Y este explica los valores de moral:
http://forums.taleworlds.com/index.php/topic,108837.msg2654420.html#msg2654420
Aunque realmente no explican de forma clara como trabajan juntos. y yo sigo turbio en conseguirlo.
Lo siguiente que vamos a hacer es con que personalidad choca y con cual hace una pareja, puedes ver que a Klethi no le caen bien Artimenner y Borcha, y le cae bien Deshavi.
Puedes cambiar eso a otros trp_npcs o que tu compañero tenga sus propios rivales/amigos de entre otros compañeros que crees. Si no quieres que interactue con otro compañero, puedes cambiar esos campos a trp_dranton hay otras opciones disponibles, pero no hacen la diferencia, probablemente encuentres a Dranton en la arena, es un npc que nunca estara en tu grupo, asi que tus compañeros no pueden volverlo loco.
Ya viene la casa de los compañeros, cuando estes cerca de su casa, en el caso de Klethi, ella te contara sobre si misma basado en lo que este escrito en module_strings.py (cuando llegemos al siguiente paso)
Ahora el payment_request, el de Klethi es 200, es decir que ella querra 200 denares cuando la reclutes en una taberna, puedes cambiar eso a lo que quieras para el costo de tu compañero o puedes ponerlo en 0 si quieres que se una gratis, como Jeremus.
kingsupport_argument, es como te ayudara a obtener el trono, manteniendo consistencia con esas elecciones que afectan como los otros NPC lords ven tu reclamo y como se unen a ti o no.
kingsupport_opponent, es el npc que aparece y dice ''te escuche enviar esto-esto-esto acerca de bla bla bla... no lo apruebo''
town_with_contacts, es adonde va a ir cuando le preguntes si tiene contactos que sean de ayuda, y el traera de vuelta informacion.
lord_reputation_type, es como actuara cuando sea un lord. Esto explica como funciona:
Ahora esto es la ultima cosa que es muy importante para hacer antes de pasar al siguiente paso. Un poco debajo de tu nuevo compañero esta esta linea:
Cambia el 16 a un 17 y ya esta.
Ahora guarda y cierra module_scripts.py y pasemos al ultimo paso.
Paso 4: module_strings.py, o la parte dificil
Usa control+f y busca npc16 nos llevara hasta el inicio de que dira tu compañero cuando hables con el. Baja hasta ''npc16_intro'' copialo, pegalo debajo de el, cambia el 16 a 17, y cambia lo que dice cuando lo conoces.
Entonces baja hasta "npc16_intro_response_1", esto es lo que TU, el jugador dice como opcion cuando lo conoces, ''npc16_into_response_2'' es lo que dices cuando no quieres hablar con el. Copia,pega,cambia.
Puedes ver que cada linea es para leer que dicen los otros compañeros.
Tienes que hacer esto para TODAS Y CADA UNA DE LAS LINEAS hasta que lleges a "npc16_turn_against", esta es la ultima linea que tienes que copiar,pegar y cambiar.
Guarda y cierra module_strings.py
Paso 5: build_module.bat y reunete con tu nuevo compañero.
Ya hemos terminado, haz doble click en build_module.bat y dejalo funcionar hasta que diga:
Si ves algun ''error'' como:
Es porque has hecho algo como pner la habilidad de Maestria en Armas al nivel 11 cuando no puedes hacerlo, ya que el limite de las habilidades es 10.
Ahora inicia Warband, selecciona tu copia del Native desde la lista del launcher, crea un personaje, y ve a todas la tabernas (probablemente con los trucos activados y control+click izquierdo) y eventualmente encontraras a tu nuevo compañero en una de las tabernas.
Solo repite el proceso para crear otros y eventualmente tendras45 76 compañeros como yo
Cambios avanzados en los compañeros:
Como darles titulos nobiliarios personalizados como ''Tribuno Bunduk''
Creditos:Somebody
Hacer que los compañeros sean de origen noble o no:
He terminado con la traduccion, espero que les haya sido de ayuda.
Empezaremos con el primer tutorial: Como crear compañeros, creado por Malik Faris
Necesitaremos:
Python:
https://www.python.org/downloads/release/python-279/
^ Es necesario para abrir los archivos .py (python)
Mount & blade Module System:
http://forums.taleworlds.com/index.php/topic,324874.0.html
Puedes extraer los archivos del Module System donde quieras en realidad, pero preferiblemente en su propia carpeta. Tal vez quieras crear una nueva carpeta en el escritorio llamada ''Mi M&B Mod.'' O puedes extraerlos en su carpeta de modulos de M&B, esto es lo que yo hice porque constantemente cambiaba entre los dos.
Y una copia limpia del Native, si has usado algun mod en la carpeta del Native como TweakMB, puede que quieras una instalacion limpia, que puedes conseguir aqui:
https://www.taleworlds.com/en/Games/Warband/Download
Cuando tengas eso listo, crea una copia de tu carpeta del Native y renombrala asi no trabajas en tus archivos del Native cuando crees tus compañeros.
Los unicos 4 archivos que nesecitas editar:
Esos archivos son module_info.py, module_scripts.py, module_strings.py y module_troops.py
Si has instalado Python correctamente, para abrirlos, haz click derecho sobre ellos y elije ''Edit with IDLE'' (es la forma correcta de abrirlos).
- Imagen:
Paso 1: Configurar el directorio para que build_module extraiga los archivos
El primer archivo que tendras que editar es module_info.py, solo tiene 4 lineas de texto, y solo necesitas cambiar una de ellas.
- Código:
export_dir = "C:/Program Files/Mount&Blade/Modules/Native/"
Nota: Cualquier linea con # en el costado y este coloreada de rojo significa que es una ''nota'' que no hace nada, los desarrolladores las ponen ahi como una instrucción o referencia. Tú veras eso mucho en strings y scripts.
- Imagen:
Copia el directorio donde tienes tu copia de la carpeta del Native y pegala sobre el directorio que sigue despues de "export_dir =", CON comillas ('' '') alrededor de el. Deberas cambiar todos los slashes hacia atras ( \ ) por slashes hacia adelante ( / ), y asegurate de que hay un slash hacia adelante al final de su carpeta llamada por ejemplo, "/Native-copia/"
Si no esta ahi solo esta pegado dentro de la carpeta anterior a ella (como modules).
Despues de hacer eso , click en File -> Save.
Ahora ya has terminado con info.py.
Paso 2: ''Diseñando'' tu nuevo compañero.
Una cosa que sera de ayuda o necesaria cuando hagas tu compañero es crear su cara. Para hacerlo puedes usar el menu de Warband, Crear un personaje/Editor de cara.
sirinan escribió:Solo un pequeño consejo: Ir al multijugador y editar tu personaje te brinda un acceso rapido a los codigos faciales. Si juegas multijugador, querras crear un nuevo perfil, asi no sobreescribes el rostro de tu avatar
Para empezar, necesitaras activar el modo editor, puedes hacerlo desde la pestaña configuracion en el launcher del juego en ''avanzados''. Tambien ayuda iniciar el juego en una ventana en vez de en pantalla completa, tambien puedes cambiarlo en las configuraciones.
- Imagen:
Cuando inicies el juego y crees un nuevo personaje o cargues una pertida, ve a la ventana de personaje, y haz click en tu retrato para abrir el editor de rostros.
Diseña la cara que quieres que tenga tu compañero, presiona Control+E. y una linea de texto aparecera sobre la cara:
- Imagen:
Vamos a usar ese loco string de numeros en solo un segundo.
Abre module_troops.py (click derecho, edit with IDLE).
Asegurate de que tienes la ventana en pantalla y seleccionada apreta Control+F.
Esto abrira la ventana Busqueda (Control+F funciona en un monton de programas tambien como IE, Firefox, Word, Excel) escribe "npc16" y apreta buscar.
- Imagen:
Esto te llevara a tu entrada de la tropa Klethi:
- Código:
["npc16","Klethi","Klethi",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_peasant_dress,itm_nomad_boots, itm_dagger, itm_throwing_knives],
str_7|agi_11|int_8|cha_7|level(2),wp(80),knows_tracker_npc|
knows_power_throw_3|knows_athletics_2|knows_power_strike_1,
0x00000000000c100739ce9c805d2f381300000000001cc7ad0000000000000000],
#NPC system changes end
Pon una linea de espacio entre la informacion de Klethi y #npc system. Entonces, copiala a su informacion y pegala debajo de ella
- Código:
["npc16","Klethi","Klethi",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_peasant_dress,itm_nomad_boots, itm_dagger, itm_throwing_knives],
str_7|agi_11|int_8|cha_7|level(2),wp(80),knows_tracker_npc|
knows_power_throw_3|knows_athletics_2|knows_power_strike_1,
0x00000000000c100739ce9c805d2f381300000000001cc7ad0000000000000000],
["npc16","Klethi","Klethi",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_peasant_dress,itm_nomad_boots, itm_dagger, itm_throwing_knives],
str_7|agi_11|int_8|cha_7|level(2),wp(80),knows_tracker_npc|
knows_power_throw_3|knows_athletics_2|knows_power_strike_1,
0x00000000000c100739ce9c805d2f381300000000001cc7ad0000000000000000],
#npc system changes end
Cambia la copia ''npc16'' a ''npc17'' y podras editar los otros dos nombres (el primero es el singular, el segundo es el plural, como la diferecia entre hombre y hombres, el primero afecta como su nombre aparece en tabernas y tal, el segundo es como se ve cuando pones ''lord/lady'' delante de el, así tu puedes tener el primer nombre de tu compañero como ''John, el caballero'' y el segundo nombre sera ''John'' entonces cuando el reciba un feudo y sea un lord se llamara ''Lord John'' en vez de ''Lord John, el caballero'')
- Código:
["npc16","Klethi","Klethi",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_peasant_dress,itm_nomad_boots, itm_dagger, itm_throwing_knives],
str_7|agi_11|int_8|cha_7|level(2),wp(80),knows_tracker_npc|
knows_power_throw_3|knows_athletics_2|knows_power_strike_1,
0x00000000000c100739ce9c805d2f381300000000001cc7ad0000000000000000],
["npc17","newcompanion","newcompanion",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_peasant_dress,itm_nomad_boots, itm_dagger, itm_throwing_knives],
str_7|agi_11|int_8|cha_7|level(2),wp(80),knows_tracker_npc|
knows_power_throw_3|knows_athletics_2|knows_power_strike_1,
0x00000000000c100739ce9c805d2f381300000000001cc7ad0000000000000000],
#npc system changes end
Para motivos de prueba, en este momento, NO cambies nada mas acerca de este nuevo compañero, sigue los pasos de abajo para scripts y strings, solo COPIA y pega como es Klethi, y cambia los numeros, una vez hecho esto, guarda los archivos, inicia build_module.bat y mientras no de ningun error, ve al juego, INICIA UNA NUEVA PARTIDA, y usa los trucos para teletransportarte a todas las ciudades, y ve a cada taberna a buscar al ''newcompanion'' una vez hallado, sabras que tu nuevo compañero ''funciona'' y existe, ahora puedes editarlo para convertirlo en una ''persona real'' en vez de solo una copia.
Dejame explicarte esas etiquetas despues de los nombres:
tf_hero hace que aparezca en el menu Notas: Personajes
tf_female hace que sea mujer.
tf_unmovable_in_party_window hce que no puedes dejarlo como guarnicion o ''desbandarlo''
tf_guarantee_ranged hace que comienze asignado al tipo de tropa Arqueros en vez de Infanteria
para hacerlo comenzar como tipo de tropa Caballeria debes cambiarlo tanto a tf_guarantee_horse y tf_mounted, ellos no trabajan separados.
Cada una de ellas necesita ser separada por un '' | '' (shift+\)
Lo unico que deberas cambiar en realidad es tf_female, borralo si tu compañero es hombre, ponlo si es mujer.
No se que hace ''0, reserved'', pero no necesitamos cambiarlo.
Lo mismo sucede con ''fac_commoners''
Despues de eso estan los objetos del compañero, puedes buscar los otros items del juego en module_items.py, asegurate de que cada nuevo objeto que añadas tenga ''itm_'' delante de el
- Imagen:
Luego vienen los atributos:
str_7|agi_11|int_8|cha_7|level(2),wp(80),knows_tracker_npc|
Una explicacion aqui.
wp es habilidad de arma, esto es para TODOS los tipos de arma, para variar habilidades:
Ashmond escribió:Para los puntos de armas, debes ajustarlos individualmente, incluso para los npc, por ejemplo:
wp(100)|wp_firearm(120|wp_one_handed(40) - la sintaxis y su uso comienza en linea 52 de module_troops.py.
Si quieres que tus npc's no tengan puntos extra/ tengan la misma cantidad de atributos/puntos de habilidad tu como jugador, sigue esta formula cuando asignes habilidades/atributos:
- Código:
22=puntos de atributo al nivel 1, todos empiezan con 4str|4agi|4int|4cha
entonces los personajes de nivel 1 tienen 22 puntos para gastar y aumentar estos mas alla de 4.
+1 punto de habilidad por nivel
15=puntos de habilidad
nivel 1, empieza sin habilidades
+1 punto de habilidad por punto en inteligencia mas alla de 4
+1 punto de habilidad por nivel
El knows_tracker_npc es un establecedor de habilidad/atributo que se usa para poner sus habilidades cada vez que inicias un nuevo juego. Tus tres elecciones para tus compañeros incluyen las habilidades que conceden:
knows_tracker_npc:knows_riding_2|knows_trade_3|knows_inventory_management_3
knows_warrior_npc:knows_weapon_master_2|knows_ironflesh_1|knows_athletics_1|knows_power_strike_2|knows_riding_2|knows_shield_1|knows_inventory_management_2
knows_merchant_npc:knows_weapon_master_1|knows_athletics_2|knows_spotting_2|knows_pathfinding_2|knows_tracking_2|knows_ironflesh_1|knows_inventory_management_2
Eso es bastante explicativo tambien.
Ahora vamos a las habilidades:
knows_power_throw_3|knows_athletics_2|knows_power_strike_1,
Puedes buscar las otras habilidades en module_skills.py.
- Imagen:
Puedes cambiar eso a lo que tu quieras, mientras esten en el formato correcto y sean habilidades reales, y probablemente puedas tener cuantas tu quieras, solo separalas con un ( | ).
Debajo de las habilidades, esta la cara de los compañeros:
0x0000000f000015c836db6db6db6db6db00000000001db6db0000000000000000
El loco string de numeros, ¿Recuerdas el que aparecio cuando diseñabas la cara del personaja despues de que apretaras control+e?
Bien ahora todo lo que debes hacer es click en la linea de numeros de antes y se copiara a tu portapapeles, entonces selecciona la copia de la cara de Klethi y pega el que tu diseñaste sobre el.
El compañero ya esta ''diseñado''
Paso 3: module_scripts.py
Ahora vamos a hacer lo mismo para buscar a Klethi/npc16 como hicimos en module_troops.py,control+f y busca npc16, pero lo primero que encontrara sera a Borcha, pero el es el compañero #1 asi que puedes mirar abajo o seguir buscando con control+f.
Cuando lleges a Klethi, copia su codigo entero, con algunos de los espacios debajo de el:
- Código:
(troop_set_slot, "trp_npc16", slot_troop_morality_type, tmt_aristocratic), #klethi
(troop_set_slot, "trp_npc16", slot_troop_morality_value, 4),
(troop_set_slot, "trp_npc16", slot_troop_2ary_morality_type, tmt_humanitarian),
(troop_set_slot, "trp_npc16", slot_troop_2ary_morality_value, -1),
(troop_set_slot, "trp_npc16", slot_troop_personalityclash_object, "trp_npc15"), #klethi
(troop_set_slot, "trp_npc16", slot_troop_personalityclash2_object, "trp_npc1"), #klethi - borcha
(troop_set_slot, "trp_npc16", slot_troop_personalitymatch_object, "trp_npc7"), #deshavi - klethi
(troop_set_slot, "trp_npc16", slot_troop_home, "p_village_20"), #Uslum
(troop_set_slot, "trp_npc16", slot_troop_payment_request, 200),
(troop_set_slot, "trp_npc16", slot_troop_kingsupport_argument, argument_lords),
(troop_set_slot, "trp_npc16", slot_troop_kingsupport_opponent, "trp_npc12"), #nizar
(troop_set_slot, "trp_npc16", slot_troop_town_with_contacts, "p_town_9"), #khudan
(troop_set_slot, "trp_npc16", slot_lord_reputation_type, lrep_roguish), #
- Imagen:
Y de nuevo, pegalo debajo de su entrada, y cambia todos los trp_npc16 a trp_npc17, una forma rapida de hacerlo es cambiar el primero, doble click en el, cuando solo selecciona trp_npc17, copialo, entoces has doble click en el trp_npc16 deebajo dde el y pegalo, y asi sucesivamente.
Las primeras dos cosas que vamos a editar acrca de nuestro nuevo copañero es sus dos tipos de moral y valores, los compañeros pueden solo tener una moral si quieres, (mira a Nizar, por ejemplo).
Este post es el que mejor explica los tipos de moral:
http://forums.taleworlds.com/index.php/topic,113974.msg2748380.html#msg2748380
Y este explica los valores de moral:
http://forums.taleworlds.com/index.php/topic,108837.msg2654420.html#msg2654420
Aunque realmente no explican de forma clara como trabajan juntos. y yo sigo turbio en conseguirlo.
Lo siguiente que vamos a hacer es con que personalidad choca y con cual hace una pareja, puedes ver que a Klethi no le caen bien Artimenner y Borcha, y le cae bien Deshavi.
Puedes cambiar eso a otros trp_npcs o que tu compañero tenga sus propios rivales/amigos de entre otros compañeros que crees. Si no quieres que interactue con otro compañero, puedes cambiar esos campos a trp_dranton hay otras opciones disponibles, pero no hacen la diferencia, probablemente encuentres a Dranton en la arena, es un npc que nunca estara en tu grupo, asi que tus compañeros no pueden volverlo loco.
Ya viene la casa de los compañeros, cuando estes cerca de su casa, en el caso de Klethi, ella te contara sobre si misma basado en lo que este escrito en module_strings.py (cuando llegemos al siguiente paso)
Ashmond escribió:Puedes revisar en module_parties.py, alli hay una lista con todas las ciudades, castillos y aldeas.
Ahora el payment_request, el de Klethi es 200, es decir que ella querra 200 denares cuando la reclutes en una taberna, puedes cambiar eso a lo que quieras para el costo de tu compañero o puedes ponerlo en 0 si quieres que se una gratis, como Jeremus.
kingsupport_argument, es como te ayudara a obtener el trono, manteniendo consistencia con esas elecciones que afectan como los otros NPC lords ven tu reclamo y como se unen a ti o no.
kingsupport_opponent, es el npc que aparece y dice ''te escuche enviar esto-esto-esto acerca de bla bla bla... no lo apruebo''
town_with_contacts, es adonde va a ir cuando le preguntes si tiene contactos que sean de ayuda, y el traera de vuelta informacion.
lord_reputation_type, es como actuara cuando sea un lord. Esto explica como funciona:
stolen from: a singleplayer manual
Companions noble personality's (by SPD_Phoenix) and (Peter Ebbesen)
- Rolf: cunning.
- Baheshtur: cunning.
- Firentis: upstanding.
- Matheld: martial.
- Alayen: martial.
- Lezalit: selfrighteous.
Martial: My sword is at the disposal of my rightful liege, so long as he upholds his duty to me.
Quarrelsome: Bah. They're all a bunch of bastards. I try to make sure that the ones who wrong me learn to regret it.
Pitiless: Men will always try to cheat others of their rightful due. In this faithless world, each must remain vigilant of his own rights.
Cunning: Well, it's a harsh world, and it is our lot to face harsh choices. Sometimes one must serve a tyrant to keep the peace, but sometimes a bit of rebellion keeps the kings honest. Circumstance is all.
Sadistic: My philosophy is simple: it is better to be the wolf than the lamb.
Goodnatured: Well, you should keep faith with your promises, and not do injustice to others. Sometimes it's hard to balance those. Stick with people you trust, I think, and it's hard to go far wrong.
Upstanding: Kingship and lordship have been instituted to keep the peace and prevent the war of all against all, yet that must not blind us to the possibility of injustice.
Roguish: Hmm.. I guess I'm thinking that it's good to be a lord.
Benefactor: A good ruler makes sure all are treated justly. Personally, I intend to use my authority to better the lot of those who live in my demesne.
Custodian: A good ruler creates the proper conditions for people to prosper. Personally, I intend to use my wealth to create more wealth, for myself and for the common benefit.
Ahora esto es la ultima cosa que es muy importante para hacer antes de pasar al siguiente paso. Un poco debajo de tu nuevo compañero esta esta linea:
- Código:
(store_sub, "$number_of_npc_slots", slot_troop_strings_end, slot_troospoilertro),
(try_for_range, ":npc", companions_begin, companions_end),
(try_for_range, ":slot_addition", 0, "$number_of_npc_slots"),
(store_add, ":slot", ":slot_addition", slot_troop_intro),
(store_mul, ":string_addition", ":slot_addition", [b]16[/b]),
Cambia el 16 a un 17 y ya esta.
Ahora guarda y cierra module_scripts.py y pasemos al ultimo paso.
Paso 4: module_strings.py, o la parte dificil
Usa control+f y busca npc16 nos llevara hasta el inicio de que dira tu compañero cuando hables con el. Baja hasta ''npc16_intro'' copialo, pegalo debajo de el, cambia el 16 a 17, y cambia lo que dice cuando lo conoces.
- Imagen:
Entonces baja hasta "npc16_intro_response_1", esto es lo que TU, el jugador dice como opcion cuando lo conoces, ''npc16_into_response_2'' es lo que dices cuando no quieres hablar con el. Copia,pega,cambia.
Puedes ver que cada linea es para leer que dicen los otros compañeros.
Tienes que hacer esto para TODAS Y CADA UNA DE LAS LINEAS hasta que lleges a "npc16_turn_against", esta es la ultima linea que tienes que copiar,pegar y cambiar.
Guarda y cierra module_strings.py
Paso 5: build_module.bat y reunete con tu nuevo compañero.
Ya hemos terminado, haz doble click en build_module.bat y dejalo funcionar hasta que diga:
Script processing has ended.
Press any key to exit. . .
- Imagen:
Si ves algun ''error'' como:
NameError: name 'knows_weapon_master_11' is not defined
Es porque has hecho algo como pner la habilidad de Maestria en Armas al nivel 11 cuando no puedes hacerlo, ya que el limite de las habilidades es 10.
He copilado una pequeña base de datos con los errores mas comunes cuando construyes el codigo Python en un mod, y sus significados
Error:
SyntaxError: invalid syntax
Meaning:
Falta un parentesis, coma o comilla -- [], (), , or "" -- O tienes muchos de ellos
Error:
TypeError: list indices must be integers
Meaning:
Falta una coma/hay muchos parentesis.
Error:
ERROR: INPUT TOKEN NOT FOUND:
NameError: global name 'cause_error' is not defined
Meaning:
Tienes un cuadro de dialogo de estado de inicio - por ejemplo,"close_window",[]],
Error:
ERROR: INPUT TOKEN NOT FOUND:
NameError: global name 'cause_error' is not defined
Meaning:
Tienes un dialogo de inicio vacio -- por ejemplo,"constable_hareck_introduce_1",
Error:
NameError: name '' is not defined
Meaning:
Falta un prefijo como trp_, itm_ or mnu_ O falta un nombre O un nombe esta mal escrito.
Error:
IndexError: tuple index out of range
Meaning:
Nebuloso. Si estas modificando module_mission_templates.py, busca por flags alternativas indefinidas e indefinidas flags de IA, eso es lo mas comun.
Error:
TypeError: int argument required
Meaning:
Falta un entero tal como mission_template flag. Usted puede descubrir que enteros se piden buscando en la documentacion de Armagan al inicio de cada archivo del module_system, (int) se llama a los enteros
Error:
IndexError: list index out of range
Meaning:
Hay un error en una linea -- una lista es una cifra entre paréntesis.
Error:
Error: Unable to find object:
ERROR: Illegal Identifier:
Meaning:
El objeto que estas tratando de llamar no existe todavia O hay un error en el nombre.
Esos son todos los que yo era capaz de producir de forma fiable a corto plazo. ¡Espero que sea de ayuda!
Hydraulically,
Winter
Ahora inicia Warband, selecciona tu copia del Native desde la lista del launcher, crea un personaje, y ve a todas la tabernas (probablemente con los trucos activados y control+click izquierdo) y eventualmente encontraras a tu nuevo compañero en una de las tabernas.
Solo repite el proceso para crear otros y eventualmente tendras
![Embarassed](https://2img.net/i/fa/i/smiles/icon_redface.gif)
("npc1_intro", "Ho there, traveller. You wouldn't by chance be in the market for a tracker, would you?"),
("npc2_intro", "Hello. Would you be so kind as to have a cup with me? I'm down to my last five denars and I'd rather not drink alone."),
("npc3_intro", "Good day to you!"),
("npc4_intro", "Greetings. I am Rolf, son of Rolf, of the most ancient and puissant House of Rolf."),
("npc5_intro", "Greetings, traveller. Would you join me for a drink?"),
("npc6_intro", "I am lost... Lost..."),
("npc7_intro", "Yes? Keep your distance, by the way."),
("npc8_intro", "What do you want?"),
("npc9_intro", "You there, good {man/woman}, be so kind as to fetch me another drink, eh?"),
("npc10_intro", "Greetings there, {Brother/Sister}! Here's to the doom and downfall of all high-born lords and ladies!"),
("npc11_intro", "Hello there, {laddie/lassie}. Have a drink on me."),
("npc12_intro", "Greetings, fellow traveller. Perhaps you can help me."),
("npc13_intro", "Greetings, traveller. I am Nizar. No doubt you will have heard of me."),
("npc14_intro", "Yes? What is it you wish?"),
("npc15_intro", "Oh! Say, friend, are you by chance heading out of town anytime soon?"),
("npc16_intro", "Hello there. From the look of you, I'd say you're expecting to get into some fights in the near future. Are you by any chance looking for some help?"),
("npc17_intro", "Greetings, I am known as Balbanes."),
("npc18_intro", "Greetings, I am known as Zacahary."),
("npc19_intro", "Greetings, I am known as Ruslan."),
("npc20_intro", "Greetings, I am known as Porziano."),
("npc21_intro", "Greetings, I am known as Bataar."),
("npc22_intro", "Greetings, I am known as Matin."),
("npc23_intro", "Greetings, I am known as Einar."),
("npc24_intro", "Greetings, I am known as Boadicea."),
("npc25_intro", "Greetings, I am known as Karn."),
("npc26_intro", "Greetings, I am known as Argan."),
("npc27_intro", "Greetings, I am known as Ostanes."),
("npc28_intro", "Greetings, I am known as Cordelia."),
("npc29_intro", "Greetings, I am known as Blanchefleur."),
("npc30_intro", "Greetings, I am known as Artemisia."),
("npc31_intro", "Greetings, I am known as Camilla."),
("npc32_intro", "Greetings, I am known as Agustina."),
("npc33_intro", "My, my {lord/lady}! It is you! The rightful ruler of Calradia!."),
("npc34_intro", "Hail and well met, I am Edgardo."),
("npc35_intro", "Hail and well met, I am Misses Morana."),
("npc36_intro", "Hail and well met, I am Eira."),
("npc37_intro", "Hail and well met, I am Duilio."),
("npc38_intro", "Hail and well met, I am Qorin."),
("npc39_intro", "Hail and well met, I am Yareb."),
("npc40_intro", "Hail and well met, I am Miura Anjin."),
("npc41_intro", "Hail and well met, I am Xin Tian."),
("npc42_intro", "Hail and well met, I am Xin Rong."),
("npc43_intro", "Hail and well met, I am Xin Jia."),
("npc44_intro", "Hail and well met, I am Bhagwandas."),
("npc45_intro", "Hail and well met, I am Windich."),
Cambios avanzados en los compañeros:
Como darles titulos nobiliarios personalizados como ''Tribuno Bunduk''
Creditos:Somebody
Somebody escribió:Para darle a un compañero un titulo personalizado cuando sea un lord como Bunduk se convierte en Tribuno Bunduk, haz lo siguiente:
1. Edita module_dialogs.py
2. Usa control+f y busca el termino ''tribune'' (sin comillas)
3. Añade esto debajo de la linea ''tribune'', no borres/sobreescribas ninguna linea
4. Cambia el ## por el numero del npc en module_troops.py(else_try),
(eq, "$g_talk_troop", "trp_npc##"),
(str_store_string, s14, "str_'newtitle'_s12"),
5. Si quieres mas de un npc con el mismo titulo, cambia el codigo anterior por este:
Quita el ''this or next'' del medio si solo quieres 2, copia y pegalo si quieres mas de 3 solo asegurate que termina con ''eq''(else_try),
(this_or_next|eq, "$g_talk_troop", "trp_npc##"),
(this_or_next|eq, "$g_talk_troop", "trp_npc##"),
(eq, "$g_talk_troop", "trp_npc##"),
(str_store_string, s14, "str_newtitle_s12"),
7. Edita module_strings.py
8. Usa control+f y busca tribune 3 veces (las primeras dos hablan de como Bunduk dice acerca de que quiere ser un tribuno)
9. Debajo de la linea tribune_s12 pega esto, sin borrar o sobreescribir ninguna linea:
10. Cambia el ''newtitle'' que mencione antes por lo que quieras que sea tu titulo de lord (por ejemplo duque), guarda los archvos .py, inicia build_module y esta listo("newtitle_s12", "newtitle {s12}"),
- Ejemplo:
(else_try),
(eq, "$g_talk_troop", "trp_npc17"),
(str_store_string, s14, "str_duke'_s12"),
("duke_s12", "Duke {s12}"),
Hacer que los compañeros sean de origen noble o no:
Caba`drin escribió:manekemaan escribió:Mi pregunta es, como pueo hacer que los compañeros no sean nobles o que si lo sean(En este orden porque Malik ya me dijo que los compañeros son considerados nobles a menos que diga lo contrario) No puedo encontrar donde puedo ajustar estoSPD_Phoenix escribió:Module_scripts, script ''initialize_npcs''. Todos los compañeros tienen una linea
La lista completa de personalidades esta en module_constants.py. Desde ''lrep_martial'' hasta "lrep_upstanding" es noble. Desde "lrep_roguish" hasta "lrep_custodian" es no-noble(troop_set_slot, "trp_npc1", slot_lord_reputation_type, lrep_roguish),
#"Martial" sera dos veces mas comun que los otros tipos
lrep_none = 0
lrep_martial = 1 #caballeroso pero no es terriblemente empático o introspectivo , - ej Ricardo Corazon de Leon, el barón francés del siglo 14
lrep_quarrelsome = 2 #rencoroso , cínico , un poco paranoico, posiblemente exaltado - ej Robert Graves' Tiberius, uno de los tios de Carlos VI
lrep_selfrighteous = 3 #sangre fría, moralizante, a menudo cruel - ej Guillermo el Conquistador, Timur, Octavio, Aurangzeb (a pesar de que es posiblemente vertical en cambio, sobre todo después de su adhesión )
lrep_cunning = 4 #sangre fría, pragmático, amoral - ej Luis XI, Guiscard, Akbar Khan, Abd al-Aziz Ibn Saud
lrep_debauched = 5 #rencoroso, amoral, sádico - ej Caligula, Carlos II de Navarra
lrep_goodnatured = 6 #caballeroso, benevolente, quizás un poco demasiado decente para ser un buen señor de la guerra - ej Hussein ibn Ali. Algunos ejemplos históricos bien conocidos tal vez. porque muchos carecen de la unidad a la altura de liderazgo de facción. Ranjit Singh tiene aspectos
lrep_upstanding = 7 #moralizante, benevolente, pragmático , - ej Bernard Cornwell's Alfred, Carlomagno, Saladino, Sher Shah Suri
lrep_roguish = 8 #utilizado para comunes, especificamente ex-compañeros. Trata de vivir la vida como un señor a pleno.
lrep_benefactor = 9 #utilizado para comunes, especificamente ex-compañeros. Trata de mejorar la cantidad de gente en la tierra
lrep_custodian = 10 #utilizado para comunes, especificamente ex-compañeros. Trata de maximizar el potencial de ingresos del feudo
He terminado con la traduccion, espero que les haya sido de ayuda.
Última edición por Hernanxd16 el Lun Sep 05, 2016 7:38 pm, editado 2 veces