WOLF RPGエディター(ウディタ)[3.175]/イベントコマンド【サイトトップへ戻る】
■ダウンロード
(更新:2023/04/24)


イベントコマンド【ダウンロード】について解説します。



ショートカット
■イベントコマンド【ダウンロード】とは?
■ダウンロードを使用する際の注意点
■システム変数・システム文字列の一覧
■設定画面の説明:URL
■設定画面の説明:POST送信
■設定画面の説明:保存フォルダ
■設定画面の説明:格納先の文字列変数
■隠し機能


  
■イベントコマンド【ダウンロード】とは?

【ダウンロード】はサーバーとのデータのやり取りを行う時に使います。



主に作品のバージョンアップデータをダウンロードや、
「CGI」と呼ばれるネット上に置かれたプログラムにアクセスして、
作品内のタイムアタックのランキングを受信・送信するような使い方をします。

CGIやサーバーは自力で用意する必要があります。



連続的なアクセスを行うと自動的にウェイトがかかる仕様になっているため、
ネット対戦ゲームなどは基本的に「出来ない」と考えた方が良いでしょう。



【ダウンロード】を使用するには、
エディターオプション」の[上級者向けコマンドを使用する]にチェックを付けてください。
【「エディターオプション」の説明を開く】



【ダウンロード】を使用するには、ウディタの知識だけでなく、
ネットに関する知識(ファイルがダウンロードされる仕組み)なども必要であるため、
扱いが難しい」と言う事で「上級者向け」になっています。


▲トップへ戻る▲


  
■ダウンロードを使用する際の注意点

【ダウンロード】を使う前に事前にダウンロードするファイルをネットサーバー上に置いておく必要があります。

近年では、ファイルをアップロードしてネット上にファイルを置き、
それを第三者がダウンロードできるサービスを提供している所が色々とありますが、
そのファイルをダウンロードするサービスの全てが【ダウンロード】で使える訳ではありません。

以下は【ダウンロード】では使用できない一例です。

▼「http://yado.tk/graphic.png」のように固定のURLが設定できない場合

ネット上の[ダウンロード]のボタンをクリックしないとダウンロードができなかったり、
「5分以内にダウンロード」などと制限時間があったり、
パスワードを入力する必要がある場合は【ダウンロード】では使用できません。
▼利用制限が厳しい場合

サーバー上にファイルが置ける期間が短かったり、
ダウンロードできる回数が決まっていたり、
指定された一日の転送量や負荷量を超えるとダウンロードができなくなるなど、
ダウンロードに関して何らかの制限がかかっている場合があります。
中にはファイルをダウンロードするような使い方を禁止しているサーバーもあります。



【ダウンロード】の設定方法が悪いと、うまくバージョンアップが出来なかったり、
何度もダウンロードを実行してしまう事があります。

ダウンロードはネットサーバーへの負荷がかかるため、あまり頻繁にアクセスするのは好ましくないです。



なお、作品のバージョンアップの場合、【ダウンロード】を使わなくても、
ネット上に公開した作品データを新しい作品データに置き替えてプレイヤーには再びゲームをダウンロードしてもらい、
上書き保存で新しい作品データに書き換えれば、作品のバージョンアップができます。

セーブデータに関しては「ゲームの基本設定」の「ゲーム名:メイン」のタイトル名を変えなければ引き継ぎが可能です。
【「ゲームの基本設定」の説明を見る】



設定する文字列に半角「&」「=」が含まれる場合は、
【文字列操作】の「置換」で全角の「&」「=」に換えたり、削除したりした方がセキュリティ的に安全です。



1分以内に連続で接続した場合は、数秒のウェイトが発生します。

※このウェイトはプロ版では発生しません。


▲トップへ戻る▲


  
■システム変数・システム文字列の一覧

【ダウンロード】に関連する「システム変数」「システム文字列」の一覧です。

変数名をクリックすると詳細情報を見る事ができます。

【システム変数・システム文字列の説明ページを見る】

システム変数 説明
43:[読]ネット/DL済サイズ(byte)
44:[読]ネット/DL予定サイズ(byte)[不明なら-1]
45:[読]ネット/接続速度
46:[読]ネット/接続時間(秒)
47:[読]ネット/残り時間(秒)
48:[読]ネット/状態 -1失敗 0通信中 1終了
【ダウンロード】で使用。

システム文字列 説明
20:Proxy アドレス[例:aa.net]
21:Proxy ポート番号[例:80]
【ダウンロード】で使用。


▲トップへ戻る▲


   
■設定画面の説明:URL



接続先のURLを設定してください。



特殊文字「\s[]」を使って文字列変数でURLを設定する事もできます。
【特殊文字の説明を見る】

【イベントコード表示】

■文字列操作:S1[] = "http://yado.tk/graphic.png"
■ダウンロード:URL[ \s[1] ] 保存先[ Data/ ]



オプション 説明
URLエンコードして送信[クエリのみ] URLの「?」以降の文字列をURLエンコードして接続します。
日本語文字が「あ」→「%E3%81%82」のように変換されます。
アルファベット、数字、記号「*」「.」「-」「_」「&」「=」は変換しません。
SJIS変換する SJIS(他の言語ならそれぞれのマルチバイト文字コード)で送信します。
チェックが無い場合は「UTF-8」で送信します。


▲トップへ戻る▲


  
■設定画面の説明:POST送信



サーバープログラムにPOST送信します。

POST送信は、主に大きなデータをサーバーに送信する時に使います。



オプション 説明
URLエンコードして送信 URLエンコードして接続します。
日本語文字が「あ」→「%E3%81%82」のように変換されます。
アルファベット、数字、記号「*」「.」「-」「_」「&」「=」は変換しません。
SJIS変換する SJISで送信します。
チェックが無い場合は「UTF-8」で送信します。


