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

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


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

(изменено)

В наборе инструментов от Stalk9r для ОП 2.1 патч 3 в описании, есть функция записи файл-поинтов с автосохранением в папку с сохранениями. Но файл сохранения не записывается! Записывается только файл-поинт в формате изображения "Имя@-37t35z44t73z625t65@-1t16@1.dds". И эти ДДСки с координатами точек, работают. Но пишется то все это добро в папку с сохранениями и там потом каша, а ее же переодически чистить рекомендуется. Попробовал это изменить. В fsgame.ltx дописал папку для файл-поинтов:

$user_point$            = true|        true|    $app_data_root$|              user_point\

В fp_manager.script заменил $game_saves$ на $user_point$

В итоге при создании точки получаю ошибку(без вылета), но при этом в папке "savedgames" создается рабочий файл-поинт в формате (.dds + .sav). Может кто из знающих допилит сей девайс? Такая же фигня и у Мобильного помощника(тоже ддс-ки в папке сохранений). И оба их можно поставить одновременно. Кому что нужно, по функционалу. Мне набор от Stalk9r как то больше по душе - ничего лишнего. 

Изменено пользователем tihik

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

Поделиться этим сообщением


Ссылка на сообщение

@Seth Cross

cycle_task.script 
self.task_time = 0  -- (с) время выполнения всех заданий, 2 недели
self.idle_time = 24*9000   -- (игровые часы) время между выдачами задания повторно, 5 игровых дней

 

  • Нравится 1

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

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@Скрудж, а в чем проблема то, там 2 значения, сделай так:

cycle_task.script 
self.task_time = 0  -- (с) время выполнения всех заданий, 2 недели
self.idle_time = 24*9000   -- (игровые часы) время между выдачами задания повторно, 5 игровых дней

Задания будут появляться 1 раз и без лимита времени.

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

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

Поделиться этим сообщением


Ссылка на сообщение
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

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

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@Starkiller, это для Нпс, зависимость кол-ва от ранга. Правь сколько душе угодно:az1000106:

Момент один важный, вчера сам попался. Ловил вылет и понять не мог, лог на определенный скрипт указывал, но там все в порядке было. Единственное что правку не в WinMerge а в блокноте делал, на этом и "попался".. Видимо с кодировкой что то не так, переделал в WinMerge, все заработало.

Изменено пользователем tihik

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

Поделиться этим сообщением


Ссылка на сообщение

@Vasya Glotov, в конфигах нужного оружия правишь параметр: slot = 0. При этом оружие не должно быть в оружейном слоте, иначе будет вылет.

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

scripts\binders\ bind_actor.script

--monster_parts.on_part_take(obj)

 

  • Полезно 1

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

Поделиться этим сообщением


Ссылка на сообщение

@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

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

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@Alexey Goncharenko, может просто falce поставить?

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

        -- играть на гармошке
        local f = true 
        npc_states["play_harmonica"] = f
        npc_states["wait_harmonica"] = f
        self.kamp_states["pre_harmonica"] = f
        self.kamp_states["harmonica"] = f
        self.kamp_states["post_harmonica"] = f

        -- играть на гитаре
        f = true 
        npc_states["play_guitar"] = f
        npc_states["wait_guitar"] = f
        self.kamp_states["pre_guitar"] = f
        self.kamp_states["guitar"] = f
        self.kamp_states["post_guitar"] = f

        -- играть на балалайке
        f = true 
        npc_states["play_balalaika"] = f
        npc_states["wait_balalaika"] = f
        self.kamp_states["pre_balalaika"] = f
        self.kamp_states["balalaika"] = f
        self.kamp_states["post_balalaika"] = f

Проверил на Мессере, вроде играть перестал)) 

А водку пить запретили:russian_ru:

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

-- пить водку -------ваще обнаглели, срочно разрешить!
npc_states["eat_vodka"] = false--true

@Alexey Goncharenko, ну хоть так пока, а по хорошему конечно вырезать, оставить может небольшой процент вероятности гитары, остальное лютая ересь..

Изменено пользователем tihik
  • Нравится 1
  • Полезно 2

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

Поделиться этим сообщением


Ссылка на сообщение

@Скрудж, поставь = 0, должны заработать. Потом верни сколько надо 24*5 это 5 игровых дней.

  • Спасибо 1

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

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

Кто понимает, подскажите, я честно говоря запутался, по Спавнеру авторскому от naxas. Вот из описания: 

Цитата

Спавнер от naxac: усовершенствованная версия. (Авторская версия). (Скрыть)
Автор @naxac   Внимательно прочесть описание использования: Добавил все секции и инфо-поршни из 8k.2. Теперь можно пользоваться "спавнером" и без файла cheat_base.script: запускаете один раз файл to_scan_config.cmd и потом запускаете игру: конфиги будут сканироваться каждый раз при включении "спавнера". ВАЖНО: надо, чтобы распакованные конфиги находились в папке gamedata! Для распаковки "конфигов": нажать в главном меню F2, распакованные файлы появятся в папке gamedata_unpack.

Как я понял, спавнер готов для использования с 8к2 патчем, с базой - cheat_base.script а остальные процедуры с батником, добавлением всех конфигов и их сканированием не нужны для 8к2 а добавлены для следующих патчей и создания обновленного cheat_base.script? Запустил без сканирования, вроде работает.

Изменено пользователем tihik
  • Согласен 1

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

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

Поковырялся тут с key_handlers.script из сборки Алексея Гончаренко, в итоге получил, на нумпаде, неуязвимость; вкл - / откл - *, невидимость; вкл - Del, откл - Enter, с визуализацией включения и отключения легким белым свечением от teleport.ppe, в игре, не выходя в меню. На нумпад убрал(изначально с нажатием shift и ctrl на v и b было), чтоб удобней но подальше, т.к. функции по большому счету вредные и убивают интерес к игре очень быстро. Но для некоторых моментов, месиво очередное или где что забрать без боя, полезны, даже не заменимы :az1000106: Там же и аналог полета на F1(35м), F2(5м).

 

Присутствует и непонятный мне Оповский телепорт на F4(тоже из игры, в меню выходить не надо), без ошибки и сразу с курсором. Но, он перемещает по вертексам и координатам, только в пределах одной локации, что по сути = возвращатель. Не работает в нем и сохранение позиции. Помогите разобраться, можно его как то допилить до полноценного телепортатора с сохранением заданных точек? А не то придется набор инструментов, от которого уже было отказался, возвращать:crazy2:

 

Вред бездумных телепортаций знаю, потому использую всегда осторожно, как универсальный всепространственный возвращатель :biggrin: для доступа к схрону, который все в одном месте за локацией и туда где уже был и там ничего нового сюжетного не намечается. Утомляет беготня по уже изведанным местам...

 

п.с. Огромная просьба отвечать только по существу! А именно по телепортатору.

 

@Voland-Li, уважаемый, ваша не особо нагруженная смыслом, болтовня на форуме, тоже утомляет, как и беготня в игре. Если вы не в состоянии понять что пишут и для чего, не засоряйте ветку.

Изменено пользователем tihik
  • Спасибо 1
  • Согласен 3
  • Полезно 1
  • Сомнительно 1

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

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@joo-jarak, делал памятку для себя, может пригодится:

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

-----Папки sounds, textures - не пересекаются-------

Правка на покупку предмета из меню (ui_mm_opt_add.script) -не нужна, не имеет отношения к набору как таковому, добавляется если надо, отдельно.

-------- скрипты--------

timers.script --там понятно

--таймеры камеры-телепорта и автотеле

----------------------------

binders\bind_actor.script

s9r_launcher.launch(obj)

----------------------------

сallbacks\key_handlers.script  - функция прыгуна, 5 метра -убрал(у меня он в другой правке, отдельно без кнопки в настройках, к набору не относится)

       ["cam_zoom_in"]={

             func=function()

       if level.present() and (db.actor ~= nil) and db.actor:alive() then

       db.actor:set_actor_position(device().cam_pos:add(device().cam_dir:mul(5.0)))

       end 

             end

       },

---------Конфиги---------

system.ltx – «прописка» в 2х местах, там понятно

text\ui.xml  – описание кнопки прыгуна -убрал

ui\ui_keybinding.xml – кнопка прыгуна в настройки -убрал

-----------Остальные скрипты и конфиги не пересекаются------------

С правками «Спавнер от naxac авторская версия+Pokazometr 0.5 beta for amk» не пересекается, потому смело совмещаем.

 

@Pe4nik, в шапке адаптированный именно для 8.2. При этом ни что не мешает, сравнить с файлами патча и выяснить, что страшная "адаптация" заключается в прописывание кнопки "S" в ui_main_menu.script для включения спавнера в меню игры. Остальные конфиги с файлами игры не пересекаются! Описание немного мудреное и отпугивает. Наличие всех конфигов для сканирования при запуске для 8.2 не нужно, т.к. база для 8.2 актуальна. То что в архиве для сканирования, это для следующих патчей. Из архива нужна только gamedata. Адаптация заключается в сравнении ui_main_menu.script если он у вас затрагивается своими правками. Если нет - поставил, запустил игру, в меню нажал "S". Все.

Изменено пользователем tihik
  • Спасибо 3
  • Согласен 2

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

Поделиться этим сообщением


Ссылка на сообщение

Номного подправил правку на выпадение исправных стволов и броников, т.к. разброс 85-100% присутствовал из-за local global_rebalance_cond = 15

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

-- вероятность выпадения бронежилетов и диапазон состояний выпавших бронежилетов и оружия
-- condition - диапазон состояний выпавшего оружия
-- outfit_condition - диапазон состояний выпавших бронежилетов
-- probability_outfit - вероятность выпадения бронежилетов
local conditions = {
    default = { -- значения по-умолчанию для неизвестной группировки
        condition                 = {min = 100, max = 100},
        outfit_condition         = {min = 100, max = 100},
        probability_outfit        = 20
    },
    communities = {
        ["military"]    = {
            condition            = {min = 100, max = 100},
            outfit_condition        = {min = 100, max = 100},
            probability_outfit    = 20
        },
        ["killer"]        = {
            condition            = {min = 100, max = 100},
            outfit_condition        = {min = 100, max = 100},
            probability_outfit    = 20
        },
        ["monolith"]    = {
            condition            = {min = 100, max = 100},
            outfit_condition        = {min = 100, max = 100},
            probability_outfit    = 20
        },
        ["zombied"]        = {
            condition            = {min = 100, max = 100},
            outfit_condition        = {min = 100, max = 100},
            probability_outfit    = 20
        },
        ["bandit"]        = {
            condition            = {min = 100, max = 100},
            outfit_condition        = {min = 100, max = 100},
            probability_outfit    = 20
        },
        ["stalker"]        = {
            condition            = {min = 100, max = 100},
            outfit_condition        = {min = 100, max = 100},
            probability_outfit    = 20
        },
        ["dolg"]        = {
            condition            = {min = 100, max = 100},
            outfit_condition        = {min = 100, max = 100},
            probability_outfit    = 20
        },
        ["freedom"]        = {
            condition            = {min = 100, max = 100},
            outfit_condition        = {min = 100, max = 100},
            probability_outfit    = 20
        },
        ["ecolog"]        = {
            condition            = {min = 100, max = 100},
            outfit_condition        = {min = 100, max = 100},
            probability_outfit    = 20
        },
        ["sniper"]        = {
            condition            = {min = 100, max = 100},
            outfit_condition        = {min = 100, max = 100},
            probability_outfit    = 20
        },
        ["green"]        = {
            condition            = {min = 100, max = 100},
            outfit_condition        = {min = 100, max = 100},
            probability_outfit    = 20
        },
        ["nebo"]        = {
            condition            = {min = 100, max = 100},
            outfit_condition        = {min = 100, max = 100},
            probability_outfit    = 20
        },
        ["lastday"]        = {
            condition            = {min = 100, max = 100},
            outfit_condition        = {min = 100, max = 100},
            probability_outfit    = 20
        }
    }
}

local global_rebalance_cond = 0
local global_rebalance_loot = 0.1

 

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

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

Поделиться этим сообщением


Ссылка на сообщение

@uraltab, в config\misc\quest_items.ltx добавь ему 

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

;-- Пробойник
[snp_proboynik]:snp_note1
description            = snp_proboynik_desc
inv_name            = snp_proboynik
quest_item            = false
inv_grid_width         = 3
inv_grid_height        = 2
inv_grid_x                 = 69
inv_grid_y                 = 60

 

  • Спасибо 1
  • Нравится 2

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

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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

AMK-Team.ru

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