Перейти к контенту
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

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