Форум русскоязычного сообщества Ubuntu


Автор Тема: Baldur's Gate 2\Скрипт на авто-удаление файла через определенное время  (Прочитано 3082 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн art1101

  • Автор темы
  • Активист
  • *
  • Сообщений: 485
  • Arch Linux
    • Просмотр профиля
Не знал куда запихать подобную тему, но сюда больше вроде подходит :)
Есть WINE, есть игра Baldur's Gate 2. При чем суть проблемы именно в данной версии игры, то есть где основная игра (Shadows od Amn) и дополнение (Thron of Bhaal) объединены. Игра идет безупречно. Но...
Суть проблемы такова: во время игры в директории ../Baldur's Gate II/temp создается файл default.tot (нулевого размера), при наличии которого игра не может сохраниться и выдает соответствующий виндовый месседжбокс. Если этот файл удалять вручную перед сохранением, то игра сохраняется нормально.
Так вот, я в написании скриптов дуб дубом (вообще надо бы эту тему изучить, ибо знания соответствующие имеются). Можете показать какой скрипт написать, чтобы он автоматически через заданный интервал времени данный файл удалял.

Вообще это баг известный, но я так понял решения его так и не добились, т.к. он описан на bugs.winehq.org под номером 13560 (при чем с 2008 года). Хотя, странно, что в том же PlayOnLinux эта игра в GOG-сборке присутствует, эта GOG-овская же сборка устанавливается и по сути не работает :(

Изменил название темы в соответствии с https://forum.ubuntu.ru/index.php?topic=274230.0/
--maks05
« Последнее редактирование: 17 Апреля 2016, 05:10:30 от maks05 »
AMD FX8350/Asus M5A97 R2.0/Kingston 2x4Gb DDR3-1866/Asus nVidia GTX750TI 2048Gb (358.16)/SSD Kingston 60Gb, HDD WD640Gb, WD500Gb, WD250Gb, Sams500Gb/Samsung 245B Plus 24", Acer AL1916V 19/Archlinux

Оффлайн hitomy

  • Участник
  • *
  • Сообщений: 189
    • Просмотр профиля
а полный путь до директории  ../Baldur's Gate II/temp можно? Начиная от корня.

Оффлайн art1101

  • Автор темы
  • Активист
  • *
  • Сообщений: 485
  • Arch Linux
    • Просмотр профиля
~/art/.PlayOnLinux/wineprefix/BaldursGate2_gog/drive_c/Program Files/Akella Games/Baldurs Gate II/temp

В данном случае стоит версия от Акеллы, но проблема одна, что на GOG-е, что с этой
AMD FX8350/Asus M5A97 R2.0/Kingston 2x4Gb DDR3-1866/Asus nVidia GTX750TI 2048Gb (358.16)/SSD Kingston 60Gb, HDD WD640Gb, WD500Gb, WD250Gb, Sams500Gb/Samsung 245B Plus 24", Acer AL1916V 19/Archlinux

Оффлайн hitomy

  • Участник
  • *
  • Сообщений: 189
    • Просмотр профиля
Я тоже не спец по скриптам, но все же интересно попробовать. Я просто думаю как это будет выглядеть? Скрипт с загрузки компа мониторит этот каталог и при появлении этого файла удалить его через кол-во сек. прописанном в скрипте. Так нормально будет, или нет?

Оффлайн art1101

  • Автор темы
  • Активист
  • *
  • Сообщений: 485
  • Arch Linux
    • Просмотр профиля
ну почему с загрузки компа. допустим перед запуском игры, я запускаю терминал, выполняю скрипт в данной директории, и запускаю игру. после того как поигрался, просто прервал работу скрипта.

Пользователь решил продолжить мысль 03 Января 2015, 17:52:54:
ну да, то есть скрипт работает и, допустим, чекает наличие файла каждые 10 сек. если присутствует, то удаляет, если нет, то нет )
« Последнее редактирование: 03 Января 2015, 17:52:54 от art1101 »
AMD FX8350/Asus M5A97 R2.0/Kingston 2x4Gb DDR3-1866/Asus nVidia GTX750TI 2048Gb (358.16)/SSD Kingston 60Gb, HDD WD640Gb, WD500Gb, WD250Gb, Sams500Gb/Samsung 245B Plus 24", Acer AL1916V 19/Archlinux

Оффлайн hitomy

  • Участник
  • *
  • Сообщений: 189
    • Просмотр профиля
а в какой момент от должен удаляться? Если сразу при появлении? В игре из-за этого проблемм не будет?
« Последнее редактирование: 03 Января 2015, 18:01:16 от hitomy »

Оффлайн art1101

  • Автор темы
  • Активист
  • *
  • Сообщений: 485
  • Arch Linux
    • Просмотр профиля
нет, думаю, не будет. сколько не проверял, он всегда 0-го размера
AMD FX8350/Asus M5A97 R2.0/Kingston 2x4Gb DDR3-1866/Asus nVidia GTX750TI 2048Gb (358.16)/SSD Kingston 60Gb, HDD WD640Gb, WD500Gb, WD250Gb, Sams500Gb/Samsung 245B Plus 24", Acer AL1916V 19/Archlinux

Оффлайн hitomy

  • Участник
  • *
  • Сообщений: 189
    • Просмотр профиля
На вскидку:
#!/bin/bash
cd ~/art/.PlayOnLinux/wineprefix/BaldursGate2_gog/drive_c/Program Files/Akella Games/Baldurs Gate II/temp
while true; do
if [ -f default.tot ]; then
sleep 2
rm default.tot
fi
done

Скрипт круговой. Мониторит указанную папку на наличие файла, если находит удаляет его через 2 секунды.
« Последнее редактирование: 03 Января 2015, 18:16:24 от hitomy »

Оффлайн art1101

  • Автор темы
  • Активист
  • *
  • Сообщений: 485
  • Arch Linux
    • Просмотр профиля
я правильно понимаю, что надо создать файл xyz.sh, сделать его исполняемым и запустить sh xyz.sh?
AMD FX8350/Asus M5A97 R2.0/Kingston 2x4Gb DDR3-1866/Asus nVidia GTX750TI 2048Gb (358.16)/SSD Kingston 60Gb, HDD WD640Gb, WD500Gb, WD250Gb, Sams500Gb/Samsung 245B Plus 24", Acer AL1916V 19/Archlinux

Оффлайн hitomy

  • Участник
  • *
  • Сообщений: 189
    • Просмотр профиля
я правильно понимаю, что надо создать файл xyz.sh, сделать его исполняемым и запустить sh xyz.sh?

Да.
chmod 777 xyz.sh
Запуск, если из текущей директории:
./xyz.sh

Оффлайн art1101

  • Автор темы
  • Активист
  • *
  • Сообщений: 485
  • Arch Linux
    • Просмотр профиля
хех. работает! только как там в путях пробел отмечается? он жаловался на несуществующий путь из-за пробелов в именах. я удалил строку cd, запустил скрипт из текущей директории.

еще пару вопросов :)
команда sleep не в миллисекундах ли задержку дает? просто в других языках всегда в миллисекундах указывается (c, pas, asm).
и... язык Pithon, правильно, называется? надо бы почитать мунуальцы, дабы облегчить себе жизнь :)

Иэ-э-э-эх! Прощайте праздничные выходные! :D



Пользователь решил продолжить мысль [time]03 Январь 2015, 20:39:19[/time]:
дурацкая игра. удаляет все содержимое temp-а после выхода :D

Пользователь решил продолжить мысль 03 Января 2015, 19:41:50:
мдя,  Питон... BASH )))))
« Последнее редактирование: 03 Января 2015, 19:41:50 от art1101 »
AMD FX8350/Asus M5A97 R2.0/Kingston 2x4Gb DDR3-1866/Asus nVidia GTX750TI 2048Gb (358.16)/SSD Kingston 60Gb, HDD WD640Gb, WD500Gb, WD250Gb, Sams500Gb/Samsung 245B Plus 24", Acer AL1916V 19/Archlinux

 

Страница сгенерирована за 0.033 секунд. Запросов: 26.