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

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

Тема для обсуждения скриптов всего и всех в серии игр STALKER.


Задавая вопрос (!):
1. Внимательно изучите суть вопроса. Вопрос должен соответствовать выбранной Вами темы. Это поможет сохранить порядок и читабельность темы, а также облегчит поиск и понимание сего;
2. Изучите то, что уже есть в теме (пролистайте "руками", воспользуйтесь поиском на форуме);
3. Изучите информацию которая может вам помочь:

 
 

Stalkerin. Там есть много хороших статей касательно данной темы.
Уроки по модостроению. Есть рабочие примеры готовых скриптов различного назначения.

 

Справочное руководство по языку Lua 5.1
https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/ru
Справочник по функциям и классам. Собрано много информации по функциям и классам, не всем, но по основные сведения предоставлены.

4. Дабы не превращать обсуждение в "кашу" разной информативной направленности, задавайте несколько вопросов по порядку (в разных постах) после того, как получите ответ на предыдущий вопрос;
5. "Спасибо" и тому подобное - будьте так любезны в ПМ. Если не любите писать в ПМ, в конце вопроса напишите фразу: "Заранее спасибо!" - или что-то в этом духе;
6. ПОЖАЛУЙСТА! Указывайте, для какой игры Вам необходима информация (ТЧ, ЧН, ЗП), если стоит мод - укажите название мода;
7. Если Вы что-то сделали и результат не такой, какой Вами задумывался, то, пожалуйста, приводите коды которые Вы изменяли/писали целиком! Это поможет другим правильно ответить на Ваш вопрос, а также оградит Вас от лишней писанины.
8. Оформляйте сообщение. Пользуйтесь тегами для того, чтобы отделить код от текста. Пишите грамотно - ПОЛЬЗУЙТЕСЬ ЗНАКАМИ ПРЕПИНАНИЯ.
9. И помните: «Правильно заданный вопрос – половина ответа».

 

Какие вопросы следует задавать, а какие нет...

 

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

 

Вопросы которые будут удалятся, следовательно их задавать не нужно:
-- Где находится та или иная функция?
Для ответа используем поиск по словам среди файлов оригинальной игры или мода, если объект поиска относится к нему, при помощью программы, которая Вам наиболее симпатизирует;
-- Как сделать что-то/то-то?
С подобными вопросами, либо в "ковырялки", где Вам вероятнее всего так же не ответят, либо выдвигаем мысли, подкреплённые теорией, практикой (идеальный вариант) и здравым рассудком;
-- Вопросы со смыслом: "сделайте", "совместите" и подобными глаголами повелительного наклонения.
-- К тому же удалению будут подвергаться вопросы, в которых масштабно не используются теги, для отделения кода и цитат от основного текста, а также не вписан в спойлер код размером превышающие семь строк.
Ответ на возможно возникший вопрос: В какую тему можно обратиться по поводу логики и спавна объектов?
В тему "ковырялок" соответствующей версии игры, для которой Вы задаёте вопрос.

И последнее: очень рекомендовано к прочтению Правила форума
 


  • Спасибо 1
  • Полезно 2
Ссылка на комментарий
20 часов назад, BoBaH_671 сказал:

xr_effects.spawn_object_in(nil, nil, {"section", "story_id"})

А нельзя сделать через секцию предмета? Лень стандартным предметам прописывать стори айди.

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

@Rietmon это story_id ящика, куда производится спавн предмета.

 

Изменено пользователем Jurok
Ссылка на комментарий
21 час назад, BoBaH_671 сказал:

Все работает прекрасно

 

Не нашел такой функции. Ткните пальцем, какая конкретно строка  в оригинальном скрипте.

Изменено пользователем Dennis_Chikin
  • Сомнительно 1
Ссылка на комментарий
16 минут назад, Jurok сказал:

@Rietmon это story_id ящика, куда производится спавн предмета.

Я уже разобрался (отредактировать сообщение уже не смог), но спасибо. Меня теперь интересует как заспавнить сразу несколько предметов в этот чертов inventory_box

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

@Dennis_Chikin функция из оригинального «Зова Припяти». xr_effects.script, строка 1219.

 

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

Сообщение вот такого вида нормально показывается, т.е я его не только в ПДА могу увидеть...

Цитата

news_manager.send_tip(db.actor, "PDA: Обнаруженна зашифрованная частота!", 0, "default", 10000)

Но, если прислать ГГ вот такое, увидеть его можно только в ПДА, а сообщение для сюжета важное.

Цитата

news_manager.send_tip(db.actor, "Входящее сообщение от: %c[255,160,160,160]Макс\\n%c[default]Ваня, проверь эти подвалы, я прикрою.", 0, "default", 10000) 

Что я делаю не так?

Не соответствует правилам.

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

Но, если прислать Г

news_manager.send_tip(db.actor, "\\n%c[default]Входящее сообщение от: %c[255,0,255,0]\"Макс\"\\n%c[default]Ваня, проверь эти подвалы, я прикрою.", nil, nil, 10000)

Попробуйте так.

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

