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

Рекомендуемые сообщения

 
 
12 часов назад, B0lt сказал:

Как-то так

  Показать контент

[walker@pri_p_leader]
path_walk = leader_walk
path_look = leader_look
meet = meet@default
on_info = {+sniper_kill_stop} walker@pri_p_leader_training
combat_ignore_cond = false
combat_ignore_keep_when_attacked = false
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false

[meet@default]
close_anim         = nil
close_victim     = nil
far_anim         = nil
far_victim         = nil
close_distance  = 2
far_distance     = 0
close_snd_distance = 2
use =  true
allow_break = false
trade_enable = false

[walker@pri_p_leader_training]
path_walk = leader_training_walk
path_look = leader_training_look
on_info = {-pri_greet_end !is_playing_sound} remark@pri_p_leader_training
meet = meet@default
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false

[remark@pri_p_leader_training]
anim = guard
on_game_timer = 250 | {-pri_sd !is_playing_sound} %=play_sound(leader_start_phrase) +pri_sd%
on_signal = sound_end | walker@pri_p_leader_training %+pri_greet_end%
meet = no_meet
corpse_detection_enabled = false

 

Впрочем, спасибо. Уже и сам разобрался. 


Дополнено 6 минуты спустя

Зато появился другой. НПС не говорит свой диалог. Можно подумать, что из-за неправильно настроенных инфопоршней в DialogEditor, но если в character_desc_ указать не <start_dialog>, а <actor_dailog>, то есть со стороны актёра, всё прекрасно заработает, причём до этого у НПС уже стоял начальный диалог. У них что, ограниченное количество диалогов, которые они начинают? Я просто посмотрел в других character_desc_, и там вроде у большинства НПС 1-2 диалогов с их стороны. 


Дополнено 11 минуты спустя

Впрочем, и сам разобрался. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Всем привет! Ситуация, реализовано 20 слотов на поясе, есть ли возможность раскидать эти слоты, как мне хочется и назначить конкретные предметы для них?

Пример: Слот 1 - артефакты

                 Слот 2 - Прикладной модуль... ну и так далее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
2 часа назад, ScarletFox сказал:

Всем привет! Ситуация, реализовано 20 слотов на поясе, есть ли возможность раскидать эти слоты, как мне хочется и назначить конкретные предметы для них?

Пример: Слот 1 - артефакты

                 Слот 2 - Прикладной модуль... ну и так далее.

Нет. Вероятнее всего нужно править двигло и добавлять новые слоты под прикладной модуль и тд

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Вызываю ручной выброс. Проверка на окончание is_finished это оно?


Дополнено 3 минуты спустя

Отставить. Нашел

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Кажется, я понял, почему некоторые жалуются на IN default рестрикторы...

Есть у меня отряд, который состоит из нескольких мутантов с уникальными story_id.

Спойлер

[labb_boss_polter_1]:m_poltergeist_normal_tele

story_id = labb_boss_polter_1

 

[labb_boss_polter_2]:m_poltergeist_normal_tele

story_id = labb_boss_polter_2

 

[labb_boss_polter_3]:m_poltergeist_normal_tele

story_id = labb_boss_polter_3

 

[labb_boss_polter_4]:m_poltergeist_normal_tele

story_id = labb_boss_polter_4

 

[labb_boss_polter_5]:m_poltergeist_normal_tele

story_id = labb_boss_polter_5

 

[labb_boss_polter_6]:m_poltergeist_normal_tele

story_id = labb_boss_polter_6

Спойлер

[labb_boss_polter_squad]:online_offline_group

faction = monster

npc = labb_boss_polter_1, labb_boss_polter_2, labb_boss_polter_3, labb_boss_polter_4, labb_boss_polter_5, labb_boss_polter_6

target_smart = labb_boss_polter_smart

spawn_point = labb_boss_polter_smart_spawn

story_id = labb_boss_polter_squad

Территория определена так: смарт, в котором находится 6 уникальных работ.

