Jump to content
Murarius

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

Recommended Posts

achavanin    229
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,593

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

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

 

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

 

 

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

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

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

Share this post


Link to post
Share on other sites
achavanin    229
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    368
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
36 минут назад, Sergii Udod сказал:

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

 

https://www.amk-team.ru/forum/faq/

Тебе в раздел: Оптимизация.

Edited by Алексей.1.2.3.

%D0%90%D0%BB%D0%B5%D0%BA%D1%81123%D0%B5%D0%B9.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
alen_fantom    554
1 час назад, xxxDJxxx сказал:

Метки на все тайники  глючная правка...Нормальной правки  ещё нет. ( А возможно и не будет. )

https://www.amk-team.ru/forum/topic/13904-kovyryaemsya-v-faylah-op-21/?do=findComment&comment=1225591

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

Не тереть.

Share this post


Link to post
Share on other sites
pacifist2017    29
14 минут назад, avesamk сказал:

Вылет при спавне "stinger"...

Квестовыe скорпионницы m_tushkano.ltx

quest_stinger_female

quest_stinger_male

 

по подсказке  Shurup  part_stinger_sting

 

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

Не тереть.

  • Like 1

Share this post


Link to post
Share on other sites
Dennis_Chikin    3,593
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    525

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

                                                                                        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

Подскажите как победить этот вылет. Происходит при подходе к ферме в Темной Долине. Заходил и со стороны Свалки и со стороны Лощины. Играю с правками без патчей. 

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

FATAL ERROR
[18.01.19 21:18:07.585]  
[18.01.19 21:18:07.585] [error]Expression    : vertex || show_restrictions(m_object)
[18.01.19 21:18:07.585] [error]Function      : CPatrolPathManager::select_point
[18.01.19 21:18:07.585] [error]File          : patrol_path_manager.cpp
[18.01.19 21:18:07.585] [error]Line          : 155
[18.01.19 21:18:07.585] [error]Description   : any vertex in patrol path [garb_tambovski_path] in inaccessible for object [gar_stalker_flame_quest2356868]

Сейв  https://drive.google.com/open?id=1CFQfu2GupAJBVsr9BSa93XxjGaui4mwH

Edited by skitalez_rus
Добавлено  W.A.S.P.,

Перемещено.

Добавлено polkooovnik,

Тамбовский зашел туда, куда нельзя заходить либо вышел оттудова, откуда нельзя выходить

Share this post


Link to post
Share on other sites
Nightshade2    139

Ну вообще можно удалить gar_stalker_flame_quest2356868 из меню и вылет исчезнет. На форуме писали такой вылет когда непись спавнится в аномалию. Так что или переигрывать или удалять непися.

  • Thanks 1
  • Согласен 2

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
Dennis_Chikin    3,593

Вылет по Кленову:


--' спавним пси-антенну на Кордоне
function x_ray_antenna_spawn()
    create("x_ray_antenna",xyz(109.698,4.617,459.677),411976,223)
    got("af_spirit_3")
end

function metka_psi_antenna()
    map_spot(server_object("esc_trupak_antenna").id,"crlc_big","metka_psi_antenna_0")
end

function remove_metka_psi_antenna()
    del_map_spot(server_object("esc_trupak_antenna").id,"crlc_big")
end

 

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

function metka_psi_antenna() end

function remove_metka_psi_antenna() end

 

Ну или традиционное

for i = 1, 65534 do

  local obj = alife():object( i )

  if obj and obj:section_name() == "x_ray_antenna" then

    map_spot(i,"crlc_big","metka_psi_antenna_0")

    return

  end

end

 

Аналогично с удалением метки.

 

Edited by Dennis_Chikin
Добавлено polkooovnik,

Для релиза

  • Like 1
  • Полезно 2

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...