@Frontman32

Как умножить/поделить значение между символами строки?

Всем привет, возможно я спрашиваю что-то очевидное но все же.
Я кручу сервер DayZ, там множество конфигов которые влияют на баланс игры. Я их могу массово менять поиском и заменой, добавляя или убирая например ноль в конце. К примеру
dmax="100" на dmax="1000"

Но как можно менять значение например умножая на 2? Например dmax="100" на dmax="200".
Я так понимаю это можно сделать с использованием регулярных выражений, но в них полный ноль.
Ткните пожалуйста носом куда копать, или если знаете простое быстрое решение - подскажите пожалуйста.
Спасибо
  • Вопрос задан
  • 134 просмотра
Решения вопроса 1
ForestAndGarden
@ForestAndGarden
Совершенствовать среду обитания
Можно с помощью электронных таблиц сделать. На одном листе будут настраиваемые параметры, на втором — объединённые с помощью формул строки нужного формата.

Либо же вообще один лист с параметрами, а выходной файл конфигурации формируется макросом (скриптом).
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Stalker_RED
@Stalker_RED
а кто мешает заменить dmax="100" на dmax="200"?
jBZ9Z7j.png

Сами по себе регулярные выражения не могут умножать и делить. Они ищут текст подходящий под "шаблон" или "правило".
Иногда в том-же движке есть опция замены.
В некоторых случаях при замене можно применить какую-то функцию (в js например).
Ответ написан
fzfx
@fzfx
18,5 дм
perl -i -pe 's~dmax=\"(\d+)\"~$1*2~ge' filename
Ответ написан
Комментировать
dollar
@dollar
Делай добро и бросай его в воду.
Нужно пройтись скриптом, а не регулярными выражениями.
Хотя, в скрипте тоже можно использовать регулярки, но только для поиска, а не для вычислений.

Подойдёт практически любой язык программирования. Установите себе php, или lua, или node, или компилируемые и т.д.

Далее вам понадобится помощь программиста. Поспрашивайте в сообществе DayZ, среди играющих друзей. Вам нужен скрипт перебора файлов в папке рекурсивно плюс замена атрибутов по формуле и названию.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы