「exeファイルと同じ階層に並べたくはない」というのは、
test_game.exe └scenario ├en └ja └test01.txt
という形式でtest01.txtなどを置きたくないということなのでしょうか?
データファイルを読み込むために使う「file_text_open_read(file_path)」などは、ゲームオプション設定で保存場所として設定した場所なら読み書きできます。 Windowsの場合は、「%localappdata%<ゲーム名>」「%appdata%<ゲーム名>」か選べる様になっているので、そのフォルダ以下にファイルやフォルダがあれば読み込むことができます。
%localappdata%<ゲーム名> └scenario ├en └ja └test01.txt
fname = "scenario\\ja\\test01.txt"; fh = file_text_open_read(fname); text01 = file_text_read_string(fh);
とすれば、localappdataのゲーム名フォルダ以下にあるファイルを読み込むことができます。
exeファイルと同じ階層に並べたくはないという要望があった場合、私ならlocalappdataなどにシナリオの言語リソースを入れます。 そのまま中身が見える問題は、暗号化や難読化したりすれば良いと思います。
localappdataなどにファイルをどうやって置くかは、インストーラーなどでファイルをコピーするなどが考えられます。
GameMaker標準機能でインストーラーを作る場合、「NSIS(Nullsoft Scriptable Install System)」というインストーラー作成システムを使用しています。 ゲームオプション設定でインストーラーを作るためのNSIS用スクリプトを指定できるので、標準状態の(NSIS用スクリプト)設定から変えることで、好きなファイルを好きな場所に入れることができます。 NSIS用スクリプトは、インストーラーの持っているファイルをどこにコピーする、といった様なスクリプトになっています(他にもいろいろなことができます)ので、NSISの公式サイトのマニュアルやgoogleなどで検索すれば、設定スクリプトの書き方が出てきます。
しかし、好きなところにコピーできたとしても、上記しましたが、GameMaker製のゲームから見える世界は、ゲーム自身があるフォルダ、ゲームオプション設定で選んだ「%localappdata%<ゲーム名>」か「%appdata%<ゲーム名>」しかないので、それ以外のフォルダにファイルを入れても読み込むことはできません。
不適切なコンテンツとして通報するには以下の「送信」ボタンを押して下さい。 管理チームへ匿名通報が送信されます。あなたが誰であるかを管理チームに特定されることはありません。
どのように不適切か説明したい場合、メッセージをご記入下さい。空白のままでも通報は送信されます。
通報履歴 で、あなたの通報と対応時のメッセージを確認できます。
マニュアル(ver2~2.2.x) マニュアル(ver2.3~) YoYoGames YoYoGames 公式コミュニティ GM関連のYoutubeチャンネル集 解説・資料サイト集(日本語) 解説・資料サイト集(英語)
「exeファイルと同じ階層に並べたくはない」というのは、
test_game.exe
└scenario
├en
└ja
└test01.txt
という形式でtest01.txtなどを置きたくないということなのでしょうか?
データファイルを読み込むために使う「file_text_open_read(file_path)」などは、ゲームオプション設定で保存場所として設定した場所なら読み書きできます。
Windowsの場合は、「%localappdata%<ゲーム名>」「%appdata%<ゲーム名>」か選べる様になっているので、そのフォルダ以下にファイルやフォルダがあれば読み込むことができます。
%localappdata%<ゲーム名>
└scenario
├en
└ja
└test01.txt
とすれば、localappdataのゲーム名フォルダ以下にあるファイルを読み込むことができます。
exeファイルと同じ階層に並べたくはないという要望があった場合、私ならlocalappdataなどにシナリオの言語リソースを入れます。
そのまま中身が見える問題は、暗号化や難読化したりすれば良いと思います。
localappdataなどにファイルをどうやって置くかは、インストーラーなどでファイルをコピーするなどが考えられます。
GameMaker標準機能でインストーラーを作る場合、「NSIS(Nullsoft Scriptable Install System)」というインストーラー作成システムを使用しています。
ゲームオプション設定でインストーラーを作るためのNSIS用スクリプトを指定できるので、標準状態の(NSIS用スクリプト)設定から変えることで、好きなファイルを好きな場所に入れることができます。
NSIS用スクリプトは、インストーラーの持っているファイルをどこにコピーする、といった様なスクリプトになっています(他にもいろいろなことができます)ので、NSISの公式サイトのマニュアルやgoogleなどで検索すれば、設定スクリプトの書き方が出てきます。
しかし、好きなところにコピーできたとしても、上記しましたが、GameMaker製のゲームから見える世界は、ゲーム自身があるフォルダ、ゲームオプション設定で選んだ「%localappdata%<ゲーム名>」か「%appdata%<ゲーム名>」しかないので、それ以外のフォルダにファイルを入れても読み込むことはできません。