Столкнулся со странной проблемой, когда изменения в моде на базе OGSR действуют очень странно #408
Unanswered
Forestskif
asked this question in
Q&A
Replies: 1 comment
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Речь о моде Золотой Шар. При попытке изменить данные в функциях в папке gamedata происходит странное. Опишу небольшую часть, но сначала немного опишу мод, а речь идет о переносе на OGSR.
Так вот в моде добавлено новое оружие - самопал, для которого ГГ должен крафтить заряды их стальных шарикоподшипников и пороха. Я решил изменить крафт в сторону логичности, чтобы вместо разрывания подшипника зубами на ходу и использования безтолковой стальной дроби в качестве картечи, игрок мог делать сам свинцовую дробь общеизвестным кустарным методом на костре, плюс добавил некоторые итемы. В том числе бумагу с деревянными пыжами.
Так вот, когад я ранее вытаскивал файлы из db, помещая их в папку gamedata, то они замещали собой те, что в архивах. Никаких проблем не было, но тут я столкнулся с непоняткой.
Вот пример. Это оригинальная функция:
function ammo_preparing:btn1()
self:quit()
ogse.remove_inv_items_by_section("bearing", 1)
ogse.remove_inv_items_by_section("powder", 1)
ogse.spawn_ammo_in_inv("ammo_samopal", 16)
end
То есть при клике на btn1 из инвентаря удаляется 1 порох, 1 подшипник и спавнится 16 зарядов для самопала. Мне надо было заменить подшипник на бумагу:
function ammo_preparing:btn1()
self:quit()
ogse.remove_inv_items_by_section("paper", 1)
ogse.remove_inv_items_by_section("powder", 1)
ogse.spawn_ammo_in_inv("ammo_samopal", 16)
end
Вроде все просто и логично, однако в игре происходило следующее - удалялась 1 бумага, один порох и (!!!) все так же один подшипник, ну и спавнились заряды. Хотя подшипника в функции уже нет 0_о
Аналогичное я заметил и в других местах и сложилось впечатление, что в этом вот случае изменив строку с подшипников на бумагу я на самом деле не заменил данные, а добавил новую строку, потому как старая строка:
ogse.remove_inv_items_by_section("bearing", 1)
Подгрузилась из db архива. Когда я понял, что именно этим и попахивает, я вынес всю функцию в отдельный файл, переназначил на него где надо и все заработало исправно, но если я меняю что-то в оригинальных файлах, копии которых так же имеются в db, то начинаются такие вот проблемы.
Получается, что в OGSR файлы из папки gamedata не замещают аналоги из db?
PS не смотрите на ogse. Данный мод сначала перенесли на OGSE и потом на OGSR. Так понимаю не видели смысла это изменять в скриптах. И я не мастер скриптовик, если что, так что не клюйте особо, пожалуйста. Может то, что я описал, нормально для скриптовой части. Просто я до сей попытки только в конфигах ковырялся и всегда, когда выдирал файл из db, то двиг на его копию из архива уже не обращал внимание =)
Beta Was this translation helpful? Give feedback.
All reactions