Overf1rst 1 498 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 19 9 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deputy Sheriff 4 Опубликовано 13 октября Доброго времени суток читающим. Делаю небольшую катсцену, в логике сначала создаю сквады в смарте, в котором происходит сцена, а потом их телепортирую по точкам через =teleport_npc_by_story_id. Сцена запускается, но тут же вылетает со следующим логом: Спойлер 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 : ...nicles\mod-guns\gamedata\scripts\xr_motivator.script:161: attempt to index local 'smart_task' (a nil value) Перепробовал уже всё что можно, но результат выше. Возможно подскажет кто-нибудь где я накосячил? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Prostomod 1 312 Опубликовано 13 октября Deputy Sheriff Можешь прислать конфиг смарта и работ в нём? Мод в разработке - X-7: Эпицентр Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deputy Sheriff 4 Опубликовано 13 октября Prostomod в нём работ как таковых нет, только точки путей для неписей, участвующих в сцене, конфиг вот: Спойлер [smart_terrain] squad_id = 13 max_population = 2 [exclusive] lost_bandit_brom = lost_village\logic\lost_bandit_brom.ltx lost_bandit_brom_brigada_1 = lost_village\logic\lost_bandit_brom_brigada_1.ltx lost_bandit_brom_brigada_2 = lost_village\logic\lost_bandit_brom_brigada_2.ltx lost_stalker_feder = lost_village\logic\lost_stalker_feder.ltx Спойлер Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 790 Опубликовано 13 октября 19 часов назад, Prostomod сказал: Потом можешь отключить свой радиационный очаг функцией =anomaly_turn_off(имя твоей аномальной зоны из *) и включить через =anomaly_turn_on(имя твоей аномальной зоны из *). Спойлер 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 : .... call of pripyat\gamedata\scripts\xr_effects.script:2617: attempt to index local 'anomal_zone' (a nil value) stack trace: Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Prostomod 1 312 Опубликовано 13 октября 5 минут назад, Deputy Sheriff сказал: lost_bandit_brom = lost_village\logic\lost_bandit_brom.ltx lost_bandit_brom_brigada_1 = lost_village\logic\lost_bandit_brom_brigada_1.ltx lost_bandit_brom_brigada_2 = lost_village\logic\lost_bandit_brom_brigada_2.ltx lost_stalker_feder = lost_village\logic\lost_stalker_feder.ltx Ну всё равно, пришли пж конфиги этих работ Дополнено 2 минуты спустя Крим Имя аномальной зоны корректное передаётся? Можешь скинуть названия аномальной зоны и то, как вызываешь функцию? Мод в разработке - X-7: Эпицентр Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deputy Sheriff 4 Опубликовано 13 октября Prostomod Спойлер [logic@lost_bandit_brom] active = walker@brom_wait suitable = {=check_npc_name(lost_bandit_brom) } true prior = 200 [walker@brom_wait] path_walk = bandit_brom_wait path_look = bandit_brom_wait_look meet = no_meet combat_ignore_cond = true danger = danger gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false on_signal = feder_active_zasada | remark@brom_atack [remark@brom_atack] path_walk = bandit_brom_on_pos path_look = bandit_look_feder def_state_moving1 = patrol def_state_standing = threat_danger meet = no_meet combat_ignore_cond = true danger = danger gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false [danger] ignore_distance = 0 Спойлер [logic@lost_bandit_brom_brigada_1] active = walker@bandit_1_brom_wait suitable = {=check_npc_name(lost_bandit_brom_brigada_1) } true prior = 200 [walker@bandit_1_brom_wait] path_walk = bandit_1_brom_wait path_look = bandit_1_brom_wait_look meet = no_meet combat_ignore_cond = true danger = danger gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false on_signal = feder_active_zasada | remark@bandit_1_brom_atack [remark@bandit_brom_1_atack] path_walk = bandit_1_brom_on_pos path_look = bandit_look_feder def_state_moving1 = patrol def_state_standing = threat_danger meet = no_meet combat_ignore_cond = true danger = danger gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false [danger] ignore_distance = 0 Спойлер [logic@lost_bandit_brom_brigada_2] active = walker@bandit_2_brom_wait suitable = {=check_npc_name(lost_bandit_brom_brigada_2) } true prior = 200 [walker@bandit_2_brom_wait] path_walk = bandit_2_brom_wait path_look = bandit_2_brom_wait_look meet = no_meet combat_ignore_cond = true danger = danger gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false on_signal = feder_active_zasada | remark@bandit_2_brom_atack [remark@bandit_brom_2_atack] path_walk = bandit_2_brom_on_pos path_look = bandit_look_feder def_state_moving1 = patrol def_state_standing = threat_danger meet = no_meet combat_ignore_cond = true danger = danger gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false [danger] ignore_distance = 0 Спойлер [logic@lost_stalker_feder] active = walker@feder_wait suitable = {=check_npc_name(lost_stalker_feder) } true prior = 200 [walker@feder_wait] path_walk = feder_start_point path_look = feder_look def_state_moving1 = patrol def_state_standing = threat_danger meet = no_meet combat_ignore_cond = true danger = danger gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false on_signal = feder_start_pos | remark@feder_point_1 [remark@feder_point_1] path_walk = feder_way_point_1 path_look = feder_look def_state_moving1 = patrol def_state_standing = threat_danger meet = no_meet combat_ignore_cond = true danger = danger gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false on_signal = feder_say_snd | remark@feder_point_2 %=play_sound(lost_nolan_hello)% [remark@feder_point_2] path_walk = feder_way_point_2 path_look = feder_look def_state_moving1 = patrol def_state_standing = threat_danger meet = no_meet combat_ignore_cond = true danger = danger gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false on_signal = feder_active_zasada | remark@feder_point_3 [remark@feder_point_3] path_walk = feder_way_point_3 path_look = feder_look def_state_moving1 = patrol def_state_standing = threat_danger meet = no_meet combat_ignore_cond = true danger = danger gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false on_signal = feder_hands_up | remark@feder_point_4 [remark@feder_point_4] path_walk = feder_way_point_3 path_look = feder_look anim = hands_up meet = no_meet combat_ignore_cond = true danger = danger gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false [danger] ignore_distance = 0 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 790 Опубликовано 13 октября Prostomod Спойлер val_a3_fabric_smart_again_psy_anomal_zone Спойлер [sr_idle@1] on_info = sr_idle@2 %=anomaly_turn_off(val_a3_fabric_smart_again_psy_anomal_zone)% Дополнено 2 минуты спустя Prostomod Я дс скинул фото аномальной зоны Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Prostomod 1 312 Опубликовано 13 октября Deputy Sheriff Честно скажу, я затрудняюсь ответить, что не так: не вижу чего то проблемного. Попробуй-ка в _g.script на 480 строке раскоментировать --error_log(reason) Чтобы получилось: -- Крешнуть игру (после вывода сообщения об ошибке в лог) function abort(fmt, ...) local reason = string.format(fmt, ...) error_log(reason) end Тогда у тебя если где-то ошибка, то игра более подробную информацию выложит при вылете. Мод в разработке - X-7: Эпицентр Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 790 Опубликовано 13 октября У меня есть вопрос! У проигрываемого звука есть ограничение по времени? Допустим у меня есть звук на 10 минут, игра будет его воспроизводить? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deputy Sheriff 4 Опубликовано 13 октября Prostomod уже вручную перебирая логику нашел причину: в логике феди (feder) точка look указана как feder_look, а в сдк нужная точка подписана как feder_walk. Вывод: не делайте моды под пиво, а то потом плохо будет Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
macron 943 Опубликовано 13 октября 42 минуты назад, Крим сказал: У проигрываемого звука есть ограничение по времени? Допустим у меня есть звук на 10 минут, игра будет его воспроизводить? Вот этой прогой заголовок обработать, и нормально.https://disk.yandex.ru/d/fSsyBPf2EixTmg Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 790 Опубликовано 13 октября НПС выполняет логику, но в какой-то момент он застывает и смотрит куда-то в сторону. При этом сейв и его загрузка не помогает, он как стоит - так стоит. В добавок никаких мутантов на уровне НЕТ. Я понимаю, что с ним не так. Подскажите, в чем проблема? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
andreyholkin 109 Опубликовано 13 октября Крим , выкинь ЗП и канай в ЧН. Я тебе стелс ЧН продемонстрирую. В ЗП ты такого не увидишь. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 953 Опубликовано 13 октября Skala Ок. Еще раз: 5 часов назад, denis2000 сказал: zat_b7_is_late_attack_time - пример функции проверки времени из xr_conditions.script Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Skala 293 Опубликовано 13 октября denis2000 Извините, не заметил Дополнено 0 минут спустя Как забрать деньги у игрока через диалог? Поисковик выдаёт только способы заработать много денег в начале игры Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RicoNRT 229 Опубликовано 13 октября Skala Попробуй так: Спойлер function val_rob_actor_reloc_money(actor, npc) dialogs.relocate_money(npc, 800, "out") end Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 953 Опубликовано 13 октября Skala Пример: function jup_a10_actor_give_outfit_money(first_speaker, second_speaker) dialogs.relocate_money_from_actor(first_speaker, second_speaker, 5000) end Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hrust 521 Опубликовано 13 октября (изменено) @Skala, в ванили есть примеры. Гном забирает деньги на складе контейнеров, какие-то бандиты требуют деньги по квесту с Корягой. Изменено 13 октября пользователем Hrust Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Skala 293 Опубликовано 13 октября (изменено) Спойлер Они говорят мне, говорят: «Вас! Вас! Кого, бл*дь, ты выберешь — их или нас? Нас или их?» Как, как знаешь, как будто, бл*дь, мне еще, с*ка, надо выбирать! Дополнено 5 минуты спустя denis2000 На второй строчке мои полномочия всё return db.actor ~= nil and (level.get_time_hours() >= 23 or level.get_time_hours() < 9) Изменено 13 октября пользователем Skala 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 953 Опубликовано 13 октября Skala Логическое выражение: Игрок есть и время больше/равно 23 часа или меньше 9 часов 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Skala 293 Опубликовано 13 октября denis2000 Добавил такую функцию и она не работает Спойлер function posilny_pribil_time (actor, npc) return db.actor ~= nil and (level.get_time_hours() >= 8 or level.get_time_hours() < 10) end Мне нужно, чтобы она работала с 8:00 по 10:00. Спойлер [sr_idle@time] on_info = {+timer_start -timer_stop =posilny_pribil_time} sr_idle@spawn %+timer_stop% После этой функции должна придти смска, заспавниться сквад и появиться диалог, но ничего не происходит Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mawrak 629 Опубликовано 13 октября Skala нужно просто сделать проверку по времени? Тогда поставьте if форму и в условия загоните проверку (level.get_time_hours() >= 8 or level.get_time_hours() < 10). При соблюдении условий делайте return true, а в else - return false. В логике объектов проверки из xr_conditions требуют значений true или false. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Skala 293 Опубликовано 13 октября 41 минуту назад, Mawrak сказал: нужно просто сделать проверку по времени? Да Mawrak А как это должно выглядеть? Я в скриптах 0 и ничего не понимаю всё равно. function posilny_pribil_time (actor, npc) if return true db.actor (level.get_time_hours() >= 8 or level.get_time_hours() < 10) end Должно быть вот так? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mawrak 629 Опубликовано 13 октября Skala это выглядит совсем неправильно. Тут нужно просто как в lua написать if else: https://www.cronos.ru/kb-1523.html Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 884 Опубликовано 14 октября Skala функция рабочая, не были выполнены предыдущие условия. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты