Это популярное сообщение. Dennis_Chikin 3 663 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Dennis_Chikin 3 663 Опубликовано 2 Августа 2015 Поделиться Опубликовано 2 Августа 2015 (изменено) У свежезаспавненного монстра очевидно нет ни каких эксклюзивов. Соотвественно, они ни где не запоминаются. Изменено 2 Августа 2015 пользователем Dennis_Chikin Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
dsh 3 824 Опубликовано 2 Августа 2015 Поделиться Опубликовано 2 Августа 2015 (изменено) Dennis_Chikin писал(а): Это не соляночный код. Упс... Не ожидал, что в ОП-2 это изменено. Вот из ОП-2: function se_monster:on_before_register() self:fill_exclusives() end function se_monster:on_before_register() self:fill_exclusives() end В Солянке по другому? Dennis_Chikin писал(а): У свежезаспавненного монстра очевидно нет ни каких эксклюзивов. Соотвественно, они ни где не запоминаются. Отладка показывает, что свежеспауненого мутанта немедленно, вон в том коде, затягивает в любой свободный гулаг. Если выразиться точнее, не в том коде конкретно, а в промежутке между create() и вызовом amk.on_REspawn(), который вызывает amk_mod.respawned(), который и ставит мутанту custom_data. Изменено 2 Августа 2015 пользователем dsh dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Карлан 1 050 Опубликовано 2 Августа 2015 Поделиться Опубликовано 2 Августа 2015 Я что-то запутался, скрипт smart_terrain.script, в оригинальном должна быть 1031 строка, вот эта: local ltx = ini_file( "misc\\" .. self.gparams.type .. ".ltx" )local ltx = ini_file( "misc\\" .. self.gparams.type .. ".ltx" ) Собсно что есмь такое? type я тут понимаю - имя гулага, собственно какая роль этого конфига в этом скрипте? Чисто статистическая? Ссылка на комментарий
abramcumner 1 205 Опубликовано 2 Августа 2015 Поделиться Опубликовано 2 Августа 2015 dsh писал(а): Отладка показывает, что свежеспауненого мутанта немедленно, вон в том коде, затягивает в любой свободный гулаг. Если выразиться точнее, не в том коде конкретно, а в промежутке между create() и вызовом amk.on_REspawn(), который вызывает amk_mod.respawned(), который и ставит мутанту custom_data. Не знаю, что там в моде. Есть чистый ТЧ, se_respawn.script: obj = alife():create(spawn_section, ... obj:brain():update() local smart_terrain_id = obj:smart_terrain_id()obj = alife():create(spawn_section, ... obj:brain():update() local smart_terrain_id = obj:smart_terrain_id()То есть для распределения по гулагам специально вызывается obj:brain():update(). До этого вызова смарт не задан. Ссылка на комментарий
dsh 3 824 Опубликовано 2 Августа 2015 Поделиться Опубликовано 2 Августа 2015 @abramcumner, а при чем тут чистый ТЧ, если я в самом первом сообщении, на эту тему, написал: Кто использует респаунеры из Солянки, которые при спауне мутантов делают вот так: Ах да, это же русский форум. dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Winsor 178 Опубликовано 2 Августа 2015 Поделиться Опубликовано 2 Августа 2015 ТЧ 1.0006 + НС Уважаемые, каким образом можно заставить увидеть физический объект любого сталкера, заспавненный скриптом? В том же пресловутом watcher_act.script есть проверка по npc:memory_visible_objects() , по которой сталкеры движутся к выброшенному объекту из инвентаря. но физические объекты не попадают в этот список. Т.е. я хочу, чтобы сталкер подошел к "брошенному" (заспавненному ящику) и, например, попытался сделать "use" на него. само собой, ящик спавниться абсолютно произвольно. Эти объекты можно "увидеть" в amk_offline_alife.script но как то странно срабатывает , т.е. сталкер может "заметить" ящик за 400 метров от себя, игнорируя тот что лежит под ногами... Благодарю за информацию! Ссылка на комментарий
Zander_driver 10 343 Опубликовано 2 Августа 2015 Поделиться Опубликовано 2 Августа 2015 Winsor писал(а): проверка по npc:memory_visible_objects() Не проверка а перебор. С выбором "наилучшего" объекта, к которому нпс и пойдет. Почему для него объект лежащий за 400 метров оказался лучше того что под ногами, это другой уже вопрос. Winsor писал(а): но физические объекты не попадают в этот список. А откуда это известно? вы весь список в лог выводили? Если нет, то советую с этого и начать. Посмотреть, что непись вообще видит а что нет. И уже исходя из этого размышлять дальше. 1 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
плащ 0 Опубликовано 3 Августа 2015 Поделиться Опубликовано 3 Августа 2015 (изменено) 02.08.2015 в 08:16, Карлан сказал: Ты не удосужился даже логику показать, под какой схемой он работает, на что ты вообще надеешься? В логике проблем нет (ибо это обычная remark) стандартную sit она же проигрывает, а новую анимацию (sit_stul) рядом с гулагом не хочет.У меня несколько вариантов в чем причина: 1)Гулаг находиться на новой локации (сразу отпадает, ибо на кордоне деревню новичков сломало). 2)Я где-то напортачил в мозгах смарта или Гулага (хотелось бы узнать все файлы относящийся к мозгам). 3)Возможно надо где-то дополнительно прописать анимацию чтобы смарт или гулаг отпустили бедного нпса (в этом варианте тоже я слабо уверен). Изменено 3 Августа 2015 пользователем плащ Пытаюсь создать глобальный мод с новым сюжетом,буду рад любой оказанной помощи Ссылка на комментарий
Winsor 178 Опубликовано 3 Августа 2015 Поделиться Опубликовано 3 Августа 2015 02.08.2015 в 22:52, Zander_driver сказал: А откуда это известно? вы весь список в лог выводили? Если нет, то советую с этого и начать. Посмотреть, что непись вообще видит а что нет. И уже исходя из этого размышлять дальше. Да . Выводил. O_PHYS_S в этот список не попадает... Ссылка на комментарий
Zander_driver 10 343 Опубликовано 3 Августа 2015 Поделиться Опубликовано 3 Августа 2015 Ну тогда, учитывая что перебор все равно идет по таблице, надо эти объекты туда добавить. 1. Спрашиваем у нпс что он видел, движковым методом, сохраняем это в таблицу. 2. Своей функцией наподобие того что вам уже дали в соседней теме для сталкеров, получаем список нужных физ-объектов онлайн. У физ.объектов так же есть биндер, так что проблем вообще никаких. 3. В watcher_act.script делаем перебор по обеим таблицам, или сливаем их в одну и уже по ней гоняем перебор. 4. Profit 1 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Карлан 1 050 Опубликовано 3 Августа 2015 Поделиться Опубликовано 3 Августа 2015 @плащ, ремарк как базовая? Вы когда-нибудь перестанете издеваться? "Мозги" гулага - smart_terrain.script/xr_gulag.script, ну и gulag_*.script (но это уже мозжечок). Ты вообще уверен что у тебя этот нпс становится под гулаг? Если его гулаг подбирает, то нет ничего удивительного что он анимацию не отыгрывает. Пиши в кастом дату игнор смартов, у меня работает. @Zander_driver, слишком заморочено, лучше сразу физиков на попадание во фруструм проверять и тут же доливать в таблицу, профит сразу. 1 Ссылка на комментарий
Zander_driver 10 343 Опубликовано 3 Августа 2015 Поделиться Опубликовано 3 Августа 2015 Карлан писал(а): Zander_driver, слишком заморочено, лучше сразу физиков на попадание во фруструм проверять и тут же доливать в таблицу, профит сразу. Ты более коротко и менее понятно для не-сильно ориентирующихся, написал по сути то же что и я. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Карлан 1 050 Опубликовано 3 Августа 2015 Поделиться Опубликовано 3 Августа 2015 @Zander_driver, ващпе если хоть немного хотеть понять, то как-бы код из соседней темы подойдет на 100%, и ваши всякие мемори-визиблы нафиг не нужны в случае с физиками да и вообще. По другому движок-онли. Ссылка на комментарий
Winsor 178 Опубликовано 3 Августа 2015 Поделиться Опубликовано 3 Августа 2015 (изменено) Спасибо всем кто откликнулся и за Ваши идеи. Пока копался в поиске стандартного подхода к определению видимых объектов, нашел итератор not_yet_visible_objects() (кстати, рабочий). название как бы намекает, но вот зачем? осталось найти not_anymore_visible_object()... и картина мира сложится воедино. Изменено 3 Августа 2015 пользователем Winsor Ссылка на комментарий
Zander_driver 10 343 Опубликовано 3 Августа 2015 Поделиться Опубликовано 3 Августа 2015 @Карлан, Если хотеть немного понять, можно заметить что добавляя в watcher_act поиск физ.объектов, вопрошающий не хотел выкинуть оттуда все остальное что там уже было. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Карлан 1 050 Опубликовано 3 Августа 2015 Поделиться Опубликовано 3 Августа 2015 @Zander_driver, ну так не выкидывай, какие проблемы? Делать по нормальному в нашей сообществе - моветон, начиная с самих. Ссылка на комментарий
плащ 0 Опубликовано 3 Августа 2015 Поделиться Опубликовано 3 Августа 2015 03.08.2015 в 11:14, Карлан сказал: @плащ, ремарк как базовая? Вы когда-нибудь перестанете издеваться? "Мозги" гулага - smart_terrain.script/xr_gulag.script, ну и gulag_*.script (но это уже мозжечок). Ты вообще уверен что у тебя этот нпс становится под гулаг? Если его гулаг подбирает, то нет ничего удивительного что он анимацию не отыгрывает. Пиши в кастом дату игнор смартов, у меня работает. Извини если чего плохо объяснил, вот файлы: all.spawn (Показать) НПС [11541] ; cse_abstract properties section_name = stalker name = pred_sergant_mayor_Vaskes position = -556.44348144531,14.339447021484,246.32183837891 direction = 0.0580197647213936,0,0.998315453529358 ; cse_alife_trader_abstract properties money = 5000 character_profile = pred_sergant_mayor_Vaskes ; cse_alife_object properties game_vertex_id = 3880 distance = 0 level_vertex_id = 95372 object_flags = 0xfffffffb custom_data = <<END [smart_terrains] none=true [logic] cfg = scripts\logic\vaskes.ltx END ; cse_visual properties visual_name = actors\stalker_hero\stalker_hero_novice_1 ; cse_alife_creature_abstract properties g_team = 0 g_squad = 0 g_group = 0 health = 2 dynamic_out_restrictions = dynamic_in_restrictions = upd:health = 2 upd:timestamp = 0 upd:creature_flags = 0 upd:position = -556.44348144531,14.339447021484,246.32183837891 upd:o_model = 0 upd:o_torso = 0,0,0 upd:g_team = 0 upd:g_squad = 0 upd:g_group = 0 ; cse_alife_monster_abstract properties upd:next_game_vertex_id = 65535 upd:prev_game_vertex_id = 65535 upd:distance_from_point = 0 upd:distance_to_point = 0 ; cse_alife_human_abstract properties predicate5 = 2,2,1,2,0 predicate4 = 2,2,1,2 ; cse_ph_skeleton properties upd:start_dialog = ; se_stalker properties[11541] ; cse_abstract properties section_name = stalker name = pred_sergant_mayor_Vaskes position = -556.44348144531,14.339447021484,246.32183837891 direction = 0.0580197647213936,0,0.998315453529358 ; cse_alife_trader_abstract properties money = 5000 character_profile = pred_sergant_mayor_Vaskes ; cse_alife_object properties game_vertex_id = 3880 distance = 0 level_vertex_id = 95372 object_flags = 0xfffffffb custom_data = <<END [smart_terrains] none=true [logic] cfg = scripts\logic\vaskes.ltx END ; cse_visual properties visual_name = actors\stalker_hero\stalker_hero_novice_1 ; cse_alife_creature_abstract properties g_team = 0 g_squad = 0 g_group = 0 health = 2 dynamic_out_restrictions = dynamic_in_restrictions = upd:health = 2 upd:timestamp = 0 upd:creature_flags = 0 upd:position = -556.44348144531,14.339447021484,246.32183837891 upd:o_model = 0 upd:o_torso = 0,0,0 upd:g_team = 0 upd:g_squad = 0 upd:g_group = 0 ; cse_alife_monster_abstract properties upd:next_game_vertex_id = 65535 upd:prev_game_vertex_id = 65535 upd:distance_from_point = 0 upd:distance_to_point = 0 ; cse_alife_human_abstract properties predicate5 = 2,2,1,2,0 predicate4 = 2,2,1,2 ; cse_ph_skeleton properties upd:start_dialog = ; se_stalker properties Смарт [11543] ; cse_abstract properties section_name = smart_terrain name = pred_post_nato position = -564.25579833984,15.655229568481,266.97406005859 direction = -0.951673030853271,0,-0.307113021612167 ; cse_alife_object properties game_vertex_id = 3880 distance = 5 level_vertex_id = 84213 object_flags = 0xffffff3e custom_data = <<END [smart_terrain] type = pred_post_nato capacity = 2 END ; cse_shape properties shapes = shape0 shape0:type = sphere shape0:offset = 0,0,0 shape0:radius = 2.5480751991272 ; cse_alife_space_restrictor properties restrictor_type = 3 ; se_smart_terrain properties[11543] ; cse_abstract properties section_name = smart_terrain name = pred_post_nato position = -564.25579833984,15.655229568481,266.97406005859 direction = -0.951673030853271,0,-0.307113021612167 ; cse_alife_object properties game_vertex_id = 3880 distance = 5 level_vertex_id = 84213 object_flags = 0xffffff3e custom_data = <<END [smart_terrain] type = pred_post_nato capacity = 2 END ; cse_shape properties shapes = shape0 shape0:type = sphere shape0:offset = 0,0,0 shape0:radius = 2.5480751991272 ; cse_alife_space_restrictor properties restrictor_type = 3 ; se_smart_terrain properties Смарт рассчитан на двух НПС и эти двое прекрасно выполняют свою работу Логика (Показать) [logic] active = remark meet = no_meet [remark] anim = sit_stul meet = no_meet [logic] active = remark meet = no_meet [remark] anim = sit_stul meet = no_meet Анимация (Показать) sit_stul = { prop = { maxidle = 5, sumidle = 3, rnd = 100 }, into = { [0] = {"sit_idle_0"} }, out = nil, idle = { [0] = "sit_idle_0" }, rnd = nil }, sit_stul = { prop = { maxidle = 5, sumidle = 3, rnd = 100 }, into = { [0] = {"sit_idle_0"} }, out = nil, idle = { [0] = "sit_idle_0" }, rnd = nil }, sit_stul= {weapon = "none", movement = nil, mental = nil, bodystate = nil, animstate = nil, animation = "sit_stul" }, sit_stul= {weapon = "none", movement = nil, mental = nil, bodystate = nil, animstate = nil, animation = "sit_stul" }, Еще раз опишу проблему:Новая анимация (вырезанная с ЗП) прекрасно работает но только в дали от гулага. Рядом с гулагом она либо просто не функционирует (как на predbannik'е) либо ломает гулаг (как на escepe), при этом если в логике написать стандартную анимацию (вроде sit или sit_ass) все шикарно работает! P.S. поставил smart_terrain.script и xr_gulag.script со стандартного ТЧ проблема не пропала. Пытаюсь создать глобальный мод с новым сюжетом,буду рад любой оказанной помощи Ссылка на комментарий
Хемуль36рус 1 789 Опубликовано 3 Августа 2015 Поделиться Опубликовано 3 Августа 2015 @плащ, не берусь ничего утверждать, но анимация сидения работает у меня лично, да и не только у меня вот отсюда. [zaton_kardan_look_2] points = p0 p0:name = wp00|a=sit_stul_sleep p0:flags = 0x1 p0:position = 105.325080871582,-3.93491101264954,182.070297241211 p0:game_vertex_id = 3686 p0:level_vertex_id = 1147194[zaton_kardan_look_2] points = p0 p0:name = wp00|a=sit_stul_sleep p0:flags = 0x1 p0:position = 105.325080871582,-3.93491101264954,182.070297241211 p0:game_vertex_id = 3686 p0:level_vertex_id = 1147194 и не используй в логике в активной схеме, если только она не изменится [remark][remark] 1 Intrel Core i5 9400F, msi gtx 1660 super ventus, RAM 16g-DDR4, HD 2000g, Win 10x64, SSD 256g, SSD m2 500g. Ссылка на комментарий
AndrewMor 533 Опубликовано 4 Августа 2015 Поделиться Опубликовано 4 Августа 2015 Карлан писал(а): в СДК глянуть это тебе надо в партикл эдиторе открыть свой файл и выбрать нужный партикл, Вот и спрашивал, как? Партикл эдитор запускаю, справа отображается список партиклов. А как его в том же СДК воочию увидеть? Чтобы в игре запустить конкретный, делаю так: код (Показать) local obj = db.actor:position() obj.x = obj.x - 10local particle_blow = particles_object([[anomaly\storm_01]])particle_blow:play_at_pos(obj) Но это один, а если их сотня-другая? Сталкер - наше всё! Ссылка на комментарий
naxac 2 502 Опубликовано 4 Августа 2015 Поделиться Опубликовано 4 Августа 2015 @AndrewMor, в скролл-баре параметов выбранного партикла (внизу справа) есть кнопки Play, Stop. Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти