#include "module/main.hsp"
rpg_generator_init
ゲームが起動します。
詳しくは"sample.hsp"をご覧ください。
#module
;命令を記述
#deffunc sampleextension int p1,int p2
if p1=1{
mode=1
velocity=5
vx=velocity
vy=velocity
if p2=0:n=10:else:n=p2
count=n
timecount=1
cc=0
}
if p1=0:mode=0: timecount=0
return
#deffunc sampleextension_draw
if mode=0:return
pos cx,cy
gmode 3,0,0,128
color 255,0,0
grect cx,cy,1.0*c/10.0+3.141*2/3,32,32
color 0,255,0
grect cx,cy,1.0*c/10.0,32,32
color 0,0,255
grect cx,cy,1.0*c/10.0-3.141*2/3,32,32
return
#deffunc sampleextension_draw2
if timecount=0:return
if timecount=2{
pos 10,10
gmode 3,,,128
color 0,0,0
grect 300+20,25+10,0,600,50
color 255,255,255
pos 250,10
font gettextfontname(),50,gettextfonttype()
mes "TIME UP"
return
}
pos 10,10
gmode 3,,,128
color 0,0,0
grect 500+65,25+10,0,130,50
color 255,255,255
pos 500,10
font gettextfontname(),50,gettextfonttype()
mes ""+strf("%02d",count/60)+":"+strf("%02d",count\60)
return
#deffunc sampleextension_task
if mode=1{
cx+=vx
cy+=vy
c+=2
if cx<0:vx=velocity
if cy<0:vy=velocity
if cx>WINX:vx=-velocity
if cy>WINY:vy=-velocity
}
if timecount=1{
cc++
if cc\50=0:count-=1:commonsound"select"
if count=0{
timecount=2
}
}
if timecount=2{
ccc++
if ccc>=150{
timecount=0
}
}
return
#deffunc sampleextension_setlabel
;ラベル登録命令です。
;ここで、ラベルを登録しておくと、アクションが呼び出された時などに指定したラベルにジャンプします。
newextensionlabel
i=stat
setextensionlabel i,0,*set;ゲーム起動時に呼び出される
setextensionlabel i,1,*task;各フレーム(20ms)ごとに呼び出されるタスク
setextensionlabel i,2,*state;命令を呼び出すとき
setextensionlabel i,3,*draw;描画時に呼び出される(マップチップ、オブジェクトの次に呼び出される)
setextensionlabel i,4,*draw2;描画時に呼び出される(draw1よりも手前に描画される)
setextensionlabel i,5,*exit;アクション終了時に呼び出される(終了処理をしない場合は呼び出されない)
setextensionlabel i,6,*warp;マップ移動時に呼び出される
setextensionlabel i,7,*actionatart;すべてのアクション開始時に呼び出される
setextensionlabel i,8,*load;セーブデータ呼び出し
labellist_saveextension_set i,"sample";セーブデータ拡張機能認識タグの登録
setextensionlabel i,9,*save;セーブデータ書き込み
setextensionlabel i,10,*exit2;アクション終了時に呼び出される
return
*set
dialog"サンプル拡張機能が初期化されました。"
return
*task
sampleextension_task
return
*draw
sampleextension_draw
return
*draw2
sampleextension_draw2
return
*exit
mode=0
return
*actionatart
return
*exit2
return
*warp
return
*load
//ロード時に1回だけ呼び出される(バージョン1.55で仕様変更)
newmod buf_savedataextension ,mod_loadxml, RG_SAVEDATA_LOADTEXT;セーブしたXMLデータがこの変数に代入されている
xmls buf_savedataextension,"data"
xmltag "id",t
dialog "id="+int(t.0)+"\ndata="+xmlt();読みだして表示
xmld
return
*save
data=" <sample>\n";認識用タグ
data+=" <data id=\"0\">TESTSAVEDATA</data>\n"
data+=" </sample>\n"
save_addsavedatatext data;セーブデータにXMLデータを追加する
return
*state
;アクション命令時に呼び出される
;RG_SCRIPT_STATEMENT命令名が代入される。設定した命令と一致している場合のみ呼び出されるように記述する
;RG_SCRIPT_NEXT
;param1〜param8 パラメーターが代入される
;RG_SCRIPT_RV=stat アクション命令の戻り値を代入するときは代入する
if RG_SCRIPT_STATEMENT="sampleextension":sampleextension int(param1),int(param2):RG_SCRIPT_NEXT
return
#global
;初期化命令
#ifdef EXTENSION_INIT
;初期化命令はこの中に記述する
sampleextension_setlabel
#endif
このアーカイブ内のソースコードの著作権は一部を除いてSekiSekkiにあります。
"commonmodule"内のソースコードの一部には、SekiSekki以外のソースコードがあります。
そのコードの再配布等はその作者のライセンスに従ってください。
SekiSekkiのソースコードについては、ゲーム制作もしくはその支援に関することならば、
著作権情報を変更しない限り連絡なしで自由に改変、再配布してかまいません。
このとき、著作権情報の後に第3者による改変をしたことを何らかの形で示してください。
それ以外の場合は事前に連絡して許可をとってください。
改変したソースコードをコンパイルしてできたデータ(実行ファイル)についても同様です。