#netinclude

インターネットを使用してGitHubからモジュールをダウンロード

#netinclude "module_name"/,p1,p2,p3

"module_name"/ : "モジュール名文字列"/
p1(省略可) : globalキーワード
p2(省略可) : ネットページ抽出用 "正規表現文字列"
p3(省略可) : NKF変換/HTMLデコード オプション

(プラグイン / モジュール : mod_netinclude)

解説

p1で指定したモジュールがカレントフォルダに存在しない場合、GitHubからダウンロードします。
すでにモジュールがダウンロードされている場合は#includeされます。
p1モジュール名文字列の末尾には必ず / (スラッシュ) を記述してください。

HSP3NetModulesデータベースに登録してあるモジュールはGitHubのURLの一部を省略して「net/」と書くことで利用できます。
#netinclude "net/ObjPosMod.hsp"/

HSP3NetModulesデータベースに登録されていないものもリポジトリ名まで入力することでダウンロードできます。
#netinclude "MIZUSHIKI/HSP-Module/master/ObjPosMod.hsp"/
(https://raw.githubusercontent.com/MIZUSHIKI/HSP-Module/master/ObjPosMod.hsp : GitHub-RawファイルURL)

HSP3NetModulesデータベースに何が登録されているかは netinclude_GetData で確認できます。
また、netinclude_PostModule命令で誰でも自由にデータベースにモジュールを登録することが可能です。

p1に『global』(『g』のみでも良い)と記述するとカレントフォルダでなくcommonフォルダにモジュールをダウンロードします。

また、"モジュール名文字列"にネットのページを指定することができます。
さらに、p2に"正規表現文字列"を指定することでページの一部を切り出してファイルとして保存、そのまま利用することが出来ます。
・『https://』の「:」はファイル名に使えないので『https/』に置き換えてください。
・「?」はファイル名に使えないので大文字の「?」に置き換えてください。
・URL末尾に「#/モジュールファイル名」と書くのがオススメです。

【 例 】
#netinclude "https/suwa.pupu.jp/HSP/modules/mod_HighDpi_kakkokari.hsp"/

#netinclude "http/hsp.tv/play/pforum.php?mode=pastwch&num=18983#/sample_PreventMultiple.hsp"/, , "<pre(?![\s\S]*<pre[\s\S]*?WM_USER_DUPEXEC[\s\S]*?</pre)>([\s\S]*?WM_USER_DUPEXEC[\s\S]*?)</pre", "EsD"

p3オプションは nkfcnv のオプション値と同じものです。文字コードの指定が必要な場合に使用してください。
隠しオプションとして "D" を指定することができHTMLエンティティ(#quot;等)の展開と<br>の改行化を行えます。

p2正規表現のカンマ前にのみ改行を入れられます。文頭に「;」か「//」を入れてコメントアウトしてください。コメントになっていても netinclude はこの行を認識/処理しています。
#netinclude "http/hsp.tv/play/pforum.php?mode=pastwch&num=18983#/sample_PreventMultiple.hsp"/,
; , "<pre(?![\s\S]*<pre[\s\S]*?WM_USER_DUPEXEC[\s\S]*?</pre)>([\s\S]*?WM_USER_DUPEXEC[\s\S]*?)</pre", "EsD"

"モジュール名文字列"ではzip等の圧縮ファイルとその中のモジュールを指定することもできます。
・「!/」の手前にzipのURL、後ろにzip内のモジュールファイルまでのパスを書いてください。
・zipがダウンロード、展開されます。展開したフォルダ名称は「〜.zip!」になります。

【 例 】
#netinclude "https/suwa.pupu.jp/data/ObjectPosModule_v20.zip!/ObjPosMod.hsp"/


※ 注意点

サンプル

#include "mod_netinclude.hsp"

#netinclude "net/ObjPosMod.hsp"/

//【下記は裏技】#netinclude後に、この2行があれば複数行コメントが使えるようになります(「* /」の真ん中の空白は消してコメントアウト末尾の形に直してください)
#undef  netinclude* /
#ifndef netinclude

関連項目

#netuselibインターネットを使用してGitHubからdllをダウンロード(mod_netinclude)
netinclude_GetDataHSP3NetModulesデータベースに登録されているモジュール情報を表示(mod_netinclude)
netinclude_PostModuleHSP3NetModulesデータベースにモジュール情報を登録(mod_netinclude)
netinclude_DeleteModuleHSP3NetModulesデータベースからモジュール情報を削除(mod_netinclude)

サンプル逆引き (8)

1. timer_repeatモジュール.hsp#include "../mod_netinclude.hsp" 制限 : メインスクリプト内で 複数行コメン..
2. timer_repeatモジュール (ダウンローダ付).hsp#include"hspinet.as" 生成後のフォルダでnetincludeが利用できます [生成後ダウン..
3. a2d+AlphaLayerモジュール.hsp#include "../mod_netinclude.hsp" #netinclude "net/a2d+A..
4. a2d+AlphaLayerモジュール (ダウンローダ付).hsp#include"hspinet.as" 生成後のフォルダでnetincludeが利用できます [生成後ダウン..
5. globalオプション(GIFアニメ表示 - timer_repeat, AlphaLayer).hsp#include "../mod_netinclude.hsp" #netinclude "net/a2d+A..
6. ネットページのモジュールを抜粋.hsp#include"hspinet.as" 生成後のフォルダでnetincludeが利用できます [生成後ダウン..
7. netuselib - zipの中身(dll,as)を指定.hsp#include"hspinet.as" 生成後のフォルダでnetincludeが利用できます [生成後ダウン..
EX.【ミニゲーム】Floppy-Word【アルファレイヤー/タイマーリピートをnetinclude】.hsp#include "../mod_netinclude.hsp" #packopt name "Floppy-..

情報

プラグイン / モジュールmod_netinclude
バージョン4.0
作成日2024/2/13
著作者MIZUSHIKI
URLhttps://github.com/MIZUSHIKI/HSP-Module
備考mod_netinclude.hspをインクルードすること。
タイプ拡張命令
グループプログラム制御命令
対応環境・Windows 版 HSP