Главная | Регистрация | Вход | Приветствую Вас | Гость| RSS
Stalker
Категории раздела
Как создать моды(МЕЛОЧ) [2]
Хорошие сайты [0]
Pda
Ответь
В какой вы групировке?
Всего ответов: 73
Статистика
Войди
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Главная » Статьи » Как создать моды(МЕЛОЧ)

    Новое оружее
    Внешний вид

    Позаботимся о том, чтобы наше оружие отличалось внешне от того же АК74.
    Текстуры

    Нарисуем для оружия новую текстуру. Подробно останавливаться на этом процессе не буду, ознакомьтесь с примером, приведенным здесь. Итак, основываясь на текстуре АК74, мы сделали вот такую текстуру:



    Файлы текстур мы назвали:
    wpn_ak10.dds
    wpn_ak10_bump#.dds
    wpn_ak10_bump.dds
    Модели

    Новых моделей мы пока делать не станем, просто воспользуемся дублированными моделями от АК74. Скопируем папку:

    gamedata\meshes\weapons\ak47\

    И назовем её ak-101. Содержимое, соответственно, переименуем в:
    wpn_ak101.ogf
    wpn_ak101_hud.ogf.

    Теперь пропишем в эти модели созданные нами текстуры. Способ описан здесь.
    Иконки

    Добавим в игру иконки, которыми оружие будет отображаться в инвентаре. Способ подробно описан здесь.

    Вот, что получилось в конечном итоге:


    Конфиги

    Новое оружие мы будем делать на базе оригинальных конфигурационных файлов. Создадим АК101 на базе конфигов АК74.
    Свойства оружия

    Скопируем файл из папки:

    gamedata\config\ak74.ltx

    Назовем его ak101.ltx.


    Отредактируем свойства по своему усмотрению (но лучше - в соответствии с достоверной информацией о характеристиках оружия, т.к. АК101 - всё-таки оружие реально существующее). Редактирование конфигов оружия подробно описано в отдельном уроке. В данном случае конфиг был составлен таким образом:
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    [wpn_ak101]:identity_immunities
    GroupControlSection = spawn_group
    discovery_dependency =
    $spawn = "weapons\ak-101" ; name and section in level editor
    $npc = on
    $prefetch = 8
    scheduled = off ;[] option for ALife Simulator
    cform = skeleton
    class = WP_AK74 ; class of the weapon that corresponding to CPP class
    min_radius = 30 ; [] for AI
    max_radius = 100 ; [] for AI
    description = enc_weapons1_wpn-ak101

    ef_main_weapon_type = 2
    ef_weapon_type = 6

    ;-----------------------------------------------------------------------------------
    holder_range_modifier = 1.0 ; во сколько раз увеличивается eye_range
    holder_fov_modifier = 0.7 ; во сколько раз увеличивается eye_fov
    ;-----------------------------------------------------------------------------------

    cost = 2;4000
    weapon_class = assault_rifle

    ammo_limit = 210
    ammo_elapsed = 30

    ammo_mag_size = 30
    fire_modes = 1, -1

    ammo_class = ammo_5.56x45_ss190, ammo_5.56x45_ap
    grenade_class = ammo_vog-25, ammo_vog-25p
    launch_speed = 0

    hand_dependence = 1
    single_handed = 0

    slot = 2
    animation_slot = 2
    inv_name = wpn-ak101
    inv_name_short = wpn-ak101
    inv_weight = 3.3

    inv_grid_width = 5
    inv_grid_height = 2
    inv_grid_x = 11
    inv_grid_y = 29

    kill_msg_x = 0
    kill_msg_y = 28
    kill_msg_width = 84
    kill_msg_height = 28


    ;-----------------------------------------------------------------------------------
    ;params of weapon recoil

    fire_dispersion_base = 0.15;0.2
    control_inertion_factor = 1.1f;1.25f

    ;отдача
    cam_relax_speed =6;5;3.5; 0.15
    cam_dispersion = 0.1;0.15
    cam_dispersion_inc = 0.2;0.3
    cam_dispertion_frac = 0.8;0.9
    cam_max_angle = 10.0
    cam_max_angle_horz = 20.0
    cam_step_angle_horz = 1.1;1

    fire_dispersion_condition_factor = 5.7;5
    misfire_probability = 0.0055;0.003
    misfire_condition_k = 0.06;0.05
    condition_shot_dec = 0.00035;0.0001
    ;-----------------------------------------------------------------------------------

    fire_point = 0,0.216,0.638
    fire_point2 = 0,0.216,0.730

    flame_particles = weapons\generic_weapon05
    smoke_particles = weapons\generic_shoot_00
    grenade_flame_particles = weapons\generic_weapon01

    shell_point = 0,0.216,0.174
    shell_particles = weapons\generic_shells

    PDM_disp_base = 1.0
    PDM_disp_vel_factor = 1.3
    PDM_disp_accel_factor = 1.3
    PDM_crouch = 1.0
    PDM_crouch_no_acc = 1.0

    ; ttc
    hit_power = 0.36, 0.4, 0.43, 0.46
    hit_impulse = 140
    hit_type = fire_wound
    fire_distance = 1700
    bullet_speed = 1000
    rpm = 750

    use_aim_bullet = true
    time_to_aim = 1.0

    ;params when silencer is attached
    ;similar to corresponding params without prefix silencer_

    silencer_hit_power = 0.38
    silencer_hit_impulse = 120
    silencer_fire_distance = 250
    silencer_bullet_speed = 600

    hud = wpn_ak101_hud

    position = -0.026,-0.172,0
    orientation = 0,0,0

    ;--STRAP PARAMETERS-----------------------------------------------------------------
    strap_position = -0.16,-0.40,0.15
    strap_orientation = -10,-5,10
    strap_bone0 = bip01_spine2
    strap_bone1 = bip01_spine1

    visual = weapons\ak-101\wpn_ak101

    light_color = 0.6,0.5,0.3
    light_range = 5
    light_var_color = 0.05
    light_var_range = 0.5
    light_time = 0.2

    ph_mass = 5

    ;addons
    scope_status = 2
    silencer_status = 2
    grenade_launcher_status = 0;2

    zoom_enabled = true
    scope_zoom_factor = 50

    scope_name = wpn_addon_scope
    scope_x = 42
    scope_y = 3
    silencer_name = wpn_addon_silencer
    silencer_x = 218
    silencer_y = 13
    grenade_launcher_name = wpn_addon_grenade_launcher
    grenade_launcher_x = 116
    grenade_launcher_y = 23

    ;sounds (name of the sound, volume (0.0 - 1.0), delay (sec))
    snd_draw = weapons\ak74_draw
    snd_holster = weapons\generic_holster
    snd_shoot = weapons\ak74_shot_0
    snd_shoot1 = weapons\ak74_shot_1
    snd_shoot2 = weapons\ak74_shot_2
    snd_shoot3 = weapons\ak74_shot_3
    snd_empty = weapons\gen_empty, 0.5
    snd_reload = weapons\ak74_reload, 0.7, 0.35
    snd_shoot_grenade = weapons\gen_grenshoot
    snd_reload_grenade = weapons\gen_grenload, 1.0, 0.8
    snd_switch = weapons\groza_switch, 1.0, 0.5


    ;params when silencer is attached
    ;similar to corresponding params without prefix silencer_

    ;silencer_flame_particles = weapons\generic_weapon01
    silencer_smoke_particles = weapons\generic_shoot_00

    snd_silncer_shot = weapons\w_ak74_shot1

    silencer_light_color = 0.6,0.5,0.3
    silencer_light_range = 0.01
    silencer_light_var_color = 0.05
    silencer_light_var_range = 0.5
    silencer_light_time = 0.2


    ;-----------------------------------------------------------------------------
    ;-- HUD DESCRIPTION
    ;-----------------------------------------------------------------------------

    [wpn_ak101_hud]
    allow_inertion = true

    ;similar to corresponding params in weapon section but for 1st person view

    shell_point = -0.065000,0.000000,-0.045000
    shell_dir = 0.0, 1.0, 0.0

    fire_point = 0.09,0.020,-0.06
    fire_point2 = 0.30, 0.00, 0.05
    fire_bone = wpn_body

    orientation = 0, 0, 0
    position = 0, 0, 0.05
    visual = weapons\ak-101\wpn_ak101_hud

    grenade_bone = wpn_grenade

    ; animation names

    anim_idle = idle
    anim_idle_aim = idle_aim
    anim_reload = reload
    anim_draw = draw_wo_gl
    anim_holster = holster_wo_gl
    anim_shoot = shoot

    ; animation names
    ; attached grenade launcher [GRENADE fire mode]
    anim_idle_g = idle_grenade
    anim_idle_g_aim = idle_g_aim
    anim_reload_g = reload_grenade
    anim_shoot_g = shoot_grenade
    anim_switch_grenade_on = switch_grenade
    anim_switch_grenade_off = switch_grenade_off
    anim_draw_g = draw_grenade_mode
    anim_holster_g = holster_grenade_mode

    ; attached grenade launcher [NORMAL fire mode]
    anim_idle_gl = idle_w_gl
    anim_idle_gl_aim = idle_w_gl_aim
    anim_reload_gl = reload_w_gl
    anim_draw_gl = draw_w_gl
    anim_holster_gl = holster_w_gl
    anim_shoot_gl = shoot_w_gl
    anim_idle_sprint = idle_sprint

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;HUD offset in zoom mode (to all)
    ;(use CONSOLE: hud_adjust_mode 0,1,2, then keys WSADQE and P to show current value in console)

    zoom_offset = -0.112400,0.016800,-0.115000
    zoom_rotate_x = 0.000200
    zoom_rotate_y = 0.017500

    zoom_hide_crosshair = true


    ; same as above, but for attached grenade launcher for
    ; in NORMAL shoot mode

    grenade_normal_zoom_offset = -0.112500,0.014000,0.000000
    grenade_normal_zoom_rotate_x = -0.000900
    grenade_normal_zoom_rotate_y = 0.017200

    ; same as above, but for attached grenade launcher for
    ; in GRENADE mode

    grenade_zoom_offset = -0.039600,-0.433100,0.000000
    grenade_zoom_rotate_x = -0.538700
    grenade_zoom_rotate_y = -0.033800
    Регистрация

    Итак, с характеристиками разобрались. Теперь зарегистрируем оружие в файле weapons.ltx. Для этого пропишем в него строку следующего вида:
    #include "w_ak101.ltx"

    Также, необходимо прописать модели, используемые для отображения оружия, в prefetch.ltx:
    [...]
    weapons\abakan\wpn_abakan
    weapons\abakan\wpn_abakan_hud
    weapons\ak-101\wpn_ak101
    weapons\ak-101\wpn_ak101_hud
    weapons\ak74\wpn_ak74
    weapons\ak74\wpn_ak74_hud
    [...]

    Так же не забудте в файле mp_ranks.ltx прописать после available_items (которое внизу) прописать название своего оружия. Это предотвратит вылет при убийстве ГГ.
    Добавление в игру

    Осталось добавить оружие в игру.

    Выдайте его некоторым NPC (как это сделать?), расширьте ассортимент торговцев (как это сделать?).

    А вот как оно будет выглядеть в игре:
    Категория: Как создать моды(МЕЛОЧ) | Добавил: ZVER (29.01.2011)
    Просмотров: 742 | Комментарии: 1 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Имя *:
    Email *:
    Код *:
    ZDQ-TEAM | Бесплатный конструктор сайтовuCoz