Спойлер

[smart_terrain]

sim_avail = false

arrive_dist = 100000

 

[exclusive]

polter_1 = labb\smart\polter_bossfight\polter_1.ltx

polter_2 = labb\smart\polter_bossfight\polter_2.ltx

polter_3 = labb\smart\polter_bossfight\polter_3.ltx

polter_4 = labb\smart\polter_bossfight\polter_4.ltx

polter_5 = labb\smart\polter_bossfight\polter_5.ltx

polter_6 = labb\smart\polter_bossfight\polter_6.ltx

Спойлер

[logic@polter_1] ;аналогично для остальных, только цифра меняется

suitable = {=target_squad_name(labb_boss_polter_squad) =check_npc_name(labb_boss_polter_1)} true

monster_job = true

prior = 150

active = mob_home@polter_start

 

[mob_home@polter_start]

path_home = spawn

home_min_radius = 15

home_max_radius = 20

out_restr = labb_boss_polter_out_restr

aggressive = true

Расположено так: смарт находится в самом центре территории на изолированном участке АИ-сетки, который отделён от остальной сетки IN default рестриктором (нигде не прописан). В то же время, вся территория покрыта ещё одним IN default рестриктором labb_boss_polter_out_restr, который уже прописан в работах как out_restr.

Спойлер

febd3811ebf6f01baf736714027858d7.png


Весь отряд спавнится в центре на изолированном участке, после чего через небольной промежуток времени телепортируются на вейпоинты, расположенные на основной АИ-сетке.

Спойлер

[sr_idle@spawn_anomalies]

on_game_timer = 50 | sr_idle@spawn_polters %=create_squad(labb_boss_polter_squad:labb_boss_polter_smart) =disable_anomalies(labb_boss_polter_1_anomaly:labb_boss_polter_2_anomaly:labb_boss_polter_3_anomaly:labb_boss_polter_4_anomaly:labb_boss_polter_5_anomaly:labb_boss_polter_6_anomaly) =stc_boom(anomaly_blow)%

 

[sr_idle@spawn_polters]

on_game_timer = 20 | nil %=teleport_npc_by_story_id(labb_boss_polter_1:labb_boss_polter_1_spawn) =teleport_npc_by_story_id(labb_boss_polter_2:labb_boss_polter_2_spawn) =teleport_npc_by_story_id(labb_boss_polter_3:labb_boss_polter_3_spawn) =teleport_npc_by_story_id(labb_boss_polter_4:labb_boss_polter_4_spawn) =teleport_npc_by_story_id(labb_boss_polter_5:labb_boss_polter_5_spawn) =teleport_npc_by_story_id(labb_boss_polter_6:labb_boss_polter_6_spawn)%

И вроде бы, логика вся срабатывает, все функции вызываются, но мутанты ни в какую не хотят телепортироваться из изолированного участка. Функция телепортации вызывается, но ничего не происходит. Спавн пытался пересобирать - не помогает.


Мод в разработке - X-7: Эпицентр

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Можете подсказать где лежат файлы с настроиками детекторов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Daniil1989 configs\misc\devices.ltx


Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
32 минуты назад, denis2000 сказал:

Daniil1989 configs\misc\devices.ltx

Спасибо большое, можно ли сделать так ка у детектро велес видет артифакты для детектора сварог.

Изменено пользователем Daniil1989

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Daniil1989 Поясните, что вы имеете ввиду... Чтобы у Велеса и Сварога был одинаковый список обнаруживаемых артефактов?


Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
3 часа назад, denis2000 сказал:

Daniil1989 Поясните, что вы имеете ввиду... Чтобы у Велеса и Сварога был одинаковый список обнаруживаемых артефактов?

Одинаковый размер артифактов на табло отоброжалось.

Изменено пользователем Daniil1989

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Как кинуть героя в сон на определенный промежуток времени?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
40 минут назад, justrainy сказал:

Как кинуть героя в сон на определенный промежуток времени?

