Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Struck 61 Опубликовано 15 Октября 2014 Поделиться Опубликовано 15 Октября 2014 @AndrewMor, открываешь xr_effects.script, ищешь: -- Функции для Янтаря Под эти комментом нужные тебе функции. Вызываются в логике ученого. Логика работает (в некоторых местах) по сигналам пути. Все просто. Ссылка на комментарий
nego 35 Опубликовано 16 Октября 2014 Поделиться Опубликовано 16 Октября 2014 (изменено) У меня вопрос. За что отвечает вторая строка? additional_inventory_weight = 0additional_inventory_weight2 = 0 --------------вот эта Изменено 16 Октября 2014 пользователем nego Одна голова хорошо, а две лучше. А вот три, это уже змей Горыныч. Ссылка на комментарий
Kirgudu 1 207 Опубликовано 16 Октября 2014 Поделиться Опубликовано 16 Октября 2014 @nego, это прибавка к максимальному весу, после которого игрок не сможет не только бегать, но и сдвинуться с места. Инструмент Ссылка на комментарий
BRATPETR123 1 Опубликовано 16 Октября 2014 Поделиться Опубликовано 16 Октября 2014 (изменено) Извините, может это глупый вопрос, но как все-таки, как поменять дату в игре? Изменено 16 Октября 2014 пользователем BRATPETR123 Ссылка на комментарий
Samber13 227 Опубликовано 16 Октября 2014 Поделиться Опубликовано 16 Октября 2014 @BRATPETR123, В файле alife.ltx находишь чуть ниже строку [alife]. Под ней будет параметр: start_date = 01.05.2012 1 Калькулятор номера билда. Ссылка на комментарий
alex5773 1 330 Опубликовано 16 Октября 2014 Поделиться Опубликовано 16 Октября 2014 Почитай немного тут http://stalkerin.gameru.net/wiki/index.php?title=Заглавная_страница Вот тут про дату http://stalkerin.gameru.net/wiki/index.php?title=Файлы:_alife.ltx Полезный так-то для новичков сайтик 1 Ссылка на комментарий
_Val_ 2 225 Опубликовано 18 Октября 2014 Поделиться Опубликовано 18 Октября 2014 [remark@suicide] anim = suicide on_signal = anim_end | nil %=npc_suicide% Совершенно случайно так получилось, что самому пришлось суицид неписю устраивать. Так вот получается, что nil вроде как не работает в этой ремарке. Точнее - работает именно nil , а функция не вызывается. Убрал - непись благополучно застрелился - 1 Ссылка на комментарий
Struck 61 Опубликовано 18 Октября 2014 Поделиться Опубликовано 18 Октября 2014 @_Val_, оно и логично. У тебя схема заниливается до отработки функции, так что ее нужно либо после функции нилить, либо как ты и сделал вообще отрубить его, так как после того как сталкер помер нам все равно что с его логикой будет. Ссылка на комментарий
makdm 37 Опубликовано 19 Октября 2014 Поделиться Опубликовано 19 Октября 2014 (изменено) @_Val_, @Struck, немного не так. Если открыть файл xr_logic.script, то можно увидеть следующее: elseif cond_name(c.name, "on_signal") then if st.signals and st.signals[c.v1] then switched = switch_to_section(npc, st, pick_section_from_condlist(actor, npc, c.condlist)) end Т.е. сначала выполняется pick_section_from_condlist(actor, npc, c.condlist) Если посмотреть функцию pick_section_from_condlist, то видно что сначала выполняется if infop.params then xr_effects[infop.func](actor, npc, infop.params) else т.е выполняется функция и только затем возвращается секция переключения return cond.section И только после этого выполняется само переключение на секцию в функции switch_to_section Причём здесь явно указано: -- Выполняет переключение на указанную секцию, если задана. -- Если section == nil, остается работать старая секция. function switch_to_section(npc, st, section) if section == nil or section == "" then return false end Т.е. переключения никуда не происходит, а продолжает работу активная секция. Поэтому и on_signal = anim_end | nil %=npc_suicide% и on_signal = anim_end | %=npc_suicide% должны работать одинаково. Изменено 19 Октября 2014 пользователем makdm Ссылка на комментарий
Карлан 1 049 Опубликовано 19 Октября 2014 Поделиться Опубликовано 19 Октября 2014 Как получить сталкера с которым открыто окно диалога? Ссылка на комментарий
makdm 37 Опубликовано 19 Октября 2014 Поделиться Опубликовано 19 Октября 2014 (изменено) @Карлан, в диалоге <action>dialogs.get_npc</action> В dialogs.script function get_npc(first_speaker, second_speaker) local npc = first_speaker if npc:id() == db.actor:id() then npc = second_speaker end -- Здесь, с полученным НПС, делайте, что хотите. end Или второй вариант В файле xr_motivator.script в методе update if self.object:is_talking() then -- Здесь, с полученным НПС, делайте, что хотите. end Изменено 19 Октября 2014 пользователем makdm Ссылка на комментарий
Карлан 1 049 Опубликовано 19 Октября 2014 Поделиться Опубликовано 19 Октября 2014 (изменено) @makdm, внимательнее никак не прочитать? Открытое окно диалога, я не запускаю никакой диалог, мне просто нужно получить факт отрытого диалога, и по нему неписю с которым это окно открыто. Я уже давно сделал шаманством с инфопоршнями, но все же может еще как можно.Ответ удалил, но скажу то же самое: никак нет ! В смысле, по отдельности каждое слово понятно, а все вместе - увы. dc Изменено 19 Октября 2014 пользователем Dennis_Chikin Ссылка на комментарий
AndreySol 215 Опубликовано 19 Октября 2014 Поделиться Опубликовано 19 Октября 2014 (изменено) Открытое окно диалога, я не запускаю никакой диалог, мне просто нужно получить факт отрытого диалога, и по нему непися с которым это окно открыто Интересно, как это может быть открыто окно диалога, но не запущен никакой диалог ? В зависимости от текущего состояния логики НПСа, для него будет запущен соответствующий или start_dialog или actor_dialog. Вы когда начинаете диалог с НПСом, что видите в появившемся окне ? Фразы произнесенные неписем и фразы доступные для ответа актеру. Так они по Вашему откуда берутся ? Если Вам нужен объект непися для конкретного диалога\конкретного непися, то подойдет вариант с action, а вот если нужен общий вариант для любого непися - тогда указанный выще способ через xr_motivator. Изменено 19 Октября 2014 пользователем AndreySol Ссылка на комментарий
Карлан 1 049 Опубликовано 19 Октября 2014 Поделиться Опубликовано 19 Октября 2014 Жесткие способы какие-то, зачем мучать апдейт, когда на инфопоршнях все нормально делается. Погонял различные вариации, мой вариант самый оптимальный оказался, но спасибо за советы. то подойдет вариант с action Не лучший способ, тем не менее имеет место быть. Ссылка на комментарий
AndreySol 215 Опубликовано 19 Октября 2014 Поделиться Опубликовано 19 Октября 2014 зачем мучать апдейт, когда на инфопоршнях все нормально делается Поделитесь реализацией, я думаю всем будет интересно. 1 Ссылка на комментарий
AndrewLRG 0 Опубликовано 19 Октября 2014 Поделиться Опубликовано 19 Октября 2014 Добрый день. Подключил новую локацию для AMK 1.4.1. Но на ней не спавнятся динамические аномалии. Прописал локацию в файле amk_anoms.script в разделах local level_vertexes, local level_number, local game_vertexes, level_anoms и level_arts. Не могли бы вы подсказать что еще нужно добавить, чтобы на новой локации спавнились аномалии? Ссылка на комментарий
Zander_driver 10 333 Опубликовано 19 Октября 2014 Поделиться Опубликовано 19 Октября 2014 @makdm, внимательнее никак не прочитать? Открытое окно диалога, я не запускаю никакой диалог, мне просто нужно получить факт отрытого диалога, и по нему неписю с которым это окно открыто. Я уже давно сделал шаманством с инфопоршнями, но все же может еще как можно. Если окно диалога уже открыто - значит как минимум старт-диалог уже был запущен. Если он запускался - ничто не мешало там в любую фразу засунуть action и получив данные непися, сохранить где требуется. и затем оттуда уже получать всеми модулями которым это зачем-либо понадобится. Что кстати и реализовано по стандарту для всех без исключения неписей в моде над которым мы с тобой вроде еще работаем. Может заведешь себе привычку вопросы свои сначала мне в личку задавать? Глядишь, ответ быстрее получать станешь. 1 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Wolkodav 0 Опубликовано 20 Октября 2014 Поделиться Опубликовано 20 Октября 2014 Ребят, не могу понять как добавлять новые локации в game.graph... Пытаюсь присоединить новую локацию к сталкер тч, ну не получается все перерыл, не могу понять как работать с game.graph... Ссылка на комментарий
BFG 7 582 Опубликовано 20 Октября 2014 Поделиться Опубликовано 20 Октября 2014 (изменено) @Wolkodav, читай шапку этой темы и попробуй спросить в ней - http://www.amk-team.ru/forum/index.php?showtopic=5533 Есть также утилитка ggrc v.07 - https://yadi.sk/d/pC8aLe18c9Uzf Почитай ридми, возможно что полезное там найдёшь. Изменено 20 Октября 2014 пользователем BFG 1 "Кругом зомби.....у меня кончаются патроны...." Ссылка на комментарий
amik 253 Опубликовано 21 Октября 2014 Поделиться Опубликовано 21 Октября 2014 (изменено) Раньше вроде бы была тема по логике нпс, но сейчас ее не нахожу. Такой вопрос: есть три нпс с такой логикой: [logic] active = walker@guard1 [walker@guard1] path_walk = way_bar_mer_guard1 path_look = way_bar_mer_guard1_look ;on_signal = mer_guard1 | remark@guard1 def_state_standing = guard on_info = {+mer_guard_kill_actor} %=killactor% [logic] active = walker@guard2 meet = no_meet [walker@guard2] path_walk = way_bar_mer_guard2 path_look = way_bar_mer_guard2_look ;on_signal = mer_guard2 | remark@guard2 def_state_standing = guard on_info = {=actor_has_weapon} remark@has_weapon1 on_info2 = {+mer_guard_kill_actor} %=killactor% meet = no_meet [remark@has_weapon1] meet = no_meet snd_anim_synс = true target = actor snd = threat_weap anim = backoff on_info = {+mer_guard_kill_actor} %=killactor% on_info2 = {!actor_has_weapon} walker@guard2 on_timer = 6000 | {=actor_has_weapon} %+mer_guard_kill_actor =killactor% [logic] active = remark@no_move [remark@no_move] no_move = true anim = guard on_info = {+mer_guard_kill_actor} %=killactor% НПС под номером "2" нас должен просить максимум 6-ть секунд чтобы мы убрали ствол, если не убираем то должен сработать %=killactor% Но почему-то он срабатывает только у нпс под номером "3" (а значит инфо +mer_guard_kill_actor выдается). Что может быть не так? Были задачи и по тяжелее - справлялся, а сейчас не понимаю/вижу в чем моя беда. =============================== И еще одно. Мне нужно чтобы нпс появлялся с 18:00 и был до 20:00 на локации, потом в офф_лине. Но, если в 20:00 мы с ним говорим, или находимся рядом (50м радиус допустим), то пускай еще живет (в глаза чтобы исчезновение не кидалось). Я сделал так: custom_data = <<END [smart_terrains] none = true [spawner] cond = {=otshelnik_spawn} check_distance = true min_distance = 70 END function otshelnik_spawn (actor, npc) return level.get_time_hours() >= 18 and level.get_time_hours() < 20 end Как сюда (в функцию) еще добавить проверку на дистанцию? Чтобы check_distance можно было в false перевести. Изменено 21 Октября 2014 пользователем amik Мой архив Сталкером не занимаюсь. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти