Overf1rst 1 518 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 19 10 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hude 135 Опубликовано 30 октября, 2024 В 30.10.2024 в 18:24, imcrazyhoudini сказал: character_profile = zat_a2_stalker_nimble spec_rank = novice community = stalker Аватарка Ранг - Новичок Группировка - Сталкер Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mawrak 783 Опубликовано 30 октября, 2024 В 30.10.2024 в 23:35, Hrust сказал: Видимо, в движке включение партиклов на загрузке не зависит от стейта. А, то есть этого не должно быть? Тогда напишу авторам движка Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 1 036 Опубликовано 31 октября, 2024 (изменено) В 30.10.2024 в 18:24, imcrazyhoudini сказал: Вопрос - как это реализовано? Насколько я помню это сделано в движке, вам конкретный код нужен? sosiska23 В скрипте sim_board.script в строке 222 переменная spawn_smart равна nil вместо осмысленного значения. Открываете файл смотрите, анализируете или выкладываете фрагмент кода с указание нумерации строк. Изменено 31 октября, 2024 пользователем denis2000 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
sosiska23 0 Опубликовано 31 октября, 2024 --' Создание нового отряда function sim_board:create_squad(spawn_smart, sq_id) printf("create squad called") local squad_id = tostring(sq_id) local squad = alife():create(squad_id,spawn_smart.position, spawn_smart.m_level_vertex_id, spawn_smart.m_game_vertex_id) --local squad = squad_class(self, squad_id, faction_name, settings_id) --squad:init_squad(spawn_smart) printf("Creating squad[%s] in smart[%s]", squad_id, spawn_smart:name()) --' Определяем в каком смарте создать новый отряд squad:create_npc(spawn_smart) squad:set_squad_relation() self:assign_squad_to_smart(squad, spawn_smart.id) --' Пересчитываем Team, Squad, Group for k in squad:squad_members() do local obj = k.object squad.board:setup_squad_and_group(obj) end return squad end только я думаю что не в этом дело, ведь этот файл я не трогал, а просто заселял локу болванчиками, скорее всего не зарегистрировал где-то, только не знаю где Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 1 036 Опубликовано 31 октября, 2024 sosiska23 Скорее попытка спавна на несуществующем смарте. Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
sosiska23 0 Опубликовано 31 октября, 2024 (изменено) denis2000 что то пошаманил, вылет есть но лог поменялся лог (Показать контент) 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 : ...k.e.r. call of pripyat\gamedata\scripts\utils.script:469: bad argument #1 to 'gsub' (string expected, got nil) stack trace: 0023:69737365 nvwgf2um.dll Изменено 31 октября, 2024 пользователем sosiska23 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 171 Опубликовано 31 октября, 2024 В 31.10.2024 в 05:04, denis2000 сказал: вам конкретный код нужен? Должно быть уже нашёл, если что напишу, спасибо. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 124 Опубликовано 31 октября, 2024 В 31.10.2024 в 07:50, sosiska23 сказал: вылет есть но лог поменялся Вылет, скорее всего, из-за неправильной логики переменная section равна nil. Очень странно, по идее, должен был сработать abort. Я подразумеваю что отключено логирование и сама функция abort Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 1 036 Опубликовано 31 октября, 2024 sosiska23 Неверное имя работы или имя секции в логике. Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
sosiska23 0 Опубликовано 31 октября, 2024 (изменено) В 31.10.2024 в 08:44, denis2000 сказал: Неверное имя работы или имя секции в логике. В 31.10.2024 в 08:41, Mass сказал: Вылет, скорее всего, из-за неправильной логики переменная section равна nil. Очень странно, по идее, должен был сработать abort. Я подразумеваю что отключено логирование и сама функция abort неверная логика смарт-террейна? логика смарт террейна (Показать контент) [smart_terrain] squad_id = 5 max_population = 3 Изменено 31 октября, 2024 пользователем sosiska23 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BeeRseK 95 Опубликовано 31 октября, 2024 (изменено) Приветствую. В тч, в xr_effects.script есть такая функция: функция (Показать контент) -- играть звук от указанного объекта function play_snd_from_obj(actor, npc, p) if p[1] and p[2] then local snd_obj = xr_sound.get_safe_sound_object(p[2]) local obj = level_object_by_sid(p[1]) if obj ~= nil then printf("can't find object with story id %s", tostring(p[1])) -- snd_obj:play_at_pos(obj, obj:position(), sound_object.s3d) snd_obj:play_no_feedback(obj, sound_object.s3d, 0, obj:position(), 1.0) end end end Которую можно вызывать в логике, например %=play_snd_from_obj(10902:characters_voice\scenario\zhar)% Но, в зп, почему то данной функции нет, можно ее как то "вернуть" ? Изменено 31 октября, 2024 пользователем BeeRseK Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hrust 610 Опубликовано 31 октября, 2024 @BeeRseK, а в чём сложности копипаст сделать? Вообще, вместо этого проигрывания чаще используют script sounds, пример — запись Ноя с КПК или сообщение о выбросе. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 1 036 Опубликовано 31 октября, 2024 (изменено) В 31.10.2024 в 10:56, sosiska23 сказал: неверная логика смарт-террейна? А почему вы решили, что ошибка здесь? Ничего криминального не вижу. BeeRseK В ЗП play_sound_by_story используют. Или просто play_sound если звук проигрывается из логики НПС. Изменено 31 октября, 2024 пользователем denis2000 1 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ishps 17 Опубликовано 31 октября, 2024 N42 воц функция (Показать контент) ------------------------------- -- WEAPONS ------------------------------- function try_spawn_ammo(npc) local ammo_class,sec,number local function itr(npc,itm) if (IsWeapon(nil,itm:clsid()) and not npc:marked_dropped(itm)) then ammo_class = parse_list(ini_sys,itm:section(),"ammo_class") -- randomly spawn only 1 ammo type per found weapon if (#ammo_class > 0) then sec = string.match(ini_sys:r_string(itm:section(), "ammo_class"), "[^,]+") if (sec) then if (item_count[sec]) then number = math.random(item_count[sec][1], item_count[sec][2]) else number = 0 end if (number > 0 and ini_sys:section_exist(sec)) then alife_create_item(sec, npc, {ammo = number}) end end end -- spawn grenade ammo if there is launcher attached if (ini_sys:r_float_ex(itm:section(),"grenade_launcher_status") > 0) then ammo_class = parse_list(ini_sys,itm:section(),"grenade_class") for i=1,#ammo_class do sec = ammo_class if (sec) then if (item_count[sec]) then number = math.random(item_count[sec][1], item_count[sec][2]) else number = math.random(0,2) end if (number > 0 and ini_sys:section_exist(sec)) then alife_create_item(sec, npc, {ammo = number}) end end end end end end npc:iterate_inventory(itr,npc) CreateTimeEvent(npc:id(), "npc_ammo_aggregation", 0, item_weapon.ammo_aggregation_full, npc:id()) end function set_weapon_drop_condition(npc,itm) local rank = ranks.get_obj_rank_name(npc) local condition = 10 if npc:character_community() ~= "zombied" then condition = math.random( weapon_drop_condition[rank][1] , weapon_drop_condition[rank][2] ) else condition = math.random( weapon_drop_condition["novice"][1] , weapon_drop_condition["novice"][2] ) end condition = clamp(condition,5,100) condition = condition / 100 itm:set_condition(condition) -- avoid creating ammo on reload local death_dropped = se_load_var(npc:id(), npc:name(), "death_dropped") if (death_dropped) then return end if (IsWeapon(nil,itm:clsid()) and not npc:marked_dropped(itm)) then -- local sec,number local ammo_class = parse_list(ini_sys,itm:section(),"ammo_class") -- randomly spawn only 1 ammo type per found weapon if (#ammo_class > 0) then sec = string.match(ini_sys:r_string(itm:section(), "ammo_class"), "[^,]+") if (sec and item_count[sec]) then number = math.random(item_count[sec][1], item_count[sec][2]) if (number > 0 and ini_sys:section_exist(sec)) then alife_create_item(sec, npc, {ammo = number}) end end end -- spawn grenade ammo if there is launcher attached if (ini_sys:r_float_ex(itm:section(),"grenade_launcher_status") > 0) then ammo_class = parse_list(ini_sys,itm:section(),"grenade_class") for i=1,#ammo_class do sec = ammo_class if (sec and item_count[sec]) then number = math.random(item_count[sec][1], item_count[sec][2]) if (number > 0 and ini_sys:section_exist(sec)) then alife_create_item(sec, npc, {ammo = number}) end end end end -- local ammo = itm:get_ammo_in_magazine() --printf("--Weapon: "..itm:section()) --printf("--Ammo before edit: "..itm:get_ammo_in_magazine()) if (ammo > 10) then local chance = math.random(0,100) if chance > 15 then itm:set_ammo_elapsed(math.random(5,10)) end end --printf("--Ammo after edit: "..itm:get_ammo_in_magazine()) end end Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BeeRseK 95 Опубликовано 31 октября, 2024 Hrust сложность в том,что копипаст не работает. В 31.10.2024 в 12:30, denis2000 сказал: А почему вы решили, что ошибка здесь? Ничего криминального не вижу. BeeRseK В ЗП play_sound_by_story используют. Или просто play_sound если звук проигрывается из логики НПС. ок, понял, спасибо. Play sound это ведь "звук в голове игрока",а мне нужен звук от конкретного объекта. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 124 Опубликовано 31 октября, 2024 В 31.10.2024 в 13:49, BeeRseK сказал: мне нужен звук от конкретного объекта Так задайте в конфиге саунда сам звук с типом 3d или looped Дополнено 5 минуты спустя В 31.10.2024 в 10:56, sosiska23 сказал: неверная логика смарт-террейна? Вполне возможно, неправильная ссылка на конфигурационный файл Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BeeRseK 95 Опубликовано 31 октября, 2024 В 31.10.2024 в 13:51, Mass сказал: Так задайте в конфиге саунда сам звук с типом 3d или looped ну задам тип, а дальше что? Не работает оно, вон Денис написал функцию, попробую Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 124 Опубликовано 31 октября, 2024 В 31.10.2024 в 14:13, BeeRseK сказал: ну задам тип, а дальше что? Это был ответ на вопрос! Чтобы играть звук его нужно подключить корректно в файл script_sound.ltx, где и задать тип звука. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Domovoi 29 Опубликовано 31 октября, 2024 Приветствую! Столкнулся с проблемой во время конвертации в формат СДК локации Мёртвого Города из OGSE, причем что с другими локациями подобного не было. Ошибка в командной строке (Показать контент) This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. В интернете была информация о том что могут быть проблемы с софтом но до этой и после неё такого не было. Иные локации без проблем конвертируются и дальше, а вот с данной локацией как-то не срослось. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BeeRseK 95 Опубликовано 31 октября, 2024 (изменено) В 31.10.2024 в 14:42, Mass сказал: Это был ответ на вопрос! Чтобы играть звук его нужно подключить корректно в файл script_sound.ltx, где и задать тип звука. Я в курсе что его там нужно регистрировать. Зарегистрировал ты его, как ты потом вызовешь воспроизведение от определенного объекта - от спейсрестриктора? Дополнено 26 минуты спустя Mass прописан так:[ds_heliscene_sound_zhar] type = 3d path = sozgsp\zhar shuffle = seq idle = 0,0,100 Прописал через функцию %=play_sound_by_story(ds_helifire_snd:ds_heliscene_sound_zhar)% Звука нет. До этого был вылет, но там я накосячил Дополнено 34 минуты спустя Если прописать как %=play_sound(ds_heliscene_sound_zhar)% тобишь "звук в голове", то работает. Значит звук подключен верно. Видимо проблема с дальностью до объекта. Надо попробовать ближе его подвинуть... Изменено 31 октября, 2024 пользователем BeeRseK Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 124 Опубликовано 31 октября, 2024 В 31.10.2024 в 15:10, BeeRseK сказал: Зарегистрировал ты его, как ты потом вызовешь Не понимаю в чем суть проблемы? Был задан вопрос, на него был дан ответ, затем последовало уточнение, и был задан другой вопрос в том же посте. Я на него ответил, специально процитировав сообщение чтобы не было недопонимания! В 31.10.2024 в 15:10, BeeRseK сказал: Звука нет Нужно проверить всё-ли правильно, нигде ли ничего не забыто!? Если что можно переписать функцию в эфектах Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
sosiska23 0 Опубликовано 31 октября, 2024 В 31.10.2024 в 13:51, Mass сказал: Вполне возможно, неправильная ссылка на конфигурационный файл cfg = scripts\escape\smart\esc_killer_base_st_01.ltx путь правильный Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 70 Опубликовано 31 октября, 2024 (изменено) Всем привет, можно ли отключить спавн отрядов на локации? и как это сделать? Дополнено 12 минуты спустя или как заменить одиночек долговцев и свободовцев на зомби, именно тех кто со временем спавнятся Изменено 31 октября, 2024 пользователем Pavel2000 «Если долго мучиться, что-нибудь получится»Охотник за артефактами Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 771 Опубликовано 31 октября, 2024 ishps а из стандартного дропа убрал секции патронов? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Retr_0 54 Опубликовано 31 октября, 2024 (изменено) Ловлю такой графический артефакт на скомпилированной локации. На сколько знаю, это проблема с группами сглаживания. Подскажите, как исправить? P/S за группы сглаживания в ЗП и X-Ray вообще не разбираюсь. скриншоты (Показать контент) На скринах ЗП (стилизация под ТЧ). Изменено 31 октября, 2024 пользователем Retr_0 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты