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

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


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

  Как не нужно писать на форуме... (Показать)
Изменено пользователем ColR_iT
Ссылка на комментарий

Я там моло что понимаю, уж простите за тупость...

Нельзя ли поподробнее?

Спасибо!

 

  23.09.2012 в 08:19, break сказал:

В документе по настройке логики см. "Настройка реакции NPC, meet_manager", там расписано.

 

Блжад, где тут кнопка "Ник"?

Поподробнее нельзя?

Спасибо!

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

vasa007, вот вырезка из статьи на stalker wiki:

use/use_wpn = true/false/self - настройки юзабельности персонажа.

При установки значения self NPC сам юзнет игрока, как только сможет дотянуться.

 

И еще посмотри файл zat_b33_stalker_snag.ltx

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

Кто-нибудь посмотрите:

 

 

 

  Показать

 

 

Вроде все правильно, но после перехода на схему walker@start_levsha игра вылетает с таким логом:

 

stack trace:

 

0023:083BE8B3 xrGame.dll, CDialogHolder::CDialogHolder()

0023:083BFB45 xrGame.dll, CDialogHolder::CDialogHolder()

0023:06552EA3 lua.JIT.1.1.4.dll, luaopen_io()

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

Привет. Подскажите, как в ЗП сделать лоад-скрины локаций (интро) на весь экран? Если у кого-то уже есть готовое решение, то поделитесь пожалуйста.

Изменено пользователем Scarabay
Ссылка на комментарий
  файл логики телохранителя (Показать)
Ссылка на комментарий

vasa007

Во-первых, то, что ты "запихнул" под спойлер, не то, чтобы сложно читается, а вообще сложно воспринимается. Поэтому в следующий раз изволь удосужится привести свой же вопрос в читабельный вид.

Во-вторых, в чистом ЗП схема bodyguard отсутствует.

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

Есть такая задача. Нужно заспавнить на локации БТР и чтобы она стреляла в ГГ.

Взял логику из ТЧ, для БТР на ЧАЭС. То есть:

 

 

  Показать

 

Модельку взял ту, что есть в ресурсах Зова Припяти, ltx'шный файл для этой модели из мода автокоп. Также зарегил схему ph_car в modules.script, скинул скрипты ph_car.script и car.script из тч в папку со скриптами.

В результате вылет

 

  Показать

 

Что может быть причиной? 87-строка в скрипте ph_car выглядит так (выделена жирным):

 

  Показать

 

 

Кто-нибудь адаптировал скрипты car и ph_car под ЗП? Поделитесь опытом, пожалуйста...

Изменено пользователем karonbaron
Ссылка на комментарий
  24.09.2012 в 19:46, Batment сказал:

Кто-нибудь посмотрите:

....

[walker@start_levsha]

path_walk = l11pri_test_1_levsha_walk

path_look = l11pri_test_1_levsha_look

...

 

Судя по коду - Это эксклюзивная логика смарта "l11pri_test_1". Если это действительно так, то path_walk и path_look нужно писать сокращенно, без имени смарта. Т.е. для данного случая: levsha_walk и levsha_look

Изменено пользователем ХОВАН
Ссылка на комментарий

karonbaron, ищи в этой теме, обсуждали уже, как прикрутить БТР-ы, я делал, все работает.

 

Скриптовики, подскажите плз, как грамотно таймер (ограничение) на сон сделать? Ну что-бы поспал, и какое-то время спать не хочется. Я примерно так эту схему представляю - поспал, в ui_sleep_dialog.script выдаем инфо, что "поспал", запускаем таймер на N-часов, пока есть инфо "поспал", в в ui_sleep_dialog.script окошко что не хотим спать, после того как таймер отработал - убираем инфо "поспал". В принципе я со всем разобрался как делать, кроме таймера - где его грамотно цеплять, чтобы не работал лишнего, а запусался и стопил когда надо. В схеме sr_sleep можно, но как-то громоздко получается, наверное все-таки лучше в скрипте?

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

ХОВАН

 

Все правильно, вылет это не исправило, даже с такой логикой вылет:

 

[logic@levsha]
active = walker@start_levsha
suitable = {=check_npc_name(levsha)}
meet = meet

[walker@start_levsha]
path_walk = start_levsha_hole_walk
path_look = start_levsha_hole_look

 

Хотя на ЗПшных локациях все квесты с подобной логикой работают и вылетов нет. Есть идеи ?

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

Batment, судя по логу, у тебя ошибка связана с диалогом... (см. CDialogHolder::CDialogHolder() ) т.о. не в схеме walker нужно копаться, а в meet или с стороннем...

У тебя в meet прописано:

use = {=actor_enemy} false, {-zat_b33_stalker_snag_setup =dist_to_actor_le(2) =see_actor} self, {=see_actor} true, false

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

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Artos, нет вылет не в meet-схеме:

1. Первый вылет был при переходе с animpoint'a (где и использовалась схема meet) на walker, где meet-схема отключена (meet = no_meet)

2. Упустил "use = {=actor_enemy} false, {-zat_b33_stalker_snag_setup =dist_to_actor_le(2) =see_actor} self, {=see_actor} true, false"

3. Ну и CDialogHolder не связан с диалогами, скорее с интерфейсом\GUI

 

Batment, вот, почитай урок по эксклюзивной логике от denis2000, может поможет чем

