Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
dPlayer 445 Опубликовано 30 Сентября 2016 Поделиться Опубликовано 30 Сентября 2016 Да скинь ты диалог полностью, МБ где ошибка, сам страницу назад из за сплеша кипишил. Ссылка на комментарий
h0N0r 324 Опубликовано 30 Сентября 2016 Поделиться Опубликовано 30 Сентября 2016 UnLoaded,Если нужен, чтобы один из вариантов ответа (завершающий диалог) был всегда, то можно делать так: ... <start_dialog>npc_start_dlg</start_dialog> <actor_dialog>actor_dlg_01</actor_dialog> <actor_dialog>actor_dlg_02</actor_dialog> #include "gameplay\character_dialogs.xml" (базовые диалоги: привет - пока, дать аптечку) https://sites.google.com/view/xray-sdk-0-4-smg Ссылка на комментарий
Карлан 1 049 Опубликовано 30 Сентября 2016 Поделиться Опубликовано 30 Сентября 2016 Короче по диалогам я не понимаю о чем вы. У Шурупа, диалог которого я привел как пример, по тому, что я понял, ровно в десятку попадает под запрос вопрошающего, там три фразы работающие по своим условиям. Если фраза нужна в любом случае, то никаких условий ей добавлять не требуется, в противном случае граф неверно сориентирован и нужно пересматривать построение, но это уже за рамками возможного для отвечающего, так как граф диалога не был продемонстрирован.. @UnLoaded, если требуется, то могу в ближайшее время снять видео, как я завожу твой диалог и он работает по тем условиям, которые, как я понял, ты хочешь увидеть. Для примера попробуй смоделировать вариант, когда у тебя ни одна фраза не будет доступна с вариантом графа (в прекондишне), и где хотя-бы одна фраза будет совсем без прекондишнов, может хоть так дойдет. @h0N0r, этот вариант не годится, ему нужна доступная завершающая вершина в конкретном графе, твой вариант этому противоречит, даже если задуматься о финалайзерах из ЗП. Т.е. движок\или скрипт какой-там назначен не обрабатывают этих окончаний? Обрабатывают. Я указал куда смотреть. Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 30 Сентября 2016 Поделиться Опубликовано 30 Сентября 2016 "Т.е. движок\или скрипт какой-там назначен не обрабатывают этих окончаний?"\ то есть эти окончания - про то, как подгружать. А дальше растащено по разным местам, и выполняется куча странных загадочных операций типа такого: function play_sound( npc, t_themes, timeout ) local t, n = {}, 0 -- список тем local tt for k, v in pairs( t_themes ) do -- проверяем существование и перекладываем в i-таблицу tt = t_list[v] if tt then n = n + 1; t[n] = v else log( "error", "play_sound, ivalid theme %s [%s]", to_str( v ), to_str( npc ) ) return false end end -- log( "info", "play_sound, themes: %s (%s)", n, to_str( npc ) ) if n == 0 then return false end n = t[math.random(n)] -- из списка тем выбираем одну t = { ["theme"] = n } get_sound( t_list[n], t, npc ) -- получаем настройки n = t.max_snd -- проверяем корректность, t - настройки if n then tt = t_grps[ get_key(npc) ] -- tt - теперь группа для непися tt.idle = math.random( t.min_snd, n ) * 1000 else -- если, например, воюют, то таблица пустая, играть ничего не надо -- log( "info", "play_sound, busy ( theme: %s )", t.theme, to_str( npc ) ) return false end n = t.into_max -- последовательный список из настроек if n and n ~= 0 then local into = t.into_id tt = db.sound[npc:id()].last_snd -- что играли до этого момента local id = tt[into] -- log( "info", "play_sound, check into: %s:%s, last id: %s (%s)", t.theme, into, tostring( id ), to_str( npc ) ) if id then if id < n - 1 then id = id + 1 else -- вышли за пределы ( при n == 1 максимальный id == 0 ) if t.into_cycled then id = 0 else -- log( "info", "play_sound, not cycled, already played (%s)", id ) return false -- для xr_kamp ! end end else id = 0 end tt[into] = id -- process_tutor_on_sound( t.theme ) npc:play_sound( into, 1, 0, 1, 0, id ) -- log( "info", "play_sound, into: %s:%s, id: %s (%s)", t.theme, into, id, to_str( npc ) ) return true end n = t.rnd_max -- выбираем 1 случайный звук if n and n ~= 0 then local rnd = t.rnd_id local id = 0 if tt.last_snd then -- а здесь мы проверяем id не непися, а группы tt = tt.last_snd if n >= 2 then -- больше одного варианта, исключаем повторы if id == tt[rnd] then id = math_random( n - 1 ) -- 0, если уже что-то было if id == tt[rnd] then id = 0 end -- криво, кстати else id = math_random( 0, n - 1 ) -- если новый, то сразу от 0 end -- elseif tt[rnd] then tt[rnd] = false; return -- нефиг попугайствовать -- пока закомментировано из-за того, что одноразовые определены как рэндом, -- взрывы вертолетов, например end tt[rnd] = id -- сохраняем в группу играемый звук else -- таблица last_snd почему-то не создана if n >= 2 then id = math_random( 0, n - 1 ) end tt.last_snd = { [rnd] = id } end -- log( "info", "play_sound, rnd: %s:%s, id: %s (%s), timeout: %s", t.theme, rnd, id, to_str( npc ), timeout or 0 ) if timeout then npc:play_sound( rnd, timeout + 1, timeout, 1, 0, id ) else npc:play_sound( rnd, 1, 0, 1, 0, id ) end return true end return false end Короче, переделывать всю систему от начала и до конца. 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Silver Raven 197 Опубликовано 30 Сентября 2016 Поделиться Опубликовано 30 Сентября 2016 Эта логика будет работать? [ph_idle] on_timer = 4000 | %+lab_x7_actor_left% | 15500 | ph_idle@change_actor_position_to_level_changer %=run_postprocess(fade_out)% Или после окончания первого таймера обязательно нужно сделать переход к другой секции. aka Stalker_AleX333 Мои проекты - ЯндексДиск | Я на Gamer-Mods.ru Ссылка на комментарий
Bak 754 Опубликовано 30 Сентября 2016 Поделиться Опубликовано 30 Сентября 2016 Короче, переделывать всю систему от начала и до конца. В ЧНЗП вполне удобная система, хоть и требует некоторой доработки. А этого уродца лучше отправить на свалку. Ссылка на комментарий
naxac 2 441 Опубликовано 1 Октября 2016 Поделиться Опубликовано 1 Октября 2016 @Silver Raven, будет. Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
Silver Raven 197 Опубликовано 1 Октября 2016 Поделиться Опубликовано 1 Октября 2016 @naxac, только сейчас дошло до тестирования. Увы, не работает такой вариант. А этот, похоже, работает: on_timer = 4000 | %+lab_x7_actor_left% on_timer2 = 15500 | ph_idle@change_actor_position_to_level_changer %=run_postprocess(fade_out)% 1 aka Stalker_AleX333 Мои проекты - ЯндексДиск | Я на Gamer-Mods.ru Ссылка на комментарий
ed_rez 16 109 Опубликовано 1 Октября 2016 Поделиться Опубликовано 1 Октября 2016 Помнится в АМК моде были исправления по смене секций погоды после завершения основного ТЧ сюжета. А именно, после завершения основного сюжета проявлялся сбой на некоторых локациях в смене погоды. Если кто помнит, то подскажите, в какие файлы смотреть, чтобы понять суть работы этой правки. Любая информация приветствуется. Ссылка на комментарий
_Val_ 2 225 Опубликовано 1 Октября 2016 Поделиться Опубликовано 1 Октября 2016 @ed_rez, с учетом того, что в АМК динамическая погода, начинай сразу с amk_mod.script. 1 Ссылка на комментарий
Карлан 1 049 Опубликовано 1 Октября 2016 Поделиться Опубликовано 1 Октября 2016 @ed_rez, не знаю как там в АМК, но вот буквально позавчера я делал фриплей, отталкивался от Freeplay Mod 1.3 (или как его, в общем от DEXXX), там он сделан безбожно криво (начиная хотя бы с того ошеломляющего факта, что он гасит логику напрочь во фриплее у потенциально нужных схем), и секции погоды в том числе, их нужно прописывать непосредственно в кондлисте погоды уровня, а не через level.set_weather когда там надо, этот метод нужно использовать только непосредственно на второй станции, когда ты еще остаешься на ней, а этих чудиков уже всех переубивал, т.е. перезагрузки уровня не произошло, соответственно нужно либо level.set_weather, либо принудительный ресет погоды, я рекомендую level.set_weather, а далее уже все будет работать корректно, так как на каждой загрузке уровня кондлист будет давать верную секцию погоды. К слову о фриплее, там еще надо многое резать и править на аес2, аес, припяти, резать роспуск свободовцев, в общем там начиная с припяти очень многое надо фиксить. Конкретно с роспуском свободовцев я вообще все вырезал, абсолютно, никаких следов не осталось, плюс еще там какой-то мусор заремал, который, тем не менее, жрал ресурсы. В общем фриплей, как оказалось, вещь не тривиальная, как я себе думал. В общем логики я исправил порядочно, в результате весь фриплей у меня вышел в 5 строчек, две из них перетаскивают актора на землю, еще три спавнят переходы, все остальное сделано путем изменений в оригинальной логике на основе одного добавленного "легкого" инфопоршня. В случае с динамической погодой опять же тривиальное решение, дописать недостающее туда, куда следует, в этом вся суть фриплея в целом, и не более. Говорю про оригинал, ну или околооригинал, мои решения не сильно его курочат . 1 1 Ссылка на комментарий
_Val_ 2 225 Опубликовано 1 Октября 2016 Поделиться Опубликовано 1 Октября 2016 не знаю как там в АМК Ну вообще именно так и сделано))) Ссылка на комментарий
dPlayer 445 Опубликовано 1 Октября 2016 Поделиться Опубликовано 1 Октября 2016 Не выводит сообщение [sr_tip]? Поршень esc_bandit_camp_start - выдаёт. [logic] active = sr_idle [sr_idle] on_actor_inside = {+find_dynamite} sr_tip %+esc_bandit_camp_start% [sr_tip] name = esc_bandit_camp_message Ссылка на комментарий
BFG 7 582 Опубликовано 1 Октября 2016 Поделиться Опубликовано 1 Октября 2016 (изменено) @dPlayer, так попробуй [logic] active = sr_idle [sr_idle] on_actor_inside = sr_tip %+esc_bandit_camp_start% [sr_tip] name = esc_bandit_camp_message cond = {+find_dynamite} on_actor_inside = nil Изменено 1 Октября 2016 пользователем BFG 1 "Кругом зомби.....у меня кончаются патроны...." Ссылка на комментарий
dPlayer 445 Опубликовано 1 Октября 2016 Поделиться Опубликовано 1 Октября 2016 (изменено) @BFG, спасибо, только {+find_dynamite} должен быть условием и для выдачи +esc_bandit_camp_start и для запуска [sr_tip], а в твоей схеме esc_bandit_camp_start выдается в любом случает, так? Схема [sr_territory] рабочая? Просто в ТЧ не могу найти, где бы она применялась. Изменено 1 Октября 2016 пользователем dPlayer Добавлено BFG, 1 Октября 2016 Хммм. Точно. Поршень то у тебя тогда в любом случае будет. Нужен какой то иной путь. Ссылка на комментарий
иорданец 245 Опубликовано 1 Октября 2016 Поделиться Опубликовано 1 Октября 2016 (изменено) Здравствуйте, у меня просьба. вчера находил статью "как создать новую группировку(тч)", сегодня не могу найти, толи она была здесь, толи в "уроках по модострою" помогите найти, пожалуйста. Изменено 1 Октября 2016 пользователем иорданец Тот, кто думает-думает всегда.Тот, кто думает, что думает-думает иногда. Ссылка на комментарий
ed_rez 16 109 Опубликовано 1 Октября 2016 Поделиться Опубликовано 1 Октября 2016 как создать новую группировку(тч) Привет! http://sdk.stalker-game.com/ru/index.php?title=Создание_новой_группировки Ссылка на комментарий
Hadzirim Hajad 5 Опубликовано 2 Октября 2016 Поделиться Опубликовано 2 Октября 2016 Привет, ребята. В какие файлы надо залезть, чтобы удалить из игры оружие, например, ИЛ86? И ещё, пожалуйста, подкиньте, кто может, чистую бессюжетную геймдату ТЧ, пожалуйста. Ссылка на комментарий
ed_rez 16 109 Опубликовано 2 Октября 2016 Поделиться Опубликовано 2 Октября 2016 @Hadzirim Hajad, привет! Удалить- это длинный путь действий. А вот заменить очень просто, w_l85.ltx: [wpn_l85]:wpn_ak74 [wpn_l85_hud]:wpn_ak74_hud Не забудь про unique_items.ltх. Ссылка на комментарий
Hadzirim Hajad 5 Опубликовано 2 Октября 2016 Поделиться Опубликовано 2 Октября 2016 (изменено) Я поменял картинку так, как указано здесь: А в результате: Почему? Хорошо, ed_rez, задам вопрос по-другому: Какие файлы отвечают за оружие? Кроме очевидных текстур и моделей. И вот ещё кое-что. Может с этой программой проблема? Изменено 2 Октября 2016 пользователем Hadzirim Hajad Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти