Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 (изменено) Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском.Возможно, ответ на Ваш вопрос уже есть.Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. Изменено 23 Февраля 2016 пользователем warwer 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
dsh 3 820 Опубликовано 27 Февраля 2017 Поделиться Опубликовано 27 Февраля 2017 Кто разбирается в патрульных путях, расскажите пожалуйста. Вот есть непись, есть у него путь из четырех точек. Бежит он значит от точки 0 к точке 1. И тут бац, на пол-пути разворачивается и бежит обратно к точке 0. Добежал, разворачивается и снова бежит к точке 1. И тут бац... Ну в общем вы поняли. И так до бесконечности. В округе ни одной аномалии нет. Лезу в move_mgr.script и вставляют отладочный вывод в extrapolate_callback(). Вижу, что он разворачивается и бежит обратно сразу после срабатывания этого коллбека. Бежит к точке 1, срабатывает на полпути коллбек, в нем self.object:get_current_point_index() возвращает 0. Ладно, непонятно. Но не в первый раз. Добавляю в этот коллбек вот такие две строчки self.object:set_start_point(self.current_point_index) self.object:set_patrol_path(self.path_walk, patrol.next, patrol.continue, true) и все чудеса исчезают. Непись бежит, как положено. Нигде не останавливается и никуда не разворачивается. Исправно добежал до конца пути и продолжил свою логику. Вопрос. Вот это я фигню какую-то добавил или нормальный костыль? dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 27 Февраля 2017 Поделиться Опубликовано 27 Февраля 2017 Это, скорее всего, его кто-нибудь для чего-нибудь прервал. И самое поганое, что механизма отследить - КТО - нет. А коллбэк - да, честно возвращает "текущую", поскольку до следующей еще не добежали. Костыль - в общем, зависит от того, что там где ЕЩЕ понапихано. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Х_и_м_и_к 3 Опубликовано 27 Февраля 2017 Поделиться Опубликовано 27 Февраля 2017 (изменено) как минимум пробовать Спасибо попробую! Может кто подскажет, как бороться с очень маленькой дистанцией между ботами(при движении по одному пути). Уж очень не красиво смотрится, когда толпа нпс(ов) бежит, дыша друг дружке в затылок))). Изменено 27 Февраля 2017 пользователем Х_и_м_и_к Ссылка на комментарий
dsh 3 820 Опубликовано 27 Февраля 2017 Поделиться Опубликовано 27 Февраля 2017 @Dennis_Chikin, в процессе отладки у меня сложилось стойкое впечатление, что это движок его туда-сюда пинал, почему-то. Вот нутром чую, никто его скриптово не отвлекал. И даже если бы кто-то и мешал и отвлекал, почему две добавленных строчки его тут же в чувство привели? Ответа я наверное не найду. 1 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
AndrewMor 517 Опубликовано 28 Февраля 2017 Поделиться Опубликовано 28 Февраля 2017 Не так давно я писал про странный вылет, причем только при переходах с одной-единственной локации: 0023:7699C54F KERNELBASE.dll0023:73EC8E89 MSVCR80.dll, EH_prolog()0023:03B76DA8 xrGame.dll0023:03D979DD xrGame.dll[error][ 183] : Невозможно создать файл, так как он уже существует. Так вот, дело было в дубликатах строчки name = бла-бла-бла в файле alife_имя_локации.ltx в спавне. Как только дубли убрал - вылет пропал. Может, пригодится кому... 2 Сталкер - наше всё! Ссылка на комментарий
Х_и_м_и_к 3 Опубликовано 28 Февраля 2017 Поделиться Опубликовано 28 Февраля 2017 (изменено) как минимум пробовать: Вот что я делал При входе в этот рестрик, должна сработать функция(xr_effects.hana_ano) [251] ; cse_abstract properties section_name = space_restrictor name = anomaliii s_rp = 0 position = 22.482372283936,-2.4042422771453,70.77449798584 direction = 0, 0, 0 version = 118 script_version = 6 ; cse_alife_object properties game_vertex_id = 598 level_vertex_id = 129370 object_flags = 0xffffff3e custom_data = <[logic] active = sr_idle [sr_idle] on_actor_inside = {+top_bor} nil %=xr_effects.hana_ano% END ; cse_shape properties shapes = shape0 shape0:type = sphere shape0:offset = 0,0,0 shape0:radius = 2 ; cse_alife_space_restrictor properties restrictor_type = 0 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Срабатывает, только один раз(выдает инф.поршен)! Т.е после загрузки сохранения(для проверки работа-способности), уже больше не работает! function hana_ano() if db.actor:object("tv_1") and db.actor:object("tv_2") and db.actor:object("tv_3") then db.actor:give_info_portion("anom_tyty") end end Может здесь чего-то не хватает? Изменено 28 Февраля 2017 пользователем Х_и_м_и_к Ссылка на комментарий
Kirgudu 948 Опубликовано 28 Февраля 2017 Поделиться Опубликовано 28 Февраля 2017 (изменено) @Х_и_м_и_к, active = sr_idle [sr_idle] on_actor_inside = {+top_bor} nil %=xr_effects.hana_ano%вот этот вот "nil" завершает работу данной логики. Окончательно и бесповоротно.Соответственно, раз зайдя в рестриктор, ты сам же запрещаешь повторное его срабатывание. Изменено 28 Февраля 2017 пользователем Kirgudu 1 Инструмент Ссылка на комментарий
Х_и_м_и_к 3 Опубликовано 28 Февраля 2017 Поделиться Опубликовано 28 Февраля 2017 (изменено) ты сам же запрещаешь повторное его срабатывание. Да нет же, я имел в виду что если сделать сохранку до входа в рестрик, и потом повторно(после загрузки сохранения проверить) то больше не срабатывает! хотя должно... Суть проблемы, нужен инф.поршен, который выдается после появления в рюкзаке 3 предметов. Изменено 28 Февраля 2017 пользователем Х_и_м_и_к Ссылка на комментарий
oleg-ba 10 Опубликовано 28 Февраля 2017 Поделиться Опубликовано 28 Февраля 2017 (изменено) Привет! Можно небольшой вопросик по NLS 7: как сделать так, чтобы все неписи покупали у меня стволы? Пробовал ковырять (в гугле нашел) папку миск далее файл трейд дженерик, нефига не выходит. Утомился подкидывать к ногам стволы и ждать подберут или нет. Вот долг на свалке, около блокпоста берет с удовольствием дрободаны, а те же сталкеры НЕТ. Где настройки на эту правку? Прошу помощи плиз! Изменено 28 Февраля 2017 пользователем oleg-ba 1 Ссылка на комментарий
artiom64306 0 Опубликовано 28 Февраля 2017 Поделиться Опубликовано 28 Февраля 2017 Вопрос по NLC7 : Как увеличить количество артов,спавнящихся после выброса ? Ссылка на комментарий
Х_и_м_и_к 3 Опубликовано 28 Февраля 2017 Поделиться Опубликовано 28 Февраля 2017 (изменено) Ребята, может мне кто нибудь доходчиво объяснить,. как выдать поршен при наличии у гг нескольких предметов. Дело в том что проверочные функции, в основном как я понял работают с <precondition> в диалогах! А мне нужна выдача поршня, из тела функции проверки предметов в рюкзаке. Такое вообще возможно?! с function hana_ano()if db.actor:object("tv_1") and db.actor:object("tv_2") and db.actor:object("tv_3") thendb.actor:give_info_portion("anom_tyty")endend Изменено 28 Февраля 2017 пользователем Х_и_м_и_к Ссылка на комментарий
Kondr48 314 Опубликовано 28 Февраля 2017 Поделиться Опубликовано 28 Февраля 2017 Х_и_м_и_к я бы посоветовал, для начала, объяснить что нужно и для чего. Мб что попроще подскажут. Ссылка на комментарий
Marafon6540 717 Опубликовано 28 Февраля 2017 Поделиться Опубликовано 28 Февраля 2017 (изменено) @Х_и_м_и_к, local t_wpn = {"ПРЕДМЕТ1", "ПРЕДМЕТ1", "ПРЕДМЕТ1"} function search_ALL_weapons_complete() local gg = db.actor if gg then for i=1,#t_wpn do if not gg:object(t_wpn[i]) then return false end end gg:give_info_portion("ПОРШЕНЬ") return true end return false end Изменено 28 Февраля 2017 пользователем Marafon6540 1 Трилогия Апокалипсис. Упавшая звезда. Честь наемника. v. 1.2 УЗЧН v.1.3 + ОГСРх64 Последний сталкер v. 1.2 ПС v. 1.3 + ОГСРх64 Ссылка на комментарий
AndrewMor 517 Опубликовано 28 Февраля 2017 Поделиться Опубликовано 28 Февраля 2017 (изменено) Marafon6540, пока ответ писал, ты уже ответил. Полностью согласен, функция 100% рабочая, сам пользовал. Вот моя (то же самое, в моде УЗИ отлично работает) local azot_parts = {"box_condensers", "materials_textolite", "materials_wire", "box_transistors", "kanifol"} function radioparts_have(task, objective)local gg = db.actorif gg thenfor i=1,#azot_parts doif not gg:object(azot_parts) thenreturn falseendendreturn trueendreturn falseend Изменено 28 Февраля 2017 пользователем AndrewMor 1 Сталкер - наше всё! Ссылка на комментарий
Kondr48 314 Опубликовано 28 Февраля 2017 Поделиться Опубликовано 28 Февраля 2017 Только вы бы тег кода использовали, оно чутка нагляднее: local azot_parts = {"box_condensers", "materials_textolite", "materials_wire", "box_transistors", "kanifol"} function radioparts_have(task, objective) local gg = db.actor if gg then for i=1,#azot_parts do if not gg:object(azot_parts[i]) then return false end end return true end return false end 1 Ссылка на комментарий
Х_и_м_и_к 3 Опубликовано 28 Февраля 2017 Поделиться Опубликовано 28 Февраля 2017 Kondr48 объяснить что нужно и для чего. Допустим гг собирает тяжелый хлам в виде каких то предметов, когда он соберет нужные, то сработает рестрик1 для включения следующей функции. Чтобы рестрик1 сработал нужно выдать нужный ему поршен. Нужна рабочая функция для тч. local azot_parts = {"box_condensers", "materials_textolite", "materials_wire", "box_transistors", "kanifol"} local t_wpn = {"ПРЕДМЕТ1", "ПРЕДМЕТ1", "ПРЕДМЕТ1"} Спасибо что откликнулись! Сейчас буду пробовать Ссылка на комментарий
Kondr48 314 Опубликовано 28 Февраля 2017 Поделиться Опубликовано 28 Февраля 2017 (изменено) А рестриктор в этой схеме он зачем? Это в определенной зоне прям нужно делать? Просто можно всё то же самое, по-моему было бы дергать из колбека на взятие предмета, как только ГГ получает предмет, скрипт проверяет, есть ли в инвентаре все, что надо. А в рестрикторе, я полагаю, это висит на апдейте? Изменено 28 Февраля 2017 пользователем Kondr48 1 1 Ссылка на комментарий
Х_и_м_и_к 3 Опубликовано 28 Февраля 2017 Поделиться Опубликовано 28 Февраля 2017 рестриктор в этой схеме он зачем?Нужно по сюжету, именно так и никак иначе. Да в определенной зоне... Ссылка на комментарий
AndrewMor 517 Опубликовано 28 Февраля 2017 Поделиться Опубликовано 28 Февраля 2017 (изменено) Kondr48, согласен, так нагляднее. Забыл про этот тег. Х_и_м_и_к, если в опр. зоне - то да. Прописывай функцию в xr_effects и вызывай ее из рестра. Я свою функцию вызывал из таска, но это ж не принципиально. Изменено 28 Февраля 2017 пользователем AndrewMor Сталкер - наше всё! Ссылка на комментарий
Х_и_м_и_к 3 Опубликовано 28 Февраля 2017 Поделиться Опубликовано 28 Февраля 2017 (изменено) Прописывай функцию в xr_effects и вызывай ее из рестра. Я так и сделал. Kirgudu - Да вы правы, пришлось убрать этот самый "nil" , но заработала правильно только с этой функцией. Остался последний вопрос, не повлияет ли на фпс логика рестрика без "nil" ? А вот собственно то что получилось: - рестрик [logic] active = sr_idle [sr_idle] on_actor_inside = {+top_vov} %=xr_effects.hana_ano% функция (немного изменил) local obj = {"seif", "tv_1", "tv_2"} function hana_ano() local gg = db.actor if gg then for i=1,#obj do if not gg:object(obj) then return false end end gg:give_info_portion("anom_tyty") return true end return false end Спасибо всем кто помогал! Изменено 28 Февраля 2017 пользователем Х_и_м_и_к Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти