Ну, для начала, на примере части моего минимода
revolution http://cod4.flybb.ru/topic62.html попробуем заменить модели игроков.
В папке Mods создаем папку
testmod.
В ней создаем папку aitype.
Идем в
C:\Program Files\Activision\Call of Duty 4 - Modern Warfare\raw\aitype
Перетаскиваем (копированием) файлы
enemy_arab_ar_ak47.csv и
enemy_arab_ar_ak47.gsc
Открываем блокнотом или любым текстовым редактором
enemy_arab_ar_ak47.gsc Смотрим, какие там прописаны характеры:
Код:
switch( codescripts\character::get_random_character(6) )
{
case 0:
character\character_sp_arab_regular_asad::main();
break;
case 1:
character\character_sp_arab_regular_sadiq::main();
break;
case 2:
character\character_sp_arab_regular_ski_mask::main();
break;
case 3:
character\character_sp_arab_regular_ski_mask2::main();
break;
case 4:
character\character_sp_arab_regular_suren::main();
break;
case 5:
character\character_sp_arab_regular_yasir::main();
break;
}
}
Видим, что характеров несколько и они меняются в случайном порядке. В кол-ве 6 штук.
Меняем характеры на мирных граждан.
Код:
switch( codescripts\character::get_random_character(6) )
{
case 0:
character\character_arab_civilian_a::main();
break;
case 1:
character\character_arab_civilian_b::main();
break;
case 2:
character\character_arab_civilian_c::main();
break;
case 3:
character\character_arab_civilian_d::main();
break;
Добавляем два женских характера
Код:
case 4:
character\character_arab_civilian_e_fem::main();
break;
case 5:
character\character_arab_civilian_f_fem::main();
break;
Далее внизу, так же заменяем
Код:
precache()
{
character\character_sp_arab_regular_asad::precache();
character\character_sp_arab_regular_sadiq::precache();
character\character_sp_arab_regular_ski_mask::precache();
character\character_sp_arab_regular_ski_mask2::precache();
character\character_sp_arab_regular_suren::precache();
character\character_sp_arab_regular_yasir::precache();
на
Код:
precache()
{
character\character_arab_civilian_a::precache();
character\character_arab_civilian_b::precache();
character\character_arab_civilian_c::precache();
character\character_arab_civilian_d::precache();
character\character_arab_civilian_e_fem::precache();
character\character_arab_civilian_f_fem::precache();
Сохраняем, закрываем.
Открываем файл
enemy_arab_ar_ak47.csv в наше моде testmod
Там так же заменяем характеры
Код:
character,character_sp_arab_regular_asad
character,character_sp_arab_regular_sadiq
character,character_sp_arab_regular_ski_mask
character,character_sp_arab_regular_ski_mask2
character,character_sp_arab_regular_suren
character,character_sp_arab_regular_yasir
Меняем на
Код:
character,character_arab_civilian_a
character,character_arab_civilian_b
character,character_arab_civilian_c
character,character_arab_civilian_d
character,character_arab_civilian_e_fem
character,character_arab_civilian_f_fem
В итоге в файле
enemy_arab_ar_ak47.gsc у нас должно получиться:
Код:
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY
/*QUAKED actor_enemy_arab_AR_ak47 (1.0 0.25 0.0) (-16 -16 0) (16 16 72) SPAWNER FORCESPAWN UNDELETABLE ENEMYINFO
defaultmdl="body_complete_sp_arab_regular_asad"
"count" -- max AI to ever spawn from this spawner
SPAWNER -- makes this a spawner instead of a guy
FORCESPAWN -- will try to delete an AI if spawning fails from too many AI
UNDELETABLE -- this AI (or AI spawned from here) cannot be deleted to make room for FORCESPAWN guys
ENEMYINFO -- this AI when spawned will get a snapshot of perfect info about all enemies
*/
main()
{
self.animTree = "";
self.team = "axis";
self.type = "human";
self.accuracy = 0.2;
self.health = 150;
self.weapon = "ak47";
self.secondaryweapon = "beretta";
self.sidearm = "beretta";
self.grenadeWeapon = "fraggrenade";
self.grenadeAmmo = 0;
self setEngagementMinDist( 128.000000, 0.000000 );
self setEngagementMaxDist( 512.000000, 1024.000000 );
switch( codescripts\character::get_random_character(6) )
{
case 0:
character\character_arab_civilian_a::main();
break;
case 1:
character\character_arab_civilian_b::main();
break;
case 2:
character\character_arab_civilian_c::main();
break;
case 3:
character\character_arab_civilian_d::main();
break;
case 4:
character\character_arab_civilian_e_fem::main();
break;
case 5:
character\character_arab_civilian_f_fem::main();
break;
}
}
spawner()
{
self setspawnerteam("axis");
}
precache()
{
character\character_arab_civilian_a::precache();
character\character_arab_civilian_b::precache();
character\character_arab_civilian_c::precache();
character\character_arab_civilian_d::precache();
character\character_arab_civilian_e_fem::precache();
character\character_arab_civilian_f_fem::precache();
precacheItem("ak47");
precacheItem("beretta");
precacheItem("beretta");
precacheItem("fraggrenade");
}
В файле
enemy_arab_ar_ak47.csv должно быть
Код:
rawfile,aitype/enemy_arab_AR_ak47.gsc
character,character_arab_civilian_a
character,character_arab_civilian_b
character,character_arab_civilian_c
character,character_arab_civilian_d
character,character_arab_civilian_e_fem
character,character_arab_civilian_f_fem
weapon,sp/ak47
weapon,sp/beretta
weapon,sp/beretta
(Один способ)
Далее создаем в нашей папке testmod папку xmodel, куда копируем из
C:\Program Files\Activision\Call of Duty 4 - Modern Warfare\raw\xmodelмодели
Код:
character_arab_civilian_lowres_a
character_arab_civilian_lowres_b
character_arab_civilian_lowres_c
character_arab_civilian_lowres_d
character_arab_civilian_lowres_e
character_arab_civilian_lowres_f
(Второй способ)
Можно не создавать папку xmodel, читай дальше…
Открываем MoDBuilder на первой вкладке CSV Creator
В ниспадающем списке Mod выбираем наш testmod
Жмем кнопку New CSV
В появившемся окошке оставляем свой выбор на Blank, а в поле CSV Name пишем, например, test. Жмем ОК.
В ниспадающем списке CSV у нас появилось test.csv
В окошке Files выбираем
Код:
testmod\aitype\enemy_arab_ar_ak47.gsc
testmod\ xmodel \ character_arab_civilian_lowres_a
testmod\ xmodel \ character_arab_civilian_lowres_b
testmod\ xmodel \ character_arab_civilian_lowres_c
testmod\ xmodel \ character_arab_civilian_lowres_d
testmod\ xmodel \ character_arab_civilian_lowres_e
testmod\ xmodel \ character_arab_civilian_lowres_f
Если папка xmodel не создавалась в папке testmod, то
Код:
testmod\ xmodel \ character_arab_civilian_lowres_a
testmod\ xmodel \ character_arab_civilian_lowres_b
testmod\ xmodel \ character_arab_civilian_lowres_c
testmod\ xmodel \ character_arab_civilian_lowres_d
testmod\ xmodel \ character_arab_civilian_lowres_e
testmod\ xmodel \ character_arab_civilian_lowres_f
в окошке Files не будет.
Тогда идём дальше по списку и ищем наши модели,
Код:
raw\ xmodel \ character_arab_civilian_lowres_a
и т.д.
и отправляем их по одному стрелочкой в соседнее окно.
Нажимаем кнопку Save CSV
Соглашаемся на перезапись файла.
Идём на вкладку Run Game Выбираем SP, testmod. В первых пяти полях ставим единицу. Вообще я не заметил, пока, что эти единички работают. Ну, да бог с ними.
Идём на вкладку MoDBuilder
Выбираем testmod, test.csv
В окне IWD File List ставим галочки на всех пунктах.
Жмём кнопку Build MoD
Наш мод соберётся и запустится в маленьком окне.
Выбираем арабскую миссию и наслаждаемся уничтожением гражданских моделей, которые добавились в игру.
Чтобы игра вновь запустилась в полноэкранном режиме, открываем конфиг нашего профиля. Ищем:
seta r_fullscreen "0"
Переправляем 0 на 1.
Потом папки из нашего мода можно упаковать в IWD – файл. Мод будет «весить» меньше.
Не упаковывается только ff – файл.
Чтобы запустить мод в дальнейшем, нужно создать ярлык для iw3sp. Переименуем его в testmod, чтобы не путаться. В свойствах ярлыка, в поле «объект» нужно дописать
+set fs_game mods/testmod (с пробелом перед плюсом)
Полностью может выглядеть так:
"C:\Program Files\Activision\Call of Duty 4 - Modern Warfare\iw3sp.exe" +set fs_game mods/testmod
Запускаем с него наш мод.
P.S. В качестве текстового редактора рекомендую EmEditor (офсайт -
http://www.emeditor.com/) Один из лучших, если не самый лучший тексовый редактор. С подсветкой синтаксиса, практически всех языков программирования. Один раз попробовав отказаться невозможно)).
В сети видел много вылеченных русских версий.