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

denis2000

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

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

  • Посещение

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

    3

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

  1. Paradox27kms Это аномалии класса ZS_TORRD (в оригинале fireball_zone, fireball_electric_zone, fireball_acidic_zone) которым приписана ранее созданная анимация. Уроки Непряхина в помощь.
  2. Сам метод: C++ class game_object{ ... function give_task(CGameTask*, number, boolean, number); Как не париться, а заставить работать? В скрипте task_objects.script добавляете в CGeneralTask:__init строку: self.wait_time = utils.cfg_get_number(task_ini, id, "wait_time", nil, false, nil) Теперь в описании квеста добавляете параметр: wait_time = 86400 где 86400 - время ожидания выполенения квеств в игровых секундах. В данном случае одни игровые сутки. А, то есть поворотом камеры и проигрыванием этой анимации, как я изначально предложил. Я думал уже успели двигло подправить. Задать в кастомдате стори_ид объекту, а потом вызвать функцию xr_effects.hit_obj?
  3. Крим Только в катсцене с перевернутой камерой и без интерфейсных элементов.
  4. Для начала вам стоит изучить кого и как спавнят в ЗП, как на смарт террейнах создают работы и по каким критериям они назначаются НПС из сквадов на данном смарт террейне, как работают симуляционные сквады и смарты, какой скрипт и как управляет симуляцией сквадов. Информации в интернете масса по этим вопросам, попробуйте по изучать данные вопросы.
  5. AziatkaVictor play_sound из логики НПС. ian98 Сталкеры НЕ занимают смарт-террейны. Смарт-террейны занимают сквады. Какой смарт занять прописывается вручную скваду или назначается динамически в скрипте симуляции. При занятии смарт-террейна его членам назначаются работы и списка доступных на данном смарте. Скажите, что вам нужно и вам попробуют помочь.
  6. Означает использовать соответствующую маску террейна, например из m_stalker.ltx: Назначение масок непосредственно НПС устарело, поскольку в ЗП в основном используют сквады. Крим Функция parse_names из _g.script парсит из строки с запятыми таблицу строк. Так вот эту функцию вызвали не передав аргумент для обработки - строку.
  7. dasehak Можно в первой же секции логики НПС телепортировать его на точку работы стандартными функцями. detooxe Вероятнее всего в логике НПС указана ссылка на секцию meet, а самой секции в логике нет.
  8. Ребята вообще красавцы! Взять за основу настолько не приспособленный для такого движок и потащить. Я понимаю, что так проще, поскольку есть большое мод сообщество, но это как из пушки по воробьям. Поэтому вопрос: почему все таки остановились на X-Ray, а не например на Ren'Py?
  9. Ответ несколькими постами выше. Тут четко английским по белому написана причина проблемы. Поставьте совместимые шейдеры и проблема будет решена.
  10. Крим Переписать движок, в частности level_script.cpp и UIGameTutorial.cpp
  11. Крим В секции meet нет параметра use. Соответственно разговор не возможен не смотря на то, что НПС не атакует. Hoperise Ваш код в принципе не работоспособен по причине дикой смеси конфига звука и логики в одном файле. Реализовать такое логикой вполне возможно, но как по мне слишком затратно в плане ресурсов. Лучшее решение вам уже предложили: Создайте звуковые каналы (sound_channels.ltx), добавьте эмбиент с вашими звуковыми каналами (ambients.ltx), создайте специальный конфиг погоды с данным эмбиентом (configs\environment\weathers) и запускайте в нужное время погодный эффект например в рестрикторе: %=set_weather( файл_погоды:true )%
  12. KERIXFIX337X 3D редактором с плагином или конвертировать в skls и открыть в SDK.
  13. Emmis Один или несколько смартковеров не настроены в SDK, в частности не указаны loopholes.
  14. Чтобы происходили ручные выбросы, но не работали выбросы по таймеру нужно редактировать файл surge_manager.script. Вписав в нужные места проверку на вашу локацию. Первое: function start_surge(p) local m = get_surge_manager() if(m:get_nearest_cover()) or (level.name()=="имя_локации") then m:start(true) else printf("Error: Surge covers are not set! Can't manually start") end end Второе: ... log("------>diff_sec="..tostring(diff_sec)) local cover = self:get_nearest_cover() if(cover==nil and self.count==0 and level.name()~="имя_локации") then ...
  15. CORSAIR_ Привяжите объект к соответствующему сектору.
  16. Kalambur Насколько я помню в движке. Зачем велосипед!? Функция запуска выброса: surge_manager.start_surge() Чтобы ГГ не погиб под выбросом: файл surge_manager.ltx секция settings кондлист survive должен оказаться равен true. ВСЕ. level.disable_input()
  17. Специально для тех кто читает только последний пост: Что автор просил то и обсуждаем. Ведь облако отравляющего газа работает совсем иначе нежели осколки и взрывная волна. А вот на этот пассаж: Я отвечу так. А зачем делать вменяемую механнику если можно исправить два параметра в конфиге и в изменениях мода гордо заявить наличие специальных гранат, хотя их наличие тем более ничего не изменит в геймплее. Ответ очевиден не так ли?
  18. И что? Получаться абсолютно те же гранаты наносящие урон осколками и взрывом (просто с другим видом хита), от этого они не станут ни гранатами со слезоточивым газом, ни дымовыми гранатами, ни свето-шумовыми. Выгода от сего "крайне мала".
  19. Конечно же нет! Дело в том, что все гранаты в игре сделаны, как осколочные, и чтобы они имели другие эффекты нужно добавлять это в движок.
  20. Еще как используют! Но только в мультиплеере. Сами догадаетесь почему или пояснить?
  21. Содержимое лог файла в студию: ***\SDK\editors\logs\level_***.log