▲トップへ戻る▲


  
■設定画面の説明:保存フォルダ



ダウンロードしたファイルをどこに保存するのかを設定します。



文字列の設定に「//」「\\」「..」「./」「.\」「%」「:」「*」「?」「"」「<」「>」「|」が含まれていると、
エラーが発生します。



特殊文字「\s[]」を使って、文字列変数で保存先を設定する事もできます。

【イベントコード表示】

■文字列操作:S1[] = "Data/Picture/"
■ダウンロード:URL[ http://yado.tk/graphic.png ] 保存先[ \s[1] ]



保存フォルダのアドレスで「Data/Picture/」と言ったように、最後に「/」が付いている場合は、
ダウンロードした時のファイル名でそのフォルダーに保存されます。

例えば…
【イベントコード表示】

■ダウンロード:URL[ http://yado.tk/graphic.png ] 保存先[ Data/Picture/ ]
の場合は、フォルダー「Picture」の中に「graphic.png」が保存されます。



Data/Picture/abc.png」と言ったように、最後に「/」が付いていない場合は、
「/」がある所までがフォルダー名、「/」より後ろが保存するファイル名になります。

例えば…
【イベントコード表示】

■ダウンロード:URL[ http://yado.tk/graphic.png ] 保存先[ Data/Picture/abc.png ]
の場合は、フォルダー「Picture」の中に「abc.png」のファイル名で保存されます。



[保存しない]にチェックを入れた場合は、ダウンロードしたファイルは保存されません。

例えば、ファイルを保存せず、文字列変数にダウンロードしたデータを取得するだけの場合は、
この[保存しない]にチェックを入れてください。


▲トップへ戻る▲


  
■設定画面の説明:格納先の文字列変数



ダウンロードしたデータを保存する文字列変数を設定します。

文字列変数に保存しない場合は、「<変数に格納しない>」を設定してください。



オプション 説明
SJIS文字列を受信 Shift_JISの文字列として受信します。
ダウンロード完了までウェイト ダウンロードが完了するまで、
このイベントコマンドの位置で処理が停止します。



プロ版では以下の2つの機能が使えるようになります。

設定名 説明
[Pro] DLしたZipを解凍後、消去 Zip形式のファイルをダウンロード後に解凍し、
ダウンロードしたデータを削除します。
[Pro] URLをブラウザで開く ブラウザを起動し、指定したURLのページを開きます。


▲トップへ戻る▲


  
■隠し機能

▼次回起動時にアップデート

保存フォルダーの位置を「Data/_NetDownloadData/」にすると、
そのフォルダ内に入れたデータが次のゲーム起動時に「Data」のフォルダー内に移動し、反映されます。
※同名のファイルがある場合は上書きになります。



次のゲーム起動時にフォルダー「_NetDownloadData」の中のデータが移動したあとは、
フォルダー「_NetDownloadData」は自動的に削除されます。



▼通信の強制切断

【イベントコード表示】

■変数操作: Sys48:[読]ネット/状態 -1失敗 0通信中 1終了 = -1 + 0

この設定を実行すると、通信を強制終了させる事ができます。

但し通信途中のファイルが残る場合はあり、あまり強制切断は推奨されていません。



▼POST送信時のContent-Typeを変更する

POST送信で「<<CONTENT>>●●<<CONTENT_END>>」を入れると
送信時のContent-Typeヘッダを●●部分で上書きすることができます。

相手側のサービスの仕様に合わせてContent-Typeを変えて送信する必要がある場合にご利用ください。

▼入力例
<<CONTENT>>application/json<<CONTENT_END>>〜POST内容〜

Content-Typeが「application/json」として送信。

※デフォルトでは「<<CONTENT>>application/x-www-form-urlencoded<<CONTENT_END>>」が入っているのと
 同じ処理が行われています。

※「<<CONTENT>>〜<<CONTENT_END>>」の部分は送信時に削除されます。




▼「http(s)://localhost」の接続では連続接続によるウェイが増加しない

「http://localhost:〜」や「https://localhost/〜」などから始まる接続先URLが自分である場合は、
連続接続時のウェイトが増加しません。

※「localhost」と全く同じ意味ですが「http://127.0.0.1」という表記では効果が適用されません。
 「127.0.0.1」の部分を「localhost」に書き替えてご利用ください。



▲トップへ戻る▲



◎関連ページ

◆「イベントコマンド」って何?
┣◆文章の表示
┃┗◆特殊文字
┣◆選択肢
┃┗◆【使用例】選択肢
┣◆変数操作
┃┗◆演算子について
┣◆DB操作
┣◆文字列操作
┃┗◆【使用例】文字列操作
┣◆変数操作+
┃┣◆「X座標・Y座標」と「画面X座標・画面Y座標」の違い
┃┣◆【使用例】変数操作+の「キャラ」と「位置」
┃┗◆【使用例】変数操作+の「ピクチャ」と「その他」
┣◆条件(変数)
┣◆条件(文字列)
┣◆キー入力
┃┗◆【使用例】キー入力
┣◆ピクチャ
┃┗◆表示形式(通常・加算・減算・乗算)について
┣◆エフェクト
┃┗◆【使用例】エフェクト
┣◆サウンド
┣◆セーブ・ロード操作
┣◆パーティ画像
┣◆チップ処理
┃┗◆【使用例】チップ処理
┣◆場所移動
┣◆イベント制御
┃┣◆キャラクターの動作指定
┃┗◆【使用例】イベント制御
┣◆コモンイベント
┣◆ダウンロード
┗◆プロ版機能

YADOT-WOLFトップ  気紛れな空間へ戻る  メール