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

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


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

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/Тема на AP-PRO

naxac.gif

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

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

Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO

naxac.gif

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

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

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

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

  • Нравится 2

Привет всем!
Помогите советом.
Челик абсолютно не восприимчив к любому взаимодействию!
С чем может связано быть?
 

 

8 часов назад, Купер сказал:

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

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

8faa4cdf6d683bdcbf970c0590f0b1ca.png

Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD

Полезное: модули Артоса, XML парсер

Всем здравия

 

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

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

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)

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

 

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

@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

 

@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

Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD

Полезное: модули Артоса, XML парсер

7 минут назад, Kirgudu сказал:

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

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

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

    local actor = db.actor

 

@ted.80 так подставь то, что ты взял из полной функции, в своё условие.

local actor = db.actor
+
actor:object=="gen_document_1354" and actor:object=="gen_document_1355"
=
db.actor:object=="gen_document_1354" and db.actor:object=="gen_document_1355"

db.actor:object - это функция. Мало того, что ты сравниваешь её (не результат выполнения функции, а саму функцию) со строкой, так ещё и применяешь синтаксис, характерный для вызова метода (указание функции после двоеточия), без собственно вызова (забыл про круглые скобки). Это приведёт к немедленному отказу в загрузке такого скрипта движком, потому что его синтаксис некорректен.
И даже такое написание, хоть синтаксически и правильное, будет неверным:

db.actor:object()=="gen_document_1354" and db.actor:object()=="gen_document_1355"

поскольку вызов этой функции требует передачи аргумента: db.actor:object("строка"), см. пример парой сообщений выше.

Так-то по смыслу твоё предложение верно. Правильная же реализация будет такая:

elseif ln=="l15_generators" and actor:object("gen_document_1354") and actor:object("gen_document_1355") then

 

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

Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD

Полезное: модули Артоса, XML парсер

А что нужно дописать, чтобы при выпадении с мутантов было больше частей тел? И чтоб с того же кабана можно было всегда по разному выбить 4, 3, 2, 1

@Juk_Bers0vik Спавн имеет то же описание в движке и те же конфиги, только вероятность везде указана 0.

Для нескольких предметов надо делать обработчик в [bind_monster.script] update.

  • Нравится 1

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

Шпаргалка

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

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

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

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

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

Войти

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

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

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