FEET 1 Опубликовано 13 Сентября 2013 (изменено) Зравствуйте.Подключил к ЗП кордон из ЧН, переместил туда актора. Добавил в спавн НПСа с нужной мне позицией и дирекцией, но проблема, сталкер стоит на нужной позиции, но смотрит не в ту сторону(менял параметры дирекции по разному - результата нет). И так ведут себя все заспауненные. Как их "развернуть"? Изменено 13 Сентября 2013 пользователем FEET Поделиться этим сообщением Ссылка на сообщение
FEET 1 Опубликовано 13 Сентября 2013 (изменено) @Shredder,А что, без добавления направления в вэйпоинтах неудастся? По сути дела все заспауненые имеют дирекцию 0,0,0. Они туда автоматом поворачиваются? Изменено 13 Сентября 2013 пользователем FEET Поделиться этим сообщением Ссылка на сообщение
FEET 1 Опубликовано 13 Сентября 2013 @Shredder,Графы сшивал прогой от АМК, и граф файл заметно потяжелел. Добавил нпсу в ремарк no_move, он стоит, но смотрит по прежнему в 0,0,0. Я просто незнаю, как сделать схему волкер, но чтобы при этом нпс постоянно отыгрывал определённую анимацию, смотря в определённое место... Поделиться этим сообщением Ссылка на сообщение
FEET 1 Опубликовано 13 Сентября 2013 (изменено) Короче, сделал НПСу схему волкер.Добавил 2 вэйпоинта(1 точно на точке спауна нпс, а другой, в точке направления).Чтобы это всё заработало, пришлось добавить в спавн спейс рестриктор, с логикой автосохранения. При запуске новой игры НПС стоял на нужной точке, но снова смотрел в 0,0,0, НО при загрузке автосейва, всё встало на свои места - нпс смотрел куда нужно.Но когда вписал во флаг вейпойнта (вейпойнт walk) анимацию, она воспроизводилась. Однако как при новой игре, так и при сейве анимация была направлена в 0,0,0(анимация "binocular").Вопрос: Как "направить" анимацию, и как сделать, чтобы при новой игре, всё спаунилось правильно (я так понимаю, чтобы запускалась алайф симуляция)? [walker_scene1_walk] points = p0p0:name = wp00|a=binocularp0:position = -192.100006103516, -19.5, -137.809997558594p0:game_vertex_id = 956p0:level_vertex_id = 59296 [walker_scene1_look]points = p0p0:name = wp00p0:position = -191.809341430664,-19.5018310546875,-138.585067749023p0:game_vertex_id = 956p0:level_vertex_id = 59296 Спавн:[644]; cse_abstract propertiessection_name = space_restrictorname = esc_a1_logicposition = -247.026138305664, -24.8110198974609, -134.753448486328direction = 0, 0, 0id = 65535version = 128script_version = 12spawn_id = 644; cse_alife_object propertiesgame_vertex_id = 950level_vertex_id = 13976object_flags = 0xffffff3ecustom_data = <[logic]cfg = scripts\esc\esc_a1_logic.ltxEND; cse_shape propertiesshapes = 1shape_0:type = sphereshape_0:offset = 0,0,0shape_0:radius = 1; cse_alife_space_restrictor propertiesrestrictor_type = 3Логика:[logic]active = sr_idle@game_start[sr_idle@game_start]on_info = {=actor_on_level(escape)} sr_idle@nil %=damage_actor_items_on_start +esc_a1_game_start =scenario_autosave(st_save_start_escape)%[sr_idle@nil] Спавн:[642]; cse_abstract propertiessection_name = stalkername = test_npcposition = -214.703048706055, -20.3582897186279, -147.068557739258direction = 3.49065852165222,0,0id = 65535version = 128script_version = 12spawn_id = 642; cse_alife_trader_abstract propertiesmoney = 5000character_profile = test_npccse_alife_trader_abstract__unk2_u8 = 1; cse_alife_object propertiesgame_vertex_id = 1032distance = 9.8000002level_vertex_id = 39131object_flags = 0xffffffbfcustom_data = <[logic]cfg = scripts\esc\test_npc.ltxEND; cse_visual propertiesvisual_name = actors\stalker_hero\stalker_hero_1; cse_alife_creature_abstract propertiesg_team = 0g_squad = 0g_group = 0dynamic_out_restrictions =dynamic_in_restrictions =; cse_alife_monster_abstract propertiesequipment_preferences = 1, 2, 0, 0, 2main_weapon_preferences = 0, 1, 0, 0; cse_ph_skeleton properties; se_stalker propertiesupd:health = 1upd:timestamp = 0x2694d60upd:creature_flags = 0x30upd:position = -214.703048706055, -20.3582897186279, -147.068557739258upd:o_torso = 0.00212587113492191, 0.101435124874115, 0; cse_alife_human_stalker propertiesupd:start_dialog =Логика:[logic]active = walker@scene2danger = danger_ignore[danger_ignore]ignore_distance = 5[walker@scene2]path_walk = walker_scene1_walkpath_look = walker_scene1_look Изменено 13 Сентября 2013 пользователем FEET Поделиться этим сообщением Ссылка на сообщение
FEET 1 Опубликовано 13 Сентября 2013 @karavan,Логика в отдельном файле, это тут я чтото не так написал походу.Спейс рестриктор писал не для нпс, а для актора. Чтобы создавался автосейв при запуске новой игры.Писал анимацию в лук - не воспроизводится.Сейчас переименую вэйпоинты... Поделиться этим сообщением Ссылка на сообщение
FEET 1 Опубликовано 13 Сентября 2013 (изменено) @karavan,Сделал всё как ты написал. Результат тот же. Что при новой игре, что при сейве - анимация не "повернулась".Насчёт смарта для нпс: когда переносил спавн из ЧН не удалял смарт террейны вообще (только если была лишняя логика - я её чистил). Удалил только смартковеры(из за них сдк ломался(видимо не подходят из чн в зп))@FantomICW,Мне нужен нпс, который подчинён точной логике. Я делаю скриптовую сцену.Собственно, так то всё работает. Но не в том направлении(хотя вейпоинт направления создан). Может быть и в look и в walk анимацию прописать? &DНе помогло. Результат тот же. Изменено 13 Сентября 2013 пользователем FEET Поделиться этим сообщением Ссылка на сообщение
FEET 1 Опубликовано 13 Сентября 2013 (изменено) @FantomICW,Он явно стоит в смарте, это я ещё в сдк видел. Логика написана. Писал в look точно как ты написал - не работает, работает только в walk, но в направлении 0,0,0 Убрал анимацию вообще. Заметил странное: при новой игре нпс смотрит в 0,0,0. При загрузке начального сейва он смотрит немного в другом направлении. При последущих загрузках он каждый раз меняет своё направление.Что это ваще? Изменено 13 Сентября 2013 пользователем FEET Поделиться этим сообщением Ссылка на сообщение
FEET 1 Опубликовано 14 Сентября 2013 @Clayman, Точно. Проблема была в том что я связал их разными флагами. В дальнейшем буду юзать сквады, всем спасибо! Поделиться этим сообщением Ссылка на сообщение
FEET 1 Опубликовано 14 Сентября 2013 Возник ещё один вопрос: Сделал мини базу. Там 3 костра на расстоянии, вокруг всех сделал аимпоинты, и рядом с каждым костром поставил по вэй поинту. В общем всё работает.Заспаунил туда 3 сквада, каждый около одного костра (на вэй поинте), но как только игра загружается, они не садятся на ближайшую работу, а начинают мегрировать на другую работу, и перемешиваются все. Как бы им задать приоритет? Поделиться этим сообщением Ссылка на сообщение
FEET 1 Опубликовано 14 Сентября 2013 (изменено) Это единственный вариант? Если там рандомные нпсы спавнятся, их нельзя както направить? Вот как-нибудь бы задать приоритет работам, думаю если бы можно было поставить на увелечение, то нпсы не расходились бы... Изменено 14 Сентября 2013 пользователем FEET Поделиться этим сообщением Ссылка на сообщение
FEET 1 Опубликовано 15 Сентября 2013 (изменено) Люди, подскажите.Создал аимпоинт возле костра(рабочий), создал точку сна (рабочую, проверял), заспаунил сквад в виде 1 нпса. Нпс сидит у костра, приходит время сна (21,00), и он ведёт себя странно: начинает вставать, но тут его дёргает, и он снова садится, и всё остальное время дёргается, как будто аимпоинт его не выпускает. В чём причина? ; cse_abstract properties section_name = smart_covername = loc_a1_animpoint_1position = -185.842849731445, -20.223840713501, -157.601440429688direction = 0, 0.872659981250763, 0id = 65535version = 128script_version = 12spawn_id = 575; cse_alife_object propertiesgame_vertex_id = 22distance = 20.299999level_vertex_id = 64920object_flags = 0xffffffbf; cse_shape propertiesshapes = 1shape_0:type = sphereshape_0:offset = 0,0,0shape_0:radius = 2; cse_smart_cover propertiesdescription = animpoint_sit_kneeenter_min_enemy_distance = 15exit_min_enemy_distance = 10; se_smart_cover propertieslast_description = animpoint_sit_kneeloopholes = animpoint_sit_knee, 0 [loc_a1_sleep_1]points = p0,p1p0:name = wp00p0:flags = 0x1p0:position = -210.347534179688,-22.8600921630859,-124.829750061035p0:game_vertex_id = 97p0:level_vertex_id = 24480p0:links = p1(1)p1:name = wp01p1:flags = 0x2p1:position = -210.291580200195,-22.8931255340576,-126.678092956543p1:game_vertex_id = 97p1:level_vertex_id = 43432p1:links = p0(1) И да, в скрипте "gulag_general" поставил схеме sleep приоритет 20 (чтобы был выше чем у аимпоинта(15)) Изменено 15 Сентября 2013 пользователем FEET Поделиться этим сообщением Ссылка на сообщение
FEET 1 Опубликовано 16 Сентября 2013 Проблему решил, в анимпоинтах лупхолы были не включены. Но возник другой вопрос:Если заспаунить сквад из нескольких нпс, то спать уходит нпс только с одного и того же анимпоинта (по крайней мере так было 4ро суток), рандом не придусмотрен? Поделиться этим сообщением Ссылка на сообщение
FEET 1 Опубликовано 18 Сентября 2013 Подскажите пожалуйста, есть ли возможность сделать дверь, чтобы, при приближении к ней нпс, она открывалась? В обычную дверь они врезаются и не могут пройти никак... Поделиться этим сообщением Ссылка на сообщение
FEET 1 Опубликовано 18 Сентября 2013 (изменено) @Shredder,Хмм, а что в ней за это отвечает то? [logic] active = ph_door@closed [ph_door@closed] closed = true locked = false on_use = ph_door@open on_info = {!check_smart_alarm_status(zat_stalker_base_smart:normal) !actor_in_zone(zat_a2_sr_light)} ph_door@locked snd_open_start = trader_door_open_start snd_close_start = trader_door_close_start snd_close_stop = trader_door_close_stop [ph_door@open] closed = false locked = false on_use = ph_door@closed on_info = {!check_smart_alarm_status(zat_stalker_base_smart:normal) !actor_in_zone(zat_a2_sr_light)} ph_door@locked on_game_timer = 50 | ph_door@closed snd_open_start = trader_door_open_start snd_close_start = trader_door_close_start snd_close_stop = trader_door_close_stop [ph_door@locked] closed = true locked = true on_info = {=check_smart_alarm_status(zat_stalker_base_smart:normal)} ph_door@closed on_info2 = {=check_smart_alarm_status(zat_stalker_base_smart:alarm)} ph_door@locked_alarm on_info3 = {=actor_in_zone(zat_a2_sr_light)} ph_door@closed snd_open_start = trader_door_locked tip_open = tip_door_closed_hide_weapon [ph_door@locked_alarm] closed = true locked = true on_info = {=check_smart_alarm_status(zat_stalker_base_smart:normal)} ph_door@closed on_info2 = {=check_smart_alarm_status(zat_stalker_base_smart:danger)} ph_door@locked snd_open_start = trader_door_locked tip_open = tip_door_closed_base_alarm В следующий раз "полотно" потру. ColR_iT Изменено 18 Сентября 2013 пользователем ColR_iT Поделиться этим сообщением Ссылка на сообщение
FEET 1 Опубликовано 18 Сентября 2013 Дверь из секции "physic_door", может это связано с тем, что аи сетка просчитана на драфте? Если просчитать укрытия, может нпсы смогут открывать двери? Поделиться этим сообщением Ссылка на сообщение
FEET 1 Опубликовано 18 Сентября 2013 @Shredder,Там идёт отсылка на скрипт "db.script", а в нём есть строка " level_doors = {}", мне что, между скоб дверь нужно вписать? Поделиться этим сообщением Ссылка на сообщение
FEET 1 Опубликовано 18 Сентября 2013 (изменено) @Shredder,Да, вот такую: [logic] active = ph_door@close[ph_door@close]locked = falseclosed = trueon_use = ph_door@opensnd_open_start = wood_small_opensnd_close_start = wood_small_close_startsnd_close_stop = wood_small_close_stophit_on_bone = 1|ph_door@free|2|ph_door@free[ph_door@open]locked = falseclosed = falseon_use = ph_door@closesnd_open_start = wood_small_opensnd_close_start = wood_small_close_startsnd_close_stop = wood_small_close_stophit_on_bone = 1|ph_door@free|2|ph_door@free[ph_door@free]locked = falseclosed = trueon_use = ph_door@openno_force = trueМожет быть из-за того что дверь слегка утонула в геометри?(не точно подходит по размеру)Или из-за того что аи сетка проходит сквозь дверь? (дверь не лежит на аи сетке, она ниже её) Нет, не из-за этого, поставил дверь на пути у нпс, ровно на землю, всё равно не может открыть.(нпс идёт на вэйпоинт сна) Изменено 18 Сентября 2013 пользователем FEET 1 Поделиться этим сообщением Ссылка на сообщение
FEET 1 Опубликовано 18 Сентября 2013 @karavan,Увы, всё создано через смарт, в спавне 0 нпс Поделиться этим сообщением Ссылка на сообщение
FEET 1 Опубликовано 18 Сентября 2013 @karavan,Я же написал "в спавне", всмысле в all.spawn Поделиться этим сообщением Ссылка на сообщение
FEET 1 Опубликовано 18 Сентября 2013 (изменено) @karavan,У меня там всё под смартом, во всех сквадах стоит таргет нейм = мой смарт, всё остальное работает как по маслу, а вот дверь что-то не может открыть...Нпс то и идёт на работу смартовскую, но не судьба Изменено 18 Сентября 2013 пользователем FEET Поделиться этим сообщением Ссылка на сообщение