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

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


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

@Fly Скрин видно, там всё нормально. Выставь коэффициенты стоимости предметов. Ты хоть с новой игры всё тестишь?

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

Ссылка на комментарий
1 минуту назад, mole venomous сказал(а):

@Fly Выставь коэффициенты стоимости предметов. Ты хоть с новой игры всё тестишь?

Всё выставил (или нет? Если нет, то где? Господа выше мне правильно показали, но у меня же всё аналогично?) С новой игры всё тещу, уже часа 3:biggrin:

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

@Fly если у тебя оригинал, самая верхняя строка в файле должна быть такой

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

[trader]
buy_condition = trader_generic_buy
sell_condition = {+esc_kill_bandits_quest_done} trader_after_fabric_sell, trader_start_sell
buy_supplies = {+esc_kill_bandits_quest_done} supplies_after_fabric, supplies_start

Если же не оригинал, может быть иначе. Сидор должен продавать всё так, как прописано.

  • Согласен 1

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

Ссылка на комментарий
2 минуты назад, mole venomous сказал(а):

@Fly если у тебя оригинал, самая верхняя строка в файле должна быть такой

  Показать

[trader]
buy_condition = trader_generic_buy
sell_condition = {+esc_kill_bandits_quest_done} trader_after_fabric_sell, trader_start_sell
buy_supplies = {+esc_kill_bandits_quest_done} supplies_after_fabric, supplies_start

Если же не оригинал, может быть иначе. Сидор должен продавать всё так, как прописано.

Да, всё так и прописано. Я моды никакие не ставил (кроме аддона на вепрь, но эта трабла была ещё до его установки)

Добавлено  Опричник,

Изучите "Правила цитирования". https://www.amk-team.ru/forum/topic/13514-obyavleniya/

Устное предупреждение.

 

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

@Fly Подключил конфиг по ссылке: 4 "калаша" в продаже. Может, в профиле Сидора ссылка на конфиг изменена? Должна быть такая запись:
[config\scripts\esc_trader.ltx]

trade = misc\trade_trader.ltx

 

Есть еще такой вариант, что конфиг лежит не в той папке, из-за чего не учитывается.

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

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

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

@Fly тут. В продажу добавлен АК-74 в количестве 1 штуки по цене 1-3 от номинала. Внимательно к секциям [supplies_start] и [trader_start_sell].

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

Ребят, а ТЧ вообще читает thm файлы, или они бесполезны для ТЧ?

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

@Houdini_one ,@Colder начиная с версии 1.0004 (4-й патч) - да, используются. Но! Формат свой, с thm из ЧН/ЗП несовместим. Приблизительно и коротенько - для ознакомления.

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

@Купер по указанной статье я нашёл программу, которая конвертит thm с формата ТЧ в ЧН/ЗП. А есть такая же программа, только чтобы наоборот, с формата ЗП в ТЧ?

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

@Norman Eisenherz 
Вот скрин того, что у меня там находится - https://drive.google.com/file/d/1ZlXCLpWzd1o2pPjSOJFSqCaS3N9e3gAa/view?usp=sharing
Я так понимаю, что "active = {+esc_trader_hello_played} mob_trader@new_idle1, mob_trader@new_start_wait
on_trade = mob_trade@new" надо удалить?

@Купер заменил, проверил с новой игрой - не работает:dash2:

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

@Houdini_one , ох, честно говоря - не знаю. Попробуй поинтересоваться. Вообще, в плане работы с .thm-ками что-то любопытное попадалось на глаза в комплекте AXRToolset. Там не то, чтобы конвертер, но редактор (помнится). Можно попробовать? им "похимичить".

 

@Fly , это уже даже не смешно :biggrin:

Давай-ка подробно:

1. По какому пути лежит trade_trader.ltx?

2. Игра "чистая" или мод? В папке \mods никаких файлов с расширением .xdb нет?

 

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

@Купер давай по порядку
1. trade_trader.ltx лежит по следующему пути: STALKER - SoC (папка с игрой)/config/misc
2. Игра чистая. Я несколько раз устанавливал/переустанавливал с разных источников. Была даже лицензия от GoG. И на всех была эта проблема.
В папке mods находится файл mp_military_2.xdb0 
Этот фаил был практически во всех версиях, которые я ставил, и судя по mp я думал, что это фаил для мультиплеера.

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

@Fly Ты лучше полный путь укажи до файла,  что бы понятнее было. 

Файл в gamedatе лежит или ты просто конфиги в папку с игрой бросил?

Только что у себя проверил, все работает.

Попробуй https://disk.yandex.ru/d/KKEEtpu3Z20LgQ

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

@Fly , mp_military_2.xdb0 - штатная вещь от GSC. Просто для движка игры приоритеты: архив .db -> папка gamedata -> архив .xdb

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

1.

Screenshot-01.jpg

2.

Screenshot-02.jpg

3.

Screenshot-03.jpg

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

Так, секунду: STALKER - SoC (папка с игрой)/config/misc - а где gamedata?

STALKER - SoC (папка с игрой)/gamedata/config/misc/

 

 

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

@yurv3 в папку с игрой... ну, я не бросал, я просто распаковал, и оно само так распаковалось. Мне получается нужно все-все распакованные папки в gamedat'у кинуть, или что-то оставить именно в папке с игрой?

@Купер а, ню да. Я сейчас закинул в геймдату и всё работает и отображается. Теперь только вопрос: что мне оставить вне её, а что закинуть внутрь? Вот скрин папок всех (config уже закинул) - https://drive.google.com/file/d/1Z17lk_4-BjCqd6gmgFW_5O2QPmNqMZp1/view?usp=sharing

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

Добрый день!

У меня возникло пару проблем. Не могли бы вы подсказать как реализовать данные моменты:

 

1. Как сделать так, чтобы когда нпс выдавал актору предмет через активный диалог можно было прописать такое условие, которое не давало бы возможности сбросить диалог через кнопку "esc" и начать его заново? Тем самым, хотелось бы устранить баг с бесконечным получением предмета через диалог.

 

2. Допустим, мне нужно заспавнить нпс через этот скрипт, не через all.spawn :

Цитата

function spawn_viking()
local x, y, z = -187.171, -19.491, -132.909
local LVid, GVid = 64301, 56
alife():create("escape_viking",vector():set(x,y,z),LVid,GVid)
end

Вот после того, как я создал этого нпс, как можно его удалить/перевести в оффлайн, а потом заспавнить обратно/перевести в онлайн? Если не удалить, то, возможно, телепортировать на далёкое от актора расстояние, а потом, наоборот, на близкое.

 

Заранее спасибо.

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

@Fly , достаточно оставить только файлы, каким-либо образом изменённые относительно оригинала. Всё остальное подхватится автоматически. Принцип такой: движок изначально считывает необходимые файлы из .db архивов. Но папка gamedata имеет более высокий приоритет. Т.е., при наличии её и каких-либо файлов в ней (с сохранением соответствующих путей) считываться будут именно они, а не те, которые находятся в игровых архивах. 

Для примера, ситуация выше: в gamedata достаточно оставить только gamedata\config\misc\trade_trader.ltx. Именно он и будет считываться при загрузке, в всё остальное подхватится из .db архивов.

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

@FlodaD   2.С помощью данного скрипта. Операторы нужно использовать вместе, иначе работать не будет. Ставите true и false в зависимости от того, хотите вы его перевести в онлайн или оффлайн. Не надо трогать alife():set_interactive. В статье по ссылке приведённой ниже всё написано. Я это сделать не пробовал, так что не уверен, что оно будет работать. Все нюансы расписаны в статье. Там есть другой способ. Он быстрее, но работает только когда нпс находится в онлайне.

http://stalker-gaming.ru/publ/stati/modding/perekhod_nps_v_offline_online_cherez_skript/5-1-0-108

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

Пример перевода в онлайн:

function name()

 

local npc = alife():story_object( Сюда прописать Story ID нпс )

 

if npc then

 

alife():set_switch_offline (npc.id, false)

alife():set_switch_online (npc.id, true)

alife():set_interactive (npc.id, true)

 

end

end

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

 

Пример быстрого перевода в оффлайн

function name(actor, npc)

 

if npc then

 

alife():set_switch_offline (npc:id(), true)

alife():set_switch_online (npc:id(), false)

alife():set_interactive (npc:id(), false)

 

end

end

 

 

Решил сделать фичу, как в ОП 2. При смерти ГГ выводится сообщение о том, что ГГ сдох. Решил сделать также, но у меня не получилось.

Вписал проверку жив ли ГГ в начальную инфопорцию.

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

<game_information_portions>
  <info_portion id="storyline_actor_start">
    <task>storyline_eliminate_gunslinger</task>
    <action>my.god_spawn</action>
    <action>my.gg_podoh</action>
  </info_portion>

 

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

function gg_podoh()
if not db.actor:alive() then
db.actor:give_info_portion("gg_pomer")
end

 

function sms_otpravka()
local snd = sound_object([[device\pda\pda_tip]])
local sactor = alife():actor()
local cactor = level.object_by_id(sactor.id)
snd:play_no_feedback(db.actor,sound_object.s2d, 5, vector():set(0, 0, 0), 0.7)
cactor:give_game_news("Система:\\n%c[255,200,200,200]ГГ сдох.", "ui_iconsTotal_found_money", Frect():set(0,0,83,47), 5001, 8000)
end
end

 

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

    <info_portion id="gg_pomer">
        <action>kalecheniy_death.sms_otpravka</action>
    </info_portion>

 

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

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

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

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

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

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

Войти

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

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

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