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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


AMK-Team.ru

×
×
  • Create New...