news_manager.send_tip(db.actor, "\\n%c[default]Входящее сообщение от: %c[255,0,255,0]\"Макс\"\\n%c[default]Ваня, проверь эти подвалы, я прикрою.", nil, nil, 10000)

Попробуйте так.

Должного результата нет. 

Всё так же осталось...

Не соответствует правилам.

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

@CRAZY_STALKER666 а монитор у тебя какой? Случаем не широкоформат?

Если так, то вот почитай, похожую ситуацию обсуждали когда-то, может что-то полезное для себя найдешь: https://www.amk-team.ru/forum/topic/5525-soc-kovyryaemsya-v-faylah/?do=findComment&comment=749490

Ну и еще погляди готовое решение из Упавшей звезды (правда под наш худ), все сообщения выводятся: https://yadi.sk/d/NFmNqPRFpvq3u

Сейчас я вообще с этими файлами использую суффикс _16, чтобы не перебивали квадратное разрешение.

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

@Marafon6540 Отлично! Фикс помог!

Теперь другой вопрос. До боли банальный, но всё таки я снова в "тупике".

НПЦ не игнорирует бой, как должен. Вот логика. Извращался как мог:489:.

Цитата

[logic]
active = walker@1
combat_ignore = combat_ignore

[combat_ignore]

[walker@1]
path_walk = aes2_misha_walk
path_look = aes2_misha_look
on_signal = go | walker@2 %+aes2_heli_go =disable_combat_handler%

[walker@2]
path_walk = aes2_misha_walk
path_look = aes2_misha_look
on_info = {+aes2_heli_death} walker@3 %=disable_combat_handler%

[walker@3]
path_walk = aes2_misha_end_walk
path_look = aes2_misha_end_walk
on_signal = del | nil %+aes2_me_del =delme%
 

disable_combat_handler добавил ради интереса, вдруг поможет(до конца не понял, что она всё таки делает...)

Не соответствует правилам.

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

@CRAZY_STALKER666 

[logic]
active = walker@1
combat_ignore = combat_ignore
[combat_ignore]
combat_ignore_cond = always                  <-- тут
[walker@1]
path_walk = aes2_misha_walk
path_look = aes2_misha_look
on_signal = go | walker@2 %+aes2_heli_go
[walker@2]
path_walk = aes2_misha_walk
path_look = aes2_misha_look
on_info = {+aes2_heli_death} walker@3
[walker@3]
path_walk = aes2_misha_end_walk
path_look = aes2_misha_end_walk
on_signal = del | nil %+aes2_me_del =delme%

Или такую опцию вставлять индивидуально в нужные секции логики. Также допустимо указание условий:

combat_ignore_cond = {!actor_enemy}
Ссылка на комментарий

@Kirgudu @CRAZY_STALKER666 насколько я помню, значение параметра combat_ignore никак не используется. Наличие этого параметра с любым значением лишь включает обработку combat_ignore_cond.

Добавлено Kirgudu,

Да, определяющим поведение является именно "combat_ignore_cond".

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

Кстати приблизительно о том же...

Никак не могу поймать золотую середину. Дружественные неписи либо очень неохотно вступают в бой - особенно с чужими неписями. Либо впадают в ступор от любого чиха. Допустим от выстрела ГГ рядом.

 

 

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

@Kirgudu @dsh  нет, секция [combat_ignore] идёт без каких либо добавлений. Проблема решилась так:

Для каждого walker-а я дописал danger = danger_condition@1

Цитата

[walker@1]
path_walk = aes2_misha_walk
path_look = aes2_misha_look
danger = danger_condition@1
on_signal = go | walker@2 %+aes2_heli_go =disable_combat_handler%

И, соответственно:

Цитата

[danger_condition@1]
ignore_distance = 10
ignore_distance_corpse = 10
ignore_distance_sound = 10

Теперь НПЦ ну совсем не агрится.... 

Не соответствует правилам.

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

combat_ignore - реакция на ИЗВЕСТНОГО врага.

danger - на события.

 

Разные вещи.

 

Хотя, очень много где руки шаловливые все поперепутали (русскоязычный сталкер-моддинг, ага: правим скрипты под заведомо кривые, но Священные и Неприкосновенные конфиги, а потом начинаем удивляться, что нормальный конфиг не работает, и кампер, поставленный задом к актору, с радиусом реакции 0 метров и отключенным реагированием на ВСЕ - действительно, не реагирует).

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

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

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

Всякого рода сюжетные персонажи которые должны быть пустыми после смерти (например раненные или пленные) оказываются не пустыми. Чтобы это исправить необходимо в кастом дате персонажа прописать секцию [dont_spawn_loot]

Ссылка на комментарий
13 минут назад, _Val_ сказал:

Всякого рода сюжетные персонажи которые должны быть пустыми после смерти (например раненные или пленные) оказываются не пустыми. Чтобы это исправить необходимо в кастом дате персонажа прописать секцию [dont_spawn_loot]

Нужно чтобы удалился конкретный предмет, а не все.

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

Саму функцию удаления не подскажу...ибо пользуюсь отличными от стандартных ТЧ.

А так:

[logic]

on_death = death

[death]
on_info =  %=удалить нафиг предмет%

 

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

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

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

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

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

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

Войти

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

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

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