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

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


Halford

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

(изменено)
SibireaStalker не знаю поможет ли тебе это или нет, но ПЫС не делали схему обхода аномалии НПС, на ЗП даже в модах нету обхода аномалии, за исключением там... пары. Тебе остается: или самому вытянуть из мода обход аномалии, взять наработку Red75 для ТЧ или в каком то моде видел на ЧН кто то приспособил это, но все равно надо будет приспосабливать на ЗП самому, что у тебя наврядли выйдет без практики Изменено пользователем Viнt@rь

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


Ссылка на сообщение
(изменено)
Ataman в файле character_desc_general.xml лежит по дефолту в папке gamedata\configs\gameplay и еще со скрина, проверь может ты в поинтах, куда он должен смотреть(направление), не то указал, тоесть ты брал положение камеры ГГ когда смотрел не туда куда показывает прицел, а какраз туда куда смотрит НПС, а не сидит наверно потому что указано параметр t=1000, типа времени интервалы между сидением и обычным повидением плюс к этому НПС не будет сидеть если рядом стоит ГГ, а особенно если ГГ с пухой в руках Изменено пользователем Viнt@rь

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


Ссылка на сообщение

Люди, можете объяснить в ЗП и ЧН есть папка environment и есть weathers, вопрос, в ЗП и ЧН папка weathers вообще нужна, используется она или нет, environment - папка динамической погоды. но в ней есть еще папка ambients, в ней лежит погода болот и еще некоторых локаций, но используется ли что то из тех конфигов, все конфиги перерыл в поисках ссылки на эту папку - не нашел, на environment тоже. и вообще environment и ее составляющее как грузится, если ссылок на нее нету, через движок?

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


Ссылка на сообщение
(изменено)

Немного дополню свой предыдущий пост:

2 проблемы искоренили(в последствии такой баг стал очень редким, но все же).

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

Второй причиной было то, что зоны убора оружия имели тип 0(restrictor_type = 0), после исправления всех типов зон на 3, частота бага еще больше понизилась, но опять таки полностью избавиться от него не удалось.

ЗЫ Пробовали убирать все скрипты, но это не вариант, да и на чистом ЗП они норм работают, как мне говорят с тимы, такое с зонами убирания оружия и дверьми было еще в самом начале, когда на локации небыло ничего кроме них.

ЗЫЫ Повторю суть проблемы еще раз:) Если поиграть/побегать по локе, то через время, прийдя в зону убора оружия, оно не убирается, в добавок двери не пашут, в смысле нету надписи открыть/закрыть, их можно толкать, а они будут шататься... С чем это может быть связано, прошу знающих людей подсказать/помочь, заранее спасибо.

ЗЫЫЫ Мде, вышло что не дополнил пост, а переписал с дополнением, заранее извиняюсь.

 

Сорри не видел, что Artos ответил, но все же может быть сюда зайдет кто то, кто сталкивался с такой проблемой.

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

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


Ссылка на сообщение
(изменено)

Проблема: Если поиграть/побегать по локе, то через время, прийдя в зону убора оружия, оно не убирается, в добавок двери не пашут, в смысле нету надписи открыть/закрыть, их можно толкать, а они будут шататься... С чем это может быть связано, прошу знающих людей подсказать/помочь, заранее спасибо.

ЗЫ:

2 проблемы искоренили(в последствии такой баг стал очень редким, но все же).

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

Второй причиной было то, что зоны убора оружия имели тип 0(restrictor_type = 0), после исправления всех типов зон на 3, частота бага еще больше понизилась, но опять таки полностью избавиться от него не удалось.

ЗЫ Пробовали убирать все скрипты, но это не вариант, да и на чистом ЗП они норм работают, как мне говорят с тимы, такое с зонами убирания оружия и дверьми было еще в самом начале, когда на локации небыло ничего кроме них.

 

Добавлено через 33 мин.:

Artos,(по поводу Сидора) потряс я эту тему поиском, нашел адаптацию на ЗП, НО! это все и я сам могу сделать(вернее сделал), в ней нет адаптации фраз Сидора, а именно при торговле, к примеру про консервные банки...

А теперь перенеси сюда свой вопрос по Сидоровичу (чтобы другим ясно было о чем речь) и приложи то, что по нему сделано и у тебя не работает. --/Artos

 

Upd(перенес)

ЗЫ мб еще кто подскажет: подключил Сидора к моду, все ок, хочу настроить фразы при торговле, но заметил что коллбэки start_trade и end_trade из mob_trade.script не вызываются.. вродь подключил все правильно... Вот почему эти коллбэки не вызываются и как их заставить вызываться, если же никак, то как отследить что окно торговли открыто?

 

сделано все то, что и сдесь http://www.amk-team.ru/forum/index.php?sho...483#entry622209. Вот только в логике сидора расскоментировал несколько строк:

[logic]
active =  mob_trader@new_idle1
on_trade = mob_trade@new
trade = misc\trade\escape\shop_escape_trader.ltx
level_spot = trader

;--------------------------
;---First Meet-------------
;--------------------------
[mob_trader@hello_first]
anim_global = hello
anim_head = normal
sound_phrase = trader_greet_first
on_signal = animation_end | mob_trader@new_idle2 

;------------------------------
;---------Wait player----------
;------------------------------
[mob_trader@angry_1]
anim_global = desk_idle
anim_head = normal
sound_phrase = trader_wait
on_signal = sound_phrase_end | {~25} mob_trader@new_idle1_to_idle3, {~50} mob_trader@new_idle1_to_idle5, {~75} mob_trader@new_idle1_to_idle2, mob_trader@new_idle1_to_idle1 

[mob_trader@angry_2]
anim_global = diagonal_idle
anim_head = normal
sound_phrase = trader_wait
on_signal = sound_phrase_end | {~25} mob_trader@new_idle2_to_idle3, {~50} mob_trader@new_idle2_to_idle4, {~75} mob_trader@new_idle2_to_idle1, mob_trader@new_idle2_to_idle2

[mob_trader@angry_3]
anim_global = chair_hack_idle
anim_head = normal
sound_phrase = trader_wait
on_signal = sound_phrase_end | {~30} mob_trader@new_idle3_to_idle2, {~70} mob_trader@new_idle3_to_idle1, mob_trader@new_idle3_to_idle3

[mob_trader@angry_4]
anim_global = compute_idle
anim_head = normal
sound_phrase = trader_wait
on_signal = sound_phrase_end | {~40} mob_trader@new_idle4_to_idle2, mob_trader@new_idle4_to_idle4

;----------------------------------
;------------- Idle ---------------
;----------------------------------
;Основной idle (1) - за столом
[mob_trader@new_idle1]
anim_global = desk_idle
on_signal = animation_end | {~25} mob_trader@new_idle1_to_idle3, {~50} mob_trader@new_idle1_to_idle5, {~75} mob_trader@new_idle1_to_idle2, mob_trader@new_idle1_to_idle1
on_info = {=talking} mob_trader@new_idle1_to_idle3 %+esc_skip_angry%
on_actor_dist_le_nvis = 5 | {+esc_player_sleeps} mob_trader@angry_1 %-esc_player_sleeps%
on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played -esc_actor_inside_traders_dung} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_played +esc_trader_hello_played +esc_bring_habar_complete} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_search_played +esc_trader_hello_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played%, {+esc_actor_inside_traders_dung -esc_trader_bye_search_played -esc_trader_bye_first_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played +esc_trader_bye_first_search_played%, {-esc_trader_bye_garbage_played +esc_trader_hello_return_played +esc_bring_habar_complete} mob_trader@bye_garbage %+esc_trader_bye_garbage_played%
on_actor_dist_ge_nvis2 = 11 | mob_trader@new_wait

; Idle (2) - по диагонали
[mob_trader@new_idle2]
anim_global = diagonal_idle
on_signal = animation_end | {~25} mob_trader@new_idle2_to_idle3, {~50} mob_trader@new_idle2_to_idle4, {~75} mob_trader@new_idle2_to_idle1, mob_trader@new_idle2_to_idle2
on_info = {=talking} mob_trader@new_idle2_to_idle3 %+esc_skip_angry%
on_actor_dist_le_nvis = 5 | {+esc_player_sleeps} mob_trader@angry_2 %-esc_player_sleeps%
on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played -esc_actor_inside_traders_dung} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_played +esc_trader_hello_played +esc_bring_habar_complete} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_search_played +esc_trader_hello_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played%, {+esc_actor_inside_traders_dung -esc_trader_bye_search_played -esc_trader_bye_first_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played +esc_trader_bye_first_search_played%, {-esc_trader_bye_garbage_played +esc_trader_hello_return_played +esc_bring_habar_complete} mob_trader@bye_garbage %+esc_trader_bye_garbage_played%
on_actor_dist_ge_nvis2 = 11 | mob_trader@new_wait

; Idle (3) - откинувшись на спинку
[mob_trader@new_idle3]
anim_global = chair_hack_idle
on_signal = animation_end | {~30} mob_trader@new_idle3_to_idle2, {~70} mob_trader@new_idle3_to_idle1, mob_trader@new_idle3_to_idle3
on_info = {=talking} mob_trader@new_talking %+esc_skip_angry%
on_actor_dist_le_nvis = 5 | {+esc_player_sleeps} mob_trader@angry_3 %-esc_player_sleeps%
on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played -esc_actor_inside_traders_dung} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_played +esc_trader_hello_played +esc_bring_habar_complete} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_search_played +esc_trader_hello_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played%, {+esc_actor_inside_traders_dung -esc_trader_bye_search_played -esc_trader_bye_first_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played +esc_trader_bye_first_search_played%, {-esc_trader_bye_garbage_played +esc_trader_hello_return_played +esc_bring_habar_complete} mob_trader@bye_garbage %+esc_trader_bye_garbage_played%
on_actor_dist_ge_nvis2 = 11 | mob_trader@new_wait

; Idle (4) - за компьютером
[mob_trader@new_idle4]
anim_global = compute_idle
on_signal = animation_end | {~40} mob_trader@new_idle4_to_idle2, mob_trader@new_idle4_to_idle4
on_info = {=talking} mob_trader@new_idle4_to_idle2 %+esc_skip_angry%
on_actor_dist_le_nvis = 5 | {+esc_player_sleeps} mob_trader@angry_4 %-esc_player_sleeps%
on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played -esc_actor_inside_traders_dung} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_played +esc_trader_hello_played +esc_bring_habar_complete} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_search_played +esc_trader_hello_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played%, {+esc_actor_inside_traders_dung -esc_trader_bye_search_played -esc_trader_bye_first_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played +esc_trader_bye_first_search_played%, {-esc_trader_bye_garbage_played +esc_trader_hello_return_played +esc_bring_habar_complete} mob_trader@bye_garbage %+esc_trader_bye_garbage_played%
on_actor_dist_ge_nvis2 = 11 | mob_trader@new_wait

; Idle (5) - читает
[mob_trader@new_idle5]
anim_global = listen_idle
on_signal = animation_end | {~45} mob_trader@new_idle5_to_idle1, mob_trader@new_idle5_to_idle5
on_info = {=talking} mob_trader@new_idle5_to_idle1 %+esc_skip_angry%
on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played -esc_actor_inside_traders_dung} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_played +esc_trader_hello_played +esc_bring_habar_complete} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_search_played +esc_trader_hello_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played%, {+esc_actor_inside_traders_dung -esc_trader_bye_search_played -esc_trader_bye_first_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played +esc_trader_bye_first_search_played%, {-esc_trader_bye_garbage_played +esc_trader_hello_return_played +esc_bring_habar_complete} mob_trader@bye_garbage %+esc_trader_bye_garbage_played%
on_actor_dist_ge_nvis2 = 11 | mob_trader@new_wait


;----------------------------------
;--------   Автопереходы   --------
;----------------------------------
; Стол - стол (промежуточная)
[mob_trader@new_idle1_to_idle1]
anim_global = desk_idle
on_signal = animation_end| mob_trader@new_idle1
on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played -esc_actor_inside_traders_dung} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_played +esc_trader_hello_played +esc_bring_habar_complete} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_search_played +esc_trader_hello_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played%, {+esc_actor_inside_traders_dung -esc_trader_bye_search_played -esc_trader_bye_first_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played +esc_trader_bye_first_search_played%, {-esc_trader_bye_garbage_played +esc_trader_hello_return_played +esc_bring_habar_complete} mob_trader@bye_garbage %+esc_trader_bye_garbage_played%
on_actor_dist_ge_nvis2 = 11 | mob_trader@new_wait

; Диагональ - диагональ (промежуточная)
[mob_trader@new_idle2_to_idle2]
anim_global = diagonal_idle
on_signal = animation_end | mob_trader@new_idle2
on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played -esc_actor_inside_traders_dung} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_played +esc_trader_hello_played +esc_bring_habar_complete} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_search_played +esc_trader_hello_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played%, {+esc_actor_inside_traders_dung -esc_trader_bye_search_played -esc_trader_bye_first_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played +esc_trader_bye_first_search_played%, {-esc_trader_bye_garbage_played +esc_trader_hello_return_played +esc_bring_habar_complete} mob_trader@bye_garbage %+esc_trader_bye_garbage_played%
on_actor_dist_ge_nvis2 = 11 | mob_trader@new_wait

; Спинка - спинка (промежуточная)
[mob_trader@new_idle3_to_idle3]
anim_global = chair_hack_idle
on_signal = animation_end | mob_trader@new_idle3
on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played -esc_actor_inside_traders_dung} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_played +esc_trader_hello_played +esc_bring_habar_complete} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_search_played +esc_trader_hello_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played%, {+esc_actor_inside_traders_dung -esc_trader_bye_search_played -esc_trader_bye_first_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played +esc_trader_bye_first_search_played%, {-esc_trader_bye_garbage_played +esc_trader_hello_return_played +esc_bring_habar_complete} mob_trader@bye_garbage %+esc_trader_bye_garbage_played%
on_actor_dist_ge_nvis2 = 11 | mob_trader@new_wait

; Компьютер - компьютер (промежуточная)
[mob_trader@new_idle4_to_idle4]
anim_global = compute_idle
on_signal = animation_end | mob_trader@new_idle4
on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played -esc_actor_inside_traders_dung} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_played +esc_trader_hello_played +esc_bring_habar_complete} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_search_played +esc_trader_hello_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played%, {+esc_actor_inside_traders_dung -esc_trader_bye_search_played -esc_trader_bye_first_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played +esc_trader_bye_first_search_played%, {-esc_trader_bye_garbage_played +esc_trader_hello_return_played +esc_bring_habar_complete} mob_trader@bye_garbage %+esc_trader_bye_garbage_played%
on_actor_dist_ge_nvis2 = 11 | mob_trader@new_wait

; Читает - читает (промежуточная)
[mob_trader@new_idle5_to_idle5]
anim_global = listen_idle
on_signal = animation_end | mob_trader@new_idle5
on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played -esc_actor_inside_traders_dung} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_played +esc_trader_hello_played +esc_bring_habar_complete} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_search_played +esc_trader_hello_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played%, {+esc_actor_inside_traders_dung -esc_trader_bye_search_played -esc_trader_bye_first_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played +esc_trader_bye_first_search_played%, {-esc_trader_bye_garbage_played +esc_trader_hello_return_played +esc_bring_habar_complete} mob_trader@bye_garbage %+esc_trader_bye_garbage_played%
on_actor_dist_ge_nvis2 = 11 | mob_trader@new_wait

;----------------------------------
;----- Переходы  между idle-ми ----
;----------------------------------
; Диагональ - компьютер
[mob_trader@new_idle2_to_idle4]
anim_global = diagonal_to_compute
on_signal = animation_end | mob_trader@new_idle4
on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played -esc_actor_inside_traders_dung} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_played +esc_trader_hello_played +esc_bring_habar_complete} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_search_played +esc_trader_hello_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played%, {+esc_actor_inside_traders_dung -esc_trader_bye_search_played -esc_trader_bye_first_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played +esc_trader_bye_first_search_played%, {-esc_trader_bye_garbage_played +esc_trader_hello_return_played +esc_bring_habar_complete} mob_trader@bye_garbage %+esc_trader_bye_garbage_played%
on_actor_dist_ge_nvis2 = 11 | mob_trader@new_wait

; Компьютер - диагональ
[mob_trader@new_idle4_to_idle2]
anim_global = compute_idle_to_diagonal
on_signal = animation_end| mob_trader@new_idle2
;on_info = {+esc_player_sleeps} mob_trader@angry %-esc_player_sleeps%
on_actor_dist_le_nvis = 5 | {+esc_player_sleeps} mob_trader@angry_2 %-esc_player_sleeps%
on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played -esc_actor_inside_traders_dung} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_played +esc_trader_hello_played +esc_bring_habar_complete} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_search_played +esc_trader_hello_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played%, {+esc_actor_inside_traders_dung -esc_trader_bye_search_played -esc_trader_bye_first_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played +esc_trader_bye_first_search_played%, {-esc_trader_bye_garbage_played +esc_trader_hello_return_played +esc_bring_habar_complete} mob_trader@bye_garbage %+esc_trader_bye_garbage_played%
on_actor_dist_ge_nvis2 = 11 | mob_trader@new_wait

; Диагональ - спинка
[mob_trader@new_idle2_to_idle3]
anim_global = diagonal_to_chair_hack
on_signal = animation_end| {=talking} mob_trader@new_talking %+esc_skip_angry%, mob_trader@new_idle3
on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played -esc_actor_inside_traders_dung} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_played +esc_trader_hello_played +esc_bring_habar_complete} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_search_played +esc_trader_hello_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played%, {+esc_actor_inside_traders_dung -esc_trader_bye_search_played -esc_trader_bye_first_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played +esc_trader_bye_first_search_played%, {-esc_trader_bye_garbage_played +esc_trader_hello_return_played +esc_bring_habar_complete} mob_trader@bye_garbage %+esc_trader_bye_garbage_played%
on_actor_dist_ge_nvis2 = 11 | mob_trader@new_wait

; Спинка - диагональ
[mob_trader@new_idle3_to_idle2]
anim_global = chair_hack_to_diagonal
on_signal = animation_end| mob_trader@new_idle2
on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played -esc_actor_inside_traders_dung} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_played +esc_trader_hello_played +esc_bring_habar_complete} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_search_played +esc_trader_hello_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played%, {+esc_actor_inside_traders_dung -esc_trader_bye_search_played -esc_trader_bye_first_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played +esc_trader_bye_first_search_played%, {-esc_trader_bye_garbage_played +esc_trader_hello_return_played +esc_bring_habar_complete} mob_trader@bye_garbage %+esc_trader_bye_garbage_played%
on_actor_dist_ge_nvis2 = 11 | mob_trader@new_wait


; Стол - спинка
[mob_trader@new_idle1_to_idle3]
anim_global = desk_to_chair_hack
on_signal = animation_end|{=talking} mob_trader@new_talking %+esc_skip_angry%, mob_trader@new_idle3
on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played -esc_actor_inside_traders_dung} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_played +esc_trader_hello_played +esc_bring_habar_complete} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_search_played +esc_trader_hello_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played%, {+esc_actor_inside_traders_dung -esc_trader_bye_search_played -esc_trader_bye_first_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played +esc_trader_bye_first_search_played%, {-esc_trader_bye_garbage_played +esc_trader_hello_return_played +esc_bring_habar_complete} mob_trader@bye_garbage %+esc_trader_bye_garbage_played%
on_actor_dist_ge_nvis2 = 11 | mob_trader@new_wait

; Спинка - стол
[mob_trader@new_idle3_to_idle1]
anim_global = chair_hack_to_desk
on_signal = animation_end| mob_trader@new_idle1
on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played -esc_actor_inside_traders_dung} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_played +esc_trader_hello_played +esc_bring_habar_complete} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_search_played +esc_trader_hello_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played%, {+esc_actor_inside_traders_dung -esc_trader_bye_search_played -esc_trader_bye_first_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played +esc_trader_bye_first_search_played%, {-esc_trader_bye_garbage_played +esc_trader_hello_return_played +esc_bring_habar_complete} mob_trader@bye_garbage %+esc_trader_bye_garbage_played%
on_actor_dist_ge_nvis2 = 11 | mob_trader@new_wait

; Стол - диагональ
[mob_trader@new_idle1_to_idle2]
anim_global = desk_to_diagonal
on_signal = animation_end| mob_trader@new_idle2
on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played -esc_actor_inside_traders_dung} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_played +esc_trader_hello_played +esc_bring_habar_complete} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_search_played +esc_trader_hello_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played%, {+esc_actor_inside_traders_dung -esc_trader_bye_search_played -esc_trader_bye_first_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played +esc_trader_bye_first_search_played%, {-esc_trader_bye_garbage_played +esc_trader_hello_return_played +esc_bring_habar_complete} mob_trader@bye_garbage %+esc_trader_bye_garbage_played%
on_actor_dist_ge_nvis2 = 11 | mob_trader@new_wait

; Диагональ - стол
[mob_trader@new_idle2_to_idle1]
anim_global = diagonal_to_desk
on_signal = animation_end| mob_trader@new_idle1
on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played -esc_actor_inside_traders_dung} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_played +esc_trader_hello_played +esc_bring_habar_complete} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_search_played +esc_trader_hello_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played%, {+esc_actor_inside_traders_dung -esc_trader_bye_search_played -esc_trader_bye_first_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played +esc_trader_bye_first_search_played%, {-esc_trader_bye_garbage_played +esc_trader_hello_return_played +esc_bring_habar_complete} mob_trader@bye_garbage %+esc_trader_bye_garbage_played%
on_actor_dist_ge_nvis2 = 11 | mob_trader@new_wait

; Стол - читает
[mob_trader@new_idle1_to_idle5]
anim_global = desk_to_listen
on_signal = animation_end| mob_trader@new_idle5
on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played -esc_actor_inside_traders_dung} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_played +esc_trader_hello_played +esc_bring_habar_complete} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_search_played +esc_trader_hello_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played%, {+esc_actor_inside_traders_dung -esc_trader_bye_search_played -esc_trader_bye_first_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played +esc_trader_bye_first_search_played%, {-esc_trader_bye_garbage_played +esc_trader_hello_return_played +esc_bring_habar_complete} mob_trader@bye_garbage %+esc_trader_bye_garbage_played%
on_actor_dist_ge_nvis2 = 11 | mob_trader@new_wait

; Читает - стол
[mob_trader@new_idle5_to_idle1]
anim_global = listen_to_desk
on_signal = animation_end| mob_trader@new_idle1
on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played -esc_actor_inside_traders_dung} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_played +esc_trader_hello_played +esc_bring_habar_complete} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_search_played +esc_trader_hello_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played%, {+esc_actor_inside_traders_dung -esc_trader_bye_search_played -esc_trader_bye_first_search_played -esc_take_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played +esc_trader_bye_first_search_played%, {-esc_trader_bye_garbage_played +esc_trader_hello_return_played +esc_bring_habar_complete} mob_trader@bye_garbage %+esc_trader_bye_garbage_played%
on_actor_dist_ge_nvis2 = 11 | mob_trader@new_wait

;--------------------------------------
;------------- Разговор ---------------
;--------------------------------------
[mob_trader@new_talking]
anim_global = chair_hack_talk
anim_head = normal
on_info = {!talking} mob_trader@new_idle3 %+esc_skip_angry%

;--------------------------------------
;------------ Торговля ----------------
;--------------------------------------
[mob_trade@new]
anim_global = chair_hack_idle
on_info = {=trading =trade_exchanged} mob_trader@new_trade_exchanged
on_info2 = {!trading =trade_exchanged} mob_trader@new_trade_good
on_info3 = {!trading !trade_exchanged} mob_trader@new_trade_bad

[mob_trader@new_trade_bad]
anim_global = diagonal_talk
anim_global = chair_hack_idle
anim_head = angry
sound_phrase = trader_bad_trade
on_signal = sound_phrase_end | mob_trader@new_idle2
on_actor_dist_ge_nvis = 11 | mob_trader@new_wait

[mob_trader@new_trade_exchanged]
anim_global = diagonal_talk
anim_global = chair_hack_idle
anim_head = normal
sound_phrase = trader_exchanged
on_signal = sound_phrase_end | mob_trader@new_idle2
on_actor_dist_ge_nvis = 11 | mob_trader@new_wait

[mob_trader@new_trade_good]
anim_global = diagonal_talk
anim_global = chair_hack_idle
anim_head = good
sound_phrase = trader_good_trade
on_signal = sound_phrase_end | mob_trader@new_idle2
on_actor_dist_ge_nvis = 11 | mob_trader@new_wait

;-------------------------------------
;---------- Приветствия --------------
;-------------------------------------
[mob_trader@new_hello]
anim_global = hello
anim_head = normal
sound_phrase = trader_hello_what_have_you_got
on_signal = animation_end | mob_trader@new_idle2

[mob_trader@hello_search]
anim_global = hello
anim_head = normal
sound_phrase = trader_wait_habar_greet
on_signal = animation_end | mob_trader@new_idle2

[mob_trader@hello_return]
anim_global = hello
anim_head = normal
sound_phrase = trader_greet_habar
on_signal = animation_end | mob_trader@new_idle2

[mob_trader@new_bye]
on_actor_dist_ge_nvis = 11| mob_trader@new_wait
anim_global = hello
anim_head = normal
sound_phrase = trader_bye
on_signal = animation_end | mob_trader@new_idle2

[mob_trader@bye_search]
on_actor_dist_ge_nvis = 11 | mob_trader@new_idle2
anim_global = hello
anim_head = normal
sound_phrase = trader_wait_habar_bye
on_signal = animation_end | mob_trader@new_idle1

[mob_trader@bye_garbage]
on_actor_dist_ge_nvis = 11 | mob_trader@new_wait
anim_global = hello
anim_head = normal
sound_phrase = trader_bye_garbage
on_signal = animation_end | mob_trader@new_idle2


[mob_trader@new_wait]
anim_global = diagonal_idle_short
on_actor_dist_le_nvis = 3 | {-esc_trader_hello_played +esc_actor_inside_traders_dung +esc_bring_habar_complete +esc_trader_hello_first_played} mob_trader@new_hello %+esc_trader_hello_played%, {-esc_trader_hello_played -esc_actor_inside_traders_dung -esc_take_habar_complete +esc_trader_hello_first_played} mob_trader@new_hello %+esc_trader_hello_played%, {-esc_trader_hello_first_played +esc_actor_come_first} mob_trader@hello_first %+esc_trader_hello_first_played +esc_trader_hello_played%, {-esc_trader_hello_search_played +esc_actor_inside_traders_dung +esc_trader_hello_first_played -esc_take_habar_complete} mob_trader@hello_search %+esc_trader_hello_search_played%, {-esc_trader_hello_return_played +esc_take_habar_complete} mob_trader@hello_return %+esc_trader_hello_return_played%
on_actor_dist_ge_nvis = 7 | {-esc_trader_bye_played +esc_trader_hello_played +esc_actor_inside_traders_dung +esc_bring_habar_complete +esc_trader_hello_first_played} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_played +esc_trader_hello_played -esc_actor_inside_traders_dung -esc_take_habar_complete +esc_trader_hello_first_played} mob_trader@new_bye %+esc_trader_bye_played%, {-esc_trader_bye_search_played +esc_trader_hello_search_played +esc_trader_hello_first_played +esc_actor_inside_traders_dung -esc_bring_habar_complete} mob_trader@bye_search %+esc_trader_bye_search_played%, {-esc_trader_bye_garbage_played +esc_trader_hello_return_played +esc_bring_habar_complete} mob_trader@bye_garbage %+esc_trader_bye_garbage_played%
on_actor_dist_ge_nvis2 = 11 | %-esc_trader_hello_played -esc_trader_bye_played -esc_trader_hello_search_played -esc_trader_bye_search_played%

 

в db.script добавил переменную trader = nil

в mob_sound.script в таблицу snd добавил пути к звукам

 

 

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

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


Ссылка на сообщение
Artos, ну так проблема в том что и вылета с логом нет(даже нечего показать), тоесть даже не заметно когда что то повисает в игре, игра продолжает функционировать, скрипты проверял все на чистом ЗП работают безотказно. К тому же, как говорят свои же, такая проблема появилась/была замечена еще как только были расставлены зоны убора оружия на локации(но они не обратили внимания), тогда скриптов в моде почти небыло... Сам я пришел в команду, когда локация была заселена, и при тестировании/прохождении для себя, я не заметил такого бага, столкнулся с ним при повторном тестировании всего и вся, по завершению работ на локации(сюжета), если бы хотя бы не повисал какой то процесс, то мне бы легче было найти причину ошибки... Логику проверили раз 10... ЗЫ если чесно, то я бага не заметил после тех двух изменений, но сегодня тестировал еще один член команды, он раз 10 наткнулся на такой баг, при том в самом начале игры, я же натыкался на него когда как. Я понимаю, что без логов гадать нечего, но и лога то нету, был бы я бы выложил... В последствии не знания что делать, я в надежде получить хотя бы какой то ответ обратился сюда. И еще раз повторюсь, проблемой является поломка зон убора оружия/работы дверей, следуя из этого можно сказать, что повисает биндер актора, так как останавливаются все таймера, не проверяется на то, в зоне ли убора оружия актор, бьются сейвы...

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


Ссылка на сообщение
(изменено)
Artos, про песочницу и тп я знаю, но а вдруг ошибка не в скриптах(даже не вдруг, а скорей всего)? И тогда получится, что то место, на котором прервался лог, будет ложным, так как глюкнула логики или что-то еще, ну а пока я занимаюсь тестированием, у меня лично (с момента правок) такого бага небыло... и за всю игру всего 1 вылет, с которым пытаюсь разобраться... Изменено пользователем Viнt@rь

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


Ссылка на сообщение

Вопрос глуповатый, но все же, подскажите пожалуйста, зачем регать инфопоршни в спец. файлах? И обязательно ли это, проверял на ЗП, разницу между зареганым и не зареганым инфопоршнями не заметил, так в чем же подвох, обьясните плз)))

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


Ссылка на сообщение

Artos, спасибо.

 

По поводу Сидора, да я отслеживал открытие закрытие окна торговли с помощью actor_menu.script, но при этом Cидор не переводится на другую схему, в смысле:

    if xr_logic.try_switch_to_another_section(self.object, self.st, db.actor) then
        return
    end

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


Ссылка на сообщение
(изменено)
Artos, да я знаю что можно имитировать, даже в голове крутиться как это сделать:) (по идее даже лучше пысовского варианта получиться, он терь будет фразы говорить в тему), просто не хотелось ломать голову, а сделать "на всем готовом", но, видать не судьба... Изменено пользователем Viнt@rь

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


