2017年1月19日

AIRNovel用DB参照プラグイン完成

ゲーム作成の第一歩として、プラグインを作っていたのですが、できました。
もうちょっと具体的なエラーメッセージを出してくれないかと、格闘しつつおよそ10日、DBに格納されているデータを参照するプラグインができました。

RPGを作成しようとしているわけで、敵のデータなんかをDBに入れておきたかったんですよね。
ちょっと英語版も考えていて、テキストを全てDBに格納しておこうかな、なんてのも思っているのです。
最初は、参照するだけのつもりだったのですが、エラーと格闘中に色々試していて、その結果、書き込み対応できました。

AIRNovelでDB参照したいという方って、いらっしゃるのでしょうか。
需要が自分だけだと思うので、公開する予定はないのですが、使いたいという方がいらっしゃいましたら、ご連絡ください。

[getDB DB=データベース名 table=テーブル名 select=抽出カラム where=抽出条件]
で「DB.(テーブル名).(カラム名)(通し番号)」という変数に抽出結果を代入します。

次のようなDBで、

こんなスクリプトを実行すると、

こうなります。

DB作成には、SQLite SorcererというAIRアプリを使用しました。

書き込みする場合は、
[setDB DB=データベース名 text=命令]
で。上級向けです。

---2017/1/22追記
下記の件、アプリからサーバー上のDBを直接操作するのは無理そうです。
そこをなんとかできないことには無理そうです。
一旦、ダウンロードして、書き換えたのをアップロードして、というのは考えたのですが、選択ダイアログが開くんですよね。---

自サイトで販売からする場合、独自プロテクトができるんじゃなかろうか、なんて思ってます。
販売時、メールアドレスをDB格納(PHPとか)
初回起動時、ゲーム画面はメールアドレスとキー入力欄。ブラウザ起動(AIRNovel)
ブラウザで、メールアドレス入力。チェックとキー発行(DB記録)、キーはメール送信。(PHPとか)
ゲーム画面でこの二つを入力してもらって、一致チェック。発行済みチェックしてDB記録。チェック完了とMACアドレスをsys:変数で保存。(AIRNovel)
次の起動からはチェック完了済みでMACアドレスと保存したMACアドレスが同じなら起動、そうでなければ認証やり直し。
という感じで。

キーを毎回発行して、使用チェックするのは、メールアドレスとキーがセットであれば起動できるのを防ぐため。このメールアドレスとキーでいけるよ、という流出を防ぐ。
MACアドレスの一致チェックはセーブファイルごと流出すれば、そのセーブファイルで解除できてしまうのを防ぐため。
キーの再発行はできるようにしておかないと、PCの買い換えに対応できないから。
キーの有効期限を作ると、もうちょっと厳しくできるかな。
なんて考えてます。


その前に、暗号化キーありのDBに接続できる仕組みを入れた方がいいですね……。
---2017/1/22追記
暗号化対応はできました。---

にほんブログ村 ゲームブログ ゲーム制作へ

0 件のコメント:

コメントを投稿