смотря как вы хотите чтобы это выглядело. Например, в оригинале сон - это просто затемнение экрана постпроцессом, установление звука на 0 консольной командой и перемотка времени, не считая мелочей по типу восстановления стамины.

Изменено пользователем Emmis

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Emmis, в одной из сцен делал это такой конструкцией

enable_ui_on_end = true
cam_effector = sleep
on_info = %=run_postprocess(black:02:false) =set_game_time(05:00)%
on_timer = 5000 | nil %=stop_postprocess(02)

В целом, это работает как надо. Просто думал что есть еще что-то интереснее. А если, например, делать "нажатие в зоне кровати"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Подскажите, можно ли сделать, чтобы при наведени на спейс рестриктор появляся тутор (типо того что находится в зонах для сна), а как только игрок отводил курсор от спейса тутор проподал?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 минуту назад, justrainy сказал:

А если, например, делать "нажатие в зоне кровати"?

За этим далеко ходить не надо, все это реализовано в оригинале, просто смотрите как это делается там и делайте также. 
эти три файла помогут вам понять как реализовано "нажатие в зоне кровати":
configs\scripts\sr_sleep.ltx 
configs\ui\game_tutorials.xml
scripts\xr_effects.script


Дополнено 5 минуты спустя
1 минуту назад, Paracetamol сказал:

Подскажите, можно ли сделать, чтобы при наведени на спейс рестриктор появляся тутор (типо того что находится в зонах для сна), а как только игрок отводил курсор от спейса тутор проподал?

написал выше

Есть способ и проще:
Создать в левел эдиторе какой-нибудь инвентори бокс (без визуала) и прописать ему путь до логики, а в самой логике использовать ph_idle секции и on_use в частности, а надпись при наведении можно прописать так tips = st_vasha_nadpis
Тут можно больше узнать о секции ph_idle - ссылка

  • Лайк 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
5 минут назад, Emmis сказал:

За этим далеко ходить не надо, все это реализовано в оригинале, просто смотрите как это делается там и делайте также. 
эти три файла помогут вам понять как реализовано "нажатие в зоне кровати":
configs\scripts\sr_sleep.ltx 
configs\ui\game_tutorials.xml
scripts\xr_effects.script


Дополнено 5 минуты спустя

написал выше

Есть способ и проще:
Создать в левел эдиторе какой-нибудь инвентори бокс (без визуала) и прописать ему путь до логики, а в самой логике использовать ph_idle секции и on_use в частности, а надпись при наведении можно прописать так tips = st_vasha_nadpis
Тут можно больше узнать о секции ph_idle - ссылка

Не, тут инвентари бокс не подойдет, я на движущийся по пути спейс ставлю

Просто с тутором в логике у меня путаница начинается

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
2 минуты назад, Paracetamol сказал:

я на движущийся по пути спейс ставлю

не совсем понимаю, что за двигающиеся спейс рестрикторы, если инвентори боксы нельзя двигать таким же способом, то можно использовать физические объекты (без визуала), но от того что визуала нет они не перестают быть осязаемыми

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Paracetamol Ну на движущийся... По идее можно попробовать реализовать через скрипты такое, если можешь получать позицию спейса в пространстве (конкретные координаты рестриктора в определённый момент времени), но придётся математику вспоминать (а если это не сфера, то... придётся ломать говору вдвойне) и проверять такое на апдейте.
Если что, я не знаю примеров, где такое реализовывалось хоть как-то.

Изменено пользователем Prostomod

Мод в разработке - X-7: Эпицентр

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Paracetamol а что если проверять расстояние до игрока и запускать тутор когда он близко?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 минуту назад, Emmis сказал:

не совсем понимаю, что за двигающиеся спейс рестрикторы

Обьекты на классе торридной аномалии с биндером от спейс рестриктора

 

2 минуты назад, Emmis сказал:

но от того что визуала нет они не перестают быть осязаемыми

Там просто проблема в том, что у них остается коллизия, то есть например если по ним начать стрельбу, то сразу будут видны искры, если только не создовать новые материалы для боксов, что я не умею


Дополнено 2 минуты спустя
4 минуты назад, Prostomod сказал:

Paracetamol Ну на движущийся... По идее можно попробовать реализовать через скрипты такое, если можешь получать позицию спейса в пространстве (конкретные координаты рестриктора в определённый момент времени), но придётся математику вспоминать (а если это не сфера, то... придётся ломать говору вдвойне) и проверять такое на апдейте.
Если что, я не знаю примеров, где такое реализовывалось хоть как-то.

Что то подобное на сколько помню в Золотом шаре было

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Paracetamol А, придумал проще.

Это нормальный спейс рестриктор (т.е. можно вызвать метод inside)? Если да, то попробуй такое:

  1. Получить координаты игрока и его направление, а так-же расстояние до спейса в данный момент времени.
  2. Умножь расстояние на направление игрока и прибавь позицию игрока (получим координаты точки по направлению игрока на расстоянии, равном расстоянию между игроком и спейсом).
  3. Вызывай на спейсе метод inside и передавай туда полученные на п2 координаты.
  4. Результат - ответ на вопрос "Смотрит ли игрок в спейс".

Дополнено 1 минуту спустя

А даже если не нормальный, то тогда п3 проверяем не методом inside, а сравнением расстояния между точкой из п2 и координатами спейса с радиусом сферы. Если больше - значит не в него смотрит. Но тогда такое будет работать только со сферой.

Изменено пользователем Prostomod
  • Лайк 1

Мод в разработке - X-7: Эпицентр

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
6 минут назад, Prostomod сказал:

Paracetamol А, придумал проще.

Это нормальный спейс рестриктор (т.е. можно вызвать метод inside)? Если да, то попробуй такое:

  1. Получить координаты игрока и его направление, а так-же расстояние до спейса в данный момент времени.
  2. Умножь расстояние на направление игрока и прибавь позицию игрока (получим координаты точки по направлению игрока на расстоянии, равном расстоянию между игроком и спейсом).
  3. Вызывай на спейсе метод inside и передавай туда полученные на п2 координаты.
  4. Результат - ответ на вопрос "Смотрит ли игрок в спейс".

Дополнено 1 минуту спустя

А даже если не нормальный, то тогда п3 проверяем не методом inside, а сравнением расстояния между точкой из п2 и координатами спейса с радиусом сферы. Если больше - значит не в него смотрит. Но тогда такое будет работать только со сферой.

Ух как замудренно, надеюсь получитсч

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
7 минут назад, Paracetamol сказал:

Ух как замудренно

Вроде бы ничего не напутал. Только что написал, сам ещё не использовал.

function is_looking_in_restr(restr) --есть метод inside
	local actor_pos = db.actor:position()
	local actor_dir = db.actor:direction()
	local restr_pos = restr:position()
	local dir_point = actor_pos:add(actor_dir:mul(actor_pos:distance_to(restr_pos)))
	return restr:inside(dir_point)
end

function is_looking_in_restr_noinside(restr_pos, restr_size) --нет метода inside
	local actor_pos = db.actor:position()
	local actor_dir = db.actor:direction()
	local dir_point = actor_pos:add(actor_dir:mul(actor_pos:distance_to(restr_pos)))
	return dir_point:distance_to(restr_pos) <= restr_size
end

 

Изменено пользователем Prostomod
  • Хабар 1

Мод в разработке - X-7: Эпицентр

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Заметил что анимированные модели не проигрывают свою анимацию если на них не смотреть, кто нибудь знает, как исправить такую проблему?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
32 минуты назад, Paracetamol сказал:

Заметил что анимированные модели не проигрывают свою анимацию если на них не смотреть, кто нибудь знает, как исправить такую проблему?

А зачем??? Если ГГ её не видит то для кого она будет проигрываться,  и нагружать движок бесполезной нагрузкой?


DCM

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   1 пользователь онлайн