FantomICW 678 Опубликовано 3 Июля 2013 (изменено) @Ilyagovsa, в логике НПС в секции meet должен быть параметр use со значением true. Как-то так: [meet] use = true Также следует добавить НПС в дескрипшен (его строки в character_desc_...) диалоги. Например, стандартная фраза "Бывай", которая диалог закончит. После секции supplies пишем <actor_dialog>actor_break_dialog</actor_dialog> Изменено 3 Июля 2013 пользователем FantomICW Поделиться этим сообщением Ссылка на сообщение
FantomICW 678 Опубликовано 3 Июля 2013 @Ilyagovsa, а почему бы просто не сделать НПС сквадным? Поделиться этим сообщением Ссылка на сообщение
FantomICW 678 Опубликовано 13 Сентября 2013 @FEET, предлагаю не жить позавчерашним днем, и создать НПС более удобным способом - через сквад. Если не знаешь как это делать, скажи, помогу разобраться. Для спавна сквадов с НИ даже отдельный файл есть - simulation.ltx. В настройках сквада в configs/misc/squad_sescr_.ltx можно задать параметр spawn_point - вей-поинт, где заспванится сквад. А в настройках смарта, где будет НПС, нужно в секции [exclusive] задать путь к логике НПС: [exclusive] название_эксклюзивной_логики = локация\файл_с_логикой.ltx Поделиться этим сообщением Ссылка на сообщение
FantomICW 678 Опубликовано 13 Сентября 2013 @FEET,так НПС должен на смарте находится + с эксклюзивной логикой, чтобы все работало на 100%. Я обычно |a=анимка добавляю в look. Работает. Поделиться этим сообщением Ссылка на сообщение
FantomICW 678 Опубликовано 21 Сентября 2013 (изменено) @дядяСаша, срабатывают два каких-то спейс рестриктора, которые телепортируют ГГ и начинают кат-сцену. Просто до перехода нужно выдать инфопорции: ("jup_first_meet_made") ("jup_b217_welcome_faded") ("jup_b217_welcome_guide_talked") ("jup_b217_pp_end_in_scene") ("jup_b217_welcome_tech_talked") ("jup_b217_guide_welcome_end") ("jup_b217_tech_welcome_end") ("jup_b217_tech_instruments_start") ("jup_b217_stalker_tech_met") Изменено 21 Сентября 2013 пользователем FantomICW Поделиться этим сообщением Ссылка на сообщение
FantomICW 678 Опубликовано 30 Сентября 2013 @karavan, тебе нужен какой-то конкретный предмет проверить? Поделиться этим сообщением Ссылка на сообщение
FantomICW 678 Опубликовано 1 Октября 2013 или наоборот Все верно, в аргументе вызова через логику указывается id_сквада:смарт. Поделиться этим сообщением Ссылка на сообщение
FantomICW 678 Опубликовано 20 Октября 2013 Доброго дня! Создал одну сложную логику рестриктора, вроде все как надо, но на определенном этапе действий получаю вылет: scripts\xr_logic.script:777: attempt to compare nil with number [sr_idle@knock_out] on_info = sr_idle@hit_ppe %=disable_ui =run_cam_effector_global(hit_back)% [sr_idle@hit_ppe] on_info = sr_idle@go_black %=run_postprocess(snd_shock_effector:9914)% [sr_idle@go_black] on_game_timer = 20 | sr_idle@black_screen %=run_postprocess(fade_in:9915) =stop_postprocess(9914)% [sr_idle@black_screen] on_game_timer = 25 | %=run_postprocess(black:9916:true) +sec_heli_black_box_black_screen% on_game_timer2 = {+sec_heli_black_box_black_screen -sec_heli_black_box_awake} 20 | sr_idle@return_screen_wake_up [sr_idle@return_screen_wake_up] on_info = {+sec_heli_black_box_black_screen -sec_heli_black_box_awake} %=stop_postprocess(9915) =stop_postprocess(9916) =enable_ui() +sec_heli_black_box_awake% on_info2= {+sec_heli_black_box_awake} %=run_cam_effector_global(surge_01)% Запускаются первые эффекты, где-то после секции [sr_idle@hit_ppe], когда начинает темнеть, вылетает. Судя по скрипту, какие-то проблемы с временем. Можете подсказать, что конкретно не так? Поделиться этим сообщением Ссылка на сообщение
FantomICW 678 Опубликовано 20 Октября 2013 @Старлей,@_Val_, спасибо, ребята. Таки в условии проблема была. Я догадывался, что оно может сбоить, с другой стороны смотрю, в роде же можно так...Спасибо еще раз Поделиться этим сообщением Ссылка на сообщение
FantomICW 678 Опубликовано 5 Января 2014 (изменено) @ммихаилл, делается все точно так же, как и сквад НПС. Вот, к примеру, секция сквада с бюррерами из squad_descr_jupiter.ltx: [jup_b208_burers_squad]:online_offline_group faction = monster npc = burer_normal, burer_normal target_smart = jup_b208 spawn_point = jup_b208_burer_lair_1_spawn_point story_id = jup_b208_burers_squad Изменено 5 Января 2014 пользователем FantomICW Поделиться этим сообщением Ссылка на сообщение
FantomICW 678 Опубликовано 5 Января 2014 @ммихаилл, я просто привел пример секции сквада с монстрами. Спавнятся так же, как и НПС Как ты хочешь заспавнить: по условию, с начала игры или респавн? Поделиться этим сообщением Ссылка на сообщение
FantomICW 678 Опубликовано 10 Января 2014 (изменено) @Сталкер Лом,вот, Шокер что-то предлагал, может поможет. Ссылка Изменено 10 Января 2014 пользователем FantomICW 1 Поделиться этим сообщением Ссылка на сообщение
FantomICW 678 Опубликовано 24 Марта 2014 можно как-то из xml перейти в script? Давай конкретней, товарищ. Ну, в туториалах, к примеру, такое вот есть: <function_on_stop>xr_effects.pri_a28_talk_ssu_video_end</function_on_stop> <function_check_start>outro_cond.skadovsk_neutral_cond</function_check_start> <action id="use" finalize="1">xr_effects.jup_b32_place_scanner</action> Поделиться этим сообщением Ссылка на сообщение
FantomICW 678 Опубликовано 4 Апреля 2014 @Сталкер Лом, как-то так попробуй: local active_af = db.actor:item_in_slot(7):section() Поделиться этим сообщением Ссылка на сообщение
FantomICW 678 Опубликовано 8 Апреля 2014 @kasta32, если ты про файл, где будет находится текст диалогов, то прошу: Ссылка Поделиться этим сообщением Ссылка на сообщение
FantomICW 678 Опубликовано 20 Апреля 2014 @Сталкер Лом, воистину воскрес! Сейчас накопал следующее: В travel_manager.script есть некоторые элементы, которые дают основания предположить, что на смартах существует некий поинт, куда ГГ телепортируется: local traveler_actor_path = nil local point = patrol(traveler_actor_path) --local dir = vector():sub( point:point(0), point:point(1) ):getH() --local dir = vector():sub( point:point(1), point:point(0) ):normalize():getH() local dir = -point:point(1):sub(point:point(0)):getH() db.actor:set_actor_direction(dir) db.actor:set_actor_position(point:point(0)) traveler_actor_path = smart.traveler_actor_path Как видишь, похоже, traveler_actor_path - это какое-то стандартное значение элемента скриптов смартов. Я решил поискать какой-нибудь подозрительный вейпоинт в way_zaton.ltx, и таки нашел: Интуиция не подвела. На большинстве смартов есть поинт с название смарт_traveller_actor. Дальше пошарил тегом traveller_actor по скриптам, и вот, смотри, что нашлось в smart_terrain.script: Теперь вроде все ясно, касательно traveller_actor_path и постфикса _traveller_actor Похожая фишка, видимо, и для поинтов сквадов. Кстати, скорее всего, позиция ГГ - это поинт p1, а взгляд - p0. Это видно здесь: db.actor:set_actor_position(point:point(0)) if level.patrol_path_exists(self:name() .. "_traveller_actor") then printf("Smart_terrain [%s] has no traveller_actor path!!!!!", self:name()) self.traveler_actor_path = self:name() .. "_traveller_actor" end [zat_b14_smart_terrain_traveller_actor] points = p0,p1 p0:name = wp00 p0:position = 369.860046386719,-6.12371921539307,271.332641601563 p0:game_vertex_id = 67 p0:level_vertex_id = 1579185 p0:links = p1(1) p1:name = wp01 p1:position = 371.552795410156,-6.11478996276855,269.460601806641 p1:game_vertex_id = 67 p1:level_vertex_id = 1582053 1 Поделиться этим сообщением Ссылка на сообщение
FantomICW 678 Опубликовано 2 Мая 2014 cfg = scripts\escape\smart_terrain\esc_sid.ltx По-моему, под кастом датой в спавне нужно ставить END. Дальше - что с секцией смарта в его конфиге? Поделиться этим сообщением Ссылка на сообщение
FantomICW 678 Опубликовано 17 Мая 2014 @Jeka81, функцию отправки сообщения скинь сюда. Вообще, иконка - это 4-й аргумент функции news_maganer.send_tip и 3-й аргумент движковой функции give_game_news. Поделиться этим сообщением Ссылка на сообщение
FantomICW 678 Опубликовано 18 Мая 2014 @Jeka81, короче, функцию выглядит так: news_manager.send_tip(db.actor, "текст_или_string_id_текса", задержка, "иконка_из_таблицы", время_показа, id_нпс) Таблица находится в news_manager.script. Поделиться этим сообщением Ссылка на сообщение
FantomICW 678 Опубликовано 21 Мая 2014 (изменено) @stalker_grez, по IP гадать мало кто умеет Скидывай логику рестриктора, которая сейчас. Кроме того, меня напрягает вот этот момент: xr_effects.scipt (first_speaker, second_speaker) Зачем тебе аргументы диалогов в xr_effects.script? Обычно выставляется один из таких вариантов: function test(actor, npc) function test(actor, npc, p) function test() Изменено 21 Мая 2014 пользователем FantomICW Поделиться этим сообщением Ссылка на сообщение