Ссылка на сообщение
(изменено)

Так а зачем сделали в ЗП эту геморную схему camp`a, в которой нпс, не такие "живые", в добавок не дрыхнут ну и тп...(не припомню всех недочетов с тем, что было в ТЧ), и еще эти анимпоины, вей-поинты... бред...(кстати на анекдоты у них есть реакция и под этой схемой)

 

А схема kamp`a, норм пашет? ну в смысле, нпс реально спят(на схеме camp`a заставил их типо "спать" дописав анимку сна, но во сне можно с ними говорить)?

 

Artos

По-хорошему, эти схемы срастить нужно, чтобы парой-тройкой доп.параметров можно было задавать иль вольное поведение иль усаживать в нужную точку. Примечание: Уже делал подобное (для ТЧ, но еще не публиковалось) и довольно неплохо получалось.

 

Вообще да, согласен с этим :), было бы куда лучше(мб пробну, если будет время).

Изменено пользователем Viнt@rь

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


Ссылка на сообщение
(изменено)

Artos, Callisto,

сама функция подбора оружия у нпс вшита в движек, но есть скрипт(схема), которая вызывает эту функцию - xr_gather_items.script, строка отвечающая за подбор оружия:

return self.object:is_there_items_to_pickup()

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

Изменено пользователем Viнt@rь

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


Ссылка на сообщение
(изменено)

Artos,

закоментировав строку return self.object:is_there_items_to_pickup() и поставив перед ней

self.a.gather_items_enabled = nil

return false

неписи перестают подбирать оружие/предметы...

 

Я это говорю к тому, что если удастся узнать секцию/айди предмета который они хотят подобрать, можно таким образом(естественно добавив пару проверок) сделать "таблицу предметов-исключений"

Изменено пользователем Viнt@rь

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


Ссылка на сообщение
(изменено)

User_X.A.R26, добавь в секцию [wpn_knife] строку splash1_hits_count (походу с числовым значением)

Изменено пользователем Viнt@rь

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


Ссылка на сообщение
(изменено)

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

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

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


Ссылка на сообщение

Подскажите плз, добавил локу(болота из ЧН) к остальным локам в ЗП, все прекрасно работает можно бегать ни вылетов ничего, но так как локи ЗП не надо, удалил их из алл спавна и соответственно из game.graph, в итоге остались только болота... Вроде бы все норм, игра загружается вылетов нет, стоять крутить камерой ГГ тоже вылетов нет, но если начать двигаться, получаю вылет с таким логом:

Expression : I != levels().end()

Function : GameGraph::CHeader::level

File : d:\prog_repository\sources\trunk\xrgame\game_graph_inline.h

Line : 153

Description : there is no specified level in the game graph : 52

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


Ссылка на сообщение
(изменено)

KD87, c помощью gg_cdc_zp_x5 от xiani, распаковал game.graph, и поудалял ненужные файлы...

главное, зачем?

а че им там торчать то? засорять алл спавн и граф?

Изменено пользователем Viнt@rь

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


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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

AMK-Team.ru

×
×
  • Создать...