Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
IQDDD 5 Опубликовано 8 Июля 2016 Поделиться Опубликовано 8 Июля 2016 Как сделать, чтобы задания из task_manager'а (ну которые начинаются "Мне нужна работа. Есть что на примете?") не повторялись. По какой-то непонятной для меня причине они часто сбрасываются. К примеру Сидоровичу нужно сначала принести Медузу, потом Каменный цветок, потом Ломоть мяса, и в конце Ночную звезду. Ты выполняешь 2 из них. Уходишь временно. Потом приходишь за получением 3его, а Сидоровичу опять нужна Медуза (самое первое задание). Я пытался понять в task_manager.script, как это работает, но так и не понял. Как убрать эту багофичу? Ссылка на комментарий
BFG 7 582 Опубликовано 8 Июля 2016 Поделиться Опубликовано 8 Июля 2016 (изменено) Нужно скинуть вещи ГГ в ящик который довольно-таки далеко от него. Обсуждалось же 5 страниц назад. Способ позволяет закинуть в ящик\рюкзак из оллспавна любое количество предметов вне зависимости от офф-он-лайна. http://www.amk-team.ru/forum/topic/5525-soc-kovyriaemsia-v-fajlakh/?p=1020159 Изменено 8 Июля 2016 пользователем BFG "Кругом зомби.....у меня кончаются патроны...." Ссылка на комментарий
naxac 2 447 Опубликовано 8 Июля 2016 Поделиться Опубликовано 8 Июля 2016 (изменено) @Kondr48, alife():set_switch_online(box.id, true) alife():set_switch_offline(box.id, false)Потом немного подождать, пока он (ящик) выйдет в онлайн, и можно трансферить предметы. @IQDDD, добавь в секцию задания, которое нужно реже повторять, параметр: idle_time = время в игровых секундах Через это время после выполнения оно снова будет доступно. По умолчанию в чистой игре стоят одни сутки. Изменено 8 Июля 2016 пользователем naxac 2 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
IQDDD 5 Опубликовано 8 Июля 2016 Поделиться Опубликовано 8 Июля 2016 В task_manager.ltx ни у одного задания не стоит idle_time. У четырёх заданий закомментирован. Когда скрипт task_manager'а читает ltx-файл, то по дефолту действительно ставит 24*60*60. Я ещё на 90 умножил. Спасибо за совет. Ссылка на комментарий
AndrewMor 527 Опубликовано 8 Июля 2016 Поделиться Опубликовано 8 Июля 2016 Функция прекрасно срабатывает вблизи ящика, но не работает если мы далеко Функция прекрасно работает и далеко от ящика. Но предмет в ящике не сохраняется, если сделать сейв и потом его загрузить. Мне посоветовали делать так, и все прекрасно работает. function spawn_docs() local sobj = alife():object("heli_seif") if sobj and has_alife_info("take_zver_message") then local obj = level.object_by_id(sobj.id) if obj then spawn_item_in_inv("access_card", obj) spawn_item_in_inv("journal", obj) end end end function spawn_item_in_inv(spawn_item,npc) if not npc then npc = db.actor end local item = alife():create(spawn_item, npc:position(), npc:level_vertex_id(), npc:game_vertex_id(), npc:id()) if npc:id() ~= db.actor:id() then -- Фикс пропадания доспавненного предмета при сейв/лоаде level.client_spawn_manager():add(item.id, -1, fix_spawn_item_in_inv, npc) -- Калбек на выход item в онлайн end return item end function fix_spawn_item_in_inv(npc, id, item) npc:transfer_item(item, npc) end Сталкер - наше всё! Ссылка на комментарий
AndrewMor 527 Опубликовано 9 Июля 2016 Поделиться Опубликовано 9 Июля 2016 Прошу помощи. Написал диалог, на первый взгляд, вроде все правильно. <dialog id="job_juk_dialog"> <phrase_list> <phrase id="0"> <text>job_juk_dialog_0</text> <next>1</next> </phrase> <phrase id="1"> <text /> <next>111</next> <next>121</next> <next>131</next> </phrase> <phrase id="111"> <text /> <precondition>zaton_dialog.bandits_death</precondition> <next>11</next> </phrase> <phrase id="121"> <text /> <precondition>zaton_dialog.killers_death</precondition> <next>12</next> </phrase> <phrase id="131"> <text /> <precondition>zaton_dialog.all_alive</precondition> <next>13</next> </phrase> <phrase id="11"> <text>job_juk_dialog_11</text> <next>21</next> </phrase> <phrase id="12"> <text>job_juk_dialog_12</text> <next>22</next> </phrase> <phrase id="13"> <text>job_juk_dialog_13</text> <action>dialogs.break_dialog</action> </phrase> <phrase id="21"> <text>job_juk_dialog_21</text> <next>311</next> <next>312</next> </phrase> <phrase id="311"> <text>job_juk_dialog_311</text> <give_info>job_kill_bandits</give_info> <action>dialogs.break_dialog</action> </phrase> <phrase id="312"> <text>job_juk_dialog_312</text> <action>dialogs.break_dialog</action> </phrase> <phrase id="22"> <text>job_juk_dialog_22</text> <next>321</next> <next>322</next> </phrase> <phrase id="321"> <text>job_juk_dialog_321</text> <give_info>job_kill_killers</give_info> <action>dialogs.break_dialog</action> </phrase> <phrase id="322"> <text>job_juk_dialog_322</text> <action>dialogs.break_dialog</action> </phrase> </phrase_list> </dialog> Но при клике на первую фразу - вылет. Что тут не так? stack trace: 001B:0076105B xrLUA.dll001B:02DCE637 xrGame.dll001B:02DD20A0 xrGame.dll Сталкер - наше всё! Ссылка на комментарий
BFG 7 582 Опубликовано 9 Июля 2016 Поделиться Опубликовано 9 Июля 2016 @AndrewMor, Вроде всё верно, но зачем столько лишних телодвижений со строкой <text /> ? Указал её в красном поле. Сначала ты разветвляешь диалог, потом зачем то 2 раза с помощью этой строки переводишь фразу от ГГ НПСу и обратно. Почему не поставил прекондишен сразу перед фразой (зелёным выделено) и убрать не нужную секцию ? "Кругом зомби.....у меня кончаются патроны...." Ссылка на комментарий
Vitalik Izotop 0 Опубликовано 9 Июля 2016 Поделиться Опубликовано 9 Июля 2016 Йо. 1. Подскажите, где находится параметр, отвечающий за время респавна артефактов в аномалии. 2. Как добавить в ту или иную аномалию спавн артефакта? К примеру, создал на новой локе жарку, и хочу в неё добавить спавн капли и огненного шара. Спасибо заранее. Ссылка на комментарий
UnLoaded 313 Опубликовано 9 Июля 2016 Поделиться Опубликовано 9 Июля 2016 @Vitalik Izotop В оригинале SoC нет никакого респавна артов в аномалиях. Если ты о каком-то моде, то хотя-бы уточни - о каком ? Ссылка на комментарий
Vitalik Izotop 0 Опубликовано 9 Июля 2016 Поделиться Опубликовано 9 Июля 2016 @UnLoaded, хм... это ввело меня в заблуждение. На примере подземелья агропрома: каждые 1,5 суток (точный интервал не вычислил) в полночь у электры спавнится вспышка. Бывало, зачистил полностью локу от артов, а они потом в ночь снова появляются. Игра без модов, поэтому и спрашиваю. Может что-то путаю, но ещё знаю, что в ЧН и ЗП респавн артов есть 100% Ссылка на комментарий
Kondr48 314 Опубликовано 9 Июля 2016 Поделиться Опубликовано 9 Июля 2016 (изменено) @Kondr48, alife():set_switch_online(box.id, true) alife():set_switch_offline(box.id, false)Потом немного подождать, пока он (ящик) выйдет в онлайн, и можно трансферить предметы. Проблема вылезла в том, чтобы узнать id ящика. У меня есть только story_id его. level_object_by_sid возвращает game_object или я не правильно понял? В любом случае когда тайник в офлайне он мне nil возвращает. P.S. Или же ткните, где есть реализованная на базе ТЧ функция ограбления ГГ, чтобы все его шмотки перепорхнули в нужный ящик. Я с оригинала только арену вспомнил, но там ящик как раз-таки в онлайне, что мне не подходит. Изменено 9 Июля 2016 пользователем Kondr48 Ссылка на комментарий
UnLoaded 313 Опубликовано 9 Июля 2016 Поделиться Опубликовано 9 Июля 2016 @Kondr48 Ну почему только level_object_by_sid ? У класса alife_simulator есть метод story_object, используй его: local sim = alife() local soBox = sim:story_object(тут SID твоего ящика) 1 Ссылка на комментарий
Vitalik Izotop 0 Опубликовано 9 Июля 2016 Поделиться Опубликовано 9 Июля 2016 Опять. Тестил подземелья: стабильно спавнится вспышка и бенгальский огонь у электр. Есть шанс появления двух бенгальских огней сразу! Теперь хочу найти параметр, отвечающий за респавн. Не вижу его.. Ссылка на комментарий
UnLoaded 313 Опубликовано 9 Июля 2016 Поделиться Опубликовано 9 Июля 2016 (изменено) Теперь хочу найти параметр, отвечающий за респавн. Не вижу его.. В конфигах аномалий есть: artefacts = af_rusty_thorn,0.7,af_rusty_kristall,0.25,af_rusty_sea-urchin,0.05 BirthProbability = 0.1 Если я не ошибаюсь, то этот респавн происходит только при выходе аномалий в он-лайн. Изменено 9 Июля 2016 пользователем UnLoaded 1 Ссылка на комментарий
Vitalik Izotop 0 Опубликовано 10 Июля 2016 Поделиться Опубликовано 10 Июля 2016 1. Насколько я знаю, сталкеры и мутанты с определённой вероятностью могут покинуть гулаг и начать путешествие по локациям в поисках другого свободного. ( собаки уходят с агропрома на свалку, плоти идут на агропром. Сталкеры с арм.складов в бар ходят. Второстепенные персонажи, типо Фраера и Кочерги шляются из гулага в гулаг. ) Какой параметр отвечает за вероятность "желания" уйти с гулага в свободное путешествие? P.S. Unloaded, правил конфиг аномалий, респавн артов всё равно составляет 1,5-2 суток. Разве что получилось заспавнить огненный шар в карусели) Кстати говоря, для меня загадка, откуда при переходе из ТД на кордон позади тебя спавнятся 10-13 бандитов. Если АТП заполнено, другие гулаги тоже, то какая цель? Или это наитупейший маршрут на свалку, где они должны были остановиться? Ссылка на комментарий
AndrewMor 527 Опубликовано 10 Июля 2016 Поделиться Опубликовано 10 Июля 2016 Почему не поставил прекондишен сразу перед фразой (зелёным выделено) и убрать не нужную секцию ? Опытным путем выяснил, что вылет идет из-за precondition, если его убрать(закомментировать) - все работает. Тады вопрос: почему? function bandits_death(actor, npc) if not has_alife_info("job_kill_bandits") then return true end return false end Сталкер - наше всё! Ссылка на комментарий
UnLoaded 313 Опубликовано 10 Июля 2016 Поделиться Опубликовано 10 Июля 2016 (изменено) Тады вопрос: почему? Ну так что не ясно: видимо условие в прекондишене не выполняется, он возвращает false, движок соответственно не может "построить" дальше диалог -> вылет. Для диалогов с ветвлениями есть такое правило - должна быть хотя-бы одна ветка, которая будет доступна и движок сможет "построить" ее до конца. Насколько я знаю, сталкеры и мутанты с определённой вероятностью могут покинуть гулаг... Все зависит от условий. Если мобу, в его кастом-дате, однозначно прописан гулаг, он его не покинет никогда. Если моб просто подошел по параметрам и взят в гулаг - его может "вытеснить" с работы\из гулага более подходящий моб. Все это регулируется в xr_gulag.script, в скриптах гулагов и в профилях мобов. Изменено 10 Июля 2016 пользователем UnLoaded 1 Ссылка на комментарий
Max_Raf 35 Опубликовано 10 Июля 2016 Поделиться Опубликовано 10 Июля 2016 Вопрос про серверные и клиентские классы. Чтобы сделать "скриптовую обёртку" для серверного объекта ( в смысле как se_stalker.script ) нужно, чтобы этот класс был зарегистрирован в class_registrator.script, а так же, чтобы был экспортирован клиентский(?) класс ( CMosquitoBald и тому подобное) . И так как классы CNoGravityZone и CRadioactiveZone не экспортированы, такую вот "обвязочку" им не сделаешь. Я правильно всё понял? ... А наше дело маленькое - с ружьём да по болотам. (с) Ссылка на комментарий
naxac 2 447 Опубликовано 10 Июля 2016 Поделиться Опубликовано 10 Июля 2016 @Max_Raf, да. 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
AndrewMor 527 Опубликовано 10 Июля 2016 Поделиться Опубликовано 10 Июля 2016 Ну так что не ясно: видимо условие в прекондишене не выполняется В том-то и дело, что условие выполняется. Ну в общем, я плюнул и сделал все по другому. Сталкер - наше всё! Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти