Работа с файлами в GMS.
|
|
zzzzza | Дата: Четверг, 04 Февраля 2016, 09:37 | Сообщение # 1 |
участник
Сейчас нет на сайте
| У меня есть два сервера: Первый основной(назовем его "server"), а второй игровой("gameServer"). Эти два сервера - это два разных проекта. Т.е. в папке "...\AppData\Local\" находится две папки: "...\AppData\Local\server" и "...\AppData\Local\gameServer". Я работаю с ini - файлами, но думаю, что эта проблема затрагивает все файлы. Допустим, сейчас мы работаем с "server". В "...\AppData\Local\server\"(рабочая папка) у нас находится файл(назовем его "optionsServer.ini"). Если я хочу работать с этим файлом, то я пишу: 1)ini_open('optionsServer.ini'); (так как этот файл находится в рабочей папке) 2)Или же ini_open(environment_get_variable('LOCALAPPDATA')+'\server\optionsServer.ini'); Но вот если я захочу создать файл/записать информацию в файл/прочитать из файла, находящегося в "...\AppData\Local\gameServer\" (То есть работать с файлом, который находится в папке другого сервера), то ничего не получится. То есть GMS дает работать с файлами только в своей рабочей папке. Кстати, новую папку функция (ini_open()) создает, а вот файл - нет. Также создавал exe'шный файл и пробовал запускать от имени администратора - толку ноль. Может быть он разрешит создать файл не на системном диске, но это мне не подходит, поэтому я даже не пробовал. Еще подумывал сменить рабочую папку на какую-нибудь другую, но все-таки надеюсь на то, что решение этой проблемы есть. Вообщем, как создавать файлы и работать с ними не в рабочей папке? Заранее спасибо)
|
|
| |
Qvant | Дата: Четверг, 04 Февраля 2016, 13:45 | Сообщение # 2 |
почти ветеран
Сейчас нет на сайте
| в GMS "server" создаём ещё один сервер , к нему на "локалхосте" подключается "gameServer" если надо изменить или запросить данные в инишнике в AppData\Local\gameServer , просто подаём команду из "server" в "gameServer"
с файлом \AppData\Local\gameServer напрямую работает "gameServer" с файлом \AppData\Local\server напрямую работает "server" и друг другу не мешают
а если использовать "инклуд" и два проекта GMS станут использовать один файл , то придётся открывать и закрывать файл каждый раз и если одновременно два сервера в станут записывать разные данные то черевато ошибками
|
|
| |
OpenGOO | Дата: Четверг, 04 Февраля 2016, 15:50 | Сообщение # 3 |
почти ветеран
Сейчас нет на сайте
| zzzzza, найди или напиши динамическую библиотеку или расширение которое позволит работать с файлами не из песочницы.
Можно вот что попробовать. Создать ссылка на файл и с работать с этой ссылкой. Far manager может их создавать (Alt+F6).
Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
Сообщение отредактировал OpenGOO - Четверг, 04 Февраля 2016, 15:54 |
|
| |
zzzzza | Дата: Четверг, 04 Февраля 2016, 19:56 | Сообщение # 4 |
участник
Сейчас нет на сайте
| Qvant, я думал об этом, но не захотел так делать, потому что обратиться к файлу гораздо легче, чем передать данные. Ну, скорее всего, я так и сделаю. Спасибо) OpenGOO, Этот вариант точно не для меня, но все равно спасибо за ответ.
|
|
| |