Перейти к контенту
Murarius

Ковыряемся в файлах ОП 2.1

Рекомендуемые сообщения

1 час назад, Slava Storozhenko сказал:

"Тушка ворона" в спавнере

Правильно mutant_crow - тушка, m_crow сами вороны вроде

  • Согласен 3
Ссылка на комментарий

@Скрудж, а в чем проблема то, там 2 значения, сделай так:

cycle_task.script 
self.task_time = 0  -- (с) время выполнения всех заданий, 2 недели
self.idle_time = 24*9000   -- (игровые часы) время между выдачами задания повторно, 5 игровых дней

Задания будут появляться 1 раз и без лимита времени.

Изменено пользователем tihik
  • Спасибо 2
  • Нравится 1
  • Полезно 1

Найди покой в своей душе, всё остальное само найдёт тебя.


Подарки

  • Ссылка на комментарий

    Кто нибудь отключал здесь пси удар при обыске зомбированных? В предыдущих солянках это делалось в файле xr_motivator.script Скиньте этот файл пожалуйста, у кого распаковано.

    Скачал распакованные скрипты, но такого файла там не вижу... В каком теперь файле можно найти этот пси удар?

    Изменено пользователем miks
    обновление вопроса
    Добавлено JAPAN,

    арт есть от псиудара в игре, не помню щас название.

    @miks В bind_stalker.script  закомментить строку sak.zombie_checkup().

    Заметка изменена

    Ссылка на комментарий

    @Svobodovec_Arbuz, death_items_by_communities.ltx, death_items_by_levels.ltx, death_items_count.ltx там вероятности и количество выпадения всего подряд, количество патронов правится в файле death_manager.script

    • Спасибо 1

    n1psh4.gif

    Ссылка на комментарий

    Как в спавнере называется "Сломанный Огнемет" который дает Кеп?

    Добавлено JAPAN,

    Попробуй flamethrower_bad 

    «Твой драккар на дне лежит, сердце пламенем горит, но прохладны воды в море и душа не знает горя, день придёт, наступит час, смерть ждёт каждого из нас!»

    Ссылка на комментарий
    33 минуты назад, волк79 сказал:

    проволока для Доцента

    В спавнере akill_wire, по Борову у него теперь три квеста на отстрел и два из них на время.

    • Спасибо 1
    Ссылка на комментарий

    @Recluse, В файле cycle_task.script через поиск находим строку {50,100}, 50 меняем на 0, после чего в файле cycle_task.ltx при помощи замены комменитм все строки target_cond и выходит, что в каждом взятом ЦЗ будут подходить оружие и броня в любом состоянии, не считая тех заданий, которые были взяты до правки

    • Спасибо 1
    • Нравится 2
    • Полезно 1

    n1psh4.gif

    Ссылка на комментарий

    По поводу вылета [10.02.19 11:50:24.247]  [LUA]  1 : [Lua] ...iles (x86)\op-2.1\gamedata\scripts\cycle_task.script(548) : check_task_props

    ...

    [10.02.19 11:50:24.247] [error]Arguments     : Input object is nil!

     

    Посмотрел сейчас файл, в котором я лично откручивал тормоза.

    Строка выглядит так:        end

    Вывод слегка очевиден.

     

    И, да, если напрячь телепатию, и погадать на кофейной гуще, то весь кусок должен выглядеть примерно так:
     

    Скрытый текст


    
    --' Проверка свойств задания на доступность к выдаче
    function CCycleTask:check_task_props(task_desc)
        --' Проверка по активным заданиям данного типа у вендора
        if self.active_task_by_type[task_desc.complex_type] ~= nil then
            task_desc.enabled_props = false
            return
        end
    
        --' Проверка по разовости
        if task_desc.status == self.status.once then
            task_desc.enabled_props = false
            return
        end
    
        --' Проверка по блоку приоритета по времени ожидания
        if self.current_vendor_locked_prior[task_desc.complex_type] and self.current_vendor_locked_prior[task_desc.complex_type] >= task_desc.prior then
            task_desc.enabled_props = false
            return
        end
    
        --' Проверка по кондлисту
        if task_desc.condlist and xr_logic.pick_section_from_condlist(db.actor, task_desc.condlist) == nil then
            task_desc.enabled_props = false
            return
        end
    
        --' Проверка по таймауту
        if task_desc.next_time then
            if task_desc.next_time >= game.hours() then
                task_desc.enabled_props = false
                return
            else
                task_desc.next_time = nil    --' Время ожидания вышло
            end
        end
    
        --' Проверка по цели
        if task_desc.type == self.type.eliminate_lager then
            local strn = task_desc.target and alife():object( task_desc.target )
            if strn then
                local g = strn.gulag
                if g and g:get_population_comed() >= 1 then
                    task_desc.enabled_props = true
                    return
                end
            else log( "cycle_tasks, invalid target: "
                .. ( ( task_desc.target and tostring( task_desc.target ) ) or "n/a" ) )
            end
            task_desc.enabled_props = false
            return
    
        elseif task_desc.type == self.type.defend_lager then
    
            if xr_gulag.getGulagState(task_desc.defend_target) == 1 and server_object(task_desc.target).gulag:get_population_comed() > 0 then
            --if xr_gulag.getGulagState(task_desc.defend_target) == 0 then --' Раскомментить вместо выше для отладки этого типа ЦЗ
                --' В смарте есть народ и на него действительно нападают
                task_desc.enabled_props = true
                return
            end
            task_desc.enabled_props = false
            return
    
        elseif task_desc.type == self.type.kill_stalker then
            --' Нету целей
            if task_desc.target_objects == nil then
                task_desc.selected_target = nil
                task_desc.enabled_props = false
                return
            end
    
            --' Проверим, живы ли наши цели и могут ли выйти в онлайн
            local oo
            if task_desc.selected_target then
                oo = server_object(task_desc.selected_target)
                if oo == nil or oo.alive == nil or not oo:alive() then
                    task_desc.selected_target = nil
                end
            end
            for k,v in pairs(task_desc.target_objects) do
                oo = server_object(v)
                if oo == nil or oo.alive == nil or not oo:alive() or not oo:can_switch_online() then
                    table.remove(task_desc.target_objects, k)
                end
            end
    
            --' Не осталось целей
            if #task_desc.target_objects == 0 then
                task_desc.selected_target = nil
                task_desc.enabled_props = false
                return
            end
    
            --' Выбираем текущую цель задания
            if not task_desc.selected_target then
                task_desc.selected_target = table.random(task_desc.target_objects)
            end
            task_desc.enabled_props = true
            return
        else
            task_desc.enabled_props = true
            return    
        end
    end


     

    Впрочем, и даже это - тоже неправильно, и переписывать надо ВСЕ.

    Добавлено  Опричник,

    Портянки под спойлер, плиз.

    • Полезно 1
    Ссылка на комментарий

    Привет ребята! Может кто подсказать, как в спавнере Веном обзывается?

    Добавлено JAPAN,

    new_hell вроде так.

     

    мать - ASUS TUF GAMING Z690-PLUS D4, процессор -Intel Core i5 - 12400F  ,память DDR4 -Corsair Dominator Platinum RGB  ( 3600 Mhz 32 гб) , видео - ASUS  GeForce RTX 3060 Ti 8 ГБ (ROG STRIX) ,  система на SSD 512Gb Kingston KC3000 , игра на отдельном SSD 512Gb Kingston KC3000 , Win10 -64 bit PRO. , блок питания ASUS ROG-THOR-850P . , СВО ASUS ROG RYUJIN III 360 ARGB EVA  , корпус   Thermaltake View 71 Tempered Glass.                                                          

    http://nick-name.ru/forum2t5/Alfa2012.gif

    Ссылка на комментарий
    5 часов назад, Gadenysh80 сказал:

    нормальное выпадение патронов

    Скрытый текст

    local npc_level_count={
        ["novice"]={
            ["rifle"]={["min"]=5,["max"]=10},
            ["pistol"]={["min"]=5,["max"]=10},
        },
        ["experienced"]={
            ["rifle"]={["min"]=10,["max"]=15},
            ["pistol"]={["min"]=10,["max"]=15},
        },
        ["veteran"]={
            ["rifle"]={["min"]=15,["max"]=20},
            ["pistol"]={["min"]=10,["max"]=15},
        },
        ["master"]={
            ["rifle"]={["min"]=20,["max"]=25},
            ["pistol"]={["min"]=15,["max"]=20},

     

    • Полезно 1

    Найди покой в своей душе, всё остальное само найдёт тебя.


    Подарки

  • Ссылка на комментарий
    1 час назад, tihik сказал:

    death_manager.script

    Подскажите плиз, новичок, опытный, ветеран, мастер... Это скок выпадет в зависимости от уровня сложности или сколько штук патронов выпадает при килле того же новичка,ветерана или мастера? Путаюсь малёхо)) Спасибо!

    Ссылка на комментарий

    @Starkiller, это для Нпс, зависимость кол-ва от ранга. Правь сколько душе угодно:az1000106:

    Момент один важный, вчера сам попался. Ловил вылет и понять не мог, лог на определенный скрипт указывал, но там все в порядке было. Единственное что правку не в WinMerge а в блокноте делал, на этом и "попался".. Видимо с кодировкой что то не так, переделал в WinMerge, все заработало.

    Изменено пользователем tihik

    Найди покой в своей душе, всё остальное само найдёт тебя.


    Подарки

  • Ссылка на комментарий
    В 10.02.2019 в 19:19, tihik сказал:

    зависимость кол-ва от ранга

    Окей, окей.. Тогда почему в death_items_count на мастере в оригинальном файле стоят цифры

    Скрытый текст

    ;Аммуниция
    ammo_9x18_fmj        = 3, 5
    ammo_9x18_pmm        = 3, 5
    ammo_9x19_pbp        = 3, 5
    ammo_9x19_fmj        = 3, 5
    ammo_11.43x23_hydro    = 1, 3
    ammo_11.43x23_fmj        = 1, 3
    ammo_9x21_11            = 1, 3
    ammo_9x21_10            = 1, 3
    ammo_9x19_7h21        = 1, 3
    ammo_40sw_hp            = 1, 3
    ammo_40sw_ap            = 1, 3
    ammo_12.7x55_fmj        = 1, 2
    ammo_12.7x55_ap        = 1, 2
    ammo_12x70_buck        = 1, 3
    ammo_12x76_dart        = 1, 2
    ammo_12x76_zhekan        = 1, 2
    ammo_410_buck         = 1, 4
    ammo_410_dart         = 1, 3
    ammo_5.45x39_ap        = 1, 3
    ammo_5.45x39_fmj        = 1, 3
    ammo_9x39_sp5        = 1, 3
    ammo_9x39_ap            = 1, 3
    ammo_9x39_pab9        = 1, 3
    ammo_5.56x45_ss190    = 1, 3
    ammo_5.56x45_ap        = 1, 3
    ammo_7.62x54_7h14        = 1, 2
    ammo_7.62x54_7h1        = 1, 2
    ammo_7.62x54_ap        = 1, 2
    ammo_7.62x39_fmj            = 1, 3
    ammo_7.62x39_ap             = 1, 3
    ammo_7.62x39_k              = 1, 3
    ammo_7.92x33_fmj            = 2, 4
    ammo_7.92x33_ap             = 2, 4
    ammo_7.92x57_fmj        = 1, 3
    ammo_7.92x57_ap        = 1, 3
    ammo_og-7b            = 0
    ammo_vog-25p            = 0
    ammo_vog-25            = 1
    grenade_f1            = 0
    grenade_rgd5            = 1
    grenade_gd-05            = 1
    grenade_flash            = 1
    ammo_m209            = 1
    ammo_gauss            = 1, 2
    ammo_12.7x108        = 1, 2
    ammo_7.62x51box        = 1, 3
    ammo_7.62x51_box        = 1, 3
    ammo_igl                    = 1, 2
    ammo_arbolt            = 2, 6
    ammo_7.62x25_ps        = 3, 7
    ammo_7.62x25_p        = 3, 7
    ammo_7.62x51_fmj        = 1, 2
    ammo_7.62x51_ap        = 1, 2
    ammo_super_gauss        = 1, 2
    ammo_7.62x54r            = 1, 3
    ammo_minigun            = 1, 3
    ammo_5.7x28_ss190        = 2, 6

    То бишь они совсем не те что в death_manager.script. Почему так?? Путаница выходит...

     

    У меня в death_items_count выставлено кол-во патронов что должны выпадать с трупов, это немного, 10-15шт в самый раз. НО! Они просто не выпадают при том что в ОП 2 это работало. Теперь же примешан какой-то death_manager.script и там вообще другие значения! Так в каком же файле править чтоб выпадало то кол-во боеприпасов, которое я выставил! Помогите разобраться)

    Изменено пользователем Starkiller
    неправильно создал спойлер
    Ссылка на комментарий

    Пацаны, подскажите консольную команду на отображение FPS. Помню начинается с rs_ а дальше не помню.

    Добавлено JAPAN,

    @SaintsJens, rs_stats_fps on\off

    Заметка изменена

    Ссылка на комментарий

    Есть две установленные оп2.1 в разных папках.

    Как вторую копию заставить читать и сохранять сейвы в папке первой копии?

     

    $game_saves$        = true|        true|    $app_data_root$|    C:\Games\OP-2.1\userdata\savedgames

    вписанное в fsgame внутри папки второй копии не помогло, она перестала видеть любые сейвы, может я как-то неправильно вписал?

     

    PS решено.

    Помогло в таком виде, теперь две копии опы делают и загружают сейвы из одного и того же места, удобно. Одна опа с правками, другая без.

     

    $game_saves$        = true|        true|    C:\Games\OP-2.1\userdata\savedgames

    Изменено пользователем W.A.S.P.
    Добавлено  Опричник,

    Следите за пунктуацией - https://pixelplus.ru/studio/stat/pravila-postanovki-probela-ryadom-so-znakami-prepinaniya/

    Ссылка на комментарий
    1 час назад, Alexander_Vesker сказал:

    Не платим Гарику антирадами за вход к Бармену.

    Я бы не советовал "обнулять" антирад в самих функциях. Мало ли где они ещё вызываются. Лучше закомментить вызов функций в диалоге с Гариком. 

            <!--<precondition>sak_dialog.antirad_have</precondition>-->
                <text>garik_dialog_5</text>
                <!--<action>sak_dialog.give_antirad</action>-->
                <next>8</next>

    • Спасибо 1
    Ссылка на комментарий

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

    Вот лог

    FATAL ERROR


    [error]Expression    : error handler is invoked!

    [error]Function      : handler_base
    [error]File          : xrDebugNew.cpp
    [error]Line          : 870
    [error]Description   : std: out of memory

    Добавлено lexa.3012,

    std: out of memory Информирует Вас о не хватке памяти, понизьте настройки, избавьтесь от хлама.

    • Согласен 1
    Ссылка на комментарий

    А где можно отредактировать турель, что в инвентарь влезает?

    Добавлено JAPAN,

    Конфиг/миск/гуест итем/strelok_turret. Это, если тебе надо вес подправить, все остальное есть в шапке.

    Ссылка на комментарий

    @Voland-Li, Впиши в показометр имя искомого предмета и оно все тебе так же на карте отобразит только метка будет немного другая
     

    Скрытый текст

    -- ставим метки на конкретные объекты по секции
            for i, v in ipairs( {    -- сюда вписывать имена секций, в кавычках, через запятую
                "Пишешь имя бутылок сюда",    -- вот так 

            } ) do t_sect[v] = true end

    Квестовые бутылки называются quest_vodka

    Изменено пользователем polkooovnik
    • Спасибо 1
    • Полезно 1

    Оп 2.1 Актуальная версия показометра 0.5 тут
    ОП 2.2 Актуальный показометр бета 5 ТУТ

    Альтпатч на ОП 2.1 от создателей шикарных фитч 25.07.19 Final
    Диетическая солянка с патчем от 17.01.2021 тут

    Ссылка на комментарий

    @skitalez_rus, шапка.

    А конкретно, скачай файлик m_pseudodog.ltx из шапки и сравни со своим. Или тупо замени. Или могу свой скинуть. Нужно? У меня там только пси урон и рывки бошкой гг убраны. Цвет и тормоза я оставил.

     

    P.S.: КАМАЗ - пушка! Перегнал с АТП и прыгаю по холмам от свалки до схрона и обратно. (схрон в углу карты, где то под складами). Заноса нет почти, с 0 до 100 секунды за 2. Только переворачивает бывает, но это не беда.

    @Alexander_Vesker, шибко геморно. И работает вроде через эт самое.

    @skitalez_rus, кайфолом мне гугл драйв подключать, так лови.

    Скрытый текст

    [m_pseudodog_e]:monster
    SpaceRestrictionSection = space_restrictor,zone_mosquito_bald
    Scheduled                 = on            ; option for ALife Simulator
    Human                      = off            ; option for ALife Simulator
    Health                     = 250            ; option for ALife Simulator
    MinSpeed                 = 1.0            ; option for ALife Simulator
    MaxSpeed                 = 1.5            ; option for ALife Simulator
    going_speed              = 5.0                          ; option for ALife Simulator
    current_level_going_speed    = 1;2    ; option for ALife Simulator
    search_speed             = 1.5                       ; option for ALife Simulator
    visual                = monsters\pseudodog\pseudodog
    corpse_visual        = monsters\pseudodog\pseudodog_dead
    icon                = ui_npc_monster_pseudodog
    short_name            = Pseudodog
    MaxHealthValue    = 250        ; range [0..200]
    smart_terrain_choose_interval = 00:15:00

    Spawn_Inventory_Item_Section = part_psevdodog_tail
    Spawn_Inventory_Item_Probability = 0.7

    ef_creature_type     = 21            ; option for evaluation functions
    ef_weapon_type     = 3
    ef_detector_type     = 1
    panic_threshold         = 0.1

    class    = SM_P_DOG                ; AI class

    bone_torso         = bip01_spine1     ; bone name
    bone_head         = bip01_head        ; bone name
    bone_fire         = bip01_head        ; bone name
    weapon_usage     = 0                    ; boolean

    ; Physics
    ph_box0_center              = 0.0,  0.2,  0.0    ;0.0,  0.9,  0.0
    ph_box0_size                  = 0.50, 0.4,  0.50    
    ph_box1_center              = 0.0,  0.2,  0.0
    ph_box1_size                  = 0.50, 0.4,  0.50
    ph_crash_speed_min        = 100
    ph_crash_speed_max        = 300
    ph_collision_damage_factor = 0.1
    ph_mass                          = 78    ; also it's the food

    destroyed_vis_name  = dynamics\dead_body\skelet_crash_monster

    ph_skeleton_airr_lin_factor       = -0.41 ;(изменно из-за того, что убрано домножение коэффициент 0.002 из кода)
    ph_skeleton_airr_ang_factor       = -0.20 ;(изменно из-за того, что убрано домножение на коэффициент 0.3 из кода (0.0*0.3=0.0))
    ph_skeleton_hinger_factor1        = 1.0 ;1.0 (изменно из-за того, что убрано домножение на коэффициент 5.0 из кода)
    ph_skeleton_ddelay                   = 15.0 ;Время изменения значения трения в суставе с момента создания шелла, сек

    ph_skel_fatal_impulse_factor      = 1.0
    ph_after_death_velocity_factor    = 0.30
    ph_skel_shot_up_factor                = 0.25

    ; Movement::Velocities & Acceleration
    ; speed factors            linear | angular_real | angular_path | min |  max
    Velocity_Stand                = 0,            1.4,            1.4,        1,        1
    Velocity_RunFwdNormal    = 6.6,        2.0,            2.0,        0.05,    1.0    
    Velocity_RunFwdDamaged    = 4.3,          2.0,            2.0,        0.5,        1.0
    Velocity_WalkFwdNormal    = 5.0,        2.0,            2.0,        0.1,        1.0
    Velocity_WalkFwdDamaged = 2.2,        3.0,            3.0,        0.1,        2.2    
    Velocity_Drag                = 0.6,        0.8,            0.8,        1,        1
    Velocity_Steal                = 1.6,        3.0,            3.0,        1,        1

    ; acceleration
    Accel_Generic        = 1.5
    Accel_Calm        = 2.5
    Accel_Aggressive    = 14.5

    ; Attack parameters
    MinAttackDist        = 1.6    
    MaxAttackDist        = 2.0
    as_min_dist            = 1.0
    as_step            = 0.2

    Min_Satiety            = 0.95
    Max_Satiety        = 1.0
    distance_to_corpse    = 1.8
    terrain                 = pseudodogs_terrain

    Melee_Rotation_Factor    = 2.6

    ; Entity Conditions
    satiety_v             = 0.0001    ;0.01        ;скорость уменьшения сытости со временем
    radiation_v             = 0.00001    ;0.004        ;скорость уменьшения радиации
    satiety_power_v     = 0.005        ;0.01        ;увеличение силы при уменьшении сытости 
    satiety_health_v     = 0.00001    ;0.03        ;увеличение здоровья при уменьшении сытости 
    satiety_critical         = -1.0        ;0.25        ;критическое значения сытости (в процентах от 0..1) когда здоровье начианает уменьшаться
    radiation_health_v     = 0.01        ;0.006        ;уменьшение здоровья при воздействии радиации
    morale_v            = 0.1                    ;скорость восстановления морали
    health_hit_part         = 0.8        ;0.8            ;процент хита, уходящий на отнимание здоровья
    power_hit_part         = 1.0        ;0.9            ;процент хита, уходящий на отнимание силы
    psy_health_v         = 0.1                    ;скорость восстановления psy-здоровья

    immunities_sect        = pseudodog_immunities

    ;открытые раны
    bleeding_v                = 0.04                    ;потеря крови при номинальной ране в секунду
    wound_incarnation_v    = 0.04                    ;крутизна кривой заживления (какой процент раны останется после заживления в игровую секунду)
    min_wound_size        = 0.01

    sleep_health         = 1.0        ;1.5
    sleep_power         = 1.0        ;1.5
    sleep_satiety         = 1.0        ;0.8
    sleep_radiation     = 1.0        ;1.1
    sleep_psy_health     = 1.0

    eat_freq            = 5.0
    eat_slice            = 0.01
    eat_slice_weight    = 10.0
    satiety_threshold    = 0.5        ; below this value monster fill hunger

    ; Sounds and sound parameters
    sound_idle                = monsters\pseudodog\pdog_idle_      
    sound_eat                = monsters\pseudodog\pdog_chew_      
    sound_aggressive        = monsters\pseudodog\pdog_aggression_  
    sound_attack_hit        = monsters\pseudodog\pdog_attack_
    sound_take_damage    = monsters\pseudodog\pdog_hurt_      
    sound_die                = monsters\pseudodog\pdog_death_     
    sound_bkgnd            = monsters\biting\def_
    sound_threaten            = monsters\pseudodog\pdog_threaten_ 
    sound_landing            = monsters\biting\def_
    sound_steal            = monsters\biting\def_
    sound_panic            = monsters\dog\hit_
    sound_growling            = monsters\biting\def_
    sound_psy_attack        = monsters\pseudodog\psy_attack_
    sound_die_in_anomaly    = monsters\pseudodog\pdog_death_

    idle_sound_delay            = 92000
    eat_sound_delay            = 3000
    attack_sound_delay        = 28500

    sound_distant_idle            = monsters\pseudodog\pdog_idle_
    distant_idle_sound_delay    = 80000
    distant_idle_sound_range    = 100.0    

    SoundThreshold     = 0.05        ; range [0..1]
    max_hear_dist         = 60

    ; Vision
    eye_fov            = 110    ;150
    eye_range            = 60    ;100
    min_view_distance           = 0.4            ; коэффициент, который множится на eye_range, в зависимости от угла
    max_view_distance             = 1.0            ; коэффициент, который множится на eye_range, в зависимости от угла
    visibility_threshold             = 100.0            ; значение, при достижении суммой которого объект считается видимым
    always_visible_distance     = 0.2
    time_quant                    = 0.001
    decrease_value            = 0.01            ; значение, на которое уменьшается вес, если объект попал в фрустум, но отсёкся по каким-то причинам
    velocity_factor                     = 0.5
    luminocity_factor            = 0.5             ; фактор освещения (только для Актёра)
    transparency_threshold        = 0.25

    ; Morale
    Morale_Hit_Quant                    = 0.1
    Morale_Attack_Success_Quant        = 0.1
    Morale_Take_Heart_Speed        = 0.1
    Morale_Despondent_Speed        = 0.1
    Morale_Stable_Speed                = 0.01
    Morale_Despondent_Threashold    = 0.5

    ; Jump Parameters
    jump_delay                    = 3000
    jump_factor                    = 2.5
    jump_ground_trace_range    = 1.0
    jump_hit_trace_range        = 2.0
    jump_build_line_distance    = 1.0
    jump_min_distance            = 4.0 
    jump_max_distance            = 8.0
    jump_max_angle            = 0.2
    jump_max_height            = 3.5

    ; Other Stuff (refactoring needed)
    DamagedThreshold            = 0.2
    critical_wound_threshold        = -1
    critical_wound_decrease_quant    = 0.

    material                = creatures\medium
    squad_attack_algorithm = 1

    attack_effector            = m_pseudodog_attack_effector
    damage                = m_pseudodog_damage
    attack_params            = m_pseudodog_attack_params
    step_params            = m_pseudodog_step_params

    LegsCount                 = 4
    anger_hunger_threshold = 0.1
    anger_loud_threshold     = 0.7

    ;species of monster
    species                = pseudodog
    rank                    = 0
    spec_rank                = weak
    community                = pseudodog

    [m_pseudodog_attack_params]
    ;    anim            | time[0..1] | hit_power | impulse | impulse_dir (x,y,z)  |    Field of hit_test  (left,right, top, bottom) |    Test Dist
    ;Bite
    stand_attack_0    =          0.35,        0.30,        80,        0.0, 1.0, 1.0,        -1.0, 1.0, -1.0, 1.0,        2.5
    ;Jump attack
    run_jamp_1        =        0.55,        0.40,        100,      0.0, 1.0, 4.0,         -1.8, 1.8, -1.8, 1.8,        1.0

    ;===========================================================================
    ; SPECIAL EFFECTORS
    ;===========================================================================
    [m_pseudodog_attack_effector]
    duality_h        = 0.01
    duality_v        = 0.01
    blur                = 0.01
    gray            = 0.5
    noise_intensity     = 0.0
    noise_grain        = 1
    noise_fps        = 30
    color_base        = 0.65,0.15,0.1
    color_gray        = 0.333,0.333,0.333
    color_add        = 0,0,0
    time            = 0.3
    time_attack        = 0.05        ; fade in
    time_release    = 0.25        ; fade out

    ; camera effects
    ce_time                = 0.45 ;time 
    ce_amplitude        = -15.0 
    ce_period_number    = 2.0 
    ce_power            = 1.0 ;0.7 ; power 

    ;===========================================================================
    ; Step Events
    ;===========================================================================
    [m_pseudodog_step_params] ;               left             right            right           left
    ;    anim                    cycles |    time1 | power1 |    time2 | power2 | time3 | power3 | time4     | power4 |
    stand_walk_fwd_0        =       1,        0.1,      1,          0.34,    1,         0.6,     1,            0.84,        1
    stand_walk_dmg_0        =       1,        0.2,      1,          0.25,    1,         0.5,     1,            0.7,            1
    stand_run_0            =    1,        0.1,      1,          0.3,      1,         0.5,     1,            0.55,        1
    stand_run_dmg_0        =    1,        0.2,      1,          0.25,    1,         0.7,     1,            0.75,        1
    stand_drag_0            =    1,        0.2,      1,          0.25,    1,         0.7,     1,            0.75,        1

    ;===========================================================================
    ; IMMUNITIES
    ;===========================================================================
    [pseudodog_immunities]
    burn_immunity             = 1.0
    strike_immunity             = 0.5
    shock_immunity         = 0.5
    wound_immunity         = 0.5
    radiation_immunity         = 0.0
    telepatic_immunity         = 1.0
    chemical_burn_immunity = 0.8
    explosion_immunity     = 0.4
    fire_wound_immunity      = 0.5

    ;=================================================================================
    ; PSEUDO-DOG Damage
    ;=================================================================================
    [m_Pseudodog_damage]
    ;bone_name         = <hit_scale>,-1,<wound_scale>
    ;<hit_scale>    - коэфф. изменения хита (уменьшения здоровья) 
    ;<wound_scale>    - коэфф. изменения величины открытой раны

    default                = 0.3, -1, 0.1
    bip01_pelvis         = 1.0, -1, 0.1
    bip01_spine         = 0.6, -1, 0.1
    bip01_spine1         = 0.8, -1, 0.1
    bip01_neck         = 1.2, -1, 1.5
    bip01_head         = 2.5, -1, 0.3, 10

    ;=================================================================================
    ; PSEUDO-DOG Terrain
    ;=================================================================================
    [pseudodogs_terrain]
        255,000,255,255

    ; WEAK PROFILE
    [pseudodog_weak]:m_pseudodog_e
    visual                = monsters\pseudodog\pseudodog
    icon                = ui_npc_monster_pseudodog
    short_name            = pseudodog_weak
    panic_threshold        = 0.5
    rank                = 0
    immunities_sect        = pseudodog_immunities_weak
    attack_params        = pseudodog_attack_params_weak
    spec_rank            = weak
    community            = pseudodog

    [pseudodog_immunities_weak]
    burn_immunity            = 1.0
    strike_immunity            = 1.0
    shock_immunity            = 1.0
    wound_immunity        = 0.1
    radiation_immunity        = 0.0
    telepatic_immunity        = 1.0
    chemical_burn_immunity = 1.0
    explosion_immunity        = 0.5
    fire_wound_immunity    = 0.5

    [pseudodog_attack_params_weak]
    ;    anim            | time[0..1] | hit_power | impulse | impulse_dir (x,y,z)  |    Field of hit_test  (left,right, top, bottom) |    Test Dist
    ;Bite
    stand_attack_0    =          0.45,        0.50,            100,        0.0, 1.0, 1.0,         -1.0, 1.0, -1.0, 1.0,                1.6
    ;Jump attack
    run_jamp_1        =        0.55,        0.70,            220,        0.0, 1.0, 4.0,         -1.8, 1.8, -1.8, 1.8,                1.0

    ; NORMAL PROFILE
    [pseudodog_normal]:m_pseudodog_e
    visual                = monsters\pseudodog\pseudodog
    icon                = ui_npc_monster_pseudodog
    short_name            = pseudodog_normal
    panic_threshold        = 0.2
    rank                = 401
    immunities_sect        = pseudodog_immunities_normal
    attack_params        = pseudodog_attack_params_normal
    spec_rank            = normal
    community            = pseudodog

    [pseudodog_immunities_normal]
    burn_immunity            = 1.0
    strike_immunity            = 1.0
    shock_immunity            = 1.0
    wound_immunity        = 0.1
    radiation_immunity        = 0.0
    telepatic_immunity        = 1.0
    chemical_burn_immunity = 1.0
    explosion_immunity        = 0.5
    fire_wound_immunity    = 0.4

    [pseudodog_attack_params_normal]
    ;    anim            | time[0..1] | hit_power | impulse | impulse_dir (x,y,z)  |    Field of hit_test  (left,right, top, bottom) |    Test Dist
    ;Bite
    stand_attack_0    =          0.45,        0.60,            100,        0.0, 1.0, 1.0,         -1.0, 1.0, -1.0, 1.0,                1.6
    ;Jump attack
    run_jamp_1        =        0.55,        0.80,            260,        0.0, 1.0, 4.0,         -1.8, 1.8, -1.8, 1.8,                1.0

    ; STRONG PROFILE
    [pseudodog_strong]:m_pseudodog_e
    visual                = monsters\pseudodog\pseudodog_grey
    corpse_visual        = monsters\pseudodog\pseudodog_grey_dead
    icon                = ui_npc_monster_pseudodog_grey
    short_name            = pseudodog_strong
    panic_threshold        = 0.05
    rank                = 801
    immunities_sect        = pseudodog_immunities_strong
    attack_params        = pseudodog_attack_params_strong
    spec_rank            = strong
    community            = pseudodog

    [pseudodog_immunities_strong]
    burn_immunity            = 1.0
    strike_immunity            = 1.0
    shock_immunity            = 1.0
    wound_immunity        = 0.07
    radiation_immunity        = 0.0
    telepatic_immunity        = 1.0
    chemical_burn_immunity = 1.0
    explosion_immunity        = 0.5
    fire_wound_immunity    = 0.3

    [pseudodog_attack_params_strong]
    ;    anim            | time[0..1] | hit_power | impulse | impulse_dir (x,y,z)  |    Field of hit_test  (left,right, top, bottom) |    Test Dist
    ;Bite
    stand_attack_0    =          0.45,        0.70,            120,        0.0, 1.0, 1.0,         -1.0, 1.0, -1.0, 1.0,                    1.6
    ;Jump attack
    run_jamp_1        =        0.55,        0.90,            300,        0.0, 1.0, 4.0,         -1.8, 1.8, -1.8, 1.8,                    1.0

    ; PSEUDODOG BIG
    [pseudodog_big]:pseudodog_strong
    visual                = monsters\pseudodog\pseudodog_big
    corpse_visual        = monsters\pseudodog\pseudodog_big
    icon                = ui_npc_monster_pseudodog_big
    short_name            = pseudodog_big
    immunities_sect        = pseudodog_immunities_big

    [pseudodog_immunities_big]
    burn_immunity            = 0.02
    strike_immunity            = 0.05
    shock_immunity            = 0.25
    wound_immunity        = 0.07
    radiation_immunity        = 0.0
    telepatic_immunity        = 0.1
    chemical_burn_immunity = 0.02
    explosion_immunity        = 0.1
    fire_wound_immunity    = 0.06

    ; CUSTOM PROFILES
    [pseudodog_arena]:pseudodog_strong
    visual                = monsters\pseudodog\pseudodog_grey
    icon                = ui_npc_monster_pseudodog_grey
    panic_threshold        = 0.05
    species            = arena_monstr

    ;-- PSY DOG
    [psy_dog_aura_effector]
    duality_h        = 0.00
    duality_v        = 0.00
    blur                = 10
    gray            = 0.0
    noise_intensity = 10.0
    noise_grain        = 1
    noise_fps        = 25
    color_base        = 0.9,0.9,1.0
    color_gray        = 0.33,0.330,0.33
    color_add        = 0.00,0.00,0.015

    [psy_dog]:pseudodog_strong
    visual            = monsters\pseudodog\pseudodog_grey
    icon            = ui_npc_monster_pseudodog_grey
    short_name        = psy_dog
    class                  = SM_DOG_P

    aura_effector            = psy_dog_aura_effector
    Min_Phantoms_Count    = 4
    Max_Phantoms_Count    = 6
    Time_Phantom_Appear = 4000

    [psy_dog_radar]:psy_dog
    Min_Phantoms_Count    = 6
    Max_Phantoms_Count    = 8

    ;-- PSY DOG PHANTOM
    ;====================================================
    ; Appear Effector
    ;====================================================
    [psy_dog_phantom_appear_effector]
    duality_h        = 0.028        ;0.31
    duality_v        = 0.028        ;0.31
    blur                = 0.00
    gray            = 0    ;0.5
    noise_intensity    = 1
    noise_grain        = 0.1
    noise_fps        = 50
    color_base        = 0.5,0.5,0.5                ;0.1,0.15,0.4
    color_gray        = 0.333,0.333,0.333        ;0.333,0.333,0.333
    color_add        = 0.00,0.00,0.00
    time            = 0.5        ;1.5
    time_attack        = 0.05        ;0.5        ; fade in
    time_release    = 0.3                ; fade out

    ; camera effects
    ce_time                = 0.2    ;1.5
    ce_amplitude        = 1.0
    ce_period_number    = 2.0
    ce_power            = 0.3     ;0.7

    ;=====================================================
    ; Base Definition
    ;=====================================================
    [psy_dog_phantom]:pseudodog_weak
    visual        = monsters\pseudodog\pseudodog_grey
    icon        = ui_npc_monster_pseudodog_grey
    class             = SM_DOG_F
    hit_type     = telepatic

    ;jump_delay            = 3000
    ;jump_factor            = 3
    ;jump_min_distance        = 4.0 
    ;jump_max_distance    = 10.0
    ;jump_max_angle        = 0.2

    attack_params            = m_pseudodog_attack_params
    appear_effector            = psy_dog_phantom_appear_effector
    particles_appear        = monsters\pseudo_phantom_birth_00
    particles_disappear    = monsters\pseudo_phantom_death_00
    ;======================================================

    ; КВЕСТОВАЯ ПСИ-СОБАКА САХАРОВА
    [psydog_saharov]:psy_dog
    visual = monsters\pseudodog\pseudodogfrend
    panic_threshold            = 0.01
    Min_Phantoms_Count    = 10
    Max_Phantoms_Count    = 12
    Time_Phantom_Appear = 3000
    attack_params        = pseudodog_attack_params_weak
    immunities_sect        = pseudodog_immunities_big
    custom_data         = scripts\monsters\psydog_saharov.ltx

    [dog_frendly]:pseudodog_strong
    visual                = monsters\pseudodog\pseudodogfrend
    corpse_visual        = monsters\pseudodog\pseudodogfrend_dead
    icon                = ui_npc_monster_pseudodog_grey
    species            = dogfrend
    rank                = 801
    spec_rank            = strong
    community            = dogfrend
    panic_threshold        = 0.0
    immunities_sect        = pseudodogfrend_immunities_strong

    ; ДРУЖОК ДОКТОРА
    [dogfrend]:pseudodog_strong
    visual                = monsters\pseudodog\pseudodogfrend
    corpse_visual        = monsters\pseudodog\pseudodogfrend_dead
    icon                = ui_npc_monster_pseudodog_grey
    species            = dogfrend
    rank                = 801
    spec_rank            = strong
    community            = dogfrend
    custom_data         = scripts\monsters\dogfrend.ltx
    panic_threshold        = 0.0
    immunities_sect        = pseudodogfrend_immunities_strong

    [pseudodogfrend_immunities_strong]
    burn_immunity            = 0.0
    strike_immunity            = 0.0
    shock_immunity            = 0.0
    wound_immunity        = 0.0
    radiation_immunity        = 0.0
    telepatic_immunity        = 0.0
    chemical_burn_immunity = 0.0
    explosion_immunity        = 0.0
    fire_wound_immunity    = 0.0

    ; КРЫСОВОЛК - ВОЛКОДАВ (автор - Greshnik13rs) 
    [volkodav]:pseudodog_strong
    visual             = monsters\pseudodog\volkodav
    icon             = ui_npc_monster_volkodav
    short_name        = volkodav
    immunities_sect     = pseudodog_immunities_big

    Spawn_Inventory_Item_Section = part_fang_wolf
    Spawn_Inventory_Item_Probability = 0.7

    MinAttackDist        = 1.0
    MaxAttackDist        = 3.3
    Velocity_RunFwdNormal    = 7.5, 3.0, 3.0, 0.05, 1.0
    Velocity_RunFwdDamaged    = 5.7, 3.0, 3.0, 0.5, 1.0

    sound_idle                = monsters\volkodav\volkodav_idle_
    sound_eat                = monsters\volkodav\volkodav_eat_
    sound_aggressive        = monsters\volkodav\volkodav_aggressive_
    sound_attack_hit        = monsters\volkodav\volkodav_attack_
    sound_die                = monsters\volkodav\volkodav_die_
    sound_threaten            = monsters\volkodav\volkodav_aggressive_
    sound_panic            = monsters\rat\rat_pain_
    sound_die_in_anomaly    = monsters\volkodav\volkodav_die_
    sound_distant_idle        = monsters\volkodav\volkodav_idle_ 

    ; ВОЛК  (автор - Greshnik13rs)
    [dog_wolf]:pseudodog_strong
    visual            = monsters\dog\wolf
    icon            = ui_npc_monster_dog_wolf
    short_name        = dog_wolf
    immunities_sect     = dog_immunities_habaruch

    Spawn_Inventory_Item_Section = part_fang_wolf
    Spawn_Inventory_Item_Probability = 0.7
    MinAttackDist        = 0.8
    MaxAttackDist        = 3.0
    jump_min_distance        = 4.0
    jump_max_distance        = 5.0
    jump_max_height        = 2.5

    Тряски нету, звук и цвет есть (Да ладно, тебя это серьёзно парит? Ну пожелтел экран, да и ПЁС с ним) 70% шанс выпадания хвоста. Можешь убрать, там поле Spawn_Inventory_Item_Probability значение от 0 до 1

    Изменено пользователем Kakos
    • Спасибо 2
    Ссылка на комментарий
    Гость
    Эта тема закрыта для публикации сообщений.
    • Недавно просматривали   0 пользователей

      Ни один зарегистрированный пользователь не просматривает эту страницу.

    AMK-Team.ru

    ×
    ×
    • Создать...