Overf1rst 1 502 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 19 9 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
WolfHeart 944 Опубликовано 9 ноября 18 часов назад, Ilia_Onoprienko сказал: подскажите прогу, которая сделает квест за меня, просто очень хочется свой мод. 1 AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb). Windows -10 PRO (х64) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 30 Опубликовано 9 ноября здравствуйте, такой вопрос если к lights_hanging_lamp в кастом дату прописать логику то получится ли управлять светом типо вкл\выкл если это возможно то как или может есть другой какой-то способ? «Если долго мучиться, что-нибудь получится» Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 971 Опубликовано 9 ноября Pavel2000 Нет необходимости прописывать логику, достаточно задать стори_ид: turn_off_underpass_lamps, turn_off, turn_on 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Ayden 131 Опубликовано 9 ноября (изменено) 20 часов назад, Ilia_Onoprienko сказал: Можете подсказать, как сделать мод на «Зов Припяти» с STCoP 3.3 и графическим паком без всяких программ или подскажите прогу, которая сделает квест за меня, просто очень хочется свой мод. Есть такой софт, называется служанка, научи её это делать и она напишет, правда денег много надо. Изменено 9 ноября пользователем Ayden 1 Эх, Самара- городок, ветер северный, отожрал я себе пузо, как беременный.:) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Doctor 25 0 Опубликовано 9 ноября Здраствуйте хочу сделать мод есть идея на квесты +сюжет, нужна помощь по созданию.Если кому-то интиресно пишите сюда krvchnk_1.Об"ясню все подробно Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 790 Опубликовано 10 ноября Я добавил для ГГ новые звуки при получении урона. При игре имеется недочет - новые звуки отыгрываются словно 3d, а не от лица актера. При чем все новые звуки я прогнал через Sound Editor. Мне надо эти звуки прописывать в script_sound? Просто оригинальные звуки не прописаны. Или что-то другое надо делать? Подскажите, пожалуйста Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vasyan54636 132 Опубликовано 10 ноября Спойлер @Крим Параметры новых звуков такие же, как у пысов? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
sosiska23 0 Опубликовано 10 ноября (изменено) я просто way point переставлял и анимации менял персы стоят на ai сетке Спойлер "f:\s.t.a.l.k.e.r\s.t.a.l.k.e.r. call of pripyat\bin\xrengine.exe" * phase time: 0 ms * phase cmem: 120700 K Loading objects... Loading models... * [prefetch] time: 78399 ms * [prefetch] memory: 125852Kb ! Unable to find Software\GSC Game World\STALKER-COP\ in registry ! Player name registry key (InstallUserName) not found ! * phase time: 78524 ms * phase cmem: 248959 K * phase time: 5 ms * phase cmem: 248959 K * Creating new game... * Loading spawn registry... * 593 spawn points are successfully loaded * New game is successfully created! * phase time: 149 ms * phase cmem: 267676 K * phase time: 54 ms * phase cmem: 267679 K * phase time: 12 ms * phase cmem: 267679 K * WARNING: player not logged in * client : connection accepted - <All Ok> * phase time: 13 ms * phase cmem: 267743 K * phase time: 5 ms * phase cmem: 267743 K stack trace: 0023:01B1D765 xrCDB.dll, CDB::COLLIDER::ray_query() Изменено 10 ноября пользователем sosiska23 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 790 Опубликовано 10 ноября vasyan54636 Ну, я вроде настроил как у ПЫСОВ, но все равно звук словно отыгрывается в 3d Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vasyan54636 132 Опубликовано 10 ноября @Крим Странно. Звуки хита актора прописаны в actor.ltx в секции actor_hit_snds, там у них стоит тип actor. Насколько помню, сталкер нормально принимает звуки 16 бит, 44100гц, моно. Если новый звук имеет другие параметры, возможно это как-то роляет. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DimoNULL 3 Опубликовано 10 ноября Что делать если я хочу изменить какое либо помещение на карте в level editor, а оно является одним целым объектом, и удаляется полностью. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vasyan54636 132 Опубликовано 10 ноября @DimoNULL Подгрузить этот объект в любой 3д пакет, который имеет плагины импорта сталкерских .object моделей. Затем просто удалить лишние полигоны. Из популярных 3д пакетов для сталкера могу подметить 3DsMAX, Maya, Blender. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DimoNULL 3 Опубликовано 10 ноября 27 минут назад, vasyan54636 сказал: @DimoNULL Подгрузить этот объект в любой 3д пакет, который имеет плагины импорта сталкерских .object моделей. Затем просто удалить лишние полигоны. Из популярных 3д пакетов для сталкера могу подметить 3DsMAX, Maya, Blender. Понял, спасибо. Этим и займусь Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
sosiska23 0 Опубликовано 12 ноября В 10.11.2024 в 17:17, sosiska23 сказал: росто way point переставлял и анимации менял персы стоят на ai сетке не знаете как решить? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 30 Опубликовано 12 ноября можно ли отключить отображение на мини карте одного определённого нпс? «Если долго мучиться, что-нибудь получится» Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 971 Опубликовано 12 ноября Pavel2000 Можно сделать так: 1. Добавляете в stalker_generic.script новую метку в функции reset_show_spot и remove_level_spot. Но делаете ее невидимой. 2. Добавляете свою метку в логику: [logic] level_spot = ... 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 30 Опубликовано 12 ноября denis2000 сделал в Спойлер function reset_show_spot(npc, scheme, st, section) local spot_section if scheme == nil or scheme == "nil" then spot_section = utils.cfg_get_string(st.ini, st.section_logic, "show_spot", npc, false, "") else spot_section = utils.cfg_get_string(st.ini, section, "show_spot", npc, false, "") end local map_spot = utils.cfg_get_string(st.ini, st.section_logic, "level_spot", npc, false, "") if map_spot == nil then map_spot = utils.cfg_get_string(st.ini, section, "level_spot", npc, false, "") end if map_spot ~= nil then map_spot = xr_logic.parse_condlist(npc, section, "level_spot", map_spot) map_spot = xr_logic.pick_section_from_condlist(db.actor, npc, map_spot) end --' printf("STALKER SPOT SECTION [%s]", utils.to_str(spot_section)) if spot_section == nil then spot_section = "true" end local spot = "false" -- if character_community(npc) ~= "zombied" then local spot_condlist = xr_logic.parse_condlist(npc, section, "show_spot", spot_section) spot = xr_logic.pick_section_from_condlist(db.actor, npc, spot_condlist) -- end local sim = alife() if not sim then return end local obj = sim:object(npc:id()) if obj and obj.online then local npc_id = npc:id() if spot == "false" then -- прячем obj:visible_for_map(false) else -- ставим obj:visible_for_map(true) end if map_spot ~= nil then local map_location = "" local hint = "" if map_spot == "trader" then map_location = "ui_pda2_trader_location" hint = "st_ui_pda_legend_trader" elseif map_spot == "mechanic" then map_location = "ui_pda2_mechanic_location" hint = "st_ui_pda_legend_mechanic" elseif map_spot == "unvisible" then map_location = "no_spot_unvisible" hint = "st_ui_pda_unvisible" elseif map_spot == "guider" then map_location = "ui_pda2_scout_location" hint = "st_ui_pda_legend_scout" --[[ local smarts_tbl = sim_board.get_sim_board().smarts local npc_smrt_id = obj.m_smart_terrain_id if npc_smrt_id ~= 65535 and npc_smrt_id ~= nil then local npc_smart = smarts_tbl[npc_smrt_id].smrt if npc_smart then local smart_name = smart_names.get_smart_terrain_name(npc_smart) hint = game.translate_string(hint).."\\n"..game.translate_string("st_location").." "..smart_name end end ]] elseif map_spot == "quest_npc" then map_location = "ui_pda2_quest_npc_location" hint = "st_ui_pda_legend_vip" elseif map_spot == "medic" then map_location = "ui_pda2_medic_location" hint = "st_ui_pda_legend_medic" end if level.map_has_object_spot(npc_id, map_location) ~= 0 then level.map_remove_object_spot(npc_id, map_location) end if db.actor and npc and npc:general_goodwill(db.actor) > -1000 then level.map_add_object_spot(npc_id, map_location, hint) end else if level.map_has_object_spot(npc_id, "ui_pda2_trader_location") ~= 0 then level.map_remove_object_spot(npc_id, "ui_pda2_trader_location") elseif level.map_has_object_spot(npc_id, "ui_pda2_mechanic_location") ~= 0 then level.map_remove_object_spot(npc_id, "ui_pda2_mechanic_location") elseif level.map_has_object_spot(npc_id, "no_spot_unvisible") ~= 0 then level.map_remove_object_spot(npc_id, "no_spot_unvisible") elseif level.map_has_object_spot(npc_id, "ui_pda2_scout_location") ~= 0 then level.map_remove_object_spot(npc_id, "ui_pda2_scout_location") elseif level.map_has_object_spot(npc_id, "ui_pda2_quest_npc_location") ~= 0 then level.map_remove_object_spot(npc_id, "ui_pda2_quest_npc_location") elseif level.map_has_object_spot(npc_id, "ui_pda2_medic_location") ~= 0 then level.map_remove_object_spot(npc_id, "ui_pda2_medic_location") end end end end function remove_level_spot(npc, st) local map_spot = utils.cfg_get_string(st.ini, st.section_logic, "level_spot", npc, false, "") if map_spot == nil then map_spot = utils.cfg_get_string(st.ini, st.active_section, "level_spot", npc, false, "") end if map_spot ~= nil then map_spot = xr_logic.parse_condlist(npc, st.active_section, "level_spot", map_spot) map_spot = xr_logic.pick_section_from_condlist(db.actor, npc, map_spot) end local sim = alife() if not sim then return end local obj = sim:object(npc:id()) if obj then local npc_id = npc:id() if map_spot ~= "" and map_spot ~= nil then local map_location = "" if map_spot == "trader" then map_location = "ui_pda2_trader_location" elseif map_spot == "mechanic" then map_location = "ui_pda2_mechanic_location" elseif map_spot == "unvisible" then map_location = "no_spot_unvisible" elseif map_spot == "guider" then map_location = "ui_pda2_scout_location" elseif map_spot == "quest_npc" then map_location = "ui_pda2_quest_npc_location" elseif map_spot == "medic" then map_location = "ui_pda2_medic_location" end if level.map_has_object_spot(npc_id, map_location) ~= 0 then level.map_remove_object_spot(npc_id, map_location) end end end end добавил в Спойлер <no_spot_unvisible hint="st_ui_pda_unvisible"> <level_map spot="ui_nospot"/> <mini_map spot="ui_nospot_mini_spot"/> </no_spot_unvisible> <ui_nospot x="0" y="0" width="19" height="19" stretch="1" alignment="c" location_level="-1" scale_min="3"> <texture>ui_pda2_hl_seq_quest2</texture> </ui_nospot> <ui_nospot_mini_spot x="0" y="0" width="14" height="14" stretch="1" alignment="c" location_level="-1"> <texture>ui_pda2_hl_seq_quest2</texture> </ui_nospot_mini_spot> прописал в логику нпс level_spot = unvisible получилось вот так изменил width="19" height="19" на width="0" height="0" получилась просто звёдочка, не пойму что ещё мне нужно исправить Дополнено 3 минуты спустя или я что то не правильно нагородил и можно сделать это проще? «Если долго мучиться, что-нибудь получится» Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 971 Опубликовано 12 ноября Pavel2000 Отмена, значит это так не сработает, остается метка командира сквада... Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 30 Опубликовано 12 ноября но если сделать width="0" height="0" в map spots у секции торговца то иконка пропадает полностью Дополнено 2 минуты спустя думаю в скрипте дело Дополнено 5 минуты спустя а ещё пока я это всё делал наткнулся на вылет и полчаса не понимал причину вылета. а оказывается нельзя <string id="st_ui_pda_unvisible"> <text>(вот здесь оставлять пустоту)</text> </string> «Если долго мучиться, что-нибудь получится» Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 971 Опубликовано 13 ноября (изменено) 9 часов назад, Pavel2000 сказал: но если сделать width="0" height="0" в map spots у секции торговца то иконка пропадает полностью Я это и имел ввиду, но оказывается на одном объекте могут одновременно висеть несколько меток, а не одна последняя. На вашем НПС есть еще метка командира сквада нейтралов. Попробуйте открыть файл sim_squad_scripted.script там в функции sim_squad_scripted:show есть строки: if(level.map_has_object_spot(self:commander_id(), "ui_pda2_trader_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_mechanic_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_scout_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_quest_npc_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_medic_location")~=0) then self.show_disabled = true return end Добавьте свою метку по аналогии. Изменено 13 ноября пользователем denis2000 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 30 Опубликовано 13 ноября denis2000 Спойлер function sim_squad_scripted:show() if self.show_disabled then self:hide() return end if self.current_spot_id ~= self:commander_id() then self:hide() self.current_spot_id = self:commander_id() self:show() return end local spot = "" if not(is_squad_monster[self.player_id]) then local relation = game_relations.get_squad_relation_to_actor_by_id(self.id) if(relation=="friends") then spot = "alife_presentation_squad_friend" elseif(relation=="neutral") then spot = "alife_presentation_squad_neutral" end end if(spot~="") then if spot == self.spot_section then level.map_change_spot_hint(self.current_spot_id, self.spot_section, self:get_squad_props()) return end if self.spot_section == nil then level.map_add_object_spot(self.current_spot_id, spot, self:get_squad_props()) else level.map_remove_object_spot(self.current_spot_id, self.spot_section) level.map_add_object_spot(self.current_spot_id, spot, self:get_squad_props()) end self.spot_section = spot elseif(self.spot_section~=nil) then level.map_remove_object_spot(self.current_spot_id, self.spot_section) self.spot_section = nil end end Дополнено 9 минуты спустя у меня есть gamedata ганса и Dead City Special Release там эта функция есть и у них она одинаковая Спойлер function sim_squad_scripted:show() if self.show_disabled then self:hide() return end if(level.map_has_object_spot(self:commander_id(), "ui_pda2_trader_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_mechanic_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_scout_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_quest_npc_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_medic_location")~=0) then self.show_disabled = true return end if self.current_spot_id ~= self:commander_id() then self:hide() self.current_spot_id = self:commander_id() self:show() return end local spot = "" if not(is_squad_monster[self.player_id]) then local relation = game_relations.get_squad_relation_to_actor_by_id(self.id) if(relation=="friends") then spot = "alife_presentation_squad_friend" elseif(relation=="neutral") then spot = "alife_presentation_squad_neutral" end end if(spot~="") then if spot == self.spot_section then level.map_change_spot_hint(self.current_spot_id, self.spot_section, self:get_squad_props()) return end if self.spot_section == nil then level.map_add_object_spot(self.current_spot_id, spot, self:get_squad_props()) else level.map_remove_object_spot(self.current_spot_id, self.spot_section) level.map_add_object_spot(self.current_spot_id, spot, self:get_squad_props()) end self.spot_section = spot elseif(self.spot_section~=nil) then level.map_remove_object_spot(self.current_spot_id, self.spot_section) self.spot_section = nil end end Но как её лучше копипастить? Одной функцией или полным файлом? «Если долго мучиться, что-нибудь получится» Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 971 Опубликовано 13 ноября Pavel2000 Тут нет - это в оригинале вы имеете ввиду? Дополнено 1 минуту спустя Если вставлять то так: function sim_squad_scripted:show() if self.show_disabled then self:hide() return end if(level.map_has_object_spot(self:commander_id(), "ui_pda2_trader_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_mechanic_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_scout_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_quest_npc_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_medic_location")~=0) then self.show_disabled = true return end if self.current_spot_id ~= self:commander_id() then self:hide() self.current_spot_id = self:commander_id() self:show() return end Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 30 Опубликовано 13 ноября denis2000 да в оригинале нету Дополнено 17 минуты спустя 4 часа назад, denis2000 сказал: Добавьте свою метку по аналогии It worked! «Если долго мучиться, что-нибудь получится» Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 95 Опубликовано 13 ноября 1 час назад, Pavel2000 сказал: да в оригинале нету Значит не полностью распаковали ресурсы игры. Нужно еще распаковывать папку patches. Почему - то некоторые об этом забывают Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 30 Опубликовано 13 ноября Mass через sue2 прямо сечйас распаковал, нету там этих строк «Если долго мучиться, что-нибудь получится» Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты