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

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

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

16 минут назад, Norman Eisenherz сказал(а):

Съедание через eat:object() не дублируется сообщением

А как же тогда использование аптечки через скрипт?

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

Ребят, помогите найти ошибку. Добавила инфу про туториальный тайник на элеваторе новичку возле толика, а новичку у входа в тоннель рядом инфу про тайник под деревом, у жд тоннеля. Тот что на элеваторе назвала tutorial_secret, тот что у жд тоннеля называется tutorial_secret_place. Вроде все сделано правильно (добавляла новую инфу по аналогии с той, которая уже есть в игре - спавн, инфопоршни), но в случае с кпк трупа напротив туннеля у вагончика (где раненый толик) все нормально, а у нового кпк не тот текст который должен быть в дневнике, а тот что отображается на карте при наводке на серый кружочек. И получается что и на карте и в кпк написано "Тайник, оставленный погибшим новичком", а в кпк должно быть все чуть поподробнее расписано, и ссылка вроде как на подробный текст есть. Надеюсь понятно все расписала, очень все запутано)

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

@Ninna , нам бы попроще, и в картинках. Зело борзо, ничё не понятно. :biggrin:

 

Попробуй по аналогии:

storyline_info_escape.xml

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

<article id="tutorial_secret_place" name="Flash dead stalker" <!-- наименование статьи (слева в ПДА)> 
article_type="journal"
group="Found_PDA"> <!-- подраздел, куда будет помещена статья (слева в ПДА)>
        <text>tutorial_secret_place</text> <!-- само описание статьи (справа в ПДА)>
</article>

 

info_l01escape.xml

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

<info_portion id="esc_tutorial_secret_place"> <!-- поршень, для которого выдаётся статья -->
        <article>tutorial_secret_place</article> <!-- id статьи для storyline_info_escape.xml -->
</info_portion>

 

Ну, а сам поршень в данном случае, в профиле NPC в all.spawn:

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

 

name = esc_stalker_corpse

...

[known_info]
esc_tutorial_secret_place

 

 

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

@Купер как еще проще не знаю, честно) В любом случае проблему уже решила - в escape_tasks.script сделала level_tasks.add_location(026, "crlc_small", "tutorial_secret1") вместо level_tasks.add_location(026, "crlc_small", "tutorial_secret") + в string_table_mapspots_escape добавила единичку после tutorial_secret. Теперь получается что у названия кпк ссылка на tutorial_secret1, а у описания на tutorial_secret, и теперь все как надо. Надеюсь не запутала еще сильнее :biggrin:

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

@Askar На всякий случай, сверим формат команды: db.actor:eat( db.actor:object("секция") ). При пустом объекте не будет ни действия, ни вылета; если объект указан, будет действие без сообщения – сообщение выдается только при использовании предмета через контекстное меню в инвентаре.

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

Шпаргалка

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

@Ninna,

1. Наш сталкер

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

01.jpg

2. Для поршня добавляем соответствующую статью в КПК:

 info_l01escape.xml

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

02.jpg

3. Заполняем содержимое статьи:

storyline_info_escape.xml

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

03.jpg

4. Что где к п.3.

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

031.jpg

 

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

@Купер а если мне надо, чтобы инфа снималась не при обыске трупа, а после подбора флэшки с него? В случае с сумасшедшим свободовцем например. Аль спавн здесь вроде как не причем получается?

Ссылка на комментарий
31.05.2021 в 22:05, Askar сказал(а):

использование аптечки через скрипт?

В этом случае, сообщение на худ руками добавляют. В скрипт, отдельно. Движком оно само не выводится

 

Только что, Ninna сказал(а):

чтобы инфа снималась не при обыске трупа, а после подбора флэшки с него?

Тут надо ловить свою флешку в on_item_take в биндере актора. И там уже проверять, та ли это флешка, впервые ее взяли или нет, и что с этим делать (выдавать инфопоршни как вариант).

  • Согласен 2

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

@Zander_driver насчет инфопоршней - в info_l10military есть строчка <info_portion id="mil_max_owner_flash_get"><article>mil_flash_max</article></info_portion>, в storyline_info_military есть mil_flash_max, все везде заполнено, а инфы с флешки нету( Да, и еще, попробовала стукачу прописать вырезанный кпк, добавила в  <info_l10military строчку info_portion id="mil_courier_doc"><article>mil_courier_doc</article></info_portion>, в спавне в known info прописано mil_courier_doc, в тексте и сторилайне тоже все нормально, при запуске игры вылетает по дубликатному итему

 

[error]Expression    : m_pItemDataVector->end() == t_it
[error]Function      : CXML_IdToIndex<class CInfoPortion>::InitInternal
[error]File          : e:\stalker\sources\trunk\xr_3da\xrgame\xml_str_id_loader.h
[error]Line          : 184
[error]Description   : duplicate item id
[error]Arguments     : mil_courier_doc

 

Если б знать заранее сколько маяты с этими поршнями и записями в журнале :dash2:

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

в info_l10military есть строчка <info_portion id="mil_max_owner_flash_get"><article>mil_flash_max</article></info_portion>

Это просто описание инфопоршня и его свойств. Выдавать статью в ПДА, когда выдали поршень.

1 час назад, Ninna сказал(а):

в storyline_info_military есть mil_flash_max

Тоже объявление-описание

1 час назад, Ninna сказал(а):

все везде заполнено, а инфы с флешки нету(

Естественно, нету. Инфопоршень не выдается ведь. И от того что его описали, он сам собой не выдастся.

6 часов назад, Zander_driver сказал(а):

надо ловить свою флешку в on_item_take в биндере актора. И там уже проверять, та ли это флешка, впервые ее взяли или нет, и что с этим делать

Повторяю еще раз)

 

Чтобы что-то работало, надо не только конфиги заполнять. Но и писать код в скриптах.

Вылет из-за дублирования инфопоршня... такой уже есть. Они ведь уникальными должны быть.

  • Спасибо 1
  • Согласен 2

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

@Zander_driver а если сделать через таск, на проверку наличия итема? Там же можно в условия таска вроде вставить строку на экшен проверки. А в экшене выдавать поршень. 

  • Согласен 1

"Кругом зомби.....у меня кончаются патроны...."

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

@Ninna , да вы тут уже целые квесты мутите с обыском тайников. Мне кажется, прямого ответа на вопрос не будет. Но если есть некоторый опыт в создании квестов, будет легче со всем таким разбираться. Прошу прощения, если ерунду сказал...

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

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

@Ninna нет, если просто нужно получить инфопоршинь при взятии предмета то можно как то так:

function blablabla(obj)
	if obj:section() == "секция предмета" then
		if not has_alife_info("инфопоршинь") then --проверяем - не давали ли поршень раньше?
			db.actor:give_info_portion("инфопоршинь") --если не давали раньше то даём
		end
	end
end

и в bind_stalker.script повесить эту функцию на кэллбэк на взятие предмета, называется - function actor_binder:on_item_take (obj).

Ну вот... как то так)))

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

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

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

UriZzz.gif

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

@UriZzz @UriZzz Все верно, но есть и "но" - такому условию иногда возможно нужно предусловие.. типа if has_alife_info("инфопоршинь") and not has_alife_info("инфопоршинь") then -- тут вариация чуть поширше имхо.:)

 

@Askar Если не ошибаюсь, в SVN_portable_r232 (Macron) есть возможность настроить данную возможность, либо тогда самому прорабатывать метод get_ammo_in_magazine() и unload_magazine() скриптово.

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

Доброго дня комрады!

 

Вопрос таков - можно ли как-то сделать так, чтобы определённые гулаги мобов или сталкеров работали исключительно ночью (или днём)? 

Лучше сделать мод с 0, чем пытаться залатать багованный.

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

@DarkSnowder 

Можно. Настройка состояний гулага(день\ночь) и соответствующих работ для этих состояний. Пример - гулаг вояк в ТД, которые появляются после выхода ГГ из лаборатории, а до этого сидят в офф-лайне.

  • Согласен 1
Ссылка на комментарий
03.06.2021 в 08:22, Купер сказал(а):

Други, что спросить хотел... Как-то можно "культурно" отследить наличие/отсутствие постпроцесса, созданного с помощью level.add_pp_effector() ? Не используя триггеры. Какая-либо "родная" функция имеется в наличии?

Что то я так в скриптах посмотрел походу нет такой функции. Инициализируют переменную после запуска постпроцесса выдают переменную параметром True. Потом при наличии этой переменной закрывают процесс.

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

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

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