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

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


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

@Alexey Goncharenko, если в Ваш файл key_handlers.script, вставить перед  строчкой [DIK_keys.DIK_R]={

Spoiler

        [DIK_keys.DIK_F4]={
            data={},
            func=function(key,action)
                if shift_state then
                    utils.set_coords_visible(not utils.get_coords_visible())
                else
                    if not cheat_wnd then
                        cheat_wnd = positioninformer.pi()
                    end
                    cheat_wnd:showposinfo()
                    level.start_stop_menu(level.main_input_receiver(), true)
                    level.start_stop_menu(cheat_wnd, true)
                end
            end
        },
 

то получим очень полезную вестчь: позицио-информер, вырезанную до релиза.

 

@samec, см. в файле gamedata\scripts\protected_items.script, id Фенрира на Юпитере fenrir_jupiter 19911

Spoiler

-- Квестовые неписи, не участвующие в оффлайн и онлайн алайфе АМК, проверка по секции
local no_offline_alife_npcs = {
    ["kotobegemot_bar"] = true,
    ["kotobegemot_zaton"] = true,
    ["ariadna_bar"] = true,
    ["ariadna_zaton"] = true,
    ["fenrir_zaton"] = true,
    ["fenrir_2chaes"] = true,
    ["fenrir_jupiter"] = true,
    ["wolffrend_talk_zaton"] = true,
    ["wolffrend_talk_zaton2"] = true,
    ["resident_evil_zaton"] = true,
    ["resident_evil_jupiter"] = true,
    ["bibliofrend_talk_zaton"] = true,
    ["bibliofrend_talk_black_zaton"] = true,
    ["anna_zaton"] = true,
    ["anna_zaton2"] = true,
    ["anna_jupiter"] = true,
    ["ludmila_zaton"] = true,
    ["maria_kordon"] = true,
    ["elsa_yantar"] = true,
    ["gena_oso"] = true,
    ["snegir_2chaes"] = true,
    ["snegir_kordon"] = true,
    ["snegir2_2chaes"] = true,
    ["snegir3_2chaes"] = true,
    ["bubulyka_zaton"] = true,
    ["lobsang_zaton"] = true,
    ["brodaga_mg"] = true,
    ["brodaga_zaton"] = true,
    ["boroda_jupiter"] = true,
    ["boroda_zaton"] = true,
    ["vesker_zaton"] = true,
    ["proper70_limansk"] = true,
    ["proper70_jupiter"] = true,
    ["proper70_zaton"] = true,
    ["tm_jupiter1"] = true,
    ["parad_tm"] = true,
    ["tm_brother_labirint"] = true,
    ["tm_brother_2chaes"] = true,
    ["volazar"] = true,
    ["volazar_new"] = true,
    ["ozersky"] = true,
    -- Akill begin
    ["predator_npc"] = true,
    ["dragunof_npc"] = true,
    ["fotograf_npc"] = true,
    ["akill_npc"] = true,
    ["noi_npc"] = true,
    ["partizan_npc"] = true,
    ["sledopyt_npc"] = true,
    ["trofim_npc"] = true,
    ["laperuz_npc"] = true,
    ["varg_npc"] = true,
    ["greshnik_npc"] = true,
    ["ecolog_with_flash"] = true,
    -- Akill end
    ["snp_semetskiy"] = true
}

-- табличка исключений трупов сталкеров для уборщика по story_id
local tabl_corps_keep_by_story_id = {
    450,
    903,
    19910,
    19911,
    19912,
    19913,
    19918,
    19919,
    9969,
    21023,
    30118,
--chessplayer
    22001,
    22002,
    22003,
    22004,
    22005,
    22006,
    22007,
    22008
--chessplayer end
}
 

 

Ссылка на комментарий
17 минут назад, Voland-Li сказал:

Подскажите как арт называется, что увеличивает высоту прыжка?

Пакость - af_pakost, Болотный призрак - af_bol_prizrak, Спрут - af_dummy_bonanza.

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

@Aleks1, смотри в распакованной игре расположение одноимённых файлов.

У себя создай папку gamedata и там уже помести правки в идентичное расположение.

Если рюкзак у тебя в файле drrr.script то его расположение

\gamedata\scripts\drrr.script

Если бег по воде gamemtl.xr то в \gamedata\gamemtl.xr

 

@nface777, в правке из шапки редактировали \gamedata\scripts\inventory.script

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

 

вместо

    self.imm_limits = {100, 86, 73, 60}

это

    self.imm_limits = {9999, 9999, 9999, 9999}

 

Она должна работать вроде как на любом патче.

 

@wdfgosdgf, в свойства ярлыка допиши -smap8192 И качество теней возрастёт в разы. К примеру

C:\Games\OP_2.1\bin\XR_3DA.exe -nointro -smap8192

 

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

@Voland-Li

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

kostya_dialogs.script

Сделай так:

function doktor_lekar1_have()
    if not has_info("doktor_lekar1_start") or has_info("acv_lekar2") then return end

    local cnt = get_value("lekar",0)
    cnt = cnt+1

    if cnt == 1 then
        sms("%c[sender]"..translate("name_doktor")..":\\n%c[sms_red]"..translate("sms_doctor_doktor_lekar1_have_1_0"), nil, "doctor", 30000, nil, [[sms\doctor\doktor_lekar1_have_1]])
    elseif cnt == 2 then
        sms("%c[sender]"..translate("name_doktor")..":\\n%c[sms_red]"..translate("sms_doctor_doktor_lekar1_have_2_0"), nil, "doctor", 30000, nil, [[sms\doctor\doktor_lekar1_have_2]])
    elseif cnt == 3 then
        sms("%c[sender]"..translate("name_doktor")..":\\n%c[sms_red]"..translate("sms_doctor_doktor_lekar1_have_3_0"), nil, "doctor", 30000, nil, [[sms\doctor\doktor_lekar1_have_3]])
    elseif cnt == 4 then
        sms("%c[sender]"..translate("name_doktor")..":\\n%c[sms_red]"..translate("sms_doctor_doktor_lekar1_have_4_0"), nil, "doctor", 30000, nil, [[sms\doctor\doktor_lekar1_have_4]])
        give_info("doktor_lekar1_have")
    elseif cnt == 5 then
        give_info("acv_lekar")
    elseif cnt == 6 then
        give_info("acv_lekar2")
        del_value("lekar")
        return
    end

 

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

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

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

Первый раз установил ОП-2.1, все нормально играл ставил правки все было нормально за исключением того, что многие коллиматоры были без прицельных сеток.

На статике так и будет.

1 час назад, m4xg сказал:

Как только я выхожу в винду и запускаю игру заново, то при загрузке любого сохранения у меня опять нет худа! Уже не знаю, что и делать... (numpad+ - не работает)

Варианты:

- в консоли выполнить hud_indicators_visible on

- в юзере(user.ltx) найти тот же hud_indicators_visible off - "off" исправить на "on"

==================

Кстати, господа Кураторы, почему почистили мой пост про это самое:

hud_indicators_visible off\on

не информативен, флуд.?

 

======================

wdfgosdgf ,  в юзере(user.ltx)  r2_sun_near увеличить значение, например 40...

Изменено пользователем alen_fantom
Добавлено JAPAN,

возможно по ошибке скрыли, твои посты обычно остаются при чистке.

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

Кого достала непрерывная болтовня в Баре, (возле Информатора) - вот заглушка: Ссылка

Нпс у костров теперь разговаривают  поменьше, так оно стало как то лучше.

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

Перестал запускаться ОП 2.1  При запуске сразу вылет. Был 4.2, прешел на 5.2 не помогло. Было пару правок. 

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

 

* Detected CPU: GenuineIntel Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz, F6/M158/S9 Counts: 4
* CPU Features: RDTSC, MMX, SSE, SSE2, SSE3, SSE4.1, SSE4.2

Initializing File System...
using fs-ltx c:\games\op-2.1\fsgame.ltx
CLocatorAPI::_initialize, FS: 77977 files cached, 18220Kb memory used.
Init FileSystem 0.729225 sec
[04.03.19 11:43:42.864] 'xrCore' build 7311, Feb 11 2019
[04.03.19 11:43:42.864] OP 2.1 Engine ver 1.0f patch ver 0.5
[04.03.19 11:43:42.864] 
[04.03.19 11:43:43.080] - Found HUDs [ advancer asket asket_v2 cop cop_v2 cop_v3 default heroin_zero heroin_zero_v2 modern neoclassic oracle_new overhaul overhaul_2 overhaul_light pda serafim stalker_shoc ]
[04.03.19 11:43:43.081] Initializing Engine...
[04.03.19 11:43:43.083] - Create user-defined param [ amk_option_hud amk_option_mus amk_option_treasure autochange_difficulty autograb_body autosave_enable
[04.03.19 11:43:43.083]  buy_item death_counter dynamic_bioradar ext_animations fast_respawn horror_time_enable invalid_objects new_sms pause_on_load pause_on_load_call_sound
[04.03.19 11:43:43.083]  transparent_treasure user_name ]
[04.03.19 11:43:43.083] Loading  config for renderer 
[04.03.19 11:43:43.083] Executing config-script "user.ltx"...
[04.03.19 11:43:43.083]  
[04.03.19 11:43:43.083] FATAL ERROR
[04.03.19 11:43:43.083]  
[04.03.19 11:43:43.083] [error]Expression    : sz<(tgt_sz-1)
[04.03.19 11:43:43.083] [error]Function      : IReader::r_string
[04.03.19 11:43:43.083] [error]File          : FS.cpp
[04.03.19 11:43:43.083] [error]Line          : 416
[04.03.19 11:43:43.083] [error]Description   : Dest string less than needed.
[04.03.19 11:43:43.083]  
[04.03.19 11:43:43.083] 
[04.03.19 11:43:43.085] stack trace:
[04.03.19 11:43:43.085] 
[04.03.19 11:43:43.114] *** break by StackWalk ***
[04.03.19 11:43:43.114] stack trace:
[04.03.19 11:43:43.114] 
[04.03.19 11:43:43.114]      0023:5BF0ED3B (0x5BF2240C 0x5BF223EC 0x00000000 0x00000000) xrCore.dll, xrDebug::backend(), s:\xrcore\xrdebugnew.cpp, 295
[04.03.19 11:43:43.114]      0023:5BF02A36 (0x008FD2F4 0x00000400 0x00000000 0x00E41918) xrCore.dll, IReader::r_string(), s:\xrcore\fs.cpp, 417
[04.03.19 11:43:43.114]      0023:00DEFC81 (0x0559F4AC 0x00000000 0x00E41918 0x00000018) XR_3DA.exe, CCC_LoadCFG::Execute(), s:\xr_3da\xr_ioc_cmd.cpp, 300
[04.03.19 11:43:43.114]      0023:00D90CD6 (0x00D30000 0x00000000 0x00162829 0x00000001) XR_3DA.exe, WinMain_impl(), s:\xr_3da\x_ray.cpp, 711
[04.03.19 11:43:43.114]      0023:00D90920 (0x00D30000 0x00000000 0x00162829 0x00000001) XR_3DA.exe, WinMain(), s:\xr_3da\x_ray.cpp, 777
[04.03.19 11:43:43.114]      0023:00D8B6CB (0x00673000 0x74DD8460 0xAF870C6C 0x008FFAC8) XR_3DA.exe, __scrt_common_main_seh(), f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl, 253
[04.03.19 11:43:43.114]      0023:74DD8484 (0x00673000 0xD88C9A15 0x00000000 0x00000000) KERNEL32.DLL, BaseThreadInitThunk()
[04.03.19 11:43:43.114]      0023:772141C8 (0xFFFFFFFF 0x7722F346 0x00000000 0x00000000) ntdll.dll, RtlAreBitsSet()
[04.03.19 11:43:43.114]      0023:77214198 (0x00D8B73D 0x00673000 0x00000000 0x00000000) ntdll.dll, RtlAreBitsSet()

 

 

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

Нужно срочно повысить репутацию у Свободы, чтобы были хотя бы нейтралами

Вот это вставить в конец файла ui_main_menu.script

elseif dik == DIK_keys.DIK_M then relations()

 

function relations(community1, community2) 
relation_registry.set_community_goodwill ("freedom", "actor", 5000) 
end

Зайти в игру, затем выйти в меню, и нажать кл. "М"

Изменено пользователем Nevada47
  • Полезно 1

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

Nevada47.gif

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

@16021979, да потри ты уже этот army_counter в protected_items.script, в секции исключений для уборщика, либо по полному, либо по частичному совпадению. Если по частичному, ищи слова отдельно (army_, _counter и подобное).

А эти 1200 сдай Лукашу, а то, что он даст сплавь Скряге, благо рядом стоит.

 

Кто нибудь замечал, что разрабы оставили в key_handlers.script нормальный такой телепортатор по координатам? На F4, менюшка прилагается. Шифт+ф4 включит отображение координат в реальном времени, под картой.

Нажимать прямо во время игры, не в паузе.

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

        [DIK_keys.DIK_F4]={
            data={},
            func=function(key,action)
                if shift_state then
                    utils.set_coords_visible(not utils.get_coords_visible())
                else
                    if not cheat_wnd then
                        cheat_wnd = positioninformer.pi()
                    end
                    cheat_wnd:showposinfo()
                    level.start_stop_menu(level.main_input_receiver(), true)
                    level.start_stop_menu(cheat_wnd, true)
                end
            end
        },

 

 

@Anriel, Ман, листай выше, я писал как подружиться со свободой, да и не я один.

 

А у Сидора нет диалога на это просто потому, что там стоит условие, что гг должен быть в группировке actor, иначе говоря одиночкой.

И ты там где то накосяпурил. Может до этого свободе насолил. Т.к. они должны быть нейтралами гг-наёмнику.

Ещё один вариант special 4 u, действует только при первом подьёме печатки.

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

function join_killer(actor, npc)
    db.actor:set_character_community("killer", 0, 0)
    local chkgoodwill = relation_registry.community_goodwill("killer", db.actor:id())
    if chkgoodwill < 0 then 
        chkgoodwill = chkgoodwill+300
        relation_registry.set_community_goodwill("killer", db.actor:id(), chkgoodwill)
    else
        relation_registry.set_community_goodwill("killer", db.actor:id(), 300)
    end

    relation_registry.set_community_goodwill("stalker", db.actor:id(), 2400)--это мирит с одиночками, число сам выбери, мне это подошло.

    relation_registry.set_community_goodwill("freedom", db.actor:id(), 2400)--это со свободой, число сам для себя ищи. Возьми печатку, посмотри сколько у них отношения к тебе в данных в пда, и это же число, только без                                                                                                                               --минуса, вставь в эту строчку вместо 2400. Хотя можешь хоть мильон написать.
end

 

Изменено пользователем Kakos
  • Спасибо 2
  • Согласен 2
  • Полезно 1
Ссылка на комментарий

@GSB_Helik, файлы system.ltx и actor.ltx содержат характеристики ГГ.

Личное сопротивление урону(если не ошибаюсь) зависит от уровня сложности.

Смотри в \gamedata\config\creatures\actor.ltx

hit_probability_gd_(сложность игры) = процент входящего урона

actor_immunities_gd_(сложность игры) секции имунитетов.

  • Спасибо 1
  • Полезно 1
Ссылка на комментарий
В 16.01.2019 в 00:19, IIIGooGLuKIII сказал:

Диспетчер задач - Проводник (пкм) - перезапустить

Эта табличка неплохо так нагружает CPU. Однако, перезапуск проводника никак не помогает (в Win 10 по крайней мере). Только перезагрузка системы. Единственное, что нашёл - WinLister, вот она убивает сиё безобразие 

https://www.softportal.com/software-36780-winlister.html

Изменено пользователем mole venomous
  • Нравится 1

Здесь могла быть ваша реклама.

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

Подскажите, пожалуйста, а есть ли "правочка" на квест Арни на тест пистолетов? Чтобы не 30 человек завалить надо было из каждого, а по 5-10 на ствол?

  • Сочувствую 1
Ссылка на комментарий

@Alexey Goncharenko

1 час назад, Alexey Goncharenko сказал:

Измени 30 на 2 или даже 1 и радуйся.

я так понял если из этого списка выкинуть (закомметить) все стволы и оставить всего 1, причем сделав  ["wpn_tt33"]={max=30 1,infoop="arny_test_tt"}, то в результате получится что надо будет 1 раз убить с одного ствола всего лишь?

 

@Alexey Goncharenko, т.е получается  \gamedata\scripts\akill.script  подправить вкупе надо?

Изменено пользователем Voland-Li
  • Полезно 1

Voland-Li.gif

Страшно смотреть, как на жестком диске прямо на глазах уменьшается место.

Но еще страшнее смотреть, когда оно прямо на глазах увеличивается. :facepalm:

Вангую. Скоро попросят правку:"Меченый появляется на Кордоне. Телепорт к Монолиту. Загадывает Желание. THE END."

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

@Voland-Li, не совсем.

Из-за куска в \gamedata\scripts\akill.script могут быть вылеты от сокращения списка в \gamedata\scripts\test_pistols.script

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

-- ТЕСТ ПИСТОЛЕТОВ
function arny_pistol_have_all()
    return
        has_good("wpn_tt33",1) and
        has_good("wpn_pmm",1) and
        has_good("wpn_mp444",1) and
        has_good("wpn_beretta",1) and
        has_good("wpn_hpsa",1) and
        has_good("wpn_walther",1) and
        has_good("wpn_cz75",1) and
        has_good("wpn_glock23",1) and
        has_good("wpn_colt1911",1) and
        has_good("wpn_sig220",1) and
        has_good("wpn_usp_40",1) and
        has_good("wpn_fnp45",1)
end

 

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

function arny_test_disable()
    disable_info("arny_test_tt")
    disable_info("arny_test_pmm")
    disable_info("arny_test_mp444")
    disable_info("arny_test_beretta")
    disable_info("arny_test_hpsa")
    disable_info("arny_test_walther")
    disable_info("arny_test_cz")
    disable_info("arny_test_glock")
    disable_info("arny_test_colt")
    disable_info("arny_test_sig")
    disable_info("arny_test_usp")
    disable_info("arny_test_fnp")
end

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

function arny_test_have()
    local arny_test = {
    "arny_test_tt",
    "arny_test_pmm",
    "arny_test_mp444",
    "arny_test_beretta",
    "arny_test_hpsa",
    "arny_test_walther",
    "arny_test_cz",
    "arny_test_glock",
    "arny_test_colt",
    "arny_test_sig",
    "arny_test_usp",
    "arny_test_fnp"
        }
    give_info(arny_test[math.random(#arny_test)])
end

 

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

function arny_test_wpn_tt()
    lost_good("wpn_tt33",1)
end
function arny_test_wpn_pmm()
    lost_good("wpn_pmm",1)
end
function arny_test_wpn_mp()
    lost_good("wpn_mp444",1)
end
function arny_test_wpn_beretta()
    lost_good("wpn_beretta",1)
end
function arny_test_wpn_hpsa()
    lost_good("wpn_hpsa",1)
end
function arny_test_wpn_walther()
    lost_good("wpn_walther",1)
end
function arny_test_wpn_cz()
    lost_good("wpn_cz75",1)
end
function arny_test_wpn_glock()
    lost_good("wpn_glock23",1)
end
function arny_test_wpn_colt()
    lost_good("wpn_colt1911",1)
end
function arny_test_wpn_sig()
    lost_good("wpn_sig220",1)
end
function arny_test_wpn_usp()
    lost_good("wpn_usp_40",1)
end
function arny_test_wpn_fnp()
    lost_good("wpn_fnp45",1)
end
function arny_test_done()
    kostya_dialog.give_ammo(8)
    got("strelok_turret",1)
end

 

 

@Voland-Li , да , если сокращать список тестируемых пушек - то во всех списках сразу.

Но ИМХО лучше оставить хотя бы 2 пушки и каждой задать в требованиях по 2 убийства.

Пару килов из пма и пару из тт - и турель у тебя в кармане. Если сокращать до 1оружия то могут быть глюки с функцией math random.

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

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