Overf1rst 1 502 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Чистое Небо. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 4 3 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 123 Опубликовано 11 апреля, 2023 4 минуты назад, N42 сказал: Поиском поищи где читается в спавне и конфигах не нашёл) попробую зрение урезать Дополнено 4 минуты спустя зрение урезал - помогло Дополнено 36 минуты спустя можно как-нибудь отключить post_combat для некоторых НПС? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 716 Опубликовано 11 апреля, 2023 imcrazyhoudini было точно у кого-то, попадалось Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 123 Опубликовано 13 апреля, 2023 Спойлер function UISleep:add_to_time() if sleep_time < max_sleep_time then sleep_time = sleep_time + 1; self.display:SetText(sleep_time.." ч.."); self.display:SetTextX(44); end end function UISleep:sub_to_time() if sleep_time > min_sleep_time then sleep_time = sleep_time - 1; self.display:SetText(sleep_time.." ч."); self.display:SetTextX(44); end end как сделать чтобы было: 1 - час 2-4 - часа 5-12 - часов? чтобы писалось так, вместо того что сейчас (ч.) Дополнено 1 минуту спустя хотя ещё тут идёт вызов display Спойлер function UISleep:init_interface() local xml = CScriptXmlInit(); xml:ParseFile("ui_sleep.xml"); --Background. self.background = xml:InitStatic("background",self); self:SetWndPos(vector2():set(100,100)); self:SetWndSize(vector2():set(self.background:GetWidth(),self.background:GetHeight())); self.background:SetWndPos(vector2():set(0,0)); --Indicator. -- self.safetybar = xml:InitStatic("safetybar",self); -- self.fearbar = xml:InitStatic("fearbar",self); -- self:set_level_danger(); --Display for show hours of sleeping. self.display = xml:InitStatic("display",self); self.display:SetTextX(44); --Button for activation of sleeping. self.button_sleep = xml:InitButton("button_sleep",self); self:Register(self.button_sleep, "button_sleep"); --Button for quit. self.button_quit = xml:InitButton("button_quit",self); self:Register(self.button_quit, "button_quit"); --Button for add of hour. self.button_left = xml:InitButton("button_left",self); self:Register(self.button_left, "button_left"); --Button for sub of hour. self.button_right = xml:InitButton("button_right",self); self:Register(self.button_right, "button_right"); end а в конфиге уже: Спойлер <display x="200" y="59" width="102" height="23"> <texture x="23" y="285" width="102" height="23">ui\atmsleep</texture> <texture>ui_button_main02</texture> <text font="graffiti19">1 час</text> <text_color> <e r="227" g="199" b="178"/> <t r="180" g="153" b="155"/> <d r="106" g="95" b="91"/> <h r="0" g="0" b="0"/> </text_color> </display> Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 716 Опубликовано 14 апреля, 2023 imcrazyhoudini Спойлер function display_txt(time) local txt = " ч." if time == 1 then txt = " час" elseif 2 <= time and time <= 4 then txt = " часа" elseif 5 <= time and time <= 12 then txt = " часов" end return time..txt end function UISleep:add_to_time() if sleep_time < max_sleep_time then sleep_time = sleep_time + 1 self.display:SetText(display_txt(sleep_time)) self.display:SetTextX(44) end end function UISleep:sub_to_time() if sleep_time > min_sleep_time then sleep_time = sleep_time - 1 self.display:SetText(display_txt(sleep_time)) self.display:SetTextX(44) end end 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 123 Опубликовано 14 апреля, 2023 N42 эх, что я без тебя бы делал Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 123 Опубликовано 18 апреля, 2023 [danger_condition@ignore] ignore_distance = 20 Я же правильно понимаю - противники за 20 метров для НПС существовать НЕ будут? Кстати, и почему такая конструкция убивает combat_ignore?: combat_ignore_cond = {=check_fighting(26) =enemy_gulag(yan_zombied:yan_zombied_attack)} Без =enemy_gulag(yan_zombied:yan_zombied_attack) работает. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 95 Опубликовано 19 апреля, 2023 (изменено) 3 часа назад, imcrazyhoudini сказал: Я же правильно понимаю Не совсем! Если будет активный враг (best_enemy) и не будет надстройки xr_combat_ignore_cond, то нет! Иначе будет игнорить звуки стрельбы звуки трупиков, гранаты... 3 часа назад, imcrazyhoudini сказал: enemy_gulag Странно,а должно. Что в лог пишет? Я так понимаю, yan_zombied и yan_zombied_attack это смарты, да? local n = g.name --' Тут не ошибка ли? local n = g:name() Изменено 19 апреля, 2023 пользователем Mass Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 123 Опубликовано 19 апреля, 2023 Mass проверю Дополнено 29 минуты спустя 6 часов назад, Mass сказал: Я так понимаю, yan_zombied и yan_zombied_attack это смарты, да? да 6 часов назад, Mass сказал: Что в лог пишет? ничего, но у меня он не стоит на отлов скриптов и всё в таком плане 6 часов назад, Mass сказал: Тут не ошибка ли? не помогло полагаю, что это проверка с тч, где были гулаги, а в чн уже смарты, поэтому не проходит у меня ситуация: сценка, в которой нпс почему-то начинает агриться на противников за 200 метров Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 95 Опубликовано 19 апреля, 2023 (изменено) 4 часа назад, imcrazyhoudini сказал: не помогло Вообще-то -это ошибка была! 4 часа назад, imcrazyhoudini сказал: полагаю, что это проверка с тч, Вы не правы! В ЗП есть аналог функции только без итерации 4 часа назад, imcrazyhoudini сказал: у меня ситуация: сценка, в которой нпс почему-то начинает агриться на противников за 200 метров Он находится под логикой активной схемы или в комбате в idle состоянии? Рядом есть раздражители? 4 часа назад, imcrazyhoudini сказал: отлов скриптов Ой зря! Возможна еще одна ситуация при симуляции в комбате! Может добавить еще проверку is_smart_in_combat Типа смарт в состоянии атаки или защиты? Мало ли комбат игноре всему виной Изменено 19 апреля, 2023 пользователем Mass Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 123 Опубликовано 19 апреля, 2023 39 минут назад, Mass сказал: Вообще-то -это ошибка была! а я поправил как вы и подсказали 40 минут назад, Mass сказал: активной схемы под схемой (не в смарте) 40 минут назад, Mass сказал: раздражители есть, после устранения которых он находит новых за 200 метров 41 минуту назад, Mass сказал: Типа смарт агрится сталкер на людей в смарте которые атакуют другой смарт Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Diesel 225 Опубликовано 19 апреля, 2023 (изменено) 35 минут назад, imcrazyhoudini сказал: агрится сталкер на людей в смарте которые атакуют другой смарт Намешал разных файлов скриптов из разных версий, скрипт убит ( в основном это где-то смарт-терайны). Это распространённый баг. Часто выползает. когда в smart_terrain.script вносятся правки. Либо алспавн косячный. А еще возможно его на работу не бурут. Я с такой фигнёй сталкивался, когда ЧН на движ 1602 переносил. Дописал смарты, а они отличаются скриптово, и даже в алспавне. Много разного в движках. Половина нпс пошли работать, а другая пошли целиться в фейк стенку базы чн. Изменено 19 апреля, 2023 пользователем Diesel Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 95 Опубликовано 19 апреля, 2023 36 минут назад, imcrazyhoudini сказал: под схемой (не в смарте) Вы точно уверены что в этот момент нпс под логикой? Попробуйте сделать логирование хотябы апдейта этого непися и enemy_gulag. Посмотрите результат на чем спотыкается игра! У меня данная функция нормально работает! 10 минут назад, Diesel сказал: А еще возможно его на работу не бурут. Всё может быть, поэтому нужно смотреть в апдейте активную секцию данного сталкера. Что с ним в данный момент происходит Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 123 Опубликовано 19 апреля, 2023 4 часа назад, Diesel сказал: Намешал разных файлов скриптов из разных версий, скрипт убит ( в основном это где-то смарт-терайны). Это распространённый баг. Часто выползает. когда в smart_terrain.script вносятся правки. Либо алспавн косячный. да не мешал я разные файлы, у меня на компе чн 1.5.10, всё 4 часа назад, Mass сказал: Попробуйте сделать логирование хотябы апдейта этого непися и enemy_gulag. попрошу помощи - как производится логирование? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 123 Опубликовано 20 апреля, 2023 ещё интересно - как лечится такое: Спойлер ! [LUA][ERROR] ERROR: Path between [yan_snork1] and [yan_zombied_attack] doesnt exist for [6]. FATAL ERROR [error]Expression : fatal error [error]Function : CScriptEngine::lua_pcall_failed [error]File : D:\S.T.A.L.K.E.R. Clear Sky\Hike\xray\xrServerEntities\script_engine.cpp [error]Line : 192 [error]Description : <no expression> [error]Arguments : LUA error: ...ames\stalker clear sky\gamedata\scripts\sim_board.script:729: attempt to index local 'smart' (a nil value) Если перевести понятно, что между двумя смартами нет пути. А что за путь должен быть-то? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Diesel 225 Опубликовано 20 апреля, 2023 (изменено) imcrazyhoudini это вейпоинты однако. Поправьте меня если что. Вылеты по Path - это обрыв логики по вэйпоинтам. У тебя пысовский алспавн? Бывает такое когда сетку перекомпилируешь, а линковка вейпоинтов хреновая, то появляются и такие баги. Еще я встречал в модах (если не навру правленый ОГСМ) такой же подобный вылет на болотах. И на Агропроме у лидера сталкеров. Изменено 20 апреля, 2023 пользователем Diesel Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 123 Опубликовано 20 апреля, 2023 16 минут назад, Diesel сказал: У тебя пысовский алспавн? нет, ничего общего с пысами не имеет там буквально 250 метров между лагерями, у обоих смартов все вэйпоинты есть вроде как Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Diesel 225 Опубликовано 20 апреля, 2023 1 минуту назад, imcrazyhoudini сказал: все вэйпоинты есть вроде как Они могут быть вреале, но могут быть не видимыми нпс. Советую вообще не лезть в аи сетку и алспавн. Начни делать мод с чистого чн - это залог успеха. Я 12 лет ЧН ковыряю, и так и не понял как линковать новые вейпоинты. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 123 Опубликовано 20 апреля, 2023 7 минут назад, Diesel сказал: Начни делать мод с чистого чн - это залог успеха. да как я без вейпоинтов мод с нуля буду делать? у меня нет локаций с чн, ни смартов оригинальных, ничего Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Diesel 225 Опубликовано 20 апреля, 2023 31 минуту назад, imcrazyhoudini сказал: у меня нет локаций с чн, ни смартов оригинальных, ничего В другой теме заметил, что ты пилишь ОГСР. Вот и причина тут скорее всего. Этот движок основан на даунгрейде ЗП до ТЧ, и мало чем похож на ЧН. Хотя я в тонкостях не шарю. Рашьше мы как-то через АСДС вейпоинты делали и всё работало, хрен его знает короче что посоветовать. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 95 Опубликовано 20 апреля, 2023 (изменено) 4 часа назад, imcrazyhoudini сказал: что за путь должен быть-то? Если не уверены что с аи сеткой всё нормально, удалите target_smart у yan_snork1. Вроде по логу у него назначена цель на yan_zombied_attack. Так снесите его! Возможно в рестрикторах дело еще.... Сложно что-то подсказать! Про логирование написал в лч. Много букаф! Изменено 20 апреля, 2023 пользователем Mass Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 123 Опубликовано 20 апреля, 2023 2 часа назад, Mass сказал: далите target_smart targets = yan_zombied yan_zombied_attack - другой смарт а вообще если убрать targets вылетает "нет цели", что-то типо такого Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Diesel 225 Опубликовано 20 апреля, 2023 (изменено) 22 минуты назад, imcrazyhoudini сказал: targets = yan_zombied Это же логика ТЧ? Я просто уже давно лет 10 не смотрел ТЧ. В ЧН логике targets не встречается. Я припоминаю, что мы таргет делали на актора, когда не знали куда таргетировать. 😆 Завязывайте мешать логику из ТЧ с другими версиями. Изменено 20 апреля, 2023 пользователем Diesel Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 95 Опубликовано 20 апреля, 2023 (изменено) 40 минут назад, imcrazyhoudini сказал: targets = yan_zombied Думал их несколько! Можно же указывать цели через запятую. Кстати, согласно gulag_general.script while path_exists(target_gname.."_kamp_"..path_idx.."_task") do Где target_gname это имя смарта целевого, path_idx- индекс Этот путь у вас есть? Или у вас эксклюзивы? 19 минут назад, Diesel сказал: В ЧН логике targets не встречается. Это в самом смарте делается (all_spawn) Изменено 20 апреля, 2023 пользователем Mass 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 123 Опубликовано 20 апреля, 2023 16 минут назад, Mass сказал: Этот путь у вас есть? у меня такой набор путей: walker kamp kamp_task home spawn_point в смартах снорков отсутствовал walker, добавил, пока не тестировал впрочем вылет убрался переигровкой с самого начала игры Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 95 Опубликовано 20 апреля, 2023 (изменено) 7 минут назад, imcrazyhoudini сказал: в смартах снорков отсутствовал walker Эммм... Точно валкер? Для монстров? Не моб_валкер. Вы так не пугайте! Зы: воукер😂 Изменено 20 апреля, 2023 пользователем Mass Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты