Перейти к содержанию

denis2000

Разработчики
  • Публикаций

    1 763
  • Зарегистрирован

  • Посещение

  • Победитель дней

    3

Весь контент denis2000

  1. liner custom_data: [camp] cfg = scripts\camp.ltx Будьте внимательнее. Файл текстуры ui\ui_common.dds описатель текстуры в файле ui_common.xml
  2. Крим Файлы должны располагаться в sounds\characters_voice\dialogs и называться ровно как и фразы в диалоге.
  3. liner Файлы map_spots_***.xml теги level_changer_*** Или вам сама текстура нужна? Скрин настроек кампа из SDK покажите. Озвучка чего!?
  4. Значит проблема вовсе не в локации, а в том, что вы делаете. И смена источника не исправит проблему. Рассказывайте, как вы добиваетесь таких "потрясающих" результатов. George_Marshall GUI и графика, Худ Last_Dawn Разбирайте пример сигаретной зависимости
  5. 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"
  6. 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
  7. 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 - время в реальных миллисекундах.
  8. AsuraH В чем проблема в логе написано. Настройте Bone Parts (пункт в меню Model). Как нужно распределить суставы гуглите.
  9. Misery Нельзя вытащить того, что там не находиться. Партиклы не содержат текстур они только ссылаются на файлы в соответствующей папке.
  10. Paradox27kms К сожалению, без лога или других подробностей, что то посоветовать вряд ли получиться.
  11. liner Если вейпоинты (или смарт-коверы) указаны в нескольких работах (не важно эксклюзивные это работы или дефолтные, которые формируются автоматически при помощи gulag_general.script) то НПС будут их занимать одновременно ведь скрипт назначающий НПС на работы делает это ориентируясь на общую таблицу работ на смарте, а не на вейпоинты или смарт-ковкры. Он будет считать, что это РАЗНЫЕ работы и спокойно назначать туда НПС.
  12. 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). Собственно все - добавляете смртковеры с соответствующими именами и настройками, вот и работы готовы.
  13. Так может у них настройки отличаются, поставьте так для проверки: snd_shoot = weapons\tt33\tt33_shoot snd_shoot1 = weapons\tt33\tt33_shoot
  14. Cyrax Посмотрите , что указано в конфиге ствола в качестве параметра snd_shoot.
  15. Нет конечно! "сharacter id" - это строка, npc - это клиентский объект. Его нужно передать в функцию, для того чтобы она знала с чем работать или получить внутри нее например вытащив из таблицы по стори_ид: npc = get_story_object("стори_ИД_персонажа")
  16. Раз на мой вопрос вы толком не ответили - это означает то, что такое логика НПС вы не понимаете. Пойдем по другому выкладывайте правки будем смотреть...
  17. Встречный вопрос: каким образом задана логика поведения этих НПС. Абсолютно верно НПС (или целиком сквадам) которым задан параметр story id от выброса не умирают, поскольку этот параметр обычно означает квестового НПС/сквад. Если вам нужно чтобы НПС/сквад погибал вне укрытия этот параметр следует удалить.
  18. Ладно допустим лога нет, но упомянутый вами этап - это создание карты вершин полигонов в координатах текстуры (собственно UV - это ширина и высота текстуры, а сам процесс обратен текстурированию поверхности когда координатам модели назначаются пиксели текстуры). Следовательно на локации есть объект для которого этот процесс корректно не завершился очевидно из за проблем с топологией объекта. Текстура Шредингера однако. НЕ_HARDщик Зона безопастности - это по сути два рестриктора: первый - зона без оружия, которая имеет логику и указана в параметрах смарта, второй - зона где запрещено атаковать она регистрируется в скриптах в привязке к смарту. Какие их характеристики и где их вписывать смотрите на примере zat_a2_sr_noweap и zat_a2_sr_no_assault Попробуйте, самому интересно...
  19. BOCHETUNMAY Без текстуры - не должен. И научитесь искать лог-файл, вам пригодиться. Kalambur Stepan_sovok1917 Изучайте применение инфопорций в диалогах.
  20. Yura001 npc:set_npc_position(position) где npc - объект не играбельный персонаж, position - новые координаты (вектор)