Столкнулся со странной проблемой, когда изменения в моде на базе OGSR действуют очень странно #408
Unanswered
Forestskif
asked this question in
Q&A
Replies: 1 comment
-
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment

Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Речь о моде Золотой Шар. При попытке изменить данные в функциях в папке 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