Call of Duty

Форум посвящен серии игр Call of Duty
Текущее время: 08-11, 02:08

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Эффекты гранат.
СообщениеДобавлено: 06-01, 19:12 
Эффекты гранат.
С чего мы начнём?
Конечно, с создания файла для нашего мода. Один из способов мной уже был описан. Выделяем мышкой localized_english_iw09, нажимаем Ctrl и сдвигаем файл на свободное пространство в папке. Создастся файл Копия localized_english_iw09.
Переименуем его в zz_grenade. В файле находится папка localizedstrings. Её удалять пока нельзя. Если удалить из файла IWD все папки - он самоуничтожится. Поэтому папку localizedstrings пока оставим и создадим ещё одну - maps.
Из файла iw_07.iwd/maps достаем файл _loadout и переносим в нашу папку maps. Открываем. Ищем следующий отрывок
Код:
if(level.script == "elalamein")
   {
      thread setup_british_africa();
      level.campaign = "british";

      level.player setnormalhealth (1);
      
      if(game["gaveweapons"] == 1)
      {
         thread refill_ammo();
         // weapons carry over but are REFILLED
         return;
      }

      level.player giveWeapon("enfield_scope");
      level.player giveWeapon("thompson");
      level.player giveWeapon("MK1britishfrag");
      level.player giveWeapon("smoke_grenade_american");
      
      level.player switchToWeapon("thompson");
      level.player switchToOffhand("MK1britishfrag");

      game["gaveweapons"] = 1;
      return;
   }
Это - "Операция суперудар". Там можно удобно испытывать гранаты.
("smoke_grenade_american") мы исправим на ("smoke_grenade_british")
Терерь создаем в нашем моде папку weapons, а в ней - sp. В неё помещаем оружейный файл британской дымовой гранаты, который находится в игре: iw_13.iwd/weapons/sp/
Открываем, смотрим. Ищем строки:
projExplosionEffect\fx/props/brit_smoke_grenade.efx\
brit_smoke_grenade.efx - это эффект, который назначен этой гранате.
\fx/props/ - это место, где он "лежит".
Создадим в нашем моде точно такое же место: папку fx, а в ней - props. Берём "родной" файл эффекта по адресу: iw_07.iwd/fx/props/ и тащим в созданную нами папку.
Открываем - начинаем изучать. Оказывается этот файл нас перенаправляет на эффект smoke_grenade
О чем говорят следующие строчки
Код:
playfx
   [
      /fx/explosions/smoke_grenade
   ]
Откроем файл smoke_grenade, который находится: iw_07.iwd/fx/explosions/.
Создаем точно такое же "место" и такой же файл в нашем моде. Я больше не буду "разжевывать" подобные вещи, потому что, если до сих пор непонятно - значит я плохо объясняю и читать дальше не имеет смысла. Для тех кто удерживает "нить" - пишу дальше.
Итак, с этим файлом мы и будем работать.
Во-первых мы можем поменять цвет. За это несет ответственность значение rgb и rgbRand. Цвета можно найти в iw_07.iwd/fx/smoke/. В файлах цветных гранат.
Ну, чтобы не заблудились приведу некоторые цветовые коды. Нужно просто заменить родные на выбранные.
Код:
[color=orange]Оранжевый:[/color]
rgb
   {
      curve
      [
         0 1 0.502 0
         1 1 0.502 0
      ]
   }

   rgbRand
   {
      curve
      [
         0 1 0.7569 0.5176
         1 1 0.7333 0.4667
      ]
   }

[color=green]Зелёный:[/color]
rgb
   {
      curve
      [
         0 0.4 0.7765 0.3569
         1 0.4 0.7765 0.3569
      ]
   }

   rgbRand
   {
      curve
      [
         0 0.5412 0.5412 0.5412
         1 0.5412 0.5412 0.5412
      ]
   }

[color=black]Черный:[/color]
rgb
   {
      curve
      [
         0 0.1804 0.2 0.2353
         1 0.1804 0.2 0.2353
      ]
   }

   rgbRand
   {
      curve
      [
         0 1 1 1
         1 0 0 0
      ]
   }