Я слышал о проблемах с логикой\симуляцией на подключенных локациях, но сам лично не сталкивался... Перепроверь локацию в скриптах

Изменено пользователем ХОВАН
Ссылка на комментарий

На самом деле, вылет CDialogHolder::CDialogHolder() может быть по очень многим причинам, совершенно не относящимся к диалогам. Во-первых, проверяйте корректность way-поинтов, особенно прописанные в точках look параметры, соответствие точки walk аи-ноду (если walk не на ноде, будет вылет).

Во-вторых, я подобные вылеты ловил из-за партиклов и еще из-за чего-то, уже не помню.

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

ХОВАН, где ты увидел в моем посте про "виновность" самой схемы? Она может провоцировать, т.к. именно она отвечает за диалоги и соответственно их окна.

Неужели не понятно, что лог ругается именно на GUI и именно на CDialogHolder - т.е. на попытку движка обработать объект диалогового окна. И нужно разбираться что за диалог пытается движек обработать.

И как же это CDialogHolder - "не связан с диалогами"??? :shok: Иль для тебя интерфейс диалогового окна - это не часть диалога? :crazy:

Улыбают такие вот комменты в "советах":

  Цитата
Я слышал о проблемах с логикой\симуляцией на подключенных локациях, но сам лично не сталкивался...
:crazy:

 

Clayman, вы хоть читаете(?) написанное:

  Цитата
нужно копаться ... в meet или стороннем...
Это означает, что или в схеме заданы параметры, которые приводят к ошибке, но не в самой схеме, а с неким вызываемом диалоге или переход на указанную секцию walker@start_levsha активирует иные схемы, которые и вызывают ошибку.

Нужно трассировать в лог работу скриптов/схем на этом участке и анализировать, а не гадать в темную... "а вот у меня встречалось..."

 

P.S. Как вариант, хотя бы временно отключить в этой проблемной секции: meet = no_meet - и далее уже разбираться, в чем же проблема.

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Artos

 

Даже с такой схемой вылетает, с таким же логом:

 

[logic@levsha]

active = walker@start_levsha

suitable = {=check_npc_name(levsha)}

meet = meet

 

[walker@start_levsha]

path_walk = start_levsha_hole_walk

path_look = start_levsha_hole_look

 

И без использования диалогов, пути проверял, работают. Вылет вообще непонятно откуда взялся. Партиклы не редактировал, как выше писали.

Ссылка на комментарий
Artos, я же не просто так привожу пример, чтобы светскую беседу поддержать, а делюсь именно личным опытом. В одном случае, у меня был вылет с логом CDialogHolder::CDialogHolder() именно из-за попыток использовать некорректные оригинальные вей-поинты на подключенном Кордоне. В другом - на Болотах добавлял новые аномалии и статик-партиклы к ним и ловил вылет почему-то именно с подобным логом. Но дело хозяйское, ищите в диалогах.
Ссылка на комментарий

Batment, ты ждешь чтобы тебе и ошибку растолковали и где она и как ее исправить? И все по твоей куцей информации...

 

Пишу (повторяю) в последний раз:

1. Во-первых, судя по твоей "даже с такой схемой" - схема meet не отключена, она же у тебя в корневой секции прописана(!).

Если отключение (чего у тебя НЕ сделано) не исправляет ошибку - искать в сторонних алгоритмах,

2. Если у тебя пути не имеют флагов (сигналов), то проверка в другом месте валидна, если же флаги в наличии - то проверять нужно именно "по месту", т.к. флаги и могут вызывать проблемны.

3. Нужно трассировать в лог работу скриптов/схем на этом участке и анализировать, а не гадать в темную...

 

(комментировать не нужно, гадания на кофейной гуще закончил).

 

Clayman, если начать поминать кто и сколь раз встречал ту иль иную ошибку - всех разделов форума не хватит.

Вот ты, уже не раз встретил упомянутую ошибку и что(?) нашел причину или тупо обошел методом тыка, поставив какую-нить заплатку иль кострировав коды? Личный опыт - это не сколько раз наступил на одни грабли, а сколько нашел способов НЕ наступать на одни и те же грабли! ИМХО.

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

И версия о причастности некоего "диалога", точнее попытке вызова диалога из-за наличия в схеме значения параметра "self" - всего лишь предположение, хотя это может быть уже последствия фатальной ошибки совсем иного рода.

 

Clayman, по твоему вопросу о таймерах:

Уже десятки раз приводились и готовые примеры и немало пояснений/статей понаписано. Воспользуйся поиском. Таймеры для ЗП ничем не отличаются от таймеров для ТЧ/ЧН. В конце концов, каждый второй мод содержит "сон" для актора, почему там не посмотреть?!

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

С БТР'ом разобрался, оказывается еще нужно было класс CCar зарегистрировать.

 

Вопрос следующий. В логике вертолета можно прописать параметр enemy. На вики говорится, что enemy может быть равно actor, sid непися, или nil. В логике ЧН'овского верталя я видел еще параметр all. А если нужно, чтобы вертолет атаковал не какого-то одного противника, а например, группировку. То есть прилетает поддержка во время атаки на базу бандитов и вертушка атакует только врагов, а друзей и ГГ не трогает, даже если они в поле зрения вертолета. Есть у кого какие идеи?

Может, так?

enemy = {=check_enemy_name(sim_default_bandit)} all, nil

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

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

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

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

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

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

Войти

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

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

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