Наверх

[ Музыкальный плеер · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Статистика Форума
Последние обновленные темы Самые популярные темы Самые активные Новые участники
  • HARDWARMOD - v3.2 RC «Трудная война» (1)
  • Old Story (0)
  • Время перемен v2.0 (0)
  • Lost Alpha [Тень Чернобыля] (0)
  • ВСС "Винторез" (2)
  • Кайфоломщик (437)
  • Слова (123)
  • Анекдоты (90)
  • Угадай, где это место? (64)
  • S.T.A.L.K.E.R. (61)
  • naToGeHbI4
  • KamiKaDzE
  • QWENTYS
  • ХОВАН
  • SHooTER
  • Tachenko
  • Striker
  • Двухствольный
  • stalker-mechenuy
  • Монах
  • pavel-barsuk-2
  • 和夫
  • KMasya2004
  • zarrus79
  • VVLLADD
  • NightsOfFire
  • ppriedkov
  • ryhovigor
  • tashail1
  • minaeva2017
    • Страница 1 из 1
    • 1
    Создание новых апгрейдов!
    naToGeHbI4Дата: Вторник, 28.12.2010, 15:32 | Сообщение # 1
    Power Rasist
    Группа: Администраторы
    Сообщений: 677
    Награды: 47
    Репутация: 652
    Статус: Вне Зоны
    Нам необходимо иметь 7 файлов:
    1. configs\weapons\upgrades\w_ak74_up.ltx
    2. configs\text\rus\st_items_weapons_upgrades.xml
    3. configs\weapons\upgrades_properties.ltx
    4. configs\ui\inventory_upgrade_16.xml (для широкоформатных)
    5. configs\weapons\w_ak74.ltx
    6. configs\ui\textures_descr\ui_ingame2_common.xml
    7. scripts\inventory_upgrades.script

    Перед прочтением текста ниже рекомендуется прочитать содержание первого спойлера.

    Итак, начнём по порядку:
    1. Создадим главную секцию (секцию типа №2) нового апгрейда, скопировав любую другую и поменяв параметры и само название секции:

    Code

    [up_pack_a_ak74]  
    scheme_index            = 3, 0  
    known                   = 1  
    effects                 =   
    section                 = up_sect_pack_a_ak74  
    property                = prop_pack  

    precondition_functor    = inventory_upgrades.precondition_functor_a  
    precondition_parameter  = true  

    effect_functor          = inventory_upgrades.effect_functor_a  
    effect_parameter        = something_here  

    ; ui  
    prereq_functor          = inventory_upgrades.prereq_functor_a  
    prereq_tooltip_functor  = inventory_upgrades.prereq_tooltip_functor_a  
    prereq_params           = up_pack_a_ak74  
    name                    = st_upg_pack_a_ak74  
    description             = st_upg_pack_a_ak74_descr  
    icon                    = ui_wp_upgrade_30

    Как видим, в параметре property "prop_pack", мы указали не сущствующий тип. Мы его создадим самостоятельно чуть позже.

    2. Теперь создадим секцию типа №1, которую мы указали в параметре section "up_sect_pack_a_ak74":

    Code

    [up_sect_pack_a_ak74]  
    cost                      = 5120  
    value                    = desc_value_pack_a  
    rpm                     = 100  
    cam_dispersion              = -0.21;0.7  
    cam_dispersion_inc             = -0.21;0.7  
    cam_step_angle_horz            = -0.21;0.7  
    zoom_cam_dispersion          = -0.2;0.6  
    zoom_cam_dispersion_inc      = -0.2;0.6  
    zoom_cam_step_angle_horz     = -0.2;0.6  
    grenade_launcher_status = 2  
    grenade_launcher_name   = wpn_addon_grenade_launcher  
    grenade_launcher_x      = 126  
    grenade_launcher_y      = 24  
    control_inertion_factor    = -0.2  
    inv_weight                = -0.3  
    PDM_disp_vel_factor     = -0.3;1.7  
    PDM_disp_accel_factor   = -0.3;1.7

    Здесь я собрал все улучшения четырёх апгрейдов, суммировав цену и делая скидку 20% (1600*4*0.8 = 5120) Отсюда и название апгрейда - st_upg_pack_a_ak74. В значении value я поставил "desc_value_pack_a". В данном случае в value присутствует ссылка на текстовый блок, а не кол-во процентов.

    3. Теперь вернёмся в главную секцию. Т.к. апгрейд является пакетом апгрейдов up_sect_a_ak74,up_sect_c_ak74,up_sect_e_ak74,up_sect_g_ak74, то после проведения нашего апгрейда, четыре выше упомянутые должны выключиться. Для этого запишем наш апгрейд одновременно в несколько секций типов №3:

    Code

    [up_gr_ab_ak74]  
    elements                = up_a_ak74, up_b_ak74, up_pack_a_ak74  

    [up_gr_cd_ak74]  
    elements                = up_c_ak74, up_d_ak74, up_pack_a_ak74  

    [up_gr_ef_ak74]  
    elements                = up_e_ak74, up_f_ak74, up_pack_a_ak74  

    [up_gr_gh_ak74]  
    elements                = up_g_ak74, up_h_ak74, up_pack_a_ak74

    Т.к. из одной группы апгрейдов можно провести только один, то при проведении нашего апгрейда остальные "соседи" по группе апгрейдов выключатся.

    4. Теперь, пользуясь файлом №2 запишем текстовые блоки, упомянутые в секциях типов №1 и №2.

    Code

       <string id="st_upg_pack_a_ak74">  
              <text>Пакет апгрейдов №1</text>  
          </string>  
          <string id="st_upg_pack_a_ak74_descr">  
              <text>Пакет апгрейдов №1, включающий в себя увеличение темпа стрельбы, уменьшение отдачи, установку крепежа для подствольного гранатомёта, уменьшение веса оружия</text>  
          </string>  
          <string id="st_upg_pack_a_ak74">  
              <text>Пакет апгрейдов №1 Убийца</text>  
          </string>

    5. Теперь создадим ui для нашего апгрейда для того, чтобы кнопка апгрейда была видна в дереве апгрейдов. В парамре scheme_index мы указали "3,0". Это значит, что в дереве апгрейдов этот апгрейд будет в 3-ем столбце и 0-ой строке. К каждому оружию предлагается своя схема дерева апгрейдов. Чтобы узнать схему АК74 откроем его конфиг (файл №5) и найдём параметр upgrade_scheme. Его значение - upgrade_scheme_u17b. Откроем файл №4 со схемами апгрейдов. Вот его общая структура:

    Code

    <template name="[название схемы]">  

            [нулевой столбец]<column>  
              [нулевая строка нулевого столбца. [b]Соответствует индексу 0,0[/b]]<cell x="[координата x]" y="[координата y]"   />  
              [первая строка нулевого столбца. [b]Соответствует индексу 0,1[/b]]<cell x="[координата x]" y="[координата y]"  />  
              ...  
            [конец нулевого столбца]</column>  

            [начало первого столбца]<column>  
              [нулевая строка первого столбца. [b]Соответствует индексу 1,0[/b]]<cell x="[координата x]" y="[координата y]"  />  
              ...  
            [конец первого столбца]</column>  
            ...  
          [конец схемы]</template>

    Найдём интересующую нас схему и добавим столбец и строку:

    Code

       <template name="upgrade_scheme_u17b">  

            <column>  
              <cell x="17" y="5"   />  
              <cell x="17" y="50"  />  
              <cell x="17" y="100" />  
              <cell x="17" y="145" />  
              <cell x="17" y="195" />  
              <cell x="17" y="240" />  
              <cell x="17" y="290" />  
              <cell x="17" y="335" />  
              <cell x="17" y="385" />  
            </column>  

            <column>  
              <cell x="100" y="50"  />  
              <cell x="100" y="100" />  
              <cell x="100" y="240" />  
              <cell x="100" y="290" />  
              <cell x="100" y="385" />  
             </column>  

            <column>  
              <cell x="183" y="145" />  
              <cell x="183" y="195" />  
              <cell x="183" y="385" />  
            </column>  
              
            <column>  
              <cell x="183" y="5" />  
            </column>  

          </template>

    6. Создадим новый тип апгрейдов: prop_pack. Для этого воспользуемся файлом №3.
    Для начала добавим наш тип в начало файла:

    Code

    [upgrades_properties]  
    prop_pack  
    prop_weight    ;; Вес  
    prop_silencer        ;; Глушитель  
    prop_underbarrel_slot;; Крепление подствольника  
    ...

    Теперь создадим новую секцию:

    Code

    [prop_pack]  
    name     = st_prop_weight  
    icon     = ui_wp_propery_11  
    functor  = inventory_upgrades.property_functor_d  
    params   = hit_power, rpm, cost

    В нашем случае важен только один параметр:
    Code

    functor  = inventory_upgrades.property_functor_d

    Он указывает, какая скриптовая функция будет составлять описание. Вы можете сами рассмотреть остальные параметры: name - название типа апгрейда (даётся ссылка на текстовый блок), icon - ссылка на указатель иконок из файла №6.

    7. Составим функцию описания апгрейда inventory_upgrades.property_functor_d. Для этого откроем файл №7 и впишем туда маленькую функцию

    Code
    function property_functor_d( param1, name )  
          local prorerty_name = char_ini:r_string(name, "name")  
          local value_table = utils.parse_names(param1)  
          local section = value_table[1]  
          if section then  
              local value = char_ini:r_string(section, "value")  
              if value then  
                  return game.translate_string(value)  
              end  
          end  
          return game.translate_string(prorerty_name)  
    end

    Спасибо тому кто написал эту статью!




    ПДА Семен Семеныча
     
    naToGeHbI4Дата: Вторник, 28.12.2010, 17:58 | Сообщение # 2
    Power Rasist
    Группа: Администраторы
    Сообщений: 677
    Награды: 47
    Репутация: 652
    Статус: Вне Зоны
    Вот список файлов:
    1. configs\weapons\upgrades\w_ak74_up.ltx
    2. configs\text\rus\st_items_weapons_upgrades.xml
    3. configs\weapons\upgrades_properties.ltx
    4. configs\ui\inventory_upgrade_16.xml (для широкоформатных)
    5. configs\weapons\w_ak74.ltx
    6. configs\ui\textures_descr\ui_ingame2_common.xml
    7. scripts\inventory_upgrades.script




    ПДА Семен Семеныча
     
    QWENTYSДата: Вторник, 28.12.2010, 19:09 | Сообщение # 3
    Добрый модер!
    Группа: Модераторы
    Сообщений: 252
    Награды: 18
    Репутация: 346
    Статус: Вне Зоны
    которые нужны дл я создания опгрейдов БРОНИ брони брони!


     
    PolkanДата: Вторник, 28.12.2010, 22:23 | Сообщение # 4
    Полковник
    Группа: Военные Сталкеры
    Сообщений: 57
    Награды: 18
    Репутация: 49
    Статус: Вне Зоны
    QWENTYS, все тоже самое только в outfit.ltx и дальше upgrades ВСЕ ДЕЛАЕТСЯ АНАЛОГИЧНО!


     
    QWENTYSДата: Вторник, 28.12.2010, 23:30 | Сообщение # 5
    Добрый модер!
    Группа: Модераторы
    Сообщений: 252
    Награды: 18
    Репутация: 346
    Статус: Вне Зоны
    Да я дурак, а справки нет.....
    Обьясните мне, так сказать разжуйте да в рот положите. КАК делать новые /или же просто копировать/ апгрейды БРОНИ?



     
    • Страница 1 из 1
    • 1
    Поиск:

    Powered by naToGeHbI4 / Сайт оптимизирован под браузер Opera. Хостинг от uCoz