Overf1rst 1 510 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 19 10 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 117 Опубликовано 8 февраля (изменено) 7 минут назад, Paradox27kms сказал: add_map_spot из xr_effects.script Она не подходит для ЗП. Для ЧН да, там не строковый стори айди как в ЗП, а числовой Изменено 8 февраля пользователем Mass Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paradox27kms 17 Опубликовано 8 февраля Mass Мне и надо для ЧН Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 117 Опубликовано 8 февраля 1 минуту назад, Paradox27kms сказал: Мне и надо для ЧН Это тема для ЗП Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paradox27kms 17 Опубликовано 8 февраля (изменено) Mass Я знаю, просто там тема тухлая а тут больше вероятность отклика к тому же знатоки и по чн и здесь найдутся. Вот почему я пишу здесь, это же логично. Изменено 8 февраля пользователем Paradox27kms Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 117 Опубликовано 8 февраля (изменено) Paradox27kms Спойлер Здесь я не буду отвечать. Если другой юзер, у которого будут идентичный вопрос, захочет воспользоваться поиском именно в этой теме, то получит ошибку. Не зря же темы разделили. Если что это жесткий оффтоп. Пусть модератор, если захочет подотрёт наши посты Изменено 8 февраля пользователем Mass Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paradox27kms 17 Опубликовано 8 февраля (изменено) MassНужна проверка в логике НПС на хит по частям тела,рук,ног,торса, головы чтобы при хите происходило действие, например функция. destroy_object. Изменено 9 февраля пользователем Paradox27kms Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 117 Опубликовано 9 февраля 9 часов назад, Paradox27kms сказал: Нужна проверка в логике НПС на хит по частям тела Проверка только для секции hit! Поддерживает список. Полный перечень костей можно взять из m_stalker.ltx В логике пишите on_hit = hit в самой секции hit on_info = {=hitted_on_bone(bip01_head:bip01_pelvis:bip01_neck:bip01_spine2:bip01_spine1) -hit_po_kosti} %+hit_po_kosti =destroy_object% Внимание: функция hitted_on_bone есть только в ЗП. Чтобы понадобилась в чн нужно просто перенести эту функцию из xr_conditions cop в cs. А для ТЧ нужен еще xr_hit.script поменять 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
fenit 9 Опубликовано 9 февраля (изменено) Кто нибудь сталкивался с тем, что один из эксклюзивных нпс в смарте, при добавлении ещё одного терял свою логику и отдавал другому неписю? Если да, то как фиксили? Единственное, что схоже между "потеряшкой" и вором - это отчасти id, т.к. второй является охранником первого, соответвенно у него в id - npc_guard Изменено 9 февраля пользователем fenit Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 1 009 Опубликовано 9 февраля fenit Я не сталкивался, раз уж вам это интересно. 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 117 Опубликовано 9 февраля 1 час назад, fenit сказал: Единственное, что схоже между "потеряшкой" и вором - это отчасти id, т.к. второй является охранником первого, соответвенно у него в id - npc_guard Совсем непонятно что подразумевается под id Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
fenit 9 Опубликовано 9 февраля 48 минут назад, Mass сказал: Совсем непонятно что подразумевается под id character_id и class (в моём случае они одинаковы) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 63 Опубликовано 9 февраля fenit а можно увидеть пример вашей логики? «Если долго мучиться, что-нибудь получится»Охотник за артефактами Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
fenit 9 Опубликовано 9 февраля Pavel2000, Спойлер [logic@predbannik_barmen] suitable = {=check_npc_name(predbannik_barmen)} true prior = 200 active = walker@bar_1 can_select_weapon = false [walker@bar_1] on_info = {-predbannik_barmen_bar_tp} %+predbannik_barmen_bar_tp =teleport_npc(predbannik_bar_smart_bar_1_walk:predbannik_bar_smart_bar_1_look)% path_walk = bar_1_walk path_look = bar_1_look meet = meet invulnerable = true combat_ignore_cond = true combat_ignore_keep_when_attacked = true gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false on_game_timer = 50 | walker@bar_2 [walker@bar_2] path_walk = bar_2_walk path_look = bar_2_look meet = meet invulnerable = true combat_ignore_cond = true combat_ignore_keep_when_attacked = true gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false on_game_timer = 50 | walker@bar_1 [meet] close_anim = nil close_victim = nil far_anim = nil far_victim = nil abuse = false use = {=actor_enemy} false, true allow_break = false meet_on_talking = false Спойлер [logic@predbannik_ment] suitable = {=check_npc_name(predbannik_ment)} true, false prior = 200 active = walker@start_game can_select_weapon = true [walker@start_game] on_info = {-predbannik_ment_start_tp} %+predbannik_ment_start_tp =teleport_npc(predbannik_bar_smart_ment_stay_1_walk:predbannik_bar_smart_ment_stay_1_look)% path_walk = ment_stay_1_walk path_look = ment_stay_1_look meet = meet@generic invulnerable = true combat_ignore_cond = true combat_ignore_keep_when_attacked = true gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false [meet@generic] close_anim = nil close_victim = nil far_anim = nil far_victim = nil abuse = false use = {=dist_to_actor_le(6) -ment_first_talk} %+ment_first_talk% self, {=actor_enemy} false, true meet_dialog = {-ment_first_talk} predbannik_ment_first_dialog allow_break = false meet_on_talking = false trade_enable = false Спойлер [logic@predbannik_ment_guard_1] suitable = {=check_npc_name(predbannik_ment_guard_1)} true prior = 200 active = walker@ment_guard_1_guard can_select_weapon = true [walker@ment_guard_1_guard] on_info = {-predbannik_ment_guard_1_bar_tp} %+predbannik_ment_guard_1_bar_tp =teleport_npc(predbannik_bar_smart_guarder_1_walk:predbannik_bar_smart_guarder_1_look)% path_walk = guarder_1_walk path_look = guarder_1_look meet = meet@generic invulnerable = true gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false [logic@predbannik_ment_guard_2] suitable = {=check_npc_name(predbannik_ment_guard_2)} true prior = 201 active = walker@ment_guard_2_guard can_select_weapon = true [walker@ment_guard_2_guard] on_info = {-predbannik_ment_guard_2_bar_tp} %+predbannik_ment_guard_2_bar_tp =teleport_npc(predbannik_bar_smart_guarder_2_walk:predbannik_bar_smart_guarder_2_look)% path_walk = guarder_2_walk path_look = guarder_2_look meet = meet@generic invulnerable = true gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false [meet@generic] close_anim = nil close_victim = nil far_anim = nil far_victim = nil abuse = false use = false allow_break = false meet_on_talking = false trade_enable = false Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 63 Опубликовано 9 февраля 17 минут назад, fenit сказал: predbannik_ment_guard_1 Попробуйте обозвать своего воришку другим именем типа predbannik_guarder_menta_1 «Если долго мучиться, что-нибудь получится»Охотник за артефактами Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
fenit 9 Опубликовано 9 февраля 5 минут назад, Pavel2000 сказал: Попробуйте обозвать своего воришку другим именем типа predbannik_guarder_menta_1 Не помогло. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 63 Опубликовано 9 февраля fenit а в смарте всё правильно прописано? «Если долго мучиться, что-нибудь получится»Охотник за артефактами Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
fenit 9 Опубликовано 9 февраля (изменено) Pavel2000, да, ибо если закомментировать строчку с барменом, то всё работает как надо. Если что, бармен работает нормально, так что тут явно не причина в том, что он ссылается на чужой файл логики или что-то вроде. Изменено 9 февраля пользователем fenit Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 63 Опубликовано 9 февраля fenit max_population пробовали менять у смарта? «Если долго мучиться, что-нибудь получится»Охотник за артефактами Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
fenit 9 Опубликовано 9 февраля Pavel2000, да. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 1 009 Опубликовано 9 февраля (изменено) fenit Просто напоминаю, что проверка =check_npc_name(predbannik_ment) не означает, что имя секции НПС должно РАВНЯТЬСЯ predbannik_ment, оно должно СОДЕРЖАТЬ эту строку. А значит у вас как минимум три НПС претендуют на работу logic@predbannik_ment (predbannik_ment, predbannik_ment_guard_1, predbannik_ment_guard_2) Изменено 9 февраля пользователем denis2000 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
fenit 9 Опубликовано 9 февраля 5 минут назад, denis2000 сказал: fenit Просто напоминаю, что проверка =check_npc_name(predbannik_ment) не означает, что имя секции НПС должно РАВНЯТЬСЯ predbannik_ment, оно должно СОДЕРЖАТЬ эту строку. А значит у вас как минимум три НПС претендуют на работу logic@predbannik_ment (predbannik_ment, predbannik_ment_guard_1, predbannik_ment_guard_2) Хм, спасибо за подсказку, а нет более строгой проверки? Или её самому писать придётся? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
стрелок_2009 7 Опубликовано 10 февраля (изменено) Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ...all of pripyat\gamedata\scripts\smart_terrain.script:95: attempt to index local 'obj' (a nil value) игра при переходе на другую локацию или при быстром выходе из игры (на Клавишу Q) вылетает с этим логом Изменено 10 февраля пользователем стрелок_2009 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 117 Опубликовано 10 февраля 18 часов назад, fenit сказал: а нет более строгой проверки? Убирать string.find из функции не рекомендую. дело в том что, игра гинеририрует id и добавляет его к имени, можно убрать цифры например с помощью шаблона %d* в string.sub. Но тогда столкнешься с идентичной проблемой predbannik_ment_guard_1 и predbannik_ment_guard_2 вернет predbannik_ment_guard_. Оно надо? стрелок_2009 Скрипт из оргинала? Если да, то возможно проблема в сквадах local squad = smart.board.squads[obj.group_id] Эта же строчка? Возможно значение потерялось в таблице arriving_npc. Но тогда это критическая ошибка, нужно делать логирование 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 1 009 Опубликовано 10 февраля fenit Не морочьте себе голову, просто подтяните нейминг объектов. Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
fenit 9 Опубликовано 10 февраля 3 часа назад, Mass сказал: Убирать string.find из функции не рекомендую. дело в том что, игра гинеририрует id и добавляет его к имени, можно убрать цифры например с помощью шаблона %d* в string.sub. Но тогда столкнешься с идентичной проблемой predbannik_ment_guard_1 и predbannik_ment_guard_2 вернет predbannik_ment_guard_. Оно надо? Та же самая идея была, вообще я думал "отрезать" конец строки, но я не до конца уверен сколько там цифр и фиксированно ли их количество. Я решил пойти более простым путём. 2 часа назад, denis2000 сказал: fenit Не морочьте себе голову, просто подтяните нейминг объектов. Вот этим, я просто добавил _npc в конце. Спасибо всем за помощь! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты