Это популярное сообщение. Dennis_Chikin 3 664 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/660/#findComment-847221
Карлан 1 050 Опубликовано 12 Апреля 2015 Поделиться Опубликовано 12 Апреля 2015 (изменено) @dsh, если не вдаваться в подробности, которые в оригинале можно сказать не заметны, условия просты, это масса и конфиг, ну массы хватает всегда, а вот конфиг ты настраиваешь сам, грубо говоря если есть значение ключа - сталкер итем продает, если их нет или они некорректны - не продает. В оригинале для всех сталкеров один конфиг и любой нпс без ключа trade будет торговать generic листом. Что-бы корректно сделать нормальные торговые условия для каждого сталкера - тут даже скриптовых костылей не хватит, без движка собственно никак. Хотя на костылях смотрится приемлемо, можешь у меня глянуть если интересно. Листы для актора и нпс формируются немного по разному, поэтому если захотеть можно выбить такой неприятный баг, но если за 8 лет никто не выбил, значит не сильно хотели . И кстати о птичках, торговые конфиги - динамичны, т.е. при нормальном луа их можно переписывать, а потом перевести непися в оффлайн-онлайн и он уже будет торговать по новому конфигу (но это долго, некрасиво и вообще как-то не по христиански). Это такой костыль если у вас нет нормального функционала, допустим если перенести все на скрипты это можно уже делать абсолютно хоть когда, чем я собственно и пользуюсь у себя в моде. Изменено 12 Апреля 2015 пользователем Карлан Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/660/#findComment-930420
TASGREEN 1 Опубликовано 12 Апреля 2015 Поделиться Опубликовано 12 Апреля 2015 Доброго времени суток. Какой файл отвечает за подсветку амуниции в инвентаре (какие строчки нужно править/добавлять)? Я использую наработки из мода SWM, где есть множество аксессуаров для оружия. Хотелось бы, чтобы они подсвечивались в соответствии с оружием, с которым они совместимы и наоборот. ПРИМЕР: Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/660/#findComment-930424
UnLoaded 313 Опубликовано 12 Апреля 2015 Поделиться Опубликовано 12 Апреля 2015 Ну если Вы темой не ошиблись - то в чистом ТЧ(SoC) можно и дальше хотеть , но возможности такой нет. Но если очень хотеть - тогда смотерть в сторону правленного движка и делать... Ну или спросить в теме "Ищу файлы\моды\аддоны", может уже кто-то сделал. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/660/#findComment-930446
Zander_driver 10 348 Опубликовано 12 Апреля 2015 Поделиться Опубликовано 12 Апреля 2015 @TASGREEN, А еще можно зайти в тему "Судьбы Зоны", посмотреть видео из шапки, узнать что существует скриптовый инвентарь и скоро выйдет на публику. И по части подсветки тех или иных предметов там функционал на месте. Не навязываюсь, просто к сведению что кроме "Возможности такой нет" и "ковырять движок" - есть еще вот такой вариант. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/660/#findComment-930463
UnLoaded 313 Опубликовано 12 Апреля 2015 Поделиться Опубликовано 12 Апреля 2015 (изменено) Опять спрошу, насчет прерывания комбата у монстров. Ну нужно мне, очень.... Взял для опытов схему "mob_home" по причине ее максимальной простоты. Добавил\адаптировал в нее фрагменты из xr_combat_ignore, в общем получилось: читаются оверрайды, монстр тусуется вокруг назначенной в схеме точки и не реагирует на врагов, если оверрайды выставлены. Но если монстр сорвался в комбат, и если, пока он воюет изменить оверрайды(делаю это переводом непися в другую секцию, по факту инфо-порции) - он не реагирует. Т.е. тупо добивает НПСа, и тока потом меняет поведение. Как быть, что можно еще попробовать ? Подскажите. P.S. Еще думаю насчет такого - а может монстр добивает непися потому, что ему такой action выставлен ? И пока он его не завершит - лупит непися ? Может попробовать ему action обнулять\сбрасывать ? Или это я не туда вообще ? есть еще вот такой вариант. И типа он работает на исходном движке ТЧ ? Изменено 12 Апреля 2015 пользователем UnLoaded Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/660/#findComment-930464
dsh 3 824 Опубликовано 12 Апреля 2015 Поделиться Опубликовано 12 Апреля 2015 @UnLoaded, @Карлан, не-не, я наверное не точно выразился. Меня интересует не то, что сталкер в принципе будет продавать или не будет. Меня интересует именно то оружие, которое у него в руках/за спиной. Вот открываю я торговлю со сталкером и вижу, что он спокойно продает свой единственный калаш. Вот как мне это изменить? Нужно, что бы сталкеры ни в каком случае не выставляли в продажу свое единсвенное оружие. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/660/#findComment-930471
Карлан 1 050 Опубликовано 12 Апреля 2015 Поделиться Опубликовано 12 Апреля 2015 (изменено) И типа он работает на исходном движке ТЧ ?А что там такого? @UnLoaded, возьми своего монстра под скрипт, get_script()/get_script_name() и script() методы используй, сбрось ими, проверь. Можно создать дополнительную группировку для монстра дружелюбную к группировке нпс. @dsh, даже не представляю как это может быть. Возможно ты что-то с флагами намудрил, проверяй различные ключи (флаги) относящиеся к использованию предмета нпсом. Изменено 12 Апреля 2015 пользователем Dennis_Chikin Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/660/#findComment-930472
TASGREEN 1 Опубликовано 12 Апреля 2015 Поделиться Опубликовано 12 Апреля 2015 Ну если Вы темой не ошиблись - то в чистом ТЧ(SoC) можно и дальше хотеть , но возможности такой нет. Но если очень хотеть - тогда смотерть в сторону правленного движка и делать... Ну или спросить в теме "Ищу файлы\моды\аддоны", может уже кто-то сделал. Действительно ошибся. Искал куда задать вопрос и написал не туда. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/660/#findComment-930478
Dennis_Chikin 3 664 Опубликовано 12 Апреля 2015 Поделиться Опубликовано 12 Апреля 2015 (изменено) Продолжение дискуссии про "нужно/не нужно" удалил. По причине бессмысленности.Но вообще - странный подход: спрашивают - "как сделать", ответ - "а у меня сделано". Тема все-таки не рекламная. Или описываем, как, или одно из двух, если уж решили ответить. Но вообще Бак просто на время торговли отбирал у неписей "непродажное оружие". Но результат - гм... А еще был DTL, еще додвижковоковырятельный, в котором это тоже вроде было сделано. Как-то. Вообще же данная конкретная идея представляется неправильной без глубокой переработки неписевой жизни, ибо вот вся эта вот "автоматика выбора оружия" в итоге регулярно дает разнообразные странные результаты, типа "ни за что не променяю свой дробовик - лучше сдохну. И буду стрелять из него всегда и везде, даже если дострелить вообще невозможно". То есть, смысл ровно тот же, что и выкупленный у непися единственный ствол, и даже хуже. Без ствола он хоть просто убежит. Изменено 12 Апреля 2015 пользователем Dennis_Chikin Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/660/#findComment-930496
Карлан 1 050 Опубликовано 12 Апреля 2015 Поделиться Опубликовано 12 Апреля 2015 @Dennis_Chikin, дело не в торговле, дело во флагах, я же говорю. Торговля совершенно не при чем, она берет секцию, к юзердатам или чему-то уникальному отношения торговые функции оригинала не имеют никакого. Все странное решается на уровне тех скриптовых костылей, что я сделал еще на додвижковом варианте. Правда без дополнительных коллбеков можно было тоже словить баги, т.к. повторюсь, функционал работает с секциями, т.е. управлять листом в зависимости от того какое там у кого и что - невозможно, это главная причина почему я правлю движок. Ну а что-бы стрелял из нормального - есть же схема менеджера оружия (какой степени кривоты я не знаю), ну а продавать/покупать лучшее/худшее решается логикой торговли, которую я и представил, но она без движка все равно криво работает по вышеуказанной причине. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/660/#findComment-930501
Silver Raven 197 Опубликовано 12 Апреля 2015 Поделиться Опубликовано 12 Апреля 2015 Натолкнулся сегодня на старый добрый вылет вида (все, что есть, от включенного "расширенного" режима ведения лога): ! Cannot find saved game error: there is no section [hit@altar_monolith] for npc [pri_monolith_28] ! Cannot find saved game %s 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: ...e.r\shoc\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value) Закомментировал по старинке, надеясь выйти на причину вылета. На первый раз вылезло это: 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: ...р s.t.a.l.k.e.r\shoc\gamedata\scripts\rx_wmgr.script:561: C stack overflow stack trace: Scheduler tried to update object pri_monolith_roof2 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: ...e.r\shoc\gamedata\scripts\state_mgr_animation.script:632: C stack overflow Но насколько я помню, вылеты по переполнению стека рандомны... Думаю, ладно, запущу еще раз. И вот тут все, ни вылетов ни подозрительной активности в логе. На всякий случай сравнил скрипты из текущей версии сборки и последним сохраненным билдом, но отличия там мелкие. Прошелся спец. утилитой для проверки скриптов на наличие банальных ошибок\опечаток - все ок. Где искать причину? Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/660/#findComment-930505
Priboj37 324 Опубликовано 12 Апреля 2015 Поделиться Опубликовано 12 Апреля 2015 , Лог,- крайние 15- 20 строк. Модели адаптировал иль насыпом закинул? Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/660/#findComment-930513
UnLoaded 313 Опубликовано 12 Апреля 2015 Поделиться Опубликовано 12 Апреля 2015 Где искать причину? Что-то все в логах на тему state_mgr, может какая анимация в путях\логике не приемлемая ? Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/660/#findComment-930519
Dennis_Chikin 3 664 Опубликовано 12 Апреля 2015 Поделиться Опубликовано 12 Апреля 2015 (изменено) there is no section [hit@altar_monolith] for npc [pri_monolith_28] Какое слово непонятно ? Кто-то где-то хочет [hit@altar_monolith], но не находит. Соответственно, ищем, где ее спрашивают, тупо, поиском по всем файлам, а дальше думаем: или оторвать совсем, или что-то куда-то дописать. Изменено 12 Апреля 2015 пользователем Dennis_Chikin Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/660/#findComment-930520
Карлан 1 050 Опубликовано 12 Апреля 2015 Поделиться Опубликовано 12 Апреля 2015 Закомментировал по старинке, надеясь выйти на причину вылета. Вообще не то, что нужно сделать. Возможно как раз тут и есть истинная причина. Но насколько я помню, вылеты по переполнению стека рандомны... Ни разу. Ты понимаешь из-за чего бывает переполнение стека? Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/660/#findComment-930523
Silver Raven 197 Опубликовано 12 Апреля 2015 Поделиться Опубликовано 12 Апреля 2015 (изменено) @Dennis_Chikin, сомневаюсь, что там какие-то проблемы с логикой. Вся Припять у меня оригинальная. Все НПС со своей родной логикой, гулагами и тп. И никаких изменений в скрипты, относящиеся к этой локации я не производил. Хотя, на всякий случай проверяю сейчас данный "нюанс". upd. Лог жалуется на вот этот кусок: -- prayers (молящиеся вокруг алтаря) for i, v in pairs({14, 14, 14, 13, 8, 8}) do t = { section = "logic@" .. gname .. "_prayer" .. i, idle = 0, prior = v, state = {0,1}, squad = squad, group = groups[1], in_rest = in_r, out_rest = "pri_monolith_base_altar_restr", online = "{+pri_monolith_spawn2}", predicate = m_predicate_r } table.insert(sj, t) ltx = ltx.. "[logic@" .. gname .. "_prayer" .. i .. "]\n" .. "active = walker@" .. gname .. "_prayer" .. i .. "\n" .. "combat_ignore = combat_ignore\n" .. "on_hit = hit@altar_monolith\n" .. "on_death = hit@altar_monolith\n" .. "[walker@" .. gname .. "_prayer" .. i .. "]\n" .. "path_walk = prayer" .. i .. "_walk\n" .. "path_look = prayer_look" .. math.random(1, 2) .. "\n" .. "danger = danger@monolith\n" .. "combat_ignore_cond = {-pri_monolith_base_attack_altar_zone}\n" end в gulag_pripyat.script (выташил из распакованного бейкапа чистой игры. Ибо у меня он не юзается): Логично, что проблема вылезла бы и на "чистой" игре. Это очень для меня странно. @Карлан, я ни разу не скриптер и в подобном ничего не понимаю... Все что мне известно: "Данный вылет встречается редко. Лечится обычной переигровкой. Решения не имеет. (во всяком случае, так говорили раньше. А эта проблема уже давно преследует тот-же АИ пак для ТЧ. Особенно, когда НПС "хватаются" за подствольники.) Изменено 12 Апреля 2015 пользователем Stalker_AleX333 Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/660/#findComment-930524
Dennis_Chikin 3 664 Опубликовано 12 Апреля 2015 Поделиться Опубликовано 12 Апреля 2015 (изменено) И ГДЕ здесь написано [hit@altar_monolith] ? А также все остальное, что в этом случае полагается ? [walker@...] - вижу, [hit@...] - не вижу. Изменено 12 Апреля 2015 пользователем Dennis_Chikin 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/660/#findComment-930533
Silver Raven 197 Опубликовано 12 Апреля 2015 Поделиться Опубликовано 12 Апреля 2015 (изменено) @Dennis_Chikin, если ты про .ltx файл логики, то вот он (опять же, оригинальный): ;-------------------------------------------------------------------------- ; стандартный диалог ;-------------------------------------------------------------------------- [meet@def] meet_state = 2| wait meet_state_wpn = 2| wait victim = 2| actor victim_wpn = 2| actor use = true use_wpn = true ;-------------------------------------------------------------------------- ; диалог лидера ;-------------------------------------------------------------------------- [meet@leader] meet_dialog = {-pri_followers_actor_leave} pri_followers_start_dlg meet_state = 25| {+pri_followers_actor_leave} guard, hello@ {+pri_followers_actor_leave} wait, {+pri_wave7_end -pri_show_zones} pri_followers_final_phrase2, talk_hello | 5| guard@ wait meet_state_wpn = 25| {+pri_followers_actor_leave} guard, hello@ {+pri_followers_actor_leave} wait, {+pri_wave7_end -pri_show_zones} pri_followers_final_phrase2, talk_hello | 5| guard@ wait victim = 25| actor victim_wpn = 25| actor use = true use_wpn = true ;-------------------------------------------------------------------------- ; отключенная реакция на звук, тела и хит ;-------------------------------------------------------------------------- [danger@ignore] ignore_types = corpse ignore_distance_sound = 2 danger_inertion_time_sound = 5000 ;ignore_distance_hit = 1 ;-------------------------------------------------------------------------- ; отключенная реакция на звук ;-------------------------------------------------------------------------- [danger@sound_small] ignore_distance_sound = 20 ;-------------------------------------------------------------------------- ; отключенная реакция на звук ;-------------------------------------------------------------------------- [danger@sound_middle] ignore_distance_sound = 40 ;------------------------------------------------------------------------------------------------- ;-- Followers ;------------------------------------------------------------------------------------------------- [followers_hit] ;on_info = {=hit_by_actor} %+pri_followers_actor_enemy% [followers_death] on_info = {=gulag_population_le(pri_followers:2)} %+pri_undeground_respawn_start =change_leader%, %=change_leader% ;------------------------------------------------------------------------------------------------- ;--- LEADER: WAIT -------------------------------------------------------------------------------- ;------------------------------------------------------------------------------------------------- [logic@pri_followers_leader_wait] active = remark@pri_followers_leader_wait combat_ignore = combat_ignore on_hit = followers_hit on_death = followers_death [remark@pri_followers_leader_wait] path_walk = leader_hello_walk anim = ward ;wait target = logic@pri_followers_bomber_wait ;pri_followers_leader_hello_look, 0 on_actor_dist_le_nvis = 20 | remark@pri_followers_leader_wait_phrase1 wounded = wounded@ignore meet = no_meet ;meet@def danger = danger@ignore [remark@pri_followers_leader_wait_phrase1] anim = ward ;wait snd = pri_followers_leader_phrase1_1 tips = pri_followers_leader_phrase1_1 target = logic@pri_followers_bomber_wait ;pri_followers_leader_hello_look, 0 on_signal = sound_end| remark@pri_followers_leader_wait_actor %+pri_followers_leader_phrase1_end% wounded = wounded@ignore meet = no_meet ;meet@def danger = danger@ignore [remark@pri_followers_leader_wait_actor] anim = guard target = logic@pri_followers_bomber_wait ;actor on_actor_dist_le_nvis = 15 | remark@pri_followers_leader_wait_phrase2 %+pri_followers_mission_accept% on_timer = 15000| remark@pri_followers_leader_wait_phrase3 %+pri_followers_actor_leave% wounded = wounded@ignore meet = no_meet ;meet@def danger = danger@ignore [remark@pri_followers_leader_wait_phrase2] anim = guard_na snd = pri_followers_leader_phrase1_2 ;tips = pri_followers_leader_phrase1_2 target = actor on_signal = sound_end| remark@pri_followers_leader_wait_phrase3 wounded = wounded@ignore meet = no_meet ;meet@def danger = danger@ignore [remark@pri_followers_leader_wait_phrase3] anim = guard_na snd = pri_followers_leader_phrase1_3 ;tips = pri_followers_leader_phrase1_3 target = logic@pri_followers_bomber_wait on_signal = sound_end| %+pri_followers_start% wounded = wounded@ignore meet = no_meet ;meet@def danger = danger@ignore [remark@pri_followers_leader_wait_switch] anim = guard target = pri_followers_leader_hello_look, 0 wounded = wounded@ignore meet = no_meet danger = danger@ignore ;--- LEADER: WAVE1 ------------------------------------------------------------------------------ [logic@pri_followers_leader_wave1] active = walker@pri_followers_leader_wave1_wait on_hit = followers_hit on_death = followers_death [walker@pri_followers_leader_wave1_wait] path_walk = wave1_leader_walk2 path_look = wave1_leader_look2 def_state_moving1 = assault def_state_moving2 = assault team = followers on_signal = syn | walker@pri_followers_leader_wave1 %+pri_helicopters_start% on_info = {+pri_wave1_start} walker@pri_followers_leader_wave1 %+pri_helicopters_start% ;on_actor_dist_ge_nvis = 70 | %+pri_followers_actor_leave% wounded = wounded@ignore meet = no_meet ;no_meet [walker@pri_followers_leader_wave1] path_walk = wave1_leader_walk1 path_look = wave1_leader_look1 def_state_moving1 = assault def_state_moving2 = assault ;on_info = {+pri_followers_heli_look} remark@pri_followers_leader_wave1 ;on_actor_dist_ge_nvis = 70 | %+pri_followers_actor_leave% wounded = wounded@ignore meet = no_meet ;no_meet [remark@pri_followers_leader_wave1] anim = guard target = 801 on_timer = 5000 | walker@pri_followers_leader_wave1_cont ;on_actor_dist_ge_nvis = 70 | %+pri_followers_actor_leave% wounded = wounded@ignore meet = no_meet ;no_meet [walker@pri_followers_leader_wave1_cont] path_walk = wave1_leader_walk1 path_look = wave1_leader_look1 def_state_moving1 = assault def_state_moving2 = assault on_signal = arrived | {-pri_wave1_start} %+pri_wave1_start% ;on_actor_dist_ge_nvis = 70 | %+pri_followers_actor_leave% wounded = wounded@ignore meet = no_meet ;no_meet ;--- LEADER: WAVE2 ------------------------------------------------------------------------------ [logic@pri_followers_leader_wave2] active = walker@pri_followers_leader_wave2_wait on_hit = followers_hit on_death = followers_death [walker@pri_followers_leader_wave2_wait] path_walk = wave2_leader_walk1 path_look = wave2_leader_look1 def_state_moving1 = assault def_state_moving2 = assault team = followers on_signal = syn | walker@pri_followers_leader_wave2 %+pri_wave2_start_phrase% on_info = {+pri_wave2_start} walker@pri_followers_leader_wave2 %+pri_wave2_start_phrase% ;on_actor_dist_ge_nvis = 70 | %+pri_followers_actor_leave% wounded = wounded@ignore meet = no_meet ;no_meet [walker@pri_followers_leader_wave2] path_walk = wave2_leader_walk2 path_look = wave2_leader_look2 def_state_moving1 = assault def_state_moving2 = assault on_signal = arrived | {-pri_wave2_start} %+pri_wave2_start% ;on_actor_dist_ge_nvis = 70 | %+pri_followers_actor_leave% wounded = wounded@ignore meet = no_meet ;no_meet ;--- LEADER: WAVE3 ------------------------------------------------------------------------------ [logic@pri_followers_leader_wave3] active = walker@pri_followers_leader_wave3_wait combat_ignore = combat_ignore on_hit = followers_hit on_death = followers_death [walker@pri_followers_leader_wave3_wait] path_walk = wave3_leader_walk1 path_look = wave3_leader_look1 def_state_moving1 = assault def_state_moving2 = assault team = followers on_signal = syn | walker@pri_followers_leader_wave3 %+pri_wave3_start% on_info = {+pri_wave3_start} walker@pri_followers_leader_wave3 ;on_actor_dist_ge_nvis = 70 | %+pri_followers_actor_leave% wounded = wounded@ignore meet = no_meet ;no_meet danger = danger@ignore combat_ignore_cond = {!fighting_actor} [walker@pri_followers_leader_wave3] path_walk = wave3_leader_walk2 path_look = wave3_leader_look2 def_state_moving1 = assault ;sprint def_state_moving2 = assault ;sprint on_timer = 3000 | remark@pri_followers_leader_wave3_fight ;on_actor_dist_ge_nvis = 70 | %+pri_followers_actor_leave% wounded = wounded@ignore meet = no_meet ;no_meet danger = danger@ignore combat_ignore_cond = {!fighting_actor} [remark@pri_followers_leader_wave3_fight] anim = threat_fire target = 807 on_timer = 5000 | walker@pri_followers_leader_wave3 ;on_actor_dist_ge_nvis = 70 | %+pri_followers_actor_leave% wounded = wounded@ignore meet = no_meet ;no_meet danger = danger@ignore combat_ignore_cond = {!fighting_actor} ;--- LEADER: WAVE4 ------------------------------------------------------------------------------ [logic@pri_followers_leader_wave4] active = walker@pri_followers_leader_wave4_wait combat_ignore = combat_ignore on_hit = followers_hit on_death = followers_death [walker@pri_followers_leader_wave4_wait] path_walk = wave4_leader_walk1 path_look = wave4_leader_look1 def_state_moving1 = assault def_state_moving2 = assault team = followers on_signal = syn | walker@pri_followers_leader_wave4 %+pri_wave4_start_phrase% on_info = {+pri_wave4_start} walker@pri_followers_leader_wave4 %+pri_wave4_start_phrase% wounded = wounded@ignore meet = no_meet ;no_meet combat_ignore_cond = {=check_fighting(820:821)} [walker@pri_followers_leader_wave4] path_walk = wave4_leader_walk2 path_look = wave4_leader_look2 def_state_moving1 = assault def_state_moving2 = assault on_signal = arrived | {-pri_wave4_start} %+pri_wave4_start% wounded = wounded@ignore meet = no_meet ;no_meet ;--- LEADER: WAVE5 ------------------------------------------------------------------------------ [logic@pri_followers_leader_wave5] active = walker@pri_followers_leader_wave5_wait on_hit = followers_hit on_death = followers_death [walker@pri_followers_leader_wave5_wait] path_walk = wave5_leader_walk1 path_look = wave5_leader_look1 def_state_moving1 = assault def_state_moving2 = assault team = followers on_signal = syn | walker@pri_followers_leader_wave5 on_info = {+pri_wave5_start} walker@pri_followers_leader_wave5 wounded = wounded@ignore meet = no_meet ;no_meet [walker@pri_followers_leader_wave5] path_walk = wave5_leader_walk2 path_look = wave5_leader_look2 def_state_moving1 = assault def_state_moving2 = assault on_signal = arrived | {-pri_wave5_start} %+pri_wave5_start% wounded = wounded@ignore meet = no_meet ;no_meet ;--- LEADER: WAVE6 ------------------------------------------------------------------------------ [logic@pri_followers_leader_wave6] active = walker@pri_followers_leader_wave6_wait on_hit = followers_hit on_death = followers_death [walker@pri_followers_leader_wave6_wait] path_walk = wave6_leader_walk1 path_look = wave6_leader_look1 def_state_moving1 = assault def_state_moving2 = assault team = followers on_signal = syn | walker@pri_followers_leader_wave6 on_info = {+pri_wave6_start} walker@pri_followers_leader_wave6 wounded = wounded@ignore meet = no_meet ;no_meet [walker@pri_followers_leader_wave6] path_walk = wave6_leader_walk2 path_look = wave6_leader_look2 def_state_moving1 = assault def_state_moving2 = assault on_signal = arrived | {-pri_wave6_start} %+pri_wave6_start% wounded = wounded@ignore meet = no_meet ;no_meet ;--- LEADER: WAVE7 ------------------------------------------------------------------------------ [logic@pri_followers_leader_wave7] active = walker@pri_followers_leader_wave7_wait combat_ignore = combat_ignore on_hit = followers_hit on_death = followers_death [walker@pri_followers_leader_wave7_wait] path_walk = wave7_leader_walk1 path_look = wave7_leader_look1 def_state_moving1 = assault def_state_moving2 = assault team = followers ;on_signal = syn | {=pri_followers_can_hear} remark@pri_followers_leader_wave7_phrase, walker@pri_followers_leader_wave7 ;on_info = {+pri_wave7_start =pri_followers_can_hear} remark@pri_followers_leader_wave7_phrase, {+pri_wave7_start} walker@pri_followers_leader_wave7 on_signal = syn | %+pri_wave7_leader_phrase_start% on_info = {+pri_wave7_leader_phrase_end} walker@pri_followers_leader_wave7 wounded = wounded@ignore meet = no_meet ;no_meet [walker@pri_followers_leader_wave7] path_walk = wave7_leader_walk2 path_look = wave7_leader_look2 def_state_moving1 = assault def_state_moving2 = assault on_signal = arrived | {-pri_wave7_start} %+pri_wave7_start% on_info = {-pri_wave7_sound_start =pri_follower_see_ambush} %+pri_wave7_sound_start% wounded = wounded@ignore meet = no_meet ;no_meet combat_ignore_cond = {-pri_wave7_start} ;--- LEADER: WAVE8 ------------------------------------------------------------------------------ [logic@pri_followers_leader_wave8] active = walker@pri_followers_leader_wave8_wait on_hit = followers_hit on_death = followers_death [walker@pri_followers_leader_wave8_wait] path_walk = wave8_leader_walk1 path_look = wave8_leader_look1 def_state_moving1 = assault def_state_moving2 = assault on_actor_dist_ge_nvis = 70 | walker@pri_followers_leader_wave8_leave wounded = wounded@ignore meet = meet@leader danger = danger@ignore [walker@pri_followers_leader_wave8_leave] path_walk = wave8_leader_walk1 path_look = wave8_leader_look1 def_state_moving1 = assault def_state_moving2 = assault on_timer = 35000 | %+pri_followers_scene_end% wounded = wounded@ignore meet = meet@leader danger = danger@ignore ;------------------------------------------------------------------------------------------------- ;--- BOMBER: KAMP -------------------------------------------------------------------------------- ;------------------------------------------------------------------------------------------------- [death@bomber] on_info = {=killed_by_actor} %+pri_followers_actor_enemy +pri_bomber_dead%, %+pri_bomber_dead% ; =pri_drop_rpg_ammo% [logic@pri_followers_bomber_wait] active = remark@pri_followers_bomber_wait ;on_death = followers_death ;death@bomber on_hit = followers_hit [remark@pri_followers_bomber_wait] path_walk = wait_bomber_walk anim = guard target = logic@pri_followers_leader_wait on_info = {+pri_followers_leader_phrase1_end} remark@pri_followers_bomber_wait_na wounded = wounded@ignore meet = no_meet ;meet@def danger = danger@ignore [remark@pri_followers_bomber_wait_na] path_walk = wait_bomber_walk anim = guard_na target = logic@pri_followers_leader_wait wounded = wounded@ignore meet = no_meet ;meet@def danger = danger@ignore ;--- BOMBER: WAVE1 ------------------------------------------------------------------------------ [logic@pri_followers_bomber_wave1] active = walker@pri_followers_bomber_wave1_wait ;on_death = death@bomber on_hit = followers_hit [walker@pri_followers_bomber_wave1_wait] path_walk = wave1_bomber_walk2 path_look = wave1_bomber_look2 def_state_moving1 = assault def_state_moving2 = assault team = followers on_signal = syn | walker@pri_followers_bomber_wave1 %+pri_helicopters_start% on_info = {+pri_wave1_start} walker@pri_followers_bomber_wave1 %+pri_helicopters_start -pri_bomber_dead%, %-pri_bomber_dead% wounded = wounded@ignore meet = no_meet ;no_meet danger = danger@ignore combat_ignore_cond = {!check_fighting(808) !fighting_actor} ;always [walker@pri_followers_bomber_wave1] path_walk = wave1_bomber_walk1 path_look = wave1_bomber_look1 def_state_moving1 = assault def_state_moving2 = assault wounded = wounded@ignore meet = no_meet ;no_meet combat_ignore_cond = {!check_fighting(808) !fighting_actor} ;always ;--- BOMBER: WAVE2 ------------------------------------------------------------------------------ [logic@pri_followers_bomber_wave2] active = walker@pri_followers_bomber_wave2_wait ;on_death = death@bomber on_hit = followers_hit [walker@pri_followers_bomber_wave2_wait] path_walk = wave2_bomber_walk1 path_look = wave2_bomber_look1 def_state_moving1 = assault def_state_moving2 = assault team = followers on_signal = syn | walker@pri_followers_bomber_wave2 on_info = {+pri_wave2_start} walker@pri_followers_bomber_wave2 %-pri_bomber_dead%, %-pri_bomber_dead% wounded = wounded@ignore meet = no_meet ;no_meet [walker@pri_followers_bomber_wave2] path_walk = wave2_bomber_walk2 path_look = wave2_bomber_look2 def_state_moving1 = assault def_state_moving2 = assault on_signal = arrived | {-pri_wave2_start} %+pri_wave2_start% wounded = wounded@ignore meet = no_meet ;no_meet ;--- BOMBER: WAVE3 ------------------------------------------------------------------------------ [logic@pri_followers_bomber_wave3] active = walker@pri_followers_bomber_wave3_wait ;on_death = death@bomber on_hit = followers_hit ;combat_ignore = combat_ignore [walker@pri_followers_bomber_wave3_wait] path_walk = wave3_bomber_walk1 path_look = wave3_bomber_look1 def_state_moving1 = assault def_state_moving2 = assault team = followers on_info = {+pri_wave3_btr_arrived} walker@pri_followers_bomber_wave3_fire_place %-pri_bomber_dead =pri_give_ammo_og7b%, %-pri_bomber_dead% wounded = wounded@ignore meet = no_meet ;no_meet danger = danger@ignore combat_ignore_cond = {!fighting_actor} [walker@pri_followers_bomber_wave3_fire_place] path_walk = wave3_bomber_walk2 path_look = wave3_bomber_look2 def_state_moving1 = sneak_run ;assault def_state_moving2 = sneak_run ;assault on_signal = arrived | remark@pri_followers_bomber_wave3_fire %+pri_wave3_bomber_on_position% wounded = wounded@ignore meet = no_meet ;no_meet danger = danger@ignore combat_ignore_cond = {!fighting_actor} [remark@pri_followers_bomber_wave3_fire] anim = hide_fire target = 807 on_timer = 2700 | walker@pri_followers_bomber_wave3_die ;%=hit_npc(807:bip01_spine1:6:2000)% wounded = wounded@ignore meet = no_meet ;no_meet danger = danger@ignore combat_ignore_cond = {!fighting_actor} [walker@pri_followers_bomber_wave3_die] path_walk = wave3_bomber_walk1 path_look = wave3_bomber_look1 def_state_moving1 = assault ;sprint def_state_moving2 = assault ;sprint on_timer = 3500 | walker@pri_followers_bomber_wave3_fire_place wounded = wounded@ignore meet = no_meet ;no_meet danger = danger@ignore combat_ignore_cond = {!fighting_actor} ;--- BOMBER: WAVE4 ------------------------------------------------------------------------------ [logic@pri_followers_bomber_wave4] active = walker@pri_followers_bomber_wave4_wait ;on_death = death@bomber on_hit = followers_hit ;combat_ignore = combat_ignore [walker@pri_followers_bomber_wave4_wait] path_walk = wave4_bomber_walk1 path_look = wave4_bomber_look1 def_state_moving1 = assault def_state_moving2 = assault team = followers on_signal = syn | walker@pri_followers_bomber_wave4 on_info = {+pri_wave4_start} walker@pri_followers_bomber_wave4 %-pri_bomber_dead%, %-pri_bomber_dead% wounded = wounded@ignore meet = no_meet ;no_meet combat_ignore_cond = {=check_fighting(820:821)} [walker@pri_followers_bomber_wave4] path_walk = wave4_bomber_walk2 path_look = wave4_bomber_look2 def_state_moving1 = assault def_state_moving2 = assault on_signal = arrived | {-pri_wave4_start} %+pri_wave4_start% wounded = wounded@ignore meet = no_meet ;no_meet ;combat_ignore_cond = {!check_fighting(804:805)} ;always ;--- BOMBER: WAVE5 ------------------------------------------------------------------------------ [logic@pri_followers_bomber_wave5] active = walker@pri_followers_bomber_wave5_wait ;on_death = death@bomber on_hit = followers_hit ;combat_ignore = combat_ignore [walker@pri_followers_bomber_wave5_wait] path_walk = wave5_bomber_walk1 path_look = wave5_bomber_look1 def_state_moving1 = assault def_state_moving2 = assault team = followers on_signal = syn | walker@pri_followers_bomber_wave5 on_info = {+pri_wave5_start} walker@pri_followers_bomber_wave5 %-pri_bomber_dead%, %-pri_bomber_dead% wounded = wounded@ignore meet = no_meet ;no_meet ;combat_ignore_cond = {!check_fighting(804:805)} ;always [walker@pri_followers_bomber_wave5] path_walk = wave5_bomber_walk2 path_look = wave5_bomber_look2 def_state_moving1 = assault def_state_moving2 = assault on_signal = arrived | {-pri_wave5_start} %+pri_wave5_start% wounded = wounded@ignore meet = no_meet ;no_meet ;combat_ignore_cond = {!check_fighting(804:805)} ;always ;--- BOMBER: WAVE6 ------------------------------------------------------------------------------ [logic@pri_followers_bomber_wave6] active = walker@pri_followers_bomber_wave6_wait ;on_death = death@bomber on_hit = followers_hit ;combat_ignore = combat_ignore [walker@pri_followers_bomber_wave6_wait] path_walk = wave6_bomber_walk1 path_look = wave6_bomber_look1 def_state_moving1 = assault def_state_moving2 = assault team = followers on_signal = syn | walker@pri_followers_bomber_wave6 on_info = {+pri_wave6_start} walker@pri_followers_bomber_wave6 %-pri_bomber_dead%, %-pri_bomber_dead% wounded = wounded@ignore meet = no_meet ;no_meet [walker@pri_followers_bomber_wave6] path_walk = wave6_bomber_walk2 path_look = wave6_bomber_look2 def_state_moving1 = assault def_state_moving2 = assault on_signal = arrived | {-pri_wave6_start} %+pri_wave6_start% wounded = wounded@ignore meet = no_meet ;no_meet ;--- BOMBER: WAVE7 ------------------------------------------------------------------------------ [logic@pri_followers_bomber_wave7] active = walker@pri_followers_bomber_wave7_wait ;on_death = death@bomber on_hit = followers_hit ;combat_ignore = combat_ignore [walker@pri_followers_bomber_wave7_wait] path_walk = wave7_bomber_walk1 path_look = wave7_bomber_look1 def_state_moving1 = assault def_state_moving2 = assault team = followers ;on_signal = syn | walker@pri_followers_bomber_wave7 ;on_info = {+pri_wave7_start} walker@pri_followers_bomber_wave7 on_info = {+pri_wave7_leader_phrase_end} walker@pri_followers_bomber_wave7 %-pri_bomber_dead%, %-pri_bomber_dead% wounded = wounded@ignore meet = no_meet ;no_meet [walker@pri_followers_bomber_wave7] path_walk = wave7_bomber_walk2 path_look = wave7_bomber_look2 def_state_moving1 = assault def_state_moving2 = assault on_signal = arrived | {-pri_wave7_start} %+pri_wave7_start% wounded = wounded@ignore meet = no_meet ;no_meet combat_ignore_cond = {-pri_wave7_start} ;--- BOMBER: WAVE8 ------------------------------------------------------------------------------ [logic@pri_followers_bomber_wave8] active = walker@pri_followers_bomber_wave8_wait on_hit = followers_hit ;on_death = followers_death [walker@pri_followers_bomber_wave8_wait] path_walk = wave8_bomber_walk1 path_look = wave8_bomber_look1 def_state_moving1 = assault def_state_moving2 = assault meet = no_meet ;no_meet wounded = wounded@ignore ;------------------------------------------------------------------------------------------------- ;--- Выстрел по молящимся ;------------------------------------------------------------------------------------------------- [hit@altar_monolith] on_info = %+pri_monolith_base_attack_altar_zone% [hit@altar_monolith] в самом конце. И сам НПС в all.spawne: [6388] ; cse_abstract properties section_name = stalker_monolith name = pri_monolith_28 position = -7.19472694396973, 2.78197240829468, 203.175796508789 direction = -8.54346671985695e-006, -1.50119984149933, -2.06313507078448e-006 id = 65535 version = 118 script_version = 7 spawn_id = 6388 ; cse_alife_trader_abstract properties money = 5000 character_profile = pri_monolith_regular ; cse_alife_object properties game_vertex_id = 2200 distance = 8.3999996 level_vertex_id = 93425 object_flags = 0xffffffff custom_data = <<END [smart_terrains] pri_monolith = true END ; cse_visual properties visual_name = actors\monolit\stalker_mo_head_1 ; cse_alife_creature_abstract properties g_team = 0 g_squad = 18 g_group = 15 health = 1.7 dynamic_out_restrictions = dynamic_in_restrictions = ; cse_alife_monster_abstract properties equipment_preferences = 2, 2, 2, 0, 2 main_weapon_preferences = 1, 0, 0, 0 ; cse_ph_skeleton properties ; se_stalker properties squad_id = upd:health = 1.7 upd:timestamp = 0x64383 upd:creature_flags = 0x84 upd:position = -7.19472694396973, 2.78197240829468, 203.175796508789 upd:o_torso = -1.50119984149933, -8.54346671985695e-006, 0 upd:g_squad = 18 upd:g_group = 15 ; cse_alife_human_stalker properties upd:start_dialog = З.Ы. При комментировании в скрипте гулага строк: "on_hit = hit@altar_monolith\n" .. "on_death = hit@altar_monolith\n" .. вылет исчезает. Изменено 12 Апреля 2015 пользователем Stalker_AleX333 Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/660/#findComment-930539
Dennis_Chikin 3 664 Опубликовано 12 Апреля 2015 Поделиться Опубликовано 12 Апреля 2015 (изменено) Теперь осталось понять, тот ли это файл. Впрочем, очевидно, что таки да, строчки, которые эту секцию хотят - не нужны. Изменено 12 Апреля 2015 пользователем Dennis_Chikin Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/660/#findComment-930547
Карлан 1 050 Опубликовано 12 Апреля 2015 Поделиться Опубликовано 12 Апреля 2015 (изменено) @Dennis_Chikin, тогда их безнаказанно можно будет расстреливать .Как вариант (в стиле пыс): gulags.pri_monolith.ltx = ltx.."[hit@altar_monolith]\n".. "on_info = {-pri_monolith_base_attack_altar_zone} %+pri_monolith_base_attack_altar_zone%\n" И туда им и дорога. Кстати, а где у них игнорирование дэнжеров и попаданий ? Собственно, полагаю, что именно по этому до вылета добираются не все. dc Изменено 12 Апреля 2015 пользователем Dennis_Chikin Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/660/#findComment-930550
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти