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

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


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

16 часов назад, Juk_Bers0vik сказал:

а у НПС вообще есть броня? Если да, то где это настраивается?

Штудируй файл damages.ltx

  • Нравится 1
Ссылка на комментарий

Всем привет! Кто знает, по какому принципу выдаются задания через диалог "Чем могу помочь?" у командиров сквада? Не могу никак включить квесты типа "Принеси пачку патронов, апетчку, бинт" для военных, например, на Кордоне они работают только для Сталкеров, но военные отвечают "Ничем".

Ссылка на комментарий
5 часов назад, Eugen_832 сказал:

Не могу никак включить квесты типа "Принеси пачку патронов, апетчку, бинт" для военных, например, на Кордоне они работают только для Сталкеров, но военные отвечают "Ничем".

Могу ошибаться, но в файле tm_escape.ltx прописаны квесты типа 

esc_bring_item_1
esc_bring_item_2
esc_bring_item_3
esc_bring_item_4
esc_bring_item_5

Прописаны они для сталкеров, но продублируй все секции данных квестов :

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

[esc_bring_item_1]
auto_name = false
type = bring_item
task_type = additional
name = esc_bring_item_1_name
text = esc_bring_item_1_text
target_cond = {~20 =actor_on_level(escape)} true
prior = 5
faction = stalker
requested_items = medkit_army
community_relation_delta_complete = 100
reward_money = {~50} 500, {~50}, 750, 500
 

Но уже для военных, создав новые секции квестов:

esc_bring_item_6
esc_bring_item_7

esc_bring_item_8
esc_bring_item_9
esc_bring_item_10

Заменив faction = stalker на faction = army.

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

В CRandomTask:select_task(…) можно добавить свой тип выбора из заданий, готовых к выдаче:

for k, v in pairs(task_table) do
	if v:check_target(obj, faction) then
		if type == "bring_item" then
			(свой обработчик)

 

  • Спасибо 1

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

Шпаргалка

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

Здравствуйте, вопрос. Наклепал модельки для ЧН, загрузил в игру, при попытке диалога с НПС имеющим новую модель камера смотрит вверх, хотя нпс стоит прямо. Вопрос, как это чинить? Из конфигов менял только в character_decs_general и character_desc_agroprom

Ссылка на комментарий
17 часов назад, Juk_Bers0vik сказал:

при попытке диалога с НПС имеющим новую модель камера смотрит вверх

Модель неправильно настроена видимо?

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

@Juk_Bers0vik , настраивать шейпы и кости в сдк. Как - не подскажу, к сожалению. Попробуй тут спросить.

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

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Ссылка на комментарий
Скрытый текст
19.09.2024 в 02:17, Juk_Bers0vik сказал:

Наклепал модельки для ЧН, загрузил в игру, при попытке диалога с НПС имеющим новую модель камера смотрит вверх, хотя нпс стоит прямо. Вопрос, как это чинить?

В Блендере, где я изменял модельки, я в object mode, выделив все меши модели прожал ctrl + A и в выпадающем меню Apply - All transforms.

И камера стала нормально реагировать на нпс с новыми модельками.

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

Господа-товарищи знатоки, а где искать/смотреть причину подобных вылетов:

FATAL ERROR
[error]Expression    : fatal error
[error]Function      : xray::core::detail::strconcat_error::process
[error]File          : E:\priquel\sources\engine\xrCore\string_concatenations.cpp
[error]Line          : 34
[error]Description   : <no expression>
[error]Arguments     : buffer overflow: cannot concatenate strings(1):
[c:\program files (x86)\gsc world publishing\С.Т.А.Л.К.Е.Р. - Чистое Небо\gamedata\sounds\][
characters_voice\dialogs\ ... стринг из диалога ... .ogg]

Возникает при слишком большой длине строки <string_id> в файлах локализации для диалогов. При уменьшении количества символов в ней вылет пропадает.

Встречается в частности здесь в менеджере заданий. Но не думается, что это проблема именно самой модификации. Или всё-таки?.. Иными словами: местечковое или всё-таки GSC проделки?

 

Есть вот такая ремарка по этому поводу. Отсюда вопрос: а какова, вообще, максимальная длина (размер) для строковых идентификаторов?

Ссылка на комментарий
8 часов назад, Купер сказал:

где искать/смотреть причину подобных вылетов

Так это ж прямо там и прописано, по указанному в ошибке адресу. В той копии движка ЧН, что имеется у меня, максимальная длина строки при конкатенации составляет 1024 символа.

8faa4cdf6d683bdcbf970c0590f0b1ca.png

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

Всем здравия

 

есть у меня функция

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

elseif ln=="l15_generators" and sec=="gen_document_1354" and sec=="gen_document_1355" then
        actor:give_info_portion("pri_semetsky_guest_have")
    --    drda_functions.drop_item(actor,obj)
    --    drda_functions.remove_item(obj)

сдесь проверка на наличие двух предметов на определённой локации (ну чтоб взяв предметы именно на нужной локации выдавался инфопоршень

 

да вот ток он у меня не срабатывает (оба предмета на нужной локации подбираю, а результата нема

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

DarkSnowder.gif

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

@DarkSnowder Вижу, что elseif используешь. Можешь скинуть весь скрипт? Так на самом деле будет понятнее что к чему.

 

 

 

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

Осенний каламбур. Сентябрь - лето.

img.php?nick=Balavnik&sert=2&text=t6

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

@Balavnik если проще

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

function checking_use_item(obj)
    local ln = level.name()
    local actor = db.actor
    local sec = obj:section()
    --------------- Стервятник и его тайник
    if ln=="l14_chernobyl" and sec=="cher_shtulc_pda" then
        actor:give_info_portion("vulture_pike_start")
    --    actor:give_info_portion("marsh_dead_shaman")
    --    drda_functions.drop_item(actor,obj)
    --    drda_functions.remove_item(obj)

   elseif ln=="l15_generators" and sec=="gen_document_1354" and sec=="gen_document_1355" then
        actor:give_info_portion("pri_semetsky_guest_have")
    --    drda_functions.drop_item(actor,obj)
    --    drda_functions.remove_item(obj)
    end
end

 

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

DarkSnowder.gif

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

@DarkSnowder  sec не может быть равен одновременно gen_document_1354 и gen_document_1355. Условие не выполнится. 

Осенний каламбур. Сентябрь - лето.

img.php?nick=Balavnik&sert=2&text=t6

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

да вот ток он у меня не срабатывает

 

замени этот блок кода вот так

   elseif ln=="l15_generators" and actor:object=="gen_document_1354" and actor:object=="gen_document_1355" then
        actor:give_info_portion("pri_semetsky_guest_have")
    --    drda_functions.drop_item(actor,obj)
    --    drda_functions.remove_item(obj)
    end

 

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

sec=="gen_document_1354" and sec=="gen_document_1355"

Одна и та же строковая переменная (ведь sec - это же переменная?) не может иметь сразу два разных значения. Никогда и нигде. Проверка такого условия всегда возвращает false со всеми вытекающими.

Это первое. Второе: данный вопрос не имеет отношения к ковырянию ЧН, тебе в Скриптование. Или, на худой конец, в ковырялку ТЧ, где правильный ответ тебе уже дали пару дней назад.

 

55 минут назад, ted.80 сказал:
actor:object=="gen_document_1354" and actor:object=="gen_document_1355"

Что такое actor:object в данном примере? Такой скрипт даже не загрузится игрой.
Вот если б ты написал db.actor:object("gen_document_1354") and db.actor:object("gen_document_1355") - это было бы верно.

Изменено пользователем Kirgudu
  • Нравится 2
  • Согласен 1
Ссылка на комментарий
7 минут назад, Kirgudu сказал:

Что такое actor:object в данном примере? Такой скрипт даже не загрузится игрой.

в полной функции: 

2 часа назад, DarkSnowder сказал:

    local actor = db.actor

 

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

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

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

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

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

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

Войти

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

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

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