WTOPOR 0 Опубликовано 23 Сентября 2012 Поделиться Опубликовано 23 Сентября 2012 (изменено) ВСЕМ ПРИВЕТ НУЖНА РЕАЛЬНАЯ ПОМОЩЬ В СОЗДАНИИ ХОРОШЕГО МОДА, ДЕЛАЮ Я ЕГО САМ И ВОТ САМ ВОПРОС КАК ОТЧИСТИТЬ ЛОКАЦИИ ОТ ВСЕХ НПЦ, МОНСТРОВ, ВЕЩЕЙ, КОРОЧЕ ЧТОБ БЫЛА ПУСТАЯ НУЛЬЦОВАЯ ЛОКАЦИЯ И ВОЗМОЖНО ЛИ СОЕДИНИТЬ ИХ. ЕЩЕ ВОПРОС О ТОМ КАК СДЕЛАТЬ ТАК ЧТОБ СКАДОВСК И ЯНОВ ПЕРЕСТАЛИ БЫТЬ УБЕЖИЩАМИ А ПРОСТО ЛОКАЦИЯМИ БЕЗ ТОРГОВЦЕВ И СТАЛКЕРОВ ПО ТИПУ ВНЗ КРУГ И ДРУГИХ ОБЪЕКТОВ НА ЛОКАЦИИ ЗАРАНЕЕ БЛАГОДАРЮ ЕСЛИ ПОДРОБНО ОПИШИТЕ ИЛИ ДАДИТЕ ССЫЛКУ К ИМЕННО ТАКОГО ТИПА ИНСТРУКЦИИ ПРОШУ ОТВЕТИТЬ КОНКРЕТНО НА ПОСТАВЛЕННЫЙ ВОПРОС. Всем привет. Нужна реальная помощь в создании хорошего мода, делаю я его сам и вот, сам вопрос: как отчистить локации от всех нпц, монстров, вещей, короче чтоб была пустая нульцовая локация и возможно ли соединить их. Еще вопрос о том, как сделать так, чтоб Скадовск и Янов перестали быть убежищами, а просто локациями без торговцев и сталкеров, по типу ВНЗ "Круг" и других объектов на локации. Заранее благодарю, если подробно опишите или дадите ссылку к именно такого типа инструкции. Прошу ответить конкретно на поставленный вопрос. Если ты продолжишь писать в таком духе - тебя ждёт "купальня" в виде бани. Когда регистрируешься - правила нужно читать, а не просто пропускать мимо глаз/ушей/головы. Пункты 2.4, 2.5 действующих правил форума - +10 баллов предупреждений. ColR_iT Изменено 23 Сентября 2012 пользователем ColR_iT Ссылка на комментарий
vasa007 0 Опубликовано 24 Сентября 2012 Поделиться Опубликовано 24 Сентября 2012 Я там моло что понимаю, уж простите за тупость... Нельзя ли поподробнее? Спасибо! В документе по настройке логики см. "Настройка реакции NPC, meet_manager", там расписано. Блжад, где тут кнопка "Ник"? Поподробнее нельзя?Спасибо! Ссылка на комментарий
Batment 0 Опубликовано 24 Сентября 2012 Поделиться Опубликовано 24 Сентября 2012 (изменено) vasa007, вот вырезка из статьи на stalker wiki: use/use_wpn = true/false/self - настройки юзабельности персонажа. При установки значения self NPC сам юзнет игрока, как только сможет дотянуться. И еще посмотри файл zat_b33_stalker_snag.ltx Изменено 24 Сентября 2012 пользователем ColR_iT Ссылка на комментарий
vasa007 0 Опубликовано 24 Сентября 2012 Поделиться Опубликовано 24 Сентября 2012 (изменено) Ничего не понимаю... Читаешь вот от сюда: >>Click Me<< и до конца. ColR_iT Изменено 24 Сентября 2012 пользователем ColR_iT Ссылка на комментарий
Batment 0 Опубликовано 24 Сентября 2012 Поделиться Опубликовано 24 Сентября 2012 Кто-нибудь посмотрите: [logic@levsha] prior = 200 active = animpoint@levsha [animpoint@levsha] cover_name = l11pri_test_1_animpoint_1 avail_animations = ward use_camp = false meet = meet on_info = {+l11_pri_levsha_start} walker@start_levsha combat_ignore_cond = true combat_ignore_keep_when_attacked = true invulnerable = true gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false [walker@start_levsha] path_walk = l11pri_test_1_levsha_walk path_look = l11pri_test_1_levsha_look def_state_moving = assault meet = no_meet combat_ignore_cond = false danger = danger gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false [meet] close_anim = nil close_victim = nil far_anim = nil far_victim = nil close_distance = 0 far_distance = 0 use = {=actor_enemy} false, {-zat_b33_stalker_snag_setup =dist_to_actor_le(2) =see_actor} self, {=see_actor} true, false allow_break = false trade_enable = false meet_on_talking = false Вроде все правильно, но после перехода на схему 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 98 Опубликовано 25 Сентября 2012 Поделиться Опубликовано 25 Сентября 2012 (изменено) Привет. Подскажите, как в ЗП сделать лоад-скрины локаций (интро) на весь экран? Если у кого-то уже есть готовое решение, то поделитесь пожалуйста. Изменено 25 Сентября 2012 пользователем Scarabay Мой YouTube-канал Ссылка на комментарий
vasa007 0 Опубликовано 25 Сентября 2012 Поделиться Опубликовано 25 Сентября 2012 Подскажите пожалуйста, почему он игнорирует только Альфу? Я в этом вообще ещё мало что понимаю. Заранее благодарю! [logic] active = bodyguard@wait_job on_death = death [death] on_info = {=killed_by_actor} %+jup_army_bodyguard_death =bodyguard_death%,%+jup_army_bodyguard_death =respawn_jup_army_bodyguard =bodyguard_death% [bodyguard@wait_job] use_command = wait_job bodyguard_pos = 343419 bodyguard_state = guard bodyguard_look = 350784 home_teleport = true meet = meet combat_ignore_cond = {!check_enemy_name(actor)} true on_info = {+jup_army_bodyguard_pursue} bodyguard@changer %=bodyguard_init% [bodyguard@changer] use_command = guard meet = meet combat_ignore_cond = {=bodyguard_ignore_precond} true on_info = {+jup_army_bodyguard_nofire} bodyguard@command_nofire %=bodyguard_command_1% on_info2 = {+jup_army_bodyguard_stop} bodyguard@command_stop %=bodyguard_command_2% on_info3 = {+jup_army_bodyguard_stand_and_fire} bodyguard@command_stand_and_fire %=bodyguard_command_3% on_info4 = {+jup_army_bodyguard_release} nil %=bodyguard_command_4% [bodyguard@command_nofire] use_command = nofire meet = meet combat_ignore_cond = true combat_ignore_keep_when_attacked = true on_info = {-jup_army_bodyguard_nofire} bodyguard@changer %=bodyguard_command_0% on_info2 = {+jup_army_bodyguard_release} nil %=bodyguard_command_4% [bodyguard@command_stop] use_command = stop meet = meet combat_ignore_cond = true combat_ignore_keep_when_attacked = true on_info = {-jup_army_bodyguard_stop} bodyguard@changer %=bodyguard_command_0% on_info2 = {+jup_army_bodyguard_release} nil %=bodyguard_command_4% [bodyguard@command_stand_and_fire] use_command = stand_and_fire meet = meet combat_ignore_cond = true combat_ignore_keep_when_attacked = true on_info = {-jup_army_bodyguard_stand_and_fire} bodyguard@changer %=bodyguard_command_0% on_info2 = {+jup_army_bodyguard_release} nil %=bodyguard_command_4% [meet] abuse = false use = true allow_break = true meet_on_talking = false trade_enable = false Подскажите пожалуйста, почему он игнорирует только Альфу? Я в этом вообще ещё мало что понимаю. Заранее благодарю! Ссылка на комментарий
ColR_iT 171 Опубликовано 25 Сентября 2012 Поделиться Опубликовано 25 Сентября 2012 vasa007 Во-первых, то, что ты "запихнул" под спойлер, не то, чтобы сложно читается, а вообще сложно воспринимается. Поэтому в следующий раз изволь удосужится привести свой же вопрос в читабельный вид. Во-вторых, в чистом ЗП схема bodyguard отсутствует. Ссылка на комментарий
karonbaron 1 Опубликовано 26 Сентября 2012 Поделиться Опубликовано 26 Сентября 2012 (изменено) Есть такая задача. Нужно заспавнить на локации БТР и чтобы она стреляла в ГГ. Взял логику из ТЧ, для БТР на ЧАЭС. То есть: active = ph_car [ph_car] path_walk = mil_btr_walk target = actor Модельку взял ту, что есть в ресурсах Зова Припяти, ltx'шный файл для этой модели из мода автокоп. Также зарегил схему ph_car в modules.script, скинул скрипты ph_car.script и car.script из тч в папку со скриптами. В результате вылет FATAL ERROR [error]Expression : !m_error_code [error]Function : raii_guard::~raii_guard [error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp [error]Line : 748 [error]Description : ...l.k.e.r. - cop shoker\gamedata\scripts\ph_car.script:87: attempt to index field 'car' (a nil value) stack trace: Что может быть причиной? 87-строка в скрипте ph_car выглядит так (выделена жирным): if self.usable == nil then [b]self.car:SetExplodeTime(0) -- (-1)[/b] if self.car:HasWeapon() then printf("car <fire>: car has weapon.") self.car:Action(CCar.eWpnActivate,1) self.hasWeapon = true else printf("car <fire>: car hasn't weapon.") self.hasWeapon = false end Кто-нибудь адаптировал скрипты car и ph_car под ЗП? Поделитесь опытом, пожалуйста... Изменено 26 Сентября 2012 пользователем karonbaron Ссылка на комментарий
ХОВАН 3 Опубликовано 26 Сентября 2012 Поделиться Опубликовано 26 Сентября 2012 (изменено) Кто-нибудь посмотрите: .... [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 Изменено 26 Сентября 2012 пользователем ХОВАН Ссылка на комментарий
Clayman 104 Опубликовано 26 Сентября 2012 Поделиться Опубликовано 26 Сентября 2012 karonbaron, ищи в этой теме, обсуждали уже, как прикрутить БТР-ы, я делал, все работает. Скриптовики, подскажите плз, как грамотно таймер (ограничение) на сон сделать? Ну что-бы поспал, и какое-то время спать не хочется. Я примерно так эту схему представляю - поспал, в ui_sleep_dialog.script выдаем инфо, что "поспал", запускаем таймер на N-часов, пока есть инфо "поспал", в в ui_sleep_dialog.script окошко что не хотим спать, после того как таймер отработал - убираем инфо "поспал". В принципе я со всем разобрался как делать, кроме таймера - где его грамотно цеплять, чтобы не работал лишнего, а запусался и стопил когда надо. В схеме sr_sleep можно, но как-то громоздко получается, наверное все-таки лучше в скрипте? Ссылка на комментарий
Batment 0 Опубликовано 26 Сентября 2012 Поделиться Опубликовано 26 Сентября 2012 ХОВАН Все правильно, вылет это не исправило, даже с такой логикой вылет: [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 99 Опубликовано 26 Сентября 2012 Поделиться Опубликовано 26 Сентября 2012 (изменено) 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... Изменено 26 Сентября 2012 пользователем Artos "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
ХОВАН 3 Опубликовано 26 Сентября 2012 Поделиться Опубликовано 26 Сентября 2012 (изменено) 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, может поможет чем Я слышал о проблемах с логикой\симуляцией на подключенных локациях, но сам лично не сталкивался... Перепроверь локацию в скриптах Изменено 26 Сентября 2012 пользователем ХОВАН Ссылка на комментарий
Clayman 104 Опубликовано 26 Сентября 2012 Поделиться Опубликовано 26 Сентября 2012 На самом деле, вылет CDialogHolder::CDialogHolder() может быть по очень многим причинам, совершенно не относящимся к диалогам. Во-первых, проверяйте корректность way-поинтов, особенно прописанные в точках look параметры, соответствие точки walk аи-ноду (если walk не на ноде, будет вылет). Во-вторых, я подобные вылеты ловил из-за партиклов и еще из-за чего-то, уже не помню. Ссылка на комментарий
Artos 99 Опубликовано 26 Сентября 2012 Поделиться Опубликовано 26 Сентября 2012 (изменено) ХОВАН, где ты увидел в моем посте про "виновность" самой схемы? Она может провоцировать, т.к. именно она отвечает за диалоги и соответственно их окна. Неужели не понятно, что лог ругается именно на GUI и именно на CDialogHolder - т.е. на попытку движка обработать объект диалогового окна. И нужно разбираться что за диалог пытается движек обработать. И как же это CDialogHolder - "не связан с диалогами"??? Иль для тебя интерфейс диалогового окна - это не часть диалога? Улыбают такие вот комменты в "советах": Я слышал о проблемах с логикой\симуляцией на подключенных локациях, но сам лично не сталкивался... Clayman, вы хоть читаете(?) написанное: нужно копаться ... в meet или стороннем... Это означает, что или в схеме заданы параметры, которые приводят к ошибке, но не в самой схеме, а с неким вызываемом диалоге или переход на указанную секцию walker@start_levsha активирует иные схемы, которые и вызывают ошибку.Нужно трассировать в лог работу скриптов/схем на этом участке и анализировать, а не гадать в темную... "а вот у меня встречалось..." P.S. Как вариант, хотя бы временно отключить в этой проблемной секции: meet = no_meet - и далее уже разбираться, в чем же проблема. Изменено 26 Сентября 2012 пользователем Artos "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
Batment 0 Опубликовано 26 Сентября 2012 Поделиться Опубликовано 26 Сентября 2012 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 И без использования диалогов, пути проверял, работают. Вылет вообще непонятно откуда взялся. Партиклы не редактировал, как выше писали. Ссылка на комментарий
Clayman 104 Опубликовано 26 Сентября 2012 Поделиться Опубликовано 26 Сентября 2012 Artos, я же не просто так привожу пример, чтобы светскую беседу поддержать, а делюсь именно личным опытом. В одном случае, у меня был вылет с логом CDialogHolder::CDialogHolder() именно из-за попыток использовать некорректные оригинальные вей-поинты на подключенном Кордоне. В другом - на Болотах добавлял новые аномалии и статик-партиклы к ним и ловил вылет почему-то именно с подобным логом. Но дело хозяйское, ищите в диалогах. Ссылка на комментарий
Artos 99 Опубликовано 26 Сентября 2012 Поделиться Опубликовано 26 Сентября 2012 (изменено) Batment, ты ждешь чтобы тебе и ошибку растолковали и где она и как ее исправить? И все по твоей куцей информации... Пишу (повторяю) в последний раз: 1. Во-первых, судя по твоей "даже с такой схемой" - схема meet не отключена, она же у тебя в корневой секции прописана(!). Если отключение (чего у тебя НЕ сделано) не исправляет ошибку - искать в сторонних алгоритмах, 2. Если у тебя пути не имеют флагов (сигналов), то проверка в другом месте валидна, если же флаги в наличии - то проверять нужно именно "по месту", т.к. флаги и могут вызывать проблемны. 3. Нужно трассировать в лог работу скриптов/схем на этом участке и анализировать, а не гадать в темную... (комментировать не нужно, гадания на кофейной гуще закончил). Clayman, если начать поминать кто и сколь раз встречал ту иль иную ошибку - всех разделов форума не хватит. Вот ты, уже не раз встретил упомянутую ошибку и что(?) нашел причину или тупо обошел методом тыка, поставив какую-нить заплатку иль кострировав коды? Личный опыт - это не сколько раз наступил на одни грабли, а сколько нашел способов НЕ наступать на одни и те же грабли! ИМХО. Нужно не гадать(!), а искать причину и устранять ее, заодно намотав на ус, как не нужно делать, чтобы не наступать на грабли! И версия о причастности некоего "диалога", точнее попытке вызова диалога из-за наличия в схеме значения параметра "self" - всего лишь предположение, хотя это может быть уже последствия фатальной ошибки совсем иного рода. Clayman, по твоему вопросу о таймерах: Уже десятки раз приводились и готовые примеры и немало пояснений/статей понаписано. Воспользуйся поиском. Таймеры для ЗП ничем не отличаются от таймеров для ТЧ/ЧН. В конце концов, каждый второй мод содержит "сон" для актора, почему там не посмотреть?! Изменено 26 Сентября 2012 пользователем Artos "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
karonbaron 1 Опубликовано 27 Сентября 2012 Поделиться Опубликовано 27 Сентября 2012 (изменено) С БТР'ом разобрался, оказывается еще нужно было класс CCar зарегистрировать. Вопрос следующий. В логике вертолета можно прописать параметр enemy. На вики говорится, что enemy может быть равно actor, sid непися, или nil. В логике ЧН'овского верталя я видел еще параметр all. А если нужно, чтобы вертолет атаковал не какого-то одного противника, а например, группировку. То есть прилетает поддержка во время атаки на базу бандитов и вертушка атакует только врагов, а друзей и ГГ не трогает, даже если они в поле зрения вертолета. Есть у кого какие идеи? Может, так? enemy = {=check_enemy_name(sim_default_bandit)} all, nil Изменено 27 Сентября 2012 пользователем karonbaron Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти