#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以外の著作物があります。
当該著作物の利用条件はその著作者の規約・ライセンス等が適用されます。
・ロープレジェネレーター ソースコード(別途著作権表示のあるコード等を除く) 当ソースコードのライセンス表示は以下のとおりです。 ライセンスは3条項BSDライセンスに相当します。 (凡例: #著作権表示 *本条件 +免責条項) ----------------------------------------------------------------------- # Copyright (c) 2020,SekiSekki All rights reserved. ソースコード形式かバイナリ形式か、変更するかしないかを問わず、 以下の条件を満たす場合に限り、再頒布および使用が許可されます。 * ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、 および下記免責条項を含めること。 * バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の資料に、 上記の著作権表示、本条件一覧、および下記免責条項を含めること。 * 書面による特別の許可なしに、本ソフトウェアから派生した製品の宣伝または 販売促進に、SekiSekki(SekiSekki.net)の名前またはコントリビューターの名前を 使用してはならない。 + 本ソフトウェアは、著作権者およびコントリビューターによって「現状のまま」 提供されており、明示黙示を問わず、商業的な使用可能性、および特定の目的に対する 適合性に関する暗黙の保証も含め、またそれに限定されない、いかなる保証もありません。 著作権者もコントリビューターも、事由のいかんを問わず、 損害発生の原因いかんを 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その他の)不法行為で あるかを問わず、仮にそのような損害が発生する可能性を知らされていたとしても、 本ソフトウェアの使用によって発生した(代替品または代用サービスの調達、 使用の喪失、データの喪失、利益の喪失、業務の中断も含め、またそれに限定されない) 直接損害、間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害について、 一切責任を負わないものとします。 -----------------------------------------------------------------------