-
Публикаций
1 763 -
Зарегистрирован
-
Посещение
-
Победитель дней
3
Тип контента
Профили
Форумы
Блоги
Календарь
Новости
Моды
Весь контент denis2000
-
Yura001 Получаете координаты ГГ, по ним ищите координаты ближайшего левел вертекса, тепортируете на них НПС. В коде выглядит примерно так: function teleport_npc_to_actor(npc) npc:set_npc_position(level.vertex_position(db.actor:level_vertex_id())) end Дополнено 5 минуты спустя Kamr4d Как то так: ranks.get_obj_rank_name(npc) == "veteran"
-
Stepan_sovok1917 Начните с понимания, что такое рестриктор и как его используют. А далее четко ставим техзадачу и средства ее реализации. Видео прикольное, но информации ноль. Задать задержку выполнения функции можно методом level.add_call : local end_of_timer = time_global() + 2000 --Задержка 2000 мс level.add_call( function() if end_of_timer < time_global() then return true end end, function() ..... end ) lua_help.script
-
Kalambur Объект на который будет установлена метка этого задания указан в параметре target. По сути это кондлист: target = {условие установки метки} стори_ид_объекта, ... Stepan_sovok1917 Логика рестриктора: [logic] active = sr_idle@waiting_1 [sr_idle@waiting_1] on_game_timer = 200 | sr_idle@waiting_1 %=Первая_функция% [sr_idle@waiting_2] on_game_timer = 400 | nil %=Вторая_функция% on_game_timer = 200 - время в игровых секундах. on_timer = 2000 - время в реальных миллисекундах.
-
AsuraH В чем проблема в логе написано. Настройте Bone Parts (пункт в меню Model). Как нужно распределить суставы гуглите.
-
Paradox27kms К сожалению, без лога или других подробностей, что то посоветовать вряд ли получиться.
-
liner Если вейпоинты (или смарт-коверы) указаны в нескольких работах (не важно эксклюзивные это работы или дефолтные, которые формируются автоматически при помощи gulag_general.script) то НПС будут их занимать одновременно ведь скрипт назначающий НПС на работы делает это ориентируясь на общую таблицу работ на смарте, а не на вейпоинты или смарт-ковкры. Он будет считать, что это РАЗНЫЕ работы и спокойно назначать туда НПС.
-
Kamr4d В настройки Квеста добавляете параметр: wait_time = 1000 - время на выполнение квеста в игровых секундах. В скрипт task_objects.script возвращаете чтение этого параметра в функции CGeneralTask:__init: self.wait_time = utils.cfg_get_number(task_ini, id, "wait_time", nil, false, nil) Ну или же в логике рестриктора обслуживающего эту линейку квестов добавляете таймер, который по истечении заданного времени выдаст инфопорцию на провал квеста (логику таймера не привожу примеров масса в оригинале). Заготовки при себе нет, но это довольно просто. В скрипте gulag_general.script смотрите как добавляется логика для НПС в смартковерах (XR_ANIMPOINT), делаете аналогично но с более высоким приоритетом работы и в прекондишене работы указываете, что она доступна только при выбросе (как в работе типа SURGE). Собственно все - добавляете смртковеры с соответствующими именами и настройками, вот и работы готовы.
-
Встречный вопрос: каким образом задана логика поведения этих НПС. Абсолютно верно НПС (или целиком сквадам) которым задан параметр story id от выброса не умирают, поскольку этот параметр обычно означает квестового НПС/сквад. Если вам нужно чтобы НПС/сквад погибал вне укрытия этот параметр следует удалить.
-
Ладно допустим лога нет, но упомянутый вами этап - это создание карты вершин полигонов в координатах текстуры (собственно UV - это ширина и высота текстуры, а сам процесс обратен текстурированию поверхности когда координатам модели назначаются пиксели текстуры). Следовательно на локации есть объект для которого этот процесс корректно не завершился очевидно из за проблем с топологией объекта. Текстура Шредингера однако. НЕ_HARDщик Зона безопастности - это по сути два рестриктора: первый - зона без оружия, которая имеет логику и указана в параметрах смарта, второй - зона где запрещено атаковать она регистрируется в скриптах в привязке к смарту. Какие их характеристики и где их вписывать смотрите на примере zat_a2_sr_noweap и zat_a2_sr_no_assault Попробуйте, самому интересно...