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

[SoC] Ковыряемся в файлах

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

Всем привет!

Подскажите несмышленышу, как называется инфопоршень, который выдается после взятия документов в Х-18 в темной долине. После него еще много вояк спаунится и ГГ бежит на кордон к Сидоровичу. А то у меня в Х-18 вояки появились, а в самой ТД никого нет и у Сидоровича с Барменом ветки диалога продолжения основного квеста не появляется, хотя доки с собой. Первый раз такая фигня. Обыдно..

 

З,Ы. если правильно понимаю, данный инфопоршень должен выдаваться при переходе между локациями, с Х-18 на Темную долину

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

@Lanta87, в чистом распакованном 1.0004 файл gameplay\tasks_darkvalley, в нём задание "bar_darklab_documents2". Там всё видно - после проверки наличия у ГГ документов (функция has_darklab_documents ) выдаются три поршня - bar_darklab_document_gain, dar_document5, val_raid_start. Вероятно, первый определяет, что квест сделан (но не сдан!), средний непонятно на фиг нужен, а последний отвечает за переход вояк в онлайн. В файле gameplay\dialogs_bar конструкции диалогов, где строка "<has_info>bar_darklab_document_gain</has_info>" означает, что фраза ниже этой строки будет доступна после получения нужного инфо. Ну в общем отсюда и надо плясать.


@Lanta87, А что касается Сидоровича, то в all.spawn есть рестриктор "esc_return_from_dv". Видимо, нужно разобраться и в нём.


Там имеем следующее - при входе ГГ в зону рестриктора выдаются инфопоршены - "esc_return", "esc_trader_speak", исполняется функция "esc_return_dv". Ту же логику имеет ещё один рестриктор - "esc_return_from_gar".

  • Спасибо 1

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


Подарки

  • 4
  • 3
  • 2
  • 3
  • Ссылка на комментарий

    mole venomous, полагаю, дело не в поршнях, а в глюке. Если вояки в Х-18 появились, они должны появиться и в ТД, а этого не случилось. Наверно, потому и рестр при возвращении на Кордон не срабатывает. Кстати, их два: при заходе из ТД и при заходе со Свалки.

     

    Lanta87, Возможно, переигровка в Х-18 поможет.

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

    Сталкер - наше всё!

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

     

    выдаются три поршня - bar_darklab_document_gain, dar_document5, val_raid_start.

        Да, трабл был в отсутствии этих инфопоршней. Пришлось прописать их в диалог с одним НПС, и после выдачи их Меченному, вокруг фабрики в ТД сразу как положено заспаунился спецназ, а после перехода на Кордон сработал рестриктор "esc_return_from_dv", у Сидоровича и Бармена появились нужные ветки диалогов. Кстати и появление Фаната в деревне новичков на нем же висит.

        Непонятна причина возникновения данного глюка (особенно то, что в Лаборатории спецназ почему-то сразу появился без проблем), ни разу такого еще не встречалось.. Стоило бы переиграть и проверить, как предложил AndrewMor, да жаль, сохранок не осталось.

        Спасибо за помощь!

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

     

     

    жаль, сохранок не осталось.

    Именные сейвы (через меню, не квиком) на каждой локации - аксиома для всех игроков в Сталкер. Этим можно избавить себя от целой кучи проблем (ну и нервы сберечь). Удачи.

    • Согласен 4

    Сталкер - наше всё!

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

     

     

    Именные сейвы
    Полностью согласен. Я вообще считаю, стоит потратить немного времени и забиндить сохранения на хоткейс в меню, для сейвов, отсортированных по имени локации и дате. А так же сделать себе автосейвы при выбросе и взятии/выполнении/сдаче важных квестов.

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


    Подарки

  • 4
  • 2
  • 5
  • 5
  • Ссылка на комментарий
    автосейвы

    Фигня эти ваши автосейвы. Логика ломается на раз. Игра должна стать на паузу, вот тогда это будет нормальный сейв.

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

     

     

    Фигня эти ваши автосейвы
    А что мешает автоматизировать постановку на паузу перед сейвом?
    • Согласен 1

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


    Подарки

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

     

     

    А что мешает автоматизировать
    А давай попробуем? Приведи код. И чтобы геймер не крыл тебя матом, когда ты поставишь на паузу.

     

    P.S.Сделай паузу в самом интересном месте...

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

    Всем привет. Я понимаю, что, возможно не в ту тему пишу. Но думаю, что в ТЧ принцип аналогичный. В общем: как в Call of Chernobyl сделать так, чтобы трассеры вылетали всегда, а не рандомно? Там бывает такое, что они на каждую пятую пулю показываются, бывает и нет. Когда как. Уж конфиги стволов и патронов перерыл - ничего не нашел. И значения от оригинального сталкера ставил - не помогает. Шейдер "effect_bullet_tracer" тоже на оригинальный (ЗП-шный) заменял - не помогло. (в настройках игры "показывать трассеры" тоже всё включено.  В чём может быть дело? Помогите, пожалуйста. Напрягает это) Удовольствия от перестрелок нет никаких.

    Изменено пользователем Helgi
    Ссылка на комментарий

     

     

    А давай попробуем
    Под паузой я имел ввиду main menu. Но на деле мало что даёт. Попробуй ка сохраниться на паузе или в меню, перед этим загрузив сейв. Почти гарантировано получим крах логики. Если ж кого то не устраивают дополнительные автосейвы (не те, что каждые n минут), не пользуйтесь ими. Я на тестах укрытий от выброса не получил ни одного битого сейва в начале выброса.

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


    Подарки

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

     

     

    А давай попробуем?

    Смотри в ОГСЕ. Там переработана система квиксейвов и как-то замешана автопауза (автоматически ставится/снимается в момент сохранения) или что-то вроде того, точно систему не помню.

    GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Куча раритетных модов на моем облаке — на память о былом.

    JNCR — Coming Soon...

    i5-10400F / RAM 16GB / GTX 1660 Super / 1TB HDD+256GB SSDm2 / Win 11 PRO x64 / Samsung Curved 27" x2


    Подарки

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

    Так а в чем, собственно, проблема ?

     

    level.add_call(), внутри - device:pause( true ), get_console():execute( "save " .. fn ), device:pause( false ) - не ?

     

    Но вообще, просто не надо в момент сэйва создавать/удалять пачками объекты.

    Изменено пользователем Dennis_Chikin
    • Спасибо 1
    Ссылка на комментарий
    Там переработана система квиксейвов

    А разве квиксейв там не полностью отрублен?

    Ну да. Посмотрел лист правок, там и авто и квик отключены:

    #ifdef DISABLE_QUICKSAVE
    ; отключение квиксейва (потому что игра не становилась на паузу и после этого отваливалась логика у объектов)
    0x101A7081 1
    #endif
    
    #ifdef DISABLE_AUTOSAVE
    ; отключение периодических автосейвов (отключено, потому что игра не становилась на паузу и после этого отваливалась логика у объектов)
    0x101BE8C0 3
    #endif
    

    Надо будет в скриптах внимательней посмотреть. Но вот взлетит ли без их движка?

     

     

     

    просто не надо в момент сэйва создавать/удалять пачками объекты.
    Да вот с объектами получается более-менее нормально. А вот инфопоршни довольно часто улетучиваются.

    И - спасибо за наводку!

    Изменено пользователем Marafon6540
    Ссылка на комментарий
    @Marafon6540, квиксейв не взлетит. Он там делается консольной командой ogse_quicksave, если я правильно помню написание.
    • Спасибо 1
    Ссылка на комментарий

    Привет матёрые, вопрос наверное нубовский, если где обсуждалось тыкнете носом пожалуйста: куда исчезают квестовые нпс - Лис, Бесс, Серый, Крот и т.д? Есть ли вариант оставить их в игре? Где копать? Есть ли мод какой?

    • Согласен 1

     Моя нычкаНычка в арендованном у Опричника холодильнике  

    Мы хорошие ребята, жаль патронов маловато:):ukostra:

    UriZzz.gif

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

    Лис - gulag_escape.script

    	if type == "esc_stalker_camp" then
    		return function(gulag)
    			if has_alife_info("yan_provodnik_spawn") then
    				return 1
    			else
    				return 0
    			end
    		end
    	end
    Остальные - идея та же, но в олспавне.

     

     

    2 АndrewMor: Порги и Бесс - это опера такая. ;) Но с гендером здесь явно что-то не то.

    Изменено пользователем Dennis_Chikin
    Ссылка на комментарий

    UriZzz, все они уходят в офлайн при выдаче соответствующих инфопоршней. Для примера - Лис, кстати. тем же поршнем переводится в онлайн Проводник. Они в одном гулаге, и переходят из онлайна в офлайн одним и тем же инфопоршнем. Лис уходит, Проводник появляется.

     

    Я в своем моде оставил и Крота, и Лиса в онлайне. Только Крота пришлось продублировать на Свалке (на Агро увести в офлайн, а на Свалке перевести в онлайн, создав клона. Коряво, но он есть, и сидит вместе с Серым на остановке). По уму, надо было Крота на Агро вывести из игры, но лень было делать :)  ).

     

    Бесс - это сильно написано :)

    • Спасибо 1

    Сталкер - наше всё!

    Ссылка на комментарий
    @Dennis_Chikin, кажется я уже начал понимать, значит, как вариант, можно попробовать удалить эту секцию из файла вообще и если после этого не будет вылета то можно будет посмотреть что получилось;). Держу пари, с Серым и Бесом та же песня, а вот Крота, Пулю с напарником и бандитского пленного предается дублировать мдааа, но это надо Волка смотреть или Круглова, как у них там сделано.

     Моя нычкаНычка в арендованном у Опричника холодильнике  

    Мы хорошие ребята, жаль патронов маловато:):ukostra:

    UriZzz.gif

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

    Вылет, разумеется, будет, поскольку состояние 0 должно быть всегда.

    Если что-то менять, то это там, где оно используется: выше в том же файле:

     

    	if type == "esc_stalker_camp" then
    		t = { section = "logic@esc_stalker_camp_provodnik",
    			idle = 0,
    			prior = 10, state = {0},
    			online = false,
    			in_rest = "", out_rest = "",
    			predicate = function(obj_info)
    			            	return obj_info.profile_name == "esc_provodnik"
    			            end
    		}
    		table.insert(sj, t)
    		t = { section = "logic@esc_stalker_fox",
    			idle = 0,
    			prior = 10, state = {0},
    			in_rest = "", out_rest = "",
    			predicate = function(obj_info)
    			            	return obj_info.profile_name == "esc_fox"
    			            end
    		}
    		table.insert(sj, t)
    
    		t = { section = "logic@esc_stalker_camp_provodnik",
    			idle = 0,
    			prior = 10, state = {1},
    			in_rest = "", out_rest = "",
    			predicate = function(obj_info)
    			            	return obj_info.profile_name == "esc_provodnik"
    			            end
    		}
    		table.insert(sj, t)
    		t = { section = "logic@esc_stalker_camp1",
    			idle = 0,
    			prior = 8, state = {1},
    			online = false,
    			in_rest = "", out_rest = "",
    			predicate = function(obj_info)
    			            	return obj_info.profile_name == "esc_fox"
    			            end
    		}
    		table.insert(sj, t)
    	end

     

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

    Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

    Комментарии могут оставлять только зарегистрированные пользователи

    Создать аккаунт

    Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

    Зарегистрировать новый аккаунт

    Войти

    Есть аккаунт? Войти.

    Войти
    • Недавно просматривали   0 пользователей

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

    AMK-Team.ru

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