Перейти к контенту

[CoP] Ковыряемся в файлах


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

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

Ссылка на комментарий

@Shredder,Хмм, а что в ней за это отвечает то?

 

[logic]
active = ph_door@closed

[ph_door@closed]
closed = true
locked = false
on_use = ph_door@open
on_info = {!check_smart_alarm_status(zat_stalker_base_smart:normal) !actor_in_zone(zat_a2_sr_light)} ph_door@locked
snd_open_start = trader_door_open_start
snd_close_start = trader_door_close_start
snd_close_stop = trader_door_close_stop

[ph_door@open]
closed = false
locked = false
on_use = ph_door@closed
on_info = {!check_smart_alarm_status(zat_stalker_base_smart:normal) !actor_in_zone(zat_a2_sr_light)} ph_door@locked
on_game_timer = 50 | ph_door@closed
snd_open_start = trader_door_open_start
snd_close_start = trader_door_close_start
snd_close_stop = trader_door_close_stop

[ph_door@locked]
closed = true
locked = true
on_info = {=check_smart_alarm_status(zat_stalker_base_smart:normal)} ph_door@closed
on_info2 = {=check_smart_alarm_status(zat_stalker_base_smart:alarm)} ph_door@locked_alarm
on_info3 = {=actor_in_zone(zat_a2_sr_light)} ph_door@closed
snd_open_start = trader_door_locked
tip_open = tip_door_closed_hide_weapon

[ph_door@locked_alarm]
closed = true
locked = true
on_info = {=check_smart_alarm_status(zat_stalker_base_smart:normal)} ph_door@closed
on_info2 = {=check_smart_alarm_status(zat_stalker_base_smart:danger)} ph_door@locked
snd_open_start = trader_door_locked
tip_open = tip_door_closed_base_alarm

 

 

В следующий раз "полотно" потру.

ColR_iT

Изменено пользователем ColR_iT
Ссылка на комментарий

А логика тут нипричём. Все двери регистрируются при выходе в онлайн регистрируются в в табличке db.level_doors

--скрипт bind_physic_object.script
	if self.object:section() == "physic_door" then
		db.level_doors[self.object:id()] = self.object:position()
	end
Потом на апдейте НПС проверяется расстояние до каждой из них, и при необходимости дверь открывается/закрывается. Так что, скорее всего, у тебя секция двери не "physic_door"
Ссылка на комментарий

Дверь из секции "physic_door", может это связано с тем, что аи сетка просчитана на драфте? Если просчитать укрытия, может нпсы смогут открывать двери?

Ссылка на комментарий

Нет, аи-сетка тут нипричём. Проверяй регистрацию двери в bind_physic_object.script

Кроме того, возможно ты изменял xr_motivator.script, где как раз и вызывается открытие/закрытие дверей.

Вообщем, добавляй вывод в лог и смотри, чего не так.

Изменено пользователем Shredder
Ссылка на комментарий

Нет конечно. Всё должно работать и так. Тебе нужно выяснить, почему не работает. Я щас ещё глянул bind_physic_object.script. Дверь не биндется, если у неё нет логики, т.е. нет секции [logic]. Ты прописал логику для двери?

Ссылка на комментарий

@Shredder,Да, вот такую:

[logic]


active = ph_door@close

[ph_door@close]
locked = false
closed = true
on_use = ph_door@open
snd_open_start = wood_small_open
snd_close_start = wood_small_close_start
snd_close_stop = wood_small_close_stop
hit_on_bone = 1|ph_door@free|2|ph_door@free

[ph_door@open]
locked = false
closed = false
on_use = ph_door@close
snd_open_start = wood_small_open
snd_close_start = wood_small_close_start
snd_close_stop = wood_small_close_stop
hit_on_bone = 1|ph_door@free|2|ph_door@free

[ph_door@free]
locked = false
closed = true
on_use = ph_door@open
no_force = true



Может быть из-за того что дверь слегка утонула в геометри?(не точно подходит по размеру)
Или из-за того что аи сетка проходит сквозь дверь? (дверь не лежит на аи сетке, она ниже её)



Нет, не из-за этого, поставил дверь на пути у нпс, ровно на землю, всё равно не может открыть.(нпс идёт на вэйпоинт сна)

Изменено пользователем FEET
  • Не нравится 1
Ссылка на комментарий

FEET

Если НПС создан отдельно в алл.спавне, то для того что бы дверь открывалась нужно много чего менять (сам таким страдал). Гораздо проще создать НПС через смарт и тогда перед НПС откроется любая дверь.

Ссылка на комментарий

@karavan,У меня там всё под смартом, во всех сквадах стоит таргет нейм = мой смарт, всё остальное работает как по маслу, а вот дверь что-то не может открыть...
Нпс то и идёт на работу смартовскую, но не судьба

Изменено пользователем FEET
Ссылка на комментарий

НПС под смартом прописываются в simulation.ltx

Смарт на появление:

[start_position_dsa]
dsa_01_squad = dsa_01
 
В squad_descr.ltx

Кто будет появлятся и в каком смарте:

 

[dsa_01_squad]:online_offline_group
faction = monster_vegetarian
npc_random = boar_normal
npc_in_squad = 1, 1
target_smart = dsa_01 ; Целевой смарт
spawn_point = dsa_01_spawn_point       ; Точка спавна сквада
story_id = dsa_01_squad

 

Спавнить НПС в ЗП стал намного проще чем в ТЧ, но без СДК 0.7 не обойтись. Главное соблюдать названия в обозначениях смарт_терейна, аним_поинтов, точек спавна и имени стори айди

Изменено пользователем karavan
Ссылка на комментарий

Именно так, всё точ в точ как ты написал, и вэй поинты спавна сделаны, тут дело не в смарте я думаю

Вот это жесть :D Поменял меш двери, нпс приспокойно её открыл, как это вообще может влиять?

Изменено пользователем FEET
Ссылка на комментарий

Короче вот этот работает:  "door_wood_130x245_01"
Вот этот не работал: " door_old_wood_120_240_01"
Всё оригинальное, ничего не менял

Кстати да, во второй какие-то левые кости ещё есть, кроме нужных

Изменено пользователем FEET
Ссылка на комментарий

По дверям: сталкивались и разбирали эту проблему, на новых (или подключенных) локах нпс двери не открывают. Решение:

 

Убедиться что двери заспавнены как physic_door

удалить в ph_door.script функции try_to_open_door и try_to_close_door строку

if true then return {} end

Ссылка на комментарий

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

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...