起動してフォルダを選んだら24行目で「パラメータの型が違います」が出て、
もう一度起動したら32行目で「ファイルが見つからないか無効な名前です」が
出たのですが。
とりあえずやりたいことを推測した上でエラーの出る場所を修正し、
さらに問題の「保存できない」件の原因と思われる部分も修正しました。
修正した問題点は(エラーの出る場所の他に)2つ。
1)このスレッドの最初の書き込みのコードだと
「putの内容を保存した次の瞬間に、改行コード一つしか無いasの内容で
上書きしてしまい、putの内容は保存されずじまい」
という流れになってしまいます。
2)また、chdirでカレントディレクトリをdeltaに
移動させたままなので、ファイルが保存されるフォルダも
deltaになってしまっています。
(本来ならプログラムがあるフォルダに保存するべきなのに)
これらの問題点に対処しました。
#include "hspext.as"
#include "ovplay.as"
title "簡易版DELTA!BGM"
ov_init 44100,2,16,64
d=dir_cmdline
if d="" : fname="DELTA!BGM_config.dbc" : else : fname=d
exist fname
if strsize=-1 : goto *deltarune
notesel delta
noteload fname
if delta="":goto *deltarune
goto *bgm
*deltarune
delta=""
selfolder delta,"DELTARUNE(Chapter 1 & 2 DEMO)の中のmusフォルダを指定してください"
if stat : end
notesel delta
notesave fname
*bgm
onexit gosub *exit
list2="" : notesel list2
exist "DELTA!BGM_oki.dbo"
if strsize=-1 : notesave "DELTA!BGM_oki.dbo" : else : noteload "DELTA!BGM_oki.dbo"
list=""
put=""
home=dir_cur //カレントフォルダを記憶
chdir delta
screen 1,300,100
title "DELTA!BGM - 曲一覧"
dirlist list,"*.*"
mesbox list,300,100,0
screen 2,300,100
title "DELTA!BGM - お気に入り"
mesbox list2,300,100,0
gsel 0
mes "再生したい曲を入力してください"
input put,100,20
button gosub "再生",*play
button gosub "お気に入り登録",*oki
stop
*play
ov_stop 0
ov_load put,0,GF_BGM
ov_loop 0
title "簡易版DELTA!BGM - "+put
return
*oki
put+="\n"
notesel put
chdir home
notesave "DELTA!BGM_oki.dbo"
chdir delta
return
*exit
dialog "終了しますか?",2,"DELTA!BGM - \(^o^)/オワタ"
s=stat
if s=6:end:else:return