Overf1rst 1 496 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 18 9 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
WolfHeart 911 Опубликовано Суббота в 11:54 18 часов назад, Ilia_Onoprienko сказал: подскажите прогу, которая сделает квест за меня, просто очень хочется свой мод. 1 AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb). Windows -10 PRO (х64) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 23 Опубликовано Суббота в 13:38 здравствуйте, такой вопрос если к lights_hanging_lamp в кастом дату прописать логику то получится ли управлять светом типо вкл\выкл если это возможно то как или может есть другой какой-то способ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 945 Опубликовано Суббота в 13:54 Pavel2000 Нет необходимости прописывать логику, достаточно задать стори_ид: turn_off_underpass_lamps, turn_off, turn_on 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Ayden 103 Опубликовано Суббота в 13:58 (изменено) 20 часов назад, Ilia_Onoprienko сказал: Можете подсказать, как сделать мод на «Зов Припяти» с STCoP 3.3 и графическим паком без всяких программ или подскажите прогу, которая сделает квест за меня, просто очень хочется свой мод. Есть такой софт, называется служанка, научи её это делать и она напишет, правда денег много надо. Изменено Суббота в 13:58 пользователем Ayden 1 Эх, Самара- городок, ветер северный, отожрал я себе пузо, как беременный.:) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Doctor 25 0 Опубликовано Суббота в 18:49 Здраствуйте хочу сделать мод есть идея на квесты +сюжет, нужна помощь по созданию.Если кому-то интиресно пишите сюда krvchnk_1.Об"ясню все подробно Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 790 Опубликовано Воскресенье в 11:15 Я добавил для ГГ новые звуки при получении урона. При игре имеется недочет - новые звуки отыгрываются словно 3d, а не от лица актера. При чем все новые звуки я прогнал через Sound Editor. Мне надо эти звуки прописывать в script_sound? Просто оригинальные звуки не прописаны. Или что-то другое надо делать? Подскажите, пожалуйста Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vasyan54636 94 Опубликовано Воскресенье в 11:56 Спойлер @Крим Параметры новых звуков такие же, как у пысов? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
sosiska23 0 Опубликовано Воскресенье в 12:17 (изменено) я просто 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() Изменено Воскресенье в 12:32 пользователем sosiska23 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 790 Опубликовано Воскресенье в 12:24 vasyan54636 Ну, я вроде настроил как у ПЫСОВ, но все равно звук словно отыгрывается в 3d Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vasyan54636 94 Опубликовано Воскресенье в 12:38 @Крим Странно. Звуки хита актора прописаны в actor.ltx в секции actor_hit_snds, там у них стоит тип actor. Насколько помню, сталкер нормально принимает звуки 16 бит, 44100гц, моно. Если новый звук имеет другие параметры, возможно это как-то роляет. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DimoNULL 2 Опубликовано Воскресенье в 14:26 Что делать если я хочу изменить какое либо помещение на карте в level editor, а оно является одним целым объектом, и удаляется полностью. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vasyan54636 94 Опубликовано Воскресенье в 15:30 @DimoNULL Подгрузить этот объект в любой 3д пакет, который имеет плагины импорта сталкерских .object моделей. Затем просто удалить лишние полигоны. Из популярных 3д пакетов для сталкера могу подметить 3DsMAX, Maya, Blender. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DimoNULL 2 Опубликовано Воскресенье в 15:58 27 минут назад, vasyan54636 сказал: @DimoNULL Подгрузить этот объект в любой 3д пакет, который имеет плагины импорта сталкерских .object моделей. Затем просто удалить лишние полигоны. Из популярных 3д пакетов для сталкера могу подметить 3DsMAX, Maya, Blender. Понял, спасибо. Этим и займусь Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
sosiska23 0 Опубликовано Вторник в 09:13 В 10.11.2024 в 17:17, sosiska23 сказал: росто way point переставлял и анимации менял персы стоят на ai сетке не знаете как решить? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 23 Опубликовано Вторник в 18:36 можно ли отключить отображение на мини карте одного определённого нпс? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 945 Опубликовано Вторник в 19:05 Pavel2000 Можно сделать так: 1. Добавляете в stalker_generic.script новую метку в функции reset_show_spot и remove_level_spot. Но делаете ее невидимой. 2. Добавляете свою метку в логику: [logic] level_spot = ... 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 23 Опубликовано Вторник в 20:50 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 945 Опубликовано Вторник в 21:08 Pavel2000 Отмена, значит это так не сработает, остается метка командира сквада... Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 23 Опубликовано Вторник в 21:12 но если сделать width="0" height="0" в map spots у секции торговца то иконка пропадает полностью Дополнено 2 минуты спустя думаю в скрипте дело Дополнено 5 минуты спустя а ещё пока я это всё делал наткнулся на вылет и полчаса не понимал причину вылета. а оказывается нельзя <string id="st_ui_pda_unvisible"> <text>(вот здесь оставлять пустоту)</text> </string> Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 945 Опубликовано вчера в 06:36 (изменено) 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 Добавьте свою метку по аналогии. Изменено вчера в 06:41 пользователем denis2000 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 23 Опубликовано вчера в 10:53 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 945 Опубликовано вчера в 11:11 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 23 Опубликовано вчера в 11:17 denis2000 да в оригинале нету Дополнено 17 минуты спустя 4 часа назад, denis2000 сказал: Добавьте свою метку по аналогии It worked! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 95 Опубликовано вчера в 13:05 1 час назад, Pavel2000 сказал: да в оригинале нету Значит не полностью распаковали ресурсы игры. Нужно еще распаковывать папку patches. Почему - то некоторые об этом забывают Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 23 Опубликовано вчера в 13:19 Mass через sue2 прямо сечйас распаковал, нету там этих строк Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты