Overf1rst 1 503 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 19 9 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Redix 117 Опубликовано 27 июля, 2023 vladvexa188 Попробуй добавить в батник ключ -no_separator_check Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gerbys 7 Опубликовано 28 июля, 2023 Доброго времени суток! Как заспавнить предмет в инвентарь мертвого НПС после опредёленного условия (например, после диалога с другим НПС)? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Boomer 470 Опубликовано 28 июля, 2023 (изменено) 2 часа назад, Gerbys сказал: Доброго времени суток! Как заспавнить предмет в инвентарь мертвого НПС после опредёленного условия (например, после диалога с другим НПС)? Можно после диалога выдать инфопоршень, а затем в логике рестриктора написать on_info = {+инфопоршень} sr_idle@nil %=spawn_object_in(название предмета:story_id нпс) % Изменено 28 июля, 2023 пользователем Boomer 1 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gendel 202 Опубликовано 28 июля, 2023 (изменено) Здравия адекватным! Апрошный форум так себе организован, потому и вопрошаю в первом попавшемся разделе, у людей ведающих ) Суть: от скуки и отсутствия нового решил погонять в старое, а именно в АМК-1.4 (не 1.4.1). А там косяков валом, один из них - задания не сдать, ежели неписи либо монстры волею Зоны помре, а не токмо Меченого, подрядившегося на задачи те. От он, горемычный, недельный срок, на то отведённый, и трудится, патронов и ствола не жалея, орды татей да чудовищ невиданных выкашивая, а злые квестодатели не желают вознаграждать заслуженно. Можно как-то скриптами животворными усовестить бояр тех нерадивых, чтобы не было незаслуженно проваленного и репутацию защитить добра молодца? Изменено 28 июля, 2023 пользователем Gendel Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ian98 298 Опубликовано 28 июля, 2023 (изменено) Gendel сделать квестовиков бессмертными? если в зп есть такая штука как invulnerable, то можно по идее на нет спавна в мотиваторе по именам приделать нужным нпс бессмертие. Но амк это не зп. движок там от тч видимо, оригинальный. В оригинальном тч такой фичи нет, можно по примеру сахарова из конфигов(см. оригинальная gamedata\config\creatures\m_stalker по запросу stalker_sakharov) Как один из вариантов обратится к иммунитетам сахарова можно прописав нужного нпс в spawn_section или из all.spawn, возможно.. Можно не парится с конфигами и по имени профиля например апдейтить из биндера хп в 1 при любом хите в оригинальном тч. Но такое бессмертие до фатального хита, например в голову. Может еще способы есть. Надо подумать Изменено 28 июля, 2023 пользователем ian98 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 95 Опубликовано 28 июля, 2023 26 минут назад, ian98 сказал: В оригинальном тч такой фичи нет Вы ошибаетесь! В ТЧ этот метод есть, просто в lua_help отсутствует! 19 часов назад, Redix сказал: При добавлении новых анимпоинтов появляется такая фигня в логе: Покажите функцию get_loophole данного анимпоинта Дополнено 9 минуты спустя В 22.07.2023 в 19:18, makdm сказал: log_file:close() Отличная идея закрыть файл! Про это я забыл в итоге при ошибке я терял всю инфу! Единственое маленькое замечание я бы кешировал переменную log_path 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Redix 117 Опубликовано 28 июля, 2023 @Mass smart_covers_loophole_animpoint_sit_ass.get_loophole("animpoint_sit_ass", vector():set(0,0,0), vector():set(0,0,0), vector():set(0,0,0)) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 95 Опубликовано 28 июля, 2023 Redix Это ссылка на саму функцию. В файле smart_covers_loophole_animpoint_sit_ass функцию get_loophole покажите! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Redix 117 Опубликовано 28 июля, 2023 Mass Аа, понял. Вот: Спойлер function get_loophole(id, position, fov_direction, enter_direction) return { id = id, fov_position = position, fov_direction = fov_direction, danger_fov_direction = vector():set(-1,0,0), enter_direction = enter_direction, usable = true, fov = 45.0, danger_fov = 45.0, range = 70.0, actions = { idle = { animations = { idle = { "sit_2_idle_0", }, }, }, lookout = { animations = { idle = { "idle_0_to_sit_2", }, }, }, fire = { animations = { idle = { "idle_0_to_sit_2", }, shoot = { "idle_0_to_sit_2", }, }, }, fire_no_lookout = { animations = { idle = { "idle_0_to_sit_2", }, shoot = { "idle_0_to_sit_2", }, }, }, reload = { animations = { idle = { "idle_0_to_sit_2", }, }, }, }, transitions = { { action_from = "idle", action_to = "lookout", weight = 1.2, animations = { "idle_0_to_sit_2", }, }, { action_from = "lookout", action_to = "idle", weight = 1.2, animations = { "idle_0_to_sit_2", }, }, { action_from = "idle", action_to = "fire", weight = 1.2, animations = { "idle_0_to_sit_2", }, }, { action_from = "fire", action_to = "idle", weight = 1.2, animations = { "idle_0_to_sit_2", }, }, { action_from = "idle", action_to = "fire_no_lookout", weight = 1.2, animations = { "idle_0_to_sit_2", }, }, { action_from = "fire_no_lookout", action_to = "idle", weight = 1.2, animations = { "idle_0_to_sit_2", }, }, }, } end Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 95 Опубликовано 28 июля, 2023 11 минут назад, Redix сказал: smart_covers_loophole_animpoint_sit_ass.get_loophole("animpoint_sit_ass", vector():set(0,0,0), vector():set(0,0,0), vector():set(0,0,0)) Попробуйте smart_covers_loophole_animpoint_sit_ass..get_loophole("animpoint_sit_ass", vector():set(0,0,0), vector():set(0,0,-1), vector():set(0,0,-1)) 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Redix 117 Опубликовано 28 июля, 2023 @Mass @Prostomod Спасибо, помогли! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hunter 2 525 Опубликовано 28 июля, 2023 Почему при телепортации на 5 метров вперед через Повелитель Зоны, ГГ падает под текстуры? Как правильно задавать координаты? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paracetamol 921 Опубликовано 28 июля, 2023 4 минуты назад, Hunter сказал: Почему при телепортации на 5 метров вперед через Повелитель Зоны, ГГ падает под текстуры? Как правильно задавать координаты? https://disk.yandex.ru/d/94gmWlnul29HQw установи лучше этот мод на noclip, активируется на клавишу V 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gendel 202 Опубликовано 28 июля, 2023 ian98, не сдаются формально выполненные задания, например: бармен просил бандосов зачистить на Агро, а там кровосос (если что, некоторые из них в том моде почти неубиваемы из стрелкового оружия любого калибра, только гранатами) прошёлся и всех положил - в итоге ни бандосов на локации, кроме трупов, ни задание не сдать. Или зачистить собак перед Баром - динамические аномалии кого-то из живности сожрали или ещё как, но результат тот же... Вопрос был в том, можно ли, как в "беседкиных" игорках с их "setstage", например, завершить такие квесты консольно или ещё как. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gerbys 7 Опубликовано 29 июля, 2023 Какой самый простой способ создать новый предмет, при использовании которого открывается окно с картинкой/текстом? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hunter 2 525 Опубликовано 29 июля, 2023 Gerbys ты про Gui окна? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gerbys 7 Опубликовано 29 июля, 2023 6 минут назад, Hunter сказал: Gerbys ты про Gui окна? Да, думаю про них) Например, появляется такое окно в ARC аддоне на контейнеры для артов, что-то подобное хочу сделать, но для реализации карт, записок, картинок и тд Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Prostomod 1 316 Опубликовано 29 июля, 2023 Gerbys Ну... Тут без скриптинга вообще никак, даже если переносить готовое GUI из другого мода (наверно, это и есть самый простой способ). Ещё встречал как-то давно одну программку, которая представляет из себя конструктор GUI из отдельных компонентов специально для сталкера, но я не помню, как она называется (но точно знаю, что такая есть). Сейчас искать её не могу, если завтра найду (и до меня ссыль не кинут) - скину ссылку. Но там всё-также нужно будет писать скрипты (вёрстка интерфейса просто упрощается). 1 1 Мод в разработке - X-7: Эпицентр Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CiberZold 887 Опубликовано 29 июля, 2023 3 часа назад, Gendel сказал: Вопрос был в том, можно ли, как в "беседкиных" игорках с их "setstage", например, завершить такие квесты консольно или ещё как. ну консольно такие квесты нельзя завершить, а вот убрав в диалоге нужного персонажа условие на диалог при сдачи квеста или на проверку нужного предмета, можно закрыть квест, а потом всё в файле диалога вернуть обратно. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ian98 298 Опубликовано 29 июля, 2023 Gendel нужно по нажатию кнопки выполнить вторички или их провалить, или сделать автоматически раз в сутки например проваливается квесты или выполняются? Если так, то, возможно, есть способ. Нужно смотреть луа хелп. Да и без скриптов, по-моему, есть конфиг, в котором указывается время на выполнение вторичных квестов. Забыл название. Но мне кажется я не так понял, в смысле что проваливать миссию тебе точно не надо, ну а тогда выполнять по халяве? Это ж по халяве будет. Да и бармен от того не перестанет просить убить уже мертвых бандитов. Странно это, что вообще просит, звучит так как будто перед выдачей квеста не проверяется живы ли бандиты. Ну я вообще не работал никогда именно с заданиями и не уверен как это точно работает. Мне самому нужно изучать этот момент. Но выполнить определенные квесты по кнопке сделать можно попробовать. Вроде не сложно это Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paracetamol 921 Опубликовано 29 июля, 2023 6 часов назад, Gerbys сказал: Какой самый простой способ создать новый предмет, при использовании которого открывается окно с картинкой/текстом? Здесь расписал "рецепт приготовления": Спойлер В файле bind_stalker.script находим функцию function actor_binder:use_inventory_item(obj) Чуть ниже добавил новое условие if obj~=nil then test_t.on_use_item(obj) end Вся функция должна выглядить примерно вот так: function actor_binder:use_inventory_item(obj) if obj~=nil then test_t.on_use_item(obj) end if(obj) then local s_obj = alife():object(obj:id()) if(s_obj) and (s_obj:section_name()=="drug_anabiotic") then xr_effects.disable_ui_only(db.actor, nil) level.add_cam_effector("camera_effects\\surge_02.anm", 10, false, "bind_stalker.anabiotic_callback") level.add_pp_effector("surge_fade.ppe", 11, false) give_info("anabiotic_in_process") _G.mus_vol = get_console():get_float("snd_volume_music") _G.amb_vol = get_console():get_float("snd_volume_eff") get_console():execute("snd_volume_music 0") get_console():execute("snd_volume_eff 0") end end end Создаём файл test_t.script в него пишем это: function on_use_item(sect) --Переменные local actor=db.actor local item_name=sect:section() local actor_pos=db.actor:position() local active_slot=db.actor:active_slot() local active_item=db.actor:active_item() local pistol_in_slot=db.actor:item_in_slot(2) local rifle_in_slot=db.actor:item_in_slot(3) local outfit_in_slot=db.actor:item_in_slot(7) local helm_in_slot=db.actor:item_in_slot(12) --Коллбеки if item_name=="Секция_твоего_предмета_для_гуи" then _g.run_gui(gotov_gui.test_gui()) -- это сам вызов гуи end end Теперь перходим в файл _g.script там добавим в конец функцию function run_gui(gui, close_inv) if close_inv == true then gui:ShowDialog(true) game_hide_menu() level.show_weapon(false) else gui:ShowDialog(true) end end Теперь создания самого гуи: проще всего создать гуи в программе Stalker UI Creator, там всё интуитивно понятно, есть вроде даже какие-то ролики на ютубе, но точно не знаю. после создания гуи в коллбеке выши нужно прописать так сказать название гуишки, пишется оно здесь: class "test_gui" (CUIScriptWnd) Вроде всё описал... 2 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
bsanek628 2 Опубликовано 29 июля, 2023 В 28.07.2023 в 00:27, Hunter сказал: bsanek628 пропиши Отбойнику анимации Спаса, ты имел ввиду, вылет с логом: motion not found: protecta_reload? Он самый. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gendel 202 Опубликовано 29 июля, 2023 CiberZold, как правильно заметил ian98, игра отчего-то не знает, что с её неписями творится, где они и живы ли вообще. Плотей на свалке перебил, глаз искал, а теперь задание на их отстрел от Воронина, а их там нету..)) Тоже "провалится"... Дополнено 23 минуты спустя ian98, не на халяву, с чего ты взял?! Собак, например, честно стрелял всех, которых находил, регулярно, в течение недели, а квест так и не "сдался". Даже в оригинале, если квестовые существа погибнут, то задание на их зачистку считается выполненным, независимо от условий. А тут нет. И иногда, получается, квесты выдаются на несуществующих уже неписей. АМК родоначальник корявостей в стулкерском модинге )) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vladvexa188 6 Опубликовано 29 июля, 2023 (изменено) Ребят такая вот ситуация, крч добавляю эксклюзив в смарт и при начале игры даёт такую ошибку: 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 : ...\s.t.a.l.k.e.r. Участь\gamedata\scripts\utils.script:469: bad argument #1 to 'gsub' (string expected, got nil) stack trace: Вот как выглядит логика эксклюзива: [logic@esc_bandit_bariga] active = animpoint@esc_sim_smart_11_bariga_animpoint_1 suitable = {=check_npc_name(esc_bandit_bariga)}true prior = 90 level_spot = trader trade = misc\trade\trade_trader.ltx [animpoint@esc_sim_smart_11_bariga_animpoint_1] reach_movement = walk use_camp = false meet = meet@esc_bandit_bariga_meet combat_ignore_cond = true combat_ignore_keep_when_attacked = true invulnerable = true gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false cover_name = esc_sim_smart_11_bariga_animpoint_1 [meet@esc_bandit_bariga_meet] close_anim = nil close_victim = nil far_anim = nil far_victim = nil close_distance = 0 far_distance = 0 use = {=actor_enemy} false, true snd_on_use = nil meet_on_talking = false При этом ошибки в Кавере или в НПС нету так что ошибка скорее всего в логике, помогите исправить. Изменено 29 июля, 2023 пользователем vladvexa188 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hunter 2 525 Опубликовано 29 июля, 2023 bsanek628 6 часов назад, bsanek628 сказал: пропиши Отбойнику анимации Спаса Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты