日記ちょう

つらつら書きなぐります

NS2のスクショ付きセーブデータのスクリプト

20151101load画面
とりあえず、1ページだけ(でも16個ある)スクショ付きセーブデータです。
画像はあとでのせるということで……。

@sin_saveload
getscreenshot "save"
bresize "save",120,90

@sin_sl_01
spset "data",10

if issave==0 then
sp "data:bg",{name="sin_system\config\load_bg.png",x=0,y=0,z=1000}
else
sp "data:bg",{name="sin_system\config\save_bg.png",x=0,y=0,z=1000}
endif

%x=0
%y=0
for %0=1 to 16
%b=STR(%0)
%a="data:"+%b
sp %a,{name="*g120,90,#FF000000,#FFFFFFFF,0,0",x=40+170*%x,y=70+120*%y,z=140} ;■画像変更可能
flag=schk(%0)
if flag==1 then
sp %a,{name="savedata\"+%b+".png",x=40+170*%x,y=70+120*%y,z=10}
savetime %0,%year,%month,%day,%hour,%min,%sec
; %str="?"+strf("%4d",%year)+"/"+strf("%02d",%month)+"/"+strf("%02d",%day)+" "+strf("%02d",%hour)+":"+strf("%02d",%min)+":"+strf("%02d",%sec)
%str="?"+strf("%4d",%year)+"/"+strf("%02d",%month)+"/"+strf("%02d",%day)+" "+strf("%02d",%hour)+":"+strf("%02d",%min)
%c="data:c"+%b
sp %c,{name={%str+",save0"},x=40+170*%x,y=170+120*%y,z=150}
endif
%x=%X+1
if %x==4 then %x=0 : %y=%y+1
next

print #c
@sin_sl
btnclear "data"

for %0=1 to 16
%b=STR(%0)
%a="data:"+%b
btn %a
next
@sin_sl_loop
btnexec %ret,"data"

if %ret==#r then bdelete "save" : spsetdelete "data" : return ;■いろいろ削除して元に戻る

;okbox %ret,"保存確認"

for %0=1 to 16
ret=STR(%0)
if %ret==ret then
i=num(%ret)
%i=STR(i)
if issave==0 then
;yesnobox %ret,"ロードしますか?","ロード確認"
gosub @sin_load_ka
if a==1 then
ii=schk(i)
;%ret=STR(ii)
;okbox %ret,"保存確認"
if ii==1 then
load i
else
goto @sin_sl_01
endif
endif
else
gosub @sin_load_ka
if a==1 then
save i
gosub @sin_sl_syori
else
goto @sin_sl_01
endif
endif
goto @sin_sl_01
endif
next


goto @sin_sl_loop



@sin_sl_syori
%a=STR(i)
savename="savedata\"+%a+".png"
bsave "save",savename ;ゲームのスクショを保存する
return

bdelete "save" ;■データ画面から出るときに消す
return

@sin_load_ka
;sp "data:bg_ka",{name="sin_system\config\load_ka.png",x=0,y=0,z=100}
if issave==0 then
sp "data:bg_ka",{name="sin_system\config\load_ka.png",x=0,y=0,z=100}
else
sp "data:bg_ka",{name="sin_system\config\save_ka.png",x=0,y=0,z=100}
endif
sp "data:se1",{name={"sin_system\config\config_0.png","sin_system\config\config_sel.png"},x=305,y=272-15,z=10}
sp "data:se2",{name={"sin_system\config\config_0.png","sin_system\config\config_sel.png"},x=440,y=272-15,z=10}
print #c
@sin_load_ka_loop
btnclear "data"
btn "data:se1"
btn "data:se2"
btnexec %ret,"data"
if %ret=="se1" then a=1 : gosub @sin_data_delete : return
if %ret=="se2" then a=0 : gosub @sin_data_delete : return
goto @sin_load_ka_loop

@sin_data_delete
spdelete "data:bg_ka"
spdelete "data:se1"
spdelete "data:se2"
print #c
return

最後のほう、ちょっと自分でも何かいているのかわからなくなりましたが、まあ、とりあえずオンラインメモということで。
ちょっとだけ、NScripter2のサンプルから借用しています。
えーと、いいのか悪いか確認していないのでそこだけは自力でといてみてくださいといいつつ、自作部分は参考にしてみてください。と言いつつそのまま使って問題ないですです。
スポンサーサイト
  1. 2015/11/01(日) 17:31:42|
  2. NScripter2
  3. | トラックバック:0
  4. | コメント:0