[color=black]Черный:[/color]
rgb
   {
      curve
      [
         0 0.2251 0.2565 0.2618
         1 0.2618 0.2723 0.267
      ]
   }

   rgbRand
   {
      curve
      [
         0 0.349 0.349 0.349
         1 0.3451 0.3451 0.3451
      ]
   }

[color=indigo]Цвет вина:[/color]
rgb
   {
      curve
      [
         0 0.1412 0 0.1412
         1 0.1569 0 0.1569
      ]
   }

   rgbRand
   {
      curve
      [
         0 0.251 0 0.251
         1 0.251 0 0.251
      ]
   }

[color=blue]Синий:[/color]
rgb
   {
      curve
      [
         0 1 1 1
         1 0 0 0
      ]
   }

   rgbRand
   {
      curve
      [
         0 1 1 1
         1 0 0 0
      ]
   }

[color=violet]Розовый:[/color]
rgb
   {
      curve
      [
         0 0.5 0.3 0.3
         1 0.5 0.3 0.3
      ]
   }

   rgbRand
   {
      curve
      [
         0 0.5 0.3 0.3
         1 0.5 0.3 0.3
      ]
   }

[color=red]Красный:[/color]
rgb
   {
      curve
      [
         0 0.4 0 0
         1 0.4 0 0
      ]
   }

   rgbRand
   {
      curve
      [
         0 0.4 0 0
         1 0.4 0 0
      ]
   }

[color=orange]Грязно-желтый:[/color]
   rgb
   {
      curve
      [
         0 0.4 0.4 0
         1 0.4 0.4 0
      ]
   }

   rgbRand
   {
      curve
      [
         0 0.4 0.4 0
         1 0.4 0.4 0
      ]
   }

Ну и пожалуй, хватит.
Естественно, их можно комбинировать.
Дым делится на части.(Particle)
Первая часть - это центр дыма
(name center_volume)
Вторая - собственно сама дымовая завеса
(name mist_volume)
Третья - вспышка
(name flash)
Четвертая - дымовой поток
(name smoke_stream)
Ну и так далее...
Каждая часть Заключена в фигурные скобки {}, которые определяют начало и конец части. Можно всем назначить разный цвет.
Ничто нам не мешает добавить и свою часть.
Можно просто соединить два или больше эффекта. Чтобы потом не искать не понравившийся дополнительный эффект - нарисуем сначала внизу строчку из, например, слешей, вот так:
//////////////////////////////////////////////////////////////////////////////////
Затем найдем эффект spitfire_bomb_dirt по адресу iw_07.iwd\fx\explosions
Откроем и просто скопирум всё содержимое файла в наш smoke_grenade. То есть допишем снизу, после строчки со слешами. Получим мощный вздымающий песок взрыв, помимо дыма.
Смотрим дальше. Видим такие строчки:
Код:
shaders
   [
      gfx_dark_smoke_atlas_bg
   ]
}
Этот параметр определяет какие используются шейдеры. "Подглядеть" какие в игре есть шейдеры можно из других эффектов.
На всякий случай напишу, какие мне удалось "нарыть" за десять минут.
Код:
gfx_whisp_spiral
gfx_smokepuff_atlas
gfx_fire_atlas
gfx_exp_fireball_atlas
gfx_dark_smoke_atlas_bg
gfx_dirtchunks
gfx_mist
gfx_whisp_spiral_no_zfeather
gfx_distortion_noise
gfx_distortion_ring_light
gfx_distortion_ring_heavy
gfx_rockdebri_01
gfx_rockdebri_02
gfx_rockdebri_03
gfx_rockdebri_04
gfx_rockychunks01
gfx_rockychunks02
gfx_rockychunks03
gfx_spark_atlas
gfx_crater_blacktop
gfx_explosion_flash
gfx_snow_sheet
gfx_mud_splash01
gfx_mud_splash02
gfx_bullethit_wood1
gfx_bullethit_wood2
gfx_wood_splinter_atlas
gfx/effects/explosion/dirtplume_model2
gfx/effects/explosion/dirtplume_modelf
Не все подойдут и будут работать. Например, при использовании последних двух вы, скорее всего, увидите пустые квадраты. Можно прописать несколько шейдеров сразу.
С этими параметрами тоже можно поиграть:
Код:
        count            7 12

   life            3e+004 3.5e+004

   delay            3000 6000

   radius            150

   rotation         -45 45

   gravity            0 -1


