Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Баба ЯГА 7 Опубликовано 6 Сентября 2021 Поделиться Опубликовано 6 Сентября 2021 @dsh @Okichi а возможно как-то скриптово проверить все объекты которые в онлайне, даже если они на другой локации, ну т.е. которым запрещено уходить в оффлайн вообще? Мы, вчера, соседям сказали, что материализация - состоялась, чтобы ваш авторитет не уронить. Вот, мол, было изваяние, а теперь - стала Марья Ивановна. Многие верят ... © Ссылка на комментарий
Okichi 919 Опубликовано 6 Сентября 2021 Поделиться Опубликовано 6 Сентября 2021 @Баба ЯГА насчет "вот прям всех" на всех локациях - не знаю. На тех локах, где актора нет - там и так все в оффлайне, емнип. Все живое в онлайне получалось так находить на текущей локации - нужно при загрузке , перед выходом актора в онлайн, перебрать все объекты, которые есть в db.creatures. В db.creatures - все "живые" онлайновые объекты на локе, может, есть что похожее и для неживых? Тоже интересно ) След от кругов на воде - это тоже след (с) Ссылка на комментарий
Баба ЯГА 7 Опубликовано 6 Сентября 2021 Поделиться Опубликовано 6 Сентября 2021 @Okichi вот и мне интересно именно для неживых и в онлайне, для тех же рюкзаков Мы, вчера, соседям сказали, что материализация - состоялась, чтобы ваш авторитет не уронить. Вот, мол, было изваяние, а теперь - стала Марья Ивановна. Многие верят ... © Ссылка на комментарий
Norman Eisenherz 302 Опубликовано 6 Сентября 2021 Поделиться Опубликовано 6 Сентября 2021 @Баба ЯГА Все онлайн-объекты: for id, v in pairs(db.storage) do local obj = level.object_by_id(id) -- объект на текущей локации if obj then … 1 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
Это популярное сообщение. naxac 2 441 Опубликовано 6 Сентября 2021 Это популярное сообщение. Поделиться Опубликовано 6 Сентября 2021 (изменено) @Баба ЯГА , в db.storage, как правило, находятся только объекты с логикой. Если нужны вообще прям все онлайновые, то можно сделать что-то вроде for i = 1, 65534 do local obj = level.object_by_id(i) if obj then ... end end Изменено 6 Сентября 2021 пользователем naxac 1 1 4 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
Баба ЯГА 7 Опубликовано 7 Сентября 2021 Поделиться Опубликовано 7 Сентября 2021 (изменено) @Norman Eisenherz @naxac @dsh @Okichi перебрал все онлайн объекты на Свалке, стоял возле долговцев, отбежал в другой конец локации, к переходу на Кордон, трупы важных персонажей, типа бандюка Кабана и бандюка у развалин - всё время в онлайне, с этим разобрались, потому и когда в них складывать вещи, то ничего не тормозит при подходе к ним, а вот с рюкзаком - магия, он как раз уходит в оффлайн, но при подходе к нему - ничего не тормозит, хоть там будет 100500 вещей в нём... В чём же всё-таки секрет интересно? По-поводу визуала - я ошибался. Признаю. Изменено 7 Сентября 2021 пользователем Баба ЯГА 1 Мы, вчера, соседям сказали, что материализация - состоялась, чтобы ваш авторитет не уронить. Вот, мол, было изваяние, а теперь - стала Марья Ивановна. Многие верят ... © Ссылка на комментарий
DarkSnowder 899 Опубликовано 9 Сентября 2021 Поделиться Опубликовано 9 Сентября 2021 (изменено) Народ, запутался уже, прошу вашей помощи. Скомпилировал Агропром, создал новый лагерь военных на территории института, привязал к нему сталкеров (заспавнил в редакторе по новой), и в игре постоянно вот такой вылет Скрытый текст FATAL ERROR [error]Expression : vertex || show_restrictions(m_object) [error]Function : CPatrolPathManager::select_point [error]File : E:\stalker\sources\trunk\xr_3da\xrGame\patrol_path_manager.cpp [error]Line : 155 [error]Description : any vertex in patrol path [agr_army_lager_guard10_walk] in inaccessible for object [l03_agroprom_stalker_0008] stack trace: Постоянные жалобы на то, что мол пути найти не может НО! - лагерь не имеет никаких привязок к space_restrictor-ам - никаких space_restrictor, не допускающих нахождение посторонних на территории института нету - все way-поинты находятся на АИ-сетке - у всех сталкеров, привязанных к АИ-сетке нет никаких привязок к space_restrictor-ам Вот в чём причина вылета может быть тогда? Делал такие-же лагеря на других локах - всё работало отлично. Скрытый текст ------------------ НИИ Агропром. Новый Лагерь ------------------------------------------ if type == "agr_army_lager" then t = { section = "logic@agr_army_lager_walker1", idle = 0, prior = 5, state = {0}, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@agr_army_lager_walker2", idle = 0, prior = 5, state = {0}, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@agr_army_lager_walker3", idle = 0, prior = 5, state = {0}, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@agr_army_lager_walker4", idle = 0, prior = 5, state = {0}, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@agr_army_lager_walker5", idle = 0, prior = 5, state = {0}, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@agr_army_lager_kamp1", idle = 0, prior = 5, state = {0}, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@agr_army_lager_walker6", idle = 0, prior = 5, state = {0}, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@agr_army_lager_kamp2", idle = 0, prior = 5, state = {0}, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@agr_army_lager_walker7", idle = 0, prior = 5, state = {0}, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@agr_army_lager_walker8", idle = 0, prior = 5, state = {0}, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@agr_army_lager_walker9", idle = 0, prior = 5, state = {0}, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@agr_army_lager_walker10", idle = 0, prior = 5, state = {0}, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@agr_army_lager_walker11", idle = 0, prior = 5, state = {0}, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@agr_army_lager_walker12", idle = 0, prior = 5, state = {0}, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@agr_army_lager_walker13", idle = 0, prior = 5, state = {0}, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@agr_army_lager_walker14", idle = 0, prior = 5, state = {0}, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@agr_army_lager_walker15", idle = 0, prior = 5, state = {0}, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@agr_army_lager_walker16", idle = 0, prior = 5, state = {0}, in_rest = "", out_rest = "" } table.insert(sj, t) t = { section = "logic@agr_army_lager_walker17", idle = 0, prior = 5, state = {0}, in_rest = "", out_rest = "" } table.insert(sj, t) end if type == "agr_army_lager" then return function(gulag) return 0 end end if gulag_type == "agr_army_lager" then return npc_community == "military" end Скрытый текст ;*************** agr_army_lager ******************* [logic@agr_army_lager_walker1] active = walker1@agr_army_lager [walker1@agr_army_lager] path_walk = guard1_walk path_look = guard1_look [logic@agr_army_lager_walker2] active = walker2@agr_army_lager [walker2@agr_army_lager] path_walk = guard2_walk path_look = guard2_look [logic@agr_army_lager_walker3] active = walker3@agr_army_lager [walker3@agr_army_lager] path_walk = guard3_walk path_look = guard3_look [logic@agr_army_lager_walker4] active = walker4@agr_army_lager [walker4@agr_army_lager] path_walk = guard4_walk path_look = guard4_look [logic@agr_army_lager_walker5] active = walker5@agr_army_lager [walker5@agr_army_lager] path_walk = guard5_walk path_look = guard5_look [logic@agr_army_lager_kamp1] active = kamp1@agr_army_lager [kamp1@agr_army_lager] center_point = institute_camp_center path_walk = institute_camp_center_task radius = 2.4 danger = danger_ignore@agr_army_lager on_timer = 150000 | kamp3@agr_army_lager [kamp3@agr_army_lager] center_point = angar_camp_center path_walk = angar_camp_center_task radius = 2.4 danger = danger_ignore@agr_army_lager on_timer = 150000 | kamp1@agr_army_lager [logic@agr_army_lager_walker6] active = walker6@agr_army_lager [walker6@agr_army_lager] path_walk = guard6_walk path_look = guard6_look [logic@agr_army_lager_kamp2] active = kamp2@agr_army_lager [kamp2@agr_army_lager] center_point = institute_camp_center path_walk = institute_camp_center_task radius = 2.4 danger = danger_ignore@agr_army_lager [logic@agr_army_lager_walker7] active = walker7@agr_army_lager [walker7@agr_army_lager] path_walk = guard7_walk path_look = guard7_look [logic@agr_army_lager_walker8] active = walker8@agr_army_lager [walker8@agr_army_lager] path_walk = guard8_walk path_look = guard8_look [logic@agr_army_lager_walker9] active = walker9@agr_army_lager [walker9@agr_army_lager] path_walk = guard9_walk path_look = guard9_look [logic@agr_army_lager_walker10] active = walker10@agr_army_lager [walker10@agr_army_lager] path_walk = guard10_walk path_look = guard10_look [logic@agr_army_lager_walker11] active = walker11@agr_army_lager [walker11@agr_army_lager] path_walk = guard11_walk path_look = guard11_look [logic@agr_army_lager_walker12] active = walker12@agr_army_lager [walker12@agr_army_lager] path_walk = guard12_walk path_look = guard12_look [logic@agr_army_lager_walker13] active = walker13@agr_army_lager [walker13@agr_army_lager] path_walk = guard13_walk path_look = guard13_look [logic@agr_army_lager_walker14] active = walker14@agr_army_lager [walker14@agr_army_lager] path_walk = guard14_walk path_look = guard14_look [logic@agr_army_lager_walker15] active = walker15@agr_army_lager [walker15@agr_army_lager] path_walk = guard15_walk path_look = guard15_look [logic@agr_army_lager_walker16] active = walker16@agr_army_lager [walker16@agr_army_lager] path_walk = guard16_walk path_look = guard16_look [logic@agr_army_lager_walker17] active = walker17@agr_army_lager [walker17@agr_army_lager] path_walk = guard17_walk path_look = guard17_look [danger_ignore@agr_army_lager] ignore_distance = 5 Скрытый текст [smart_terrain] type = agr_army_lager capacity = 19 communities = military Ссылка на лог Изменено 9 Сентября 2021 пользователем DarkSnowder Лучше сделать мод с 0, чем пытаться залатать багованный. Ссылка на комментарий
WinCap 314 Опубликовано 9 Сентября 2021 Поделиться Опубликовано 9 Сентября 2021 @DarkSnowder, а в логе, чуть выше этой ошибки, список рестрикторов не выводится? S.T.A.L.K.E.R. CoP Objects (upd 28.10.24) Ссылка на комментарий
DarkSnowder 899 Опубликовано 9 Сентября 2021 Поделиться Опубликовано 9 Сентября 2021 @WinCap Вот лог Вроде как выводится да Лучше сделать мод с 0, чем пытаться залатать багованный. Ссылка на комментарий
WinCap 314 Опубликовано 9 Сентября 2021 Поделиться Опубликовано 9 Сентября 2021 @DarkSnowder, один из этих рестрикторов преграждает "l03_agroprom_stalker_0008" путь к заветной цели - "agr_army_lager_guard10_walk". S.T.A.L.K.E.R. CoP Objects (upd 28.10.24) Ссылка на комментарий
DarkSnowder 899 Опубликовано 9 Сентября 2021 Поделиться Опубликовано 9 Сентября 2021 (изменено) @WinCap Дык никаких рестрикторов в том то и дело на пути ни у кого нет. Изменено 9 Сентября 2021 пользователем DarkSnowder Лучше сделать мод с 0, чем пытаться залатать багованный. Ссылка на комментарий
Okichi 919 Опубликовано 9 Сентября 2021 Поделиться Опубликовано 9 Сентября 2021 1 час назад, DarkSnowder сказал: никаких рестрикторов в том то и дело на пути ни у кого нет. А как вы это определили? Посмотрите радиус и тип рестра, который сказал вам ВинКап - возможно, он дстатоточно большой, чтобы захватывать доступные нпс точки пути. Тут такое дело - если рестриктор с типом 2, то он будет добавлен каждому неписю в ин_рестрикшнс без всяких доп. указаний, по умолчанию. Лучше всего - вывести для проблемного НПС-а всё, что у него в ин_рестрикшнс, и уже там будет видно, что конкретно ему мешает. 1 След от кругов на воде - это тоже след (с) Ссылка на комментарий
DarkSnowder 899 Опубликовано 9 Сентября 2021 Поделиться Опубликовано 9 Сентября 2021 @WinCap @Okichi Да, действительно дело было в реестре - удалил их всех и всё заработало. Чтож, буду восстанавливать их потихоньку и смотреть, какой реестр был глючным. 1 Лучше сделать мод с 0, чем пытаться залатать багованный. Ссылка на комментарий
DarkSnowder 899 Опубликовано 11 Сентября 2021 Поделиться Опубликовано 11 Сентября 2021 (изменено) Добро всем. Решил адаптировать функцию медика в ТЧ, перенёс диалог, внёс все нужные функции, и при старте диалога на мед помощь выскакивает вот такой вылет Скрытый текст FATAL ERROR [error]Expression : fatal error [error]Function : CScriptEngine::lua_error [error]File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp [error]Line : 73 [error]Description : <no expression> [error]Arguments : LUA error: d:\s.t.a.l.k.e.r\gamedata\scripts\dialogs.script:330: attempt to compare number with nil stack trace: Ссылается он вот на эту функцию проверки состояния здоровья игрока Скрытый текст function actor_needs_bless(first_speaker, second_speaker) if db.actor.health < 1 or db.actor.radiation > 0 or db.actor.bleeding > 0 then return true end return false end В частности на db.actor.bleeding > 0 then. Я так понял всё дело в цифре 0, но как тогда в ТЧ проверку на кровотечение сделать в пределах этой функции. В скриптах родного ТЧ ничего такого не находил пока что. Скрытый текст -- Medic support function medic_magic_potion(first_speaker, second_speaker) db.actor.health = 1 db.actor.power = 1 db.actor.radiation = -1 db.actor.bleeding = 1 end function actor_needs_bless(first_speaker, second_speaker) if db.actor.health < 1 or db.actor.radiation > 0 or db.actor.bleeding > 0 then return true end return false end function actor_is_damn_healthy(first_speaker, second_speaker) return not actor_needs_bless(first_speaker, second_speaker) end Изменено 11 Сентября 2021 пользователем DarkSnowder Лучше сделать мод с 0, чем пытаться залатать багованный. Ссылка на комментарий
WinCap 314 Опубликовано 11 Сентября 2021 Поделиться Опубликовано 11 Сентября 2021 (изменено) @DarkSnowder, если правильно помню, в ТЧ для кровотечения только чтение - db.actor:get_bleeding(). Изменено 11 Сентября 2021 пользователем WinCap 3 S.T.A.L.K.E.R. CoP Objects (upd 28.10.24) Ссылка на комментарий
DarkSnowder 899 Опубликовано 11 Сентября 2021 Поделиться Опубликовано 11 Сентября 2021 @WinCap тут дело в том, что функция при диалоге на лечение в случае оказании помощи игроку не может это кровотечение остановить, то бишь значение > 0 она не определяет как прекращение кровотечения у ГГ. Если ёё закомментировать, вылет пропадает, но кровотечение у ГГ не вылечивается. Дело не в том, что там некорректно указано db.actor.bleeding, а то, что числовое значение > 0 для него указано некорректно. Вот меня и интересует, какое значение там должно быть, чтобы лечение ГГ шло как по маслу. Лучше сделать мод с 0, чем пытаться залатать багованный. Ссылка на комментарий
UriZzz 1 004 Опубликовано 11 Сентября 2021 Поделиться Опубликовано 11 Сентября 2021 (изменено) @DarkSnowder а после db.actor разве не двоеточие? Изменено 11 Сентября 2021 пользователем UriZzz Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий
DarkSnowder 899 Опубликовано 11 Сентября 2021 Поделиться Опубликовано 11 Сентября 2021 @UriZzz Нет, в оригинальном скрипте одна точка. При двоеточии вылет без лога, проверял. 1 Лучше сделать мод с 0, чем пытаться залатать багованный. Ссылка на комментарий
I am Dead 911 Опубликовано 11 Сентября 2021 Поделиться Опубликовано 11 Сентября 2021 @DarkSnowder В оригинале тч можно только проверить есть ли кровотечение, убрать его скриптами у тебя не выйдет. 3 1 1 Ссылка на комментарий
UriZzz 1 004 Опубликовано 11 Сентября 2021 Поделиться Опубликовано 11 Сентября 2021 @I am Dead но можно эмулировать, путём спавна в инвентарь и съедания бинта. Костыльно конечно... Мож что в x-ray ext есть??? 2 Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти