Jump to content
Murarius

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

Recommended Posts

@Гризл, misc - effectors

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

[zoom_inertion_effector]
camera_move_epsilon    = 0.0185   ;0.03        ;разница между двумя векторами направления камера, когда считается что камера двинулась
disp_min        = 0.00     ;0.00    
speed_min        = 0.0125 ;0.0001
zoom_aim_disp_k        = 0.105     ;0.00     ;коэффициенты соотношения полной дисперсии стрельбы
zoom_aim_speed_k    = 0.006     ;0.00    ;и покачивания прицела
delta_time        = 2700     ;2000;время через которое эффектор меняет направление движения (в милисекундах)


всё по 0 сделай

Edited by Dmitry Sazonov
Добавлено lexa.3012,

Убираем раскачку прицела.

  • Thanks 1

Конфиг: Asus z-370 Prime A/ Intel Core i7 8700k 4.8gHz/ Geforce Palith GameRock 1080/ RAM Corsair Vengeance 4x8 Gb/ SSD WD 256Gb System/ HDD Seagate 3Tb Other

Share this post


Link to post
Share on other sites
lexa.3012    943

@Гризл, По поводу раскачки ствола: OP-2.1\gamedata\config\misc\effectors

                                                                             run_amplitude            =    0.0
                                                                             walk_amplitude            =    0.0
                                                                             limp_amplitude            =    0.0

Строки в низу файла не правил, стоят стоковые. Не один прицел не качает.

Edited by lexa.3012
  • Thanks 1

Жизнь - хорошая, но нестабильная игра. Рано или поздно всех игроков ожидает вылет..........

Share this post


Link to post
Share on other sites
Minya    294

@kulikulikuli  Посмотри.

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

Самое простое, без переигровки, с отстрелом всех заспавненых (fly_island.script):

function fli_chaes_set_range()
    local object_all
    for k, v in pairs (db.storage) do
        object_all = level.object_by_id(k)

        if object_all and object_all:section() == "fli_snp1" and object_all:alive() then
            object_all:set_range(450) -- это значение изменить на 10
        end
    end
end

 

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

Пост не сносить, вдруг кто сам в ручную захочет себе поправить. (Правка на Снегиря).

Edited

  • Downvote 1

MinyaUr.gif

Share this post


Link to post
Share on other sites
achavanin    249
1 час назад, roma160274 сказал:

Всем привет. Ребята подскажите, как отличить цз которые повторяются, и цз которые без лимита времени, за которые в конце всякие плюшки дают?

 

Если хочешь выполнить ЦЗ в которых приносишь предметы и получить хорошую плюшку за это, то смотри по приоритетам , как  правило в строке внизу; prior = 1,2,3- и далее , обычно до 10-16 приоритетов в таких наградах, может быть и больше или поменьше и соответственно  награда , например у Охотника в Баре награда;reward_item = wpn_toz, repair_item_xo, wpn_bush_tactik, af_power_1, и ачивка ; reward_info = acv_gluhar. Самые лучшие награды те, которые влекут за собой ачивку, т.е в описании ЦЗ всегда должна быть строка reward_info = acv ....., типа вышеприведенной у Охотника.

Edited by achavanin
  • Thanks 1

Intel Core i3-8100 CPU @ 3.60GHz Ram16,0ГБ.NVIDIA GeForce GTX 1060 6GB . ОС Windows 10 Pro 64-bit,Сталкер ТЧ 4-й патч,Народная Солянка от19.04+14.08+патч3.09 Пройдена 3 раза!Прошел ТТ2 +апдейт. Пройден Фотограф!Народная Солянка 2016г. пройдена!

Share this post


Link to post
Share on other sites
Dennis_Chikin    3,602

Неписи в друзьях, Шерстюк и Кузнецов - это как раз отдельные.

для шерстюка надо сделать actor:disable_info_portion( "sherstuk_enemy" )

 

Вместо "actor" вписывать то, что надо в зависимости от места, где добавляем. В спкрипте. Если, к примеру, в bind_actor - то self.object:disable_info_portion( "sherstuk_enemy" )

 

 

Главный квест ОПы - научиться редактировать файлы и понимать, что где находится.

Все ведь хотят реализма? Ну так вот он самый реалистичный реализм.

Edited by Dennis_Chikin
  • Thanks 2
  • Like 2
  • Haha 2

Share this post


Link to post
Share on other sites
achavanin    249
5 минут назад, _Kot-MatRosKin_ сказал:

Доброго времени суток! Знает ли кто, как прицелу прикрутить автозахват? 

Прицелу не пробовал, а для оружия с несъемным прицелом  вот так

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

Автозахват ставится только на сам ствол.

При активации функции автозахвата оружие будет стрелять только одиночными.

Если это устраивает, то делаем следующее:

1. Меняем класс оружия.

class = WP_BINOC

2. В любом месте до секции худа (например после прописанных звуков) вставляем следующее:

snd_gyro         = weapons\binoculars_gyro

snd_zoomin     = weapons\binoculars_zoomin

snd_zoomout   = weapons\binoculars_zoomout

 

vision_present = true

vis_frame_speed = 4

vis_frame_color = 0.7,0.7,0.7,1.0

found_snd = detectors\DA-2_beep1

 

  • Thanks 1
  • Полезно 1

Intel Core i3-8100 CPU @ 3.60GHz Ram16,0ГБ.NVIDIA GeForce GTX 1060 6GB . ОС Windows 10 Pro 64-bit,Сталкер ТЧ 4-й патч,Народная Солянка от19.04+14.08+патч3.09 Пройдена 3 раза!Прошел ТТ2 +апдейт. Пройден Фотограф!Народная Солянка 2016г. пройдена!

Share this post


Link to post
Share on other sites
Nevada47    369
24 минуты назад, pere20 сказал:

Подскажите как прописать Борова в нейтралы,

Можно попробовать как в ОП 2

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

 

В gamedata\scripts\ui_main_menu.script 

После строк 

    elseif dik == DIK_keys.DIK_Q then
            self:OnMessageQuitWin()

добавить

 

elseif dik == DIK_keys.DIK_M then
   npc_drug()

Далее в самый конец файла добавляем:

function npc_drug() -- Делаем непися другом
  local npc = level_object_by_sid(425) --( ... ) сюда писать story_id из алл.спавна. 425 - это Фанат.
    if npc and npc:alive() then
      npc:set_relation(game_object.friend, db.actor)
    end
end

Вызов из главного меню клавишей М.

 

 

Edited by Nevada47
  • Thanks 1
  • Like 1
  • Полезно 1

«Ну и жесть!» Сказал асфальтовый каток, оглянувшись назад на бывшую "копейку".

Nevada47.gif

Share this post


Link to post
Share on other sites
Begemooto    7
43 минуты назад, _Kot-MatRosKin_ сказал:

Кто может поделится скриптом, прыжок на 3-5 метров

 Кто то ранее выкладывал в этой теме

В ui_main_menu scripts добавил это в конце:

 

elseif dik == DIK_keys.DIK_F2 then
                        db.actor:set_actor_position(device().cam_pos:add(device().cam_dir:mul(5.0)))
                get_console():execute("main_menu off")
        elseif dik == DIK_keys.DIK_F3 then
                        db.actor:set_actor_position(device().cam_pos:add(device().cam_dir:mul(10.0)))
                get_console():execute("main_menu off")

        end

 

F2 прыжок на пять метров F3 прыжок на десять

Неплохо бы было сделать как отдельную правку, но мало ли кто еще что то в этом скрипте может прописать.

Edited by Begemooto
  • Thanks 1
  • Полезно 1

Share this post


Link to post
Share on other sites
Dennis_Chikin    3,602
54 минуты назад, Dmitry Sazonov сказал:

вырезать метки на технические подуровневые мешки кто будет? 

Кому надо, тот и будет.


function set_spots()
    -- local obj = sim:object( "old_doc_4" )
    -- if obj then
    --    level.map_add_object_spot( obj.id, "artefact_location", obj:name() .. " y:" .. obj.position.y )
    -- end

    local c_af = clsid.artefact    -- clsid.artefact_s == electric_ball
    local c_ibox = clsid.inventory_box

    local t_spots = {    -- вписать ненужное
    --    ["gar_camp_fire_0002"] = true,
    --    ["gar_camp_fire_0003"] = true,
    --    ["gar_camp_fire_0005"] = true,
    --    ["gar_sniper_in_restrictor"] = true,
    --    ["gar_space_restrictor"] = true,
    }

    local obj, gvid, cls_id
    for i = 1, 65534 do
        obj = sim:object( i )
        if obj then
            cls_id = obj:clsid()
            if cls_id == c_af then
                if obj.parent_id == 65535 then    -- арты
                    gvid = obj.m_game_vertex_id
                    if gg:valid_vertex_id( gvid ) then
                        if gg:vertex( gvid ):level_id() == level_id then
                            log( "info", "found art: %s ( %.02f, %.02f, %.02f )", obj:name(),
                                obj.position.x, obj.position.y, obj.position.z )
                            level.map_add_object_spot( i, "artefact_location",
                                obj:name() .. " y:" .. obj.position.y )
                end    end    end

            elseif cls_id == c_ibox    -- and not онлайновый_ящик:is_inv_box_empty()
                and ( string_sub( obj:section_name(), 1, 1 ) == "m" or string_sub( obj:section_name(), 1, 1 ) == "e" )
                -- and string_sub( obj:section_name(), 1, 1 ) ~= "m"

                and obj.position.y >= -290    -- ящики Бака
              then    -- тайники
                gvid = obj.m_game_vertex_id
                if gg:valid_vertex_id( gvid ) then
                    if gg:vertex( gvid ):level_id() == level_id then
                        -- log( "info", "found treasure: %s", obj:name() )
                        local ini = obj:spawn_ini()
                        if ini and ini:section_exist( "logic" )
                          and ini:line_exist( "logic", "actor_item" ) then
                            level.map_add_object_spot( i, "habar_location",
                                obj:name() .. " y:" .. obj.position.y )
                        else level.map_add_object_spot( i, "habar_clear_location", --"treasure"
                            obj:name() .. " y:" .. obj.position.y )
                        end

                        --local item = level.object_by_id( i )
                        --if item then amk_particle.amk_particle( {
                        --    ["obj"] = item, ["looped"] = true,
                        --    ["particle"] = "explosions\\campfire_grill" } )
                        --end
                end    end

            elseif cls_id == 89 then
                gvid = obj.m_game_vertex_id
                if gg:valid_vertex_id( gvid ) then
                    if gg:vertex( gvid ):level_id() == level_id then
                        local ini = obj:spawn_ini()
                        if ini and ini:section_exist( "drop_box" ) then
                            -- log( "info", "found drop_box: %s", obj:name() )
                            level.map_add_object_spot( i, "green_location", obj:name() )
                end    end    end

            -- elseif c_anoms[cls_id] then
            --    gvid = obj.m_game_vertex_id
            --    if gg:valid_vertex_id( gvid ) then
            --        if gg:vertex( gvid ):level_id() == level_id then
            --            level.map_add_object_spot( i, "alife_combat_attack", obj:name() )
            --    end    end
            -- elseif cls_id == clsid.controller_s then
            --    gvid = obj.m_game_vertex_id
            --    if gg:valid_vertex_id( gvid ) then
            --        if gg:vertex( gvid ):level_id() == level_id then
            --            level.map_add_object_spot( i, "defend_lager_location", obj:name() )
            --            log( "info", "found: %s ( %.02f, %.02f, %.02f )", obj:name(),
            --                obj.position.x, obj.position.y, obj.position.z )
            --    end    end
            -- elseif string.sub( obj:section_name(), 6, 10 ) == "ameba" then
            --    gvid = obj.m_game_vertex_id
            --    if gg:valid_vertex_id( gvid ) then
            --        if gg:vertex( gvid ):level_id() == level_id then
            --            level.map_add_object_spot( i, "alife_combat_attack", obj:name() )
            --            log( "info", "found: %s ( %.02f, %.02f, %.02f )", obj:name(),
            --                obj.position.x, obj.position.y, obj.position.z )
            --    end    end

            -- elseif obj:section_name() == "lights_hanging_lamp" then
            --    gvid = obj.m_game_vertex_id
            --    if gg:valid_vertex_id( gvid ) then
            --        if gg:vertex( gvid ):level_id() == level_id then
            --            level.map_add_object_spot( i, "defend_lager_location", obj:name() )
            --            log( "info", "found: %s ( %.02f, %.02f, %.02f )", obj:name(),
            --                obj.position.x, obj.position.y, obj.position.z )
            --    end    end
            -- elseif t_spots[obj:name()] then
            --    log( "info", "found: %s ( %.02f, %.02f, %.02f ), lv: %s", obj:name(),
            --        obj.position.x, obj.position.y, obj.position.z,
            --        ( gg:valid_vertex_id( obj.m_game_vertex_id )
            --          and gg:vertex(sobj_gv):level_id() ) or "n/a" )
            --    level.map_add_object_spot( i, "defend_lager_location", obj:name() )
    end    end    end
end

примерно так. убираем/добавляем что нам надо/не надо.

 

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

Не тереть.

  • Thanks 1

Share this post


Link to post
Share on other sites
Stariy    71

По Гарику то еще с оп 2.0 правка была.

В файле sak_dialog.script  1 меняем на 0.

Должно быть так:

function give_antirad(first_speaker, second_speaker)
    lost("antirad", 0)
end
function antirad_have()
    return has("antirad",0)

  • Like 1
  • Согласен 1

Share this post


Link to post
Share on other sites
lexa.3012    943

Слышал краем уха что кто то куда то не пролазит?

                                                                                        ph_box1_size                 = 0.35, 0.65,  0.3
                                                                                        ph_box2_center                 = 0.0,  0.4,   0.0 
                                                                                        ph_box2_size                 = 0.25, 0.4,   0.25

Поставь так. В текстуры провала не будет.

 

Edited by lexa.3012
  • Согласен 1

Жизнь - хорошая, но нестабильная игра. Рано или поздно всех игроков ожидает вылет..........

Share this post


Link to post
Share on other sites

@Истинный, Пробуй этот, там сразу всё, 2 в 1 https://yadi.sk/d/kzcet2l5TESTqQ

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

Для "Релиза". Spawn Naxac+Показометр


Конфиг: Asus z-370 Prime A/ Intel Core i7 8700k 4.8gHz/ Geforce Palith GameRock 1080/ RAM Corsair Vengeance 4x8 Gb/ SSD WD 256Gb System/ HDD Seagate 3Tb Other

Share this post


Link to post
Share on other sites

Ребята подскажите где находится правка на турели по людям? Или хотябы в какой категории и как правка названа...

Заранее спасибо

 

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

AMK-Team.ru

×
×
  • Create New...