1.Прописал в EDU :
; COMMENTS Hastati Camillan (Camillan Medium Infantry Maniple) / Unit ID 175 / Start exp: 0 / Refr rate: 0,0432 / Pool cap: 7
type roman infantry hastati camillan
dictionary roman_infantry_hastati_camillan
category infantry
class heavy
voice_type General
accent Roman_Latin
banner faction main_infantry
banner holy crusade
soldier Hastati_Camillan, 64, 0, 1, 0.25
attributes sea_faring, can_swim, hide_forest, is_peasant, free_upkeep_unit, can_withdraw, cannot_skirmish
move_speed_mod 0.83
formation 0.89, 1.19, 2.7, 2.7, 4, square
stat_health 1, 5
stat_pri 20, 0, pilum, 60, 2, thrown, missile_mechanical, piercing, none, 0, 1
stat_pri_attr thrown
stat_sec 9, 5, no, 0, 0, melee, melee_blade, piercing, sword, 0, 1
stat_sec_attr no
stat_pri_armour 4, 6, 7, metal
stat_sec_armour 0, 0, flesh
stat_heat 3
stat_ground -1, -3, -3, -5
stat_mental 5, disciplined, trained
stat_charge_dist 14
stat_fire_delay 0
stat_food 60, 300
stat_cost 1, 2466, 308, 61, 123, 1233, 8, 308
stat_stl 10
armour_ug_levels 0
armour_ug_models Hastati_Camillan
ownership romani, slave
era 0 romani, slave
2.Добавил в MDB :
16 Hastati_Camillan
1 3
65 unit_models/_Units/EB_hastati_camillan/hastati_camillan_lod0.mesh 500
65 unit_models/_Units/EB_hastati_camillan/hastati_camillan_lod1.mesh 1200
65 unit_models/_Units/EB_hastati_camillan/hastati_camillan_lod2.mesh 6400
3
6 romani
80 unit_models/_Units/EB_hastati_camillan/textures/EB_Hastati_Camillan_rome.texture
87 unit_models/_Units/EB_hastati_camillan/textures/EB_Hastati_Camillan_rome_normal.texture
47 unit_sprites/f_rome_Hastati_Camillan_sprite.spr
4 merc
80 unit_models/_Units/EB_hastati_camillan/textures/EB_Hastati_Camillan_rome.texture
87 unit_models/_Units/EB_hastati_camillan/textures/EB_Hastati_Camillan_rome_normal.texture
47 unit_sprites/f_rome_Hastati_Camillan_sprite.spr
5 slave
80 unit_models/_Units/EB_hastati_camillan/textures/EB_Hastati_Camillan_rome.texture
87 unit_models/_Units/EB_hastati_camillan/textures/EB_Hastati_Camillan_rome_normal.texture
47 unit_sprites/f_rome_Hastati_Camillan_sprite.spr
3
6 romani
34 unit_models/att/HastatiCam.texture
36 unit_models/att/HastatiCam_n.texture 0
4 merc
34 unit_models/att/HastatiCam.texture
36 unit_models/att/HastatiCam_n.texture 0
5 slave
34 unit_models/att/HastatiCam.texture
36 unit_models/att/HastatiCam_n.texture 0
1
4 None
8 EB_Pilum
12 EB_Legionary
2
16 EB_Pilum_primary
14 fs_test_shield
2
12 EB_no_weapon
14 fs_test_shield
16 -0.090000004 0 0 -0.34999999 0.80000001 0.60000002
3.Прописал в файл descr_skeleton.txt:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;
Version 15
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;
;Sub-family used for units using prec attribute
;they throw their javelins doing a run
;alin
type EB_Pilum
reference_points Rom_siege_engines/UnitModelsRefPoints/Javelin_Ref_Point.modelReferencePoints
parent EB_Short_Javelin_Prec
locomotion_table soldier
anim default data/Rom_animations/EB_Hoplite/EB_Hoplite_basepose.cas
;;;Attack
anim attack_missile_ready data/Rom_animations/EB_Javelin/EB_Javelin_ready.cas -fr
anim attack_missile_hold data/Rom_animations/EB_Javelin/EB_Javelin_ready.cas -fr
anim attack_missile_release data/Rom_animations/EB_Javelin/EB_Javelin_attack_missile_release_v2.cas -fr -id:0.0, 1.5, 1.0, -if:35 -evt:data/Rom_animations/EB_Javelin/EB_Javelin_attack_missile_release_v2.evt
;;remove some taunt animations
anim taunt_1 data/Rom_animations/EB_LS_Spear/MTW2_Spear_stand_A_hf_idle_1.cas ;-fr -evt:data/Rom_animations/MTW2_Spear/MTW2_Spear_stand_A_hf_idle_1.evt
anim taunt_2 data/Rom_animations/EB_LS_Spear/MTW2_Spear_stand_A_hf_idle_2.cas ;-fr -evt:data/Rom_animations/MTW2_Spear/MTW2_Spear_stand_A_hf_idle_2.evt
anim taunt_3 data/Rom_animations/EB_LS_Spear/MTW2_Spear_stand_A_hf_idle_3.cas ;-fr -evt:data/Rom_animations/MTW2_Spear/MTW2_Spear_taunt_3.evt
anim taunt_4 data/Rom_animations/EB_LS_Spear/MTW2_Spear_stand_A_lf_idle_1.cas ;-fr -evt:data/Rom_animations/MTW2_Spear/MTW2_Spear_taunt_4.evt
;;replace silly celebrate
anim celebrate_1 data/Rom_animations/EB_LS_Spear/MTW2_Spear_celebrate_2.cas -fr -evt:data/Rom_animations/MTW2_Spear/MTW2_Spear_celebrate_2.evt
;;;weapon
type EB_Pilum_primary
suppress_refpoints_warning
anim default data/Rom_animations/mtw2_knifeman/Weapon/Knife_Default.cas
anim stand_a_idle data/Rom_animations/mtw2_knifeman/Weapon/Knife_Default.cas
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;
;alin
type EB_Legionary
parent MTW2_LS_Swordsman
strike_distances 1.10 1.40 2.8 3.5 4.0
locomotion_table soldier
anim default data/Rom_animations/MTW2_Swordsman/MTW2_Swordsman_basepose.cas
;;;Attacks, removing most of the slash attacks
anim eager_attack_centre_hi_c_slashrl_fail data/Rom_animations/MTW2_LS_Swordsman/MTW2_LS_Swordsman_at_mid_c_stab_v1_s0_fail.
cas -fr
anim eager_attack_centre_hi_c_slashrl_success data/Rom_animations/MTW2_LS_Swordsman/MTW2_LS_Swordsman_at_mid_c_stab_v1_s0_success.
cas -fr -id:0.082,0.420,1.625 -if:13, -evt:data/Rom_animations/MTW2_Swordsman/MTW2_Swordsman_at_mid_c_stab_v1_s0_success.
evt
anim eager_attack_centre_hi_c_stab_fail data/Rom_animations/MTW2_LS_Swordsman/MTW2_LS_Swordsman_at_overhead_c_stab_fail.cas -fr
anim eager_attack_centre_hi_c_stab_success data/Rom_animations/MTW2_LS_Swordsman/MTW2_LS_Swordsman_at_overhead_c_stab_success.
cas -fr -id:0.178,1.019,1.656 -if:13 -evt:data/Rom_animations/MTW2_Swordsman/MTW2_Swordsman_at_overhead_c_stab_success.
evt
anim eager_attack_centre_mid_c_slashlr_v0_fail data/Rom_animations/MTW2_LS_Mace/MTW2_LS_Mace_at_mid_a_push_fail.cas -fr -evt:data/Rom_animations/MTW2_Mace/MTW2_Mace_at_mid_a_push_fail.evt
anim eager_attack_centre_mid_c_slashlr_v0_success data/Rom_animations/MTW2_LS_Mace/MTW2_LS_Mace_at_mid_a_push_success.cas -fr -id:-0.102,0.443,0.795 -if:23 -evt:data/Rom_animations/MTW2_Mace/MTW2_Mace_at_mid_a_push_success.evt
; REMOVED FATALITY ;anim eager_attack_centre_mid_b_stab_fail data/Rom_animations/MTW2_LS_Mace/MTW2_LS_Mace_at_mid_a_push_fail.cas -fr -evt:data/Rom_animations/MTW2_Mace/MTW2_Mace_at_mid_a_push_fail.evt
; REMOVED FATALITY ;anim eager_attack_centre_mid_b_stab_fatality data/Rom_animations/MTW2_LS_Swordsman/MTW2_LS_Swordsman_at_mid_c_slashrl_s0_fatality.
cas -fr -evt:data/Rom_animations/MTW2_Swordsman/MTW2_Swordsman_at_mid_c_slashrl_s0_fatality.
evt
; REMOVED FATALITY ;anim eager_attack_centre_mid_b_stab_success data/Rom_animations/MTW2_LS_Mace/MTW2_LS_Mace_at_mid_a_push_success.cas -fr -id:-0.102,0.443,0.795 -if:23 -evt:data/Rom_animations/MTW2_Mace/MTW2_Mace_at_mid_a_push_success.evt
; REMOVED FATALITY ;anim eager_attack_centre_mid_b_stab_victim data/Rom_animations/MTW2_LS_Swordsman/MTW2_LS_Swordsman_at_mid_c_slashrl_s0_victim.
cas -fr -evt:data/Rom_animations/MTW2_Swordsman/MTW2_Swordsman_at_mid_c_slashrl_s0_victim.
evt
anim eager_attack_centre_mid_c_slashrl_s1_slashlr_success data/Rom_animations/MTW2_LS_Swordsman/MTW2_LS_Swordsman_at_mid_c_stab_v1_s1_slashrl_success.
cas -fr -id:-0.075,0.400,2.900 -if:25, -evt:data/Rom_animations/MTW2_Swordsman/MTW2_Swordsman_at_mid_c_stab_v1_s1_slashrl_success.
evt
anim eager_attack_centre_mid_c_slashrl_s1_slashlr_fail data/Rom_animations/MTW2_LS_Swordsman/MTW2_LS_Swordsman_at_mid_c_stab_v1_s1_slashrl_fail.
cas -fr -evt:data/Rom_animations/MTW2_Swordsman/MTW2_Swordsman_at_mid_c_stab_v1_s1_slashrl_fail.
evt
anim eager_attack_centre_mid_c_slashrl_s2_stab_fail data/Rom_animations/MTW2_LS_Swordsman/MTW2_LS_Swordsman_at_mid_c_slashrl_s2_stab_fail.
cas -fr -evt:data/Rom_animations/MTW2_Swordsman/MTW2_Swordsman_at_mid_c_slashrl_s2_stab_fail.
evt
anim eager_attack_centre_mid_c_slashrl_s2_stab_success data/Rom_animations/MTW2_LS_Swordsman/MTW2_LS_Swordsman_at_mid_c_slashrl_s2_stab_success.
cas -fr -id:-0.029,0.380,2.827 -if:18, -evt:data/Rom_animations/MTW2_Swordsman/MTW2_Swordsman_at_mid_c_slashrl_s2_stab_success.
evt
; REMOVED FATALITY ;anim eager_attack_centre_mid_c_stab_v0_fail data/Rom_animations/MTW2_LS_Swordsman/MTW2_LS_Swordsman_at_mid_c_stab_v1_s0_fail.
cas -fr
; REMOVED FATALITY ;anim eager_attack_centre_mid_c_stab_v0_fatality data/Rom_animations/MTW2_LS_Swordsman/MTW2_LS_Swordsman_at_mid_c_slashlr_v1_s0_fatality.
cas -fr -evt:data/Rom_animations/MTW2_Swordsman/MTW2_Swordsman_at_mid_c_slashlr_v1_s0_fatality.
evt
; REMOVED FATALITY ;anim eager_attack_centre_mid_c_stab_v0_success data/Rom_animations/MTW2_LS_Swordsman/MTW2_LS_Swordsman_at_mid_c_stab_v1_s0_success.
cas -fr -id:0.082,0.420,1.625 -if:13, -evt:data/Rom_animations/MTW2_Swordsman/MTW2_Swordsman_at_mid_c_stab_v1_s0_success.
evt
; REMOVED FATALITY ;anim eager_attack_centre_mid_c_stab_v0_victim data/Rom_animations/MTW2_LS_Swordsman/MTW2_LS_Swordsman_at_mid_c_slashlr_v1_s0_victim.
cas -fr -evt:data/Rom_animations/MTW2_Swordsman/MTW2_Swordsman_at_mid_c_slashlr_v1_s0_victim.
evt
; REMOVED FATALITY ;anim eager_attack_centre_mid_b_slashlr_fail data/Rom_animations/MTW2_LS_Swordsman/MTW2_LS_Swordsman_at_mid_c_stab_v1_s0_fail.
cas -fr
; REMOVED FATALITY ;anim eager_attack_centre_mid_b_slashlr_fatality data/Rom_animations/MTW2_LS_Swordsman/MTW2_LS_Swordsman_at_mid_c_slashlr_v1_s0_fatality.
cas -fr -evt:data/Rom_animations/MTW2_Swordsman/MTW2_Swordsman_at_mid_c_slashlr_v1_s0_fatality.
evt
; REMOVED FATALITY ;anim eager_attack_centre_mid_b_slashlr_success data/Rom_animations/MTW2_LS_Swordsman/MTW2_LS_Swordsman_at_mid_c_stab_v1_s0_success.
cas -fr -id:0.082,0.420,1.625 -if:13, -evt:data/Rom_animations/MTW2_Swordsman/MTW2_Swordsman_at_mid_c_stab_v1_s0_success.
evt
; REMOVED FATALITY ;anim eager_attack_centre_mid_b_slashlr_victim data/Rom_animations/MTW2_LS_Swordsman/MTW2_LS_Swordsman_at_mid_c_slashlr_v1_s0_victim.
cas -fr -evt:data/Rom_animations/MTW2_Swordsman/MTW2_Swordsman_at_mid_c_slashlr_v1_s0_victim.
evt
; REMOVED FATALITY ;anim eager_attack_centre_mid_c_slashrl_s0_fail data/Rom_animations/MTW2_LS_Swordsman/MTW2_LS_Swordsman_at_mid_c_stab_v1_s0_fail.
cas -fr -evt:data/Rom_animations/MTW2_Swordsman/MTW2_Swordsman_at_mid_c_stab_v1_s0_fail.evt
; REMOVED FATALITY ;anim eager_attack_centre_mid_c_slashrl_s0_fatality data/Rom_animations/MTW2_LS_Swordsman/MTW2_LS_Swordsman_at_mid_c_stab_v1_s0_fatality.
cas -fr -evt:data/Rom_animations/MTW2_Swordsman/MTW2_Swordsman_at_mid_c_stab_v1_s0_fatality.
evt
; REMOVED FATALITY ;anim eager_attack_centre_mid_c_slashrl_s0_success data/Rom_animations/MTW2_LS_Swordsman/MTW2_LS_Swordsman_at_mid_c_stab_v1_s0_success.
cas -fr -id:0.082,0.420,1.625 -if:13, -evt:data/Rom_animations/MTW2_Swordsman/MTW2_Swordsman_at_mid_c_stab_v1_s0_success.
evt
; REMOVED FATALITY ;anim eager_attack_centre_mid_c_slashrl_s0_victim data/Rom_animations/MTW2_LS_Swordsman/MTW2_LS_Swordsman_at_mid_c_stab_v1_s0_victim.
cas -fr -evt:data/Rom_animations/MTW2_Swordsman/MTW2_Swordsman_at_mid_c_stab_v1_s0_victim.
evt
anim eager_attack_centre_mid_c_stab_v1_s1_slashrl_fail data/Rom_animations/MTW2_LS_Swordsman/MTW2_LS_Swordsman_at_mid_c_stab_v1_s1_slashrl_fail.
cas -fr -evt:data/Rom_animations/MTW2_Swordsman/MTW2_Swordsman_at_mid_c_stab_v1_s1_slashrl_fail.
evt
anim eager_attack_centre_mid_c_stab_v1_s1_slashrl_success data/Rom_animations/MTW2_LS_Swordsman/MTW2_LS_Swordsman_at_mid_c_stab_v1_s1_slashrl_success.
cas -fr -id:-0.075,0.400,2.900 -if:25, -evt:data/Rom_animations/MTW2_Swordsman/MTW2_Swordsman_at_mid_c_stab_v1_s1_slashrl_success.
evt
anim eager_attack_centre_mid_d_slashlr_fail data/Rom_animations/MTW2_LS_Swordsman/MTW2_LS_Swordsman_at_overhead_c_stab_fail.cas -fr
anim eager_attack_centre_mid_d_slashlr_success data/Rom_animations/MTW2_LS_Swordsman/MTW2_LS_Swordsman_at_overhead_c_stab_success.
cas -fr -id:0.178,1.019,1.656 -if:13 -evt:data/Rom_animations/MTW2_Swordsman/MTW2_Swordsman_at_overhead_c_stab_success.
evt
;;new charge anims
anim charge data/Rom_animations/EB_Legionary/MTW2_LS_Mace_charge.cas -fr -evt:data/Rom_animations/MTW2_Mace/MTW2_Mace_charge.evt
anim charge_to_ready data/Rom_animations/EB_Legionary/MTW2_LS_Mace_charge_to_ready.cas -fr -evt:data/Rom_animations/MTW2_Mace/MTW2_Mace_charge_to_ready.evt
anim charge_attack data/Rom_animations/EB_Legionary/MTW2_LS_Mace_charge_attack_1.cas -fr -id:0.2, 0.203, 1.126 -if:15 -evt:data/Rom_animations/MTW2_Mace/MTW2_Mace_charge_attack.evt
anim charge_jump_attack data/Rom_animations/EB_Legionary/MTW2_LS_Mace_charge_attack_1.cas -fr -id:0.2, 0.203, 1.126 -if:15 -evt:data/Rom_animations/MTW2_Mace/MTW2_Mace_charge_attack.evt
anim run_to_charge data/Rom_animations/EB_Legionary/MTW2_LS_Mace_run_to_charge.cas -fr -evt:data/Rom_animations/MTW2_Mace/MTW2_Mace_run_to_charge.evt
anim ready_to_charge data/Rom_animations/EB_Legionary/MTW2_LS_Mace_ready_to_charge.cas -fr -evt:data/Rom_animations/MTW2_Mace/MTW2_Mace_ready_to_charge.evt
anim stand_a_to_charge data/Rom_animations/EB_Legionary/MTW2_LS_Mace_stand_A_to_charge.cas -fr -evt:data/Rom_animations/MTW2_Mace/MTW2_Mace_stand_A_to_charge.evt
;;true legionaries don't taunt
anim taunt_1 data/Rom_animations/MTW2_LS_Mace/MTW2_LS_Mace_stand_A_hf_idle_1.cas -fr -evt:data/Rom_animations/MTW2_Mace/MTW2_Mace_stand_A_hf_idle_1.evt
anim taunt_2 data/Rom_animations/MTW2_LS_Mace/MTW2_LS_Mace_stand_A_hf_idle_2.cas -fr -evt:data/Rom_animations/MTW2_Mace/MTW2_Mace_stand_A_hf_idle_2.evt
;;replace silly celebrate from parent
anim celebrate_1 data/Rom_animations/MTW2_LS_Mace/MTW2_LS_Mace_celebrate_2.cas -fr -evt:data/Rom_animations/MTW2_Mace/MTW2_Mace_celebrate_2.evt
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;
;Dummy skeleton for skeletons where the weapon/shield bones are ignored
;alin
type EB_no_weapon
anim default data/Rom_animations/mtw2_knifeman/Weapon/Knife_Default.cas
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;
type fs_test_shield
anim default data/Rom_animations/test_weapon/shield_primary_0.CAS
anim stand_a_idle data/Rom_animations/test_weapon/shield_primary_anim.CAS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;
4.Затем закинул в мод все нужные меши, текстуры самого юнита и папки animations и siege_engines из мода EB II, прежде я их переименовал на Rom_animations и Rom_siege_engines.
Сделал я это для того чтобы не портить PI 2
Затем запустил игру, зашёл в кастом битву, выбрал юнита Hastati Camillan и при загрузки битвы появился чёрный экран с воскл.знаком.
В логе пишет:
11:17:44.871 [script.err] [error] Script Error in mods/PItalica2/data/export_descr_unit.txt, at line 695, column 1
Missing skeleton for secondary weapon in model type 'Hastati_Camillan', used by unit 'roman infantry hastati camillan'.
Про себя думаю, ладно), беру из мода PI 2, файла MDB вот эти записи:
1
4 None
15 MTW2_S1_Javelin
23 MTW2_S1_Swordsman_Short 2
19 MTW2_javelin_weapon
14 fs_test_shield 2
17 MTW2_sword_weapon
14 fs_test_shield
16 -0.090000004 0 0 -0.34999999 0.80000001 0.60000002
Заменяю эти записи на ранее прописанную, захожу в битву - вроде всё нормально, новый юнит как и положено метает дротики, после бьёт мечом, но есть одно но.
Почему то гастаты держат свои щиты не прямо а криво(а это не подходит)
Если кто знает и если кто уже с этим сталкивался, подскажите пожалуйста, что нужно ещё добавить и куда прописать, чтоб не было вылета из битвы.