count - количество
delay - как бы время затухания
gravity - степень притяжения к земле.
Про остальные, думаю понятно.
Можно сделать совсем забавные гранаты, при взрыве которых будут появляться различные предметы, уходить под землю и даже улетать в небо.
Для этого допишите в файле следующие строки:
Код:
Emitter
{
   name            gluk

   flags            useModel useBBox usePhysics

   spawnFlags         orgOnCylinder

   count            1

   life            600000

   delay            0 600

   bounce            0.1 0.5

   min               -6 -6 -6

   max               6 6 6

   origin            30 -10 -10 30 10 0

   radius            1

   height            1

   angle            90 360 0 90 0 0

   angleDelta         50 50 0 -80 -80 0

   gravity            -50 -100

   /*rgb
   {
      start         0.6824 0.6431 0.02
      end            .6 0.5843 0.1
      flags         linear
   }*/
   rgb
   {
      curve
      [
         //.6 .5 .4 .1
         1 1 .784313725 0
      ]
   }

   rgbRand
   {
      curve
      [
         //0 .5 .4 .1
         1 1 .784313725 0
      ]
   }

   alpha
   {
      curve
      [
         0 1 1 0
         1 0 2.755e-040 2.498e-038
      ]
   }

   alphaRand
   {
      curve
      [
         0 1 1 0
         1 0 2.755e-040 2.498e-038
      ]
   }

   length
   {
      curve
      [
         0 1 1 0
         1 0 2.755e-040 2.498e-038
      ]
   }

   lengthRand
   {
      curve
      [
         0 1 1 0
         1 0 2.755e-040 2.498e-038
      ]
   }

   rotationDelta
   {
      curve
      [
         0 0 1 0
         1 0 2.755e-040 2.498e-038
      ]

      scale         0
   }

   rotationDeltaRand
   {
      curve
      [
         0 0 1 0
         1 0 2.755e-040 2.498e-038
      ]
   }

   models
   [
      xmodel\dome_01
                xmodel\egypt_bunker_tanker
                xmodel\german_artillery_flak88_aa_nm_d_static
                xmodel\prop_traincar01_opendoor
                xmodel\prop_traincar_flatfullbox
                xmodel\prop_trollycar_d
                xmodel\prop_tractor
      xmodel\vehicle_cargoship_crates
      xmodel\silo02
      xmodel\vehicle_tiger_righttread_d
      xmodel\vehicle_uni_carrier_gr_static
      xmodel\vehicle_uni_carrier_yw_static
      xmodel\prop_rail_fuelcar
      xmodel\prop_dept_sign
      xmodel\egypt_prop_well1
      xmodel\bunker01
      xmodel\prop_hotel_sign
      xmodel\silo03
      xmodel\vehicle_spitfire_flying
      xmodel\vehicle_stuka_flying
      xmodel\silo01
      xmodel\vehicle_p51_mustang
                xmodel\vehicle_crusader2
                xmodel\prop_doghouse2         
                xmodel\egypt_prop_well2
                xmodel\eldaba_tower_explode
                xmodel\vehicle_cargoship_d
   ]
}
Модели, конечно можно заменить на свои.
Напоследок даю ссылку с примерами разных гранат. Это часть развлекательного мода, который я сейчас готовлю. Здесь только гранаты. Работают в сингле. Но если кто играет с ботами "uk-r_botsAI", то должны работать и с ними. Только не забудьте в настройках сервера поставить "Чистая игра - нет"


Вернуться к началу
  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти:  
cron
Powered by Forumenko © 2006–2014
Русская поддержка phpBB