(BACK)
13/11/7 ver3.15~6の変更点:体力増減値設定 歌詞 Tweet時の書式設定
13/10/20 ver3.12の変更点:Tweetボタン 共通設定ファイル リング装飾を拍データに書く
13/10/9 拡張機能用背景extseq2 公開
譜面コードは常に使用する本体で調べること。

作成の基本
基本的な理屈
フォーマット1・2説明
フォーマット3・4説明
特殊記述
フォーマット11説明
歌詞について
背景について
追加音
イベントモード
再起動機能
エキスパートモード作成方法
アップロードの方法

拡張機能用背景extseq2
Tweetボタン
共通設定ファイル crs_cfg.txt

注意事項

作成の基本
サリングS本体(右クリック保存)

オリジナルデータを作成するには、上のサリングS本体(crs.swf)の他に、以下のファイルを用意する。
それぞれ、ファイル名は変更できない。

bgm.mp3
演奏用音声ファイル。
mp3形式であり、サンプリングレートが11kHz/22kHz/44kHzのいずれかである必要がある。
曲の最後の0.1秒間は演奏されない。
data.txt 雛形(右クリック保存)
譜面データファイル。
テキストファイルであり、以下の形式で作成する。
は、改行である。
head=crs1
&title=データのタイトル
&music_by=作曲者名(省略可)
&data_by=データ作成者名(省略可)
&bgm_vol=音声ファイル音量(単位%)
&level1=第1譜面(EASY)の難易度(1~9)(第1譜面が無い場合不要)
&level2=第2譜面(HARD)の難易度(1~9)(第2譜面が無い場合不要)
&level3=第3譜面(MANIAC)の難易度(1~9)(第3譜面が無い場合不要)
&format=譜面フォーマット(1~4)
&start_time=演奏開始時間(秒)(譜面フォーマット2の場合不要)
&unit_time=単位時間(秒)(譜面フォーマット2の場合不要)

&seq1=
(第1譜面データ)
&seq2=
(第2譜面データ)
&seq3=
(第3譜面データ)

&lyric=(歌詞が無い場合不要)
(歌詞データ)

ヘッダ
head=crs1
1行目には必ずこの通りに記述する。

title項
music_by項
data_by項
title項は、データのタイトルである。通例として使用曲の曲名をそのまま使う場合が多い。
music_by項は、作曲者の事である。
data_by項は、データの作成者(貴方)の事である。

bgm_vol項
演奏するmp3ファイルの音量を指定する。通常100であり、単位は%。
音量は効果音の音量と合わせるようにする。

level1項
level2項
1つのデータファイルには3つの譜面を記述することが出来る。
それぞれ、level1項=第1譜面(EASY)、level2項=第2譜面(HARD)、level3項=第3譜面(MANIAC)、という名前がついている。
それぞれの譜面について、存在しないならばその項は記述しない。
存在するのならば、難易度を1~9の範囲で記述する。数が多いほど難しいという意味である。10~99の数を書く事も出来る。

リングの速度は SPEED=標準の時、EASY=遅い HARD=速い となる。

format項
譜面データは以下の形式(フォーマット)で書く事が出来る。

format=1 の時、フォーマット1で記述する。これは、1拍ずつのデータを順番に書き連ねていく形式である。途中でテンポや拍の長さが変わる曲には正しく対応できない。
format=2 の時、フォーマット2で記述する。これは、リング1つごとに絶対時間を細かく記述する形式であり、何らかの方法(ツール等)で時間の計算が出来ることが前提となっている。
format=4 の時、フォーマット4で記述する(推奨)

基本的な理屈
譜面データ作成の基本的な理屈

フォーマット1・2説明
現在、フォーマット1・2の使用は推奨されていない。
フォーマット1・2説明

フォーマット4説明
譜面データ作成の基本的な理屈

フォーマット4では1行に1小節のデータ(行データ)を記述する。

行データは以下の種類がある。
いずれにも当てはまらない行や空行は無視される。

B/12.5
このように、行の頭に半角文字で「B/」とある場合、その行は現在時間(=演奏開始時間)の指定である。
現在の時間を指定し、この時間からデータの記述を始める。
譜面データの一番最初に必要である。
何度でも指定して時間を移動出来る。

#1.512642
このように、行の頭に半角シャープ(#)がある場合、その行は小節時間の設定である。
これは1小節の長さを秒単位で記述する。1拍ではない点に注意。
この設定は何度でも行える(変更できる)。
最初の段階では小節時間は設定されていないので、最初のデータを書く前に必ず設定が必要である。

時間ではなく、BPMで小節時間を指定することも可能である。
#BPM/160
1小節が4拍(4分音符×4)の時は、このように記述する。
そうでない場合は、さらに4分音符の数を書く。
#BPM/160/3 
この例は、BPM160であり、1小節に4分音符が3つ(3拍子)の場合である。
いずれも小数が使える。
431,,431,,431,,431,,
このように、行にいくつかの半角カンマ(,)がある場合、その行は譜面データである。
1行に1小節ぶんのデータを記述する。
データ内容
3桁の数字 百の位…リングの横座標(左 1~7 右)
十の位…リングの縦座標(上 1~5 下)
一の位…リングを取った時に鳴る音の種類
  0..無音
  1..タンバリン(シャン)
  2..クラップ(パン)
  3..シンバル(ジャーン)
5桁の数字 5桁の数でさらに細かい指定をする事も出来る。
XXYYS
XX=横座標(左 10~70 右)
YY=縦座標(上 10~50 下)
S=鳴る音の種類(0~3)
-
(半角マイナス)
全く同じ時間に、リングを複数発生させる事が出来る。
リングの3桁・5桁の記述を、半角マイナス「-」で繋ぐ。

111-121-10301,431,431,431,
この例では、111と121と10301の3つは同時に現れる。
901この地点から曲の演奏を開始する
998曲をフェードアウトしつつ、この地点で曲を終了する
999この地点で曲を終了する

1小節がカンマの位置で分割される。
123,123,123,,123,123,123,,
上の例ではカンマは8つであるので、8分割される。 この1小節は8拍であり、1拍は8分音符の長さということになる。 最後のカンマより右に書いたデータは無視される。

1拍ぶんのデータを、さらに分割して記述する事も出来る。
o...o...o...o...

このようなデータを記述したい場合は、全て4分音符と考えられるので
111,111,111,111,
と書く事が出来るが、 o...o...o...vvvv このような場合、一番短い16分音符に合わせて16分割し、
111,,,,111,,,,111,,,,222,222,222,222,
のように書く必要がある。 これを、半角パイプ(「|」=BackSpaceキーの左)を使って簡略化する事が出来る。 1つの拍のデータをパイプで区切って分割する。 上の例は、このように書く事が出来る。
111,111,111,222|222|222|222,
4拍目はパイプが3つなので、4分割される。
BACK
このように、半角文字で「BACK」とある行は、1小節戻るを意味する。
以下の例では、111と222は同じ時間である。

111,,,,
BACK
222,,,,
333,,,,
COLOR/FFFF00
このように、行の頭に半角文字で「COLOR/」がある場合、その行はリングの色の変更である。
色はカラーコード「RRGGBB」形式の6文字である。次以降、現れるリングの色が変更される。

例えば黄色は、カラーコードでは「FFFF00」なので、
COLOR/FFFF00
とすれば、リングの色が黄色に変更される。

拍データに書くこともできる。
{CL/nnnnnn}
中カッコ { 〜 } で囲ってこのように書く。
同じ拍にリングを置くこともできる。

例:
431,431,{CL/FFFF00}431,431,
SIZE/1.5
このように、行の頭に半角文字で「SIZE/」がある場合、その行はリングの大きさの変更である。
2と書けば2倍となる。次以降、現れるリングの大きさが変更される。

拍データに書くこともできる。
{SZ/n}
中カッコ { 〜 } で囲ってこのように書く。
同じ拍にリングを置くこともできる。

例:
431,431,{SZ/1.5}431,431,
SPEED/2
このように、行の頭に半角文字で「SPEED/」がある場合、その行はリング速度変更である。
2と書けば2倍の速さになる。次以降、リングの速度が変更される。
これはプレイ側のリング速度の設定に、さらに変更を加えたものになる。
(SPEED1とSPEED3でプレイした時の速度2倍はそれぞれ違う速さになる)

拍データに書くこともできる。
{SP/n}
中カッコ { 〜 } で囲ってこのように書く。
同じ拍にリングを置くこともできる。

例:
431,431,{SP/2.5}431,431,

以上のリングの装飾は1つの拍にまとめて書くことも出来る。
例:
431,431,{CL/FF0000}{SZ/0.5}{SP/2.5}431,431,
/コメント行だわさ
このように、行の頭に半角文字で「/」がある場合、その行は明確にコメント行と判断され、無視される


&seq1=
B/12.5  ←現在時間を12.5秒地点とする(この設定は必ず最初に必要)
#1.5  ←ここから、1小節を1.5秒とする(この設定は必ず最初に必要)
431,431,431,431,  ←4分割されるので、4分音符×4になる
433,433,433,433,
431,,431,,432,432,432,,  ←8分音符を含むため、この行(小節)だけ8分割
133,133,133,  ←この行(小節)だけ3連符
/第2パート  ←コメント
#BPM/160  ←ここから、1小節をBPM160相当に変更
B/20  ←現在時間を20秒に再定義。次のデータは20秒目になる
431,,,,431,,,,
433,,,,433,,,,

特殊記述
フォーマット3,4では、以下の特殊な記述を使用することが出来る。

GR命令:リングの色の自動変化
GR命令は、時間と色を指定し、グラデーションのようにリングの色を変化させる。
以下の記述を拍データとして書く。

{GR/開始色/終了色/時間}

全体を中カッコ { ~ } で囲む
開始色・終了色:RRGGBB形式の6文字
時間:1小節の時間の何倍か

例:
{GR/FF0000/0000FF/1},
赤(#FF0000)から青(#0000FF)まで、今の時間から1小節かけて変化する。

これにより指定した範囲の時間にリングがある場合、自動的に色が変化する。
色は、時間の範囲によって決められ、リングの数やリングの有無とは関係ない。
同じ拍にリングを置いてもよい。
時間が終了すると、以降の色は終了色となる。

GR命令は例えば「10秒〜15秒の範囲にリングがあった場合色を変化させる」という予約であり、BACKなどで時間を戻したとしても正常に動作する。
ただし、新たにGR命令を書いた場合、前のGR命令は無効となる。
範囲内のリングに対してCOLOR/行で直接色を指定しても無効である。

GR命令の範囲が過ぎたあと、リングの色が意図しないものになる可能性がある。
その場合、リング色変更のCOLOR/行などであらためて色を指定すること。

注意
GR命令と他の命令を同じ拍に書く場合は、GR命令を最初に書くこと。
{GR/FF0000/0000FF/1}{LN/111/751/20/1/0}431,431,431,431,
GRとLNを同時に使う場合はGRが先

LN命令:リングの列配置
LN命令は、1つの直線上に連続したリングを簡単な記述で配置することが出来る。
以下の記述を拍データとして書く。

{LN/開始リング/終了リング/リング数/時間/ゆがみ}

全体を中カッコ { ~ } で囲む
開始リング・終了リング:通常通り「431」「40301」などのように書く。
この2つを結んだ直線上に配置される。
開始リングの音番号が、1つ目のリングに適用される。
終了リングの音番号が、それ以外のリングに適用される。
リング数:直線上に並べるリングの数
時間:1小節の時間の何倍かという数
ゆがみ:0ではない時、直線ではなく曲線上に配置される。後述

例:
{LN/111/751/20/0.5/1},
111(左上)から751(右下)までの線上に20のリングを1小節の半分の時間で並べる。
ゆがみ1の曲線を使う。


ゆがみとは、線がどれくらい曲がっているかという数である。
0よりも大きい時、進行方向を見て右の方向に曲がる。
0よりも小さい時、左に曲がる。
0の時普通の直線になる。
1の時、直線の時よりも最大で50ドット離れた位置になる。

たとえば終了位置が「751」だったとしても、この命令では「751」の位置にはリングが置かれない(連続したリングは少し手前で終わる)

EXTRAオプション適用
この命令は、いくつかのEXTRA OPTIONを強制的に適用させる。
以下の記述を拍データとして書く。

{ZM/1}
ZOOMオプションの適用を開始する

{ZM/0}
ZOOMオプションの適用を終了する

{BA/1}
BALLOONオプションの適用を開始する

{BA/0}
BALLOONオプションの適用を終了する

例:
{ZM/1}111,222,{ZM/0}333,444,
111からZOOMを開始、333でZOOMを終了(333はZOOMにならない)

体力増減値設定

OK/LATE/NGを取った時の体力の増減などを設定出来る。
&seq の中のどこかに行データとして以下を記述する。
&seq1、&seq2、&seq3にそれぞれ書く必要がある(=譜面ごとに別々の設定に出来る)
LIFELVL/OK時増減量/LATE時増減量/NG時増減量/初期値/最大値

正数であれば体力は増え、負数ならば減る。
増減量には小数も使える。
初期値はスタート時の体力である。デフォルトは100
最大値はどこまで体力が増えるかである。デフォルトは100

例:
LIFELVL/1/0/-10/100/100
OK=+1 LATE=0 NG=-10 開始=100 最大=100 に設定する。
これはデフォルトの設定である。
エキスパート時はLIFELVL行は無視される。

SWEET時にはLIFELVL行は無視され、OK=+1 LATE=0 NG=-5 開始=100 最大=100 となる。

フォーマット11説明
フォーマット11とは、フォーマット4を元にした、
・暗号化による譜面データ解読の防止
・実行するURLを制限する事による転載の防止
の機能を持つフォーマットである。

フォーマット11説明

歌詞について
歌詞を表示する事が出来る。表示しない場合はlyric項は書かないこと。
以下は基本的な書式である。
&lyric=
表示が変わる時間(秒)/歌詞,
表示が変わる時間(秒)/歌詞,
 :
このように、時間と文字列を並べていく。
表示を消したい場合はスペース(ヌルでも良い)を表示させること。

例:
&lyric=
7.2/「朝」「サンドイッチ」食べながら,
10.4/「地図」を見ていた 「ずる休み」の午後,
13.8/「道草」は「寂しい」心,
17.1/「癒す」ためには 必要なこと,
20.5/「すべり台」転がり 少し「意地悪」に,

歌詞の部分の1文字目を「;」(半角セミコロン)にすると、その時表示されている歌詞に追加する
&lyric=
3/さくら 
4/;さくら 
5/;のやまもさとも

この例では、
さくら
 ↓
さくら さくら
 ↓
さくら さくら のやまもさとも
のように文字が足されていく。

譜面データ部(&seq)に歌詞を書くことも出来る。
まず、&seq1、&seq2、&seq3のどれに歌詞を記述する事を決め、以下を&seqのどこかに行データとして記述する。
LYRIC/1

例:
&seq1=
LYRIC/1
431,431,431,431,
&seq1(EASY譜面)の中に歌詞を書くことを決める。

歌詞を書くにはいくつかの方法がある。
1.行データとして書く

行データとして書くと、次に現れる小節の開始時に表示される。
行頭に「L/」で記述する。

L/(歌詞)
例: L/さくら さくら 431,431,431,, L/のやまもさとも 431,431,431,, L/行は「次に現れる譜面データ行」に対して適用するため、 L/行を連続して書く事は意味がないので注意。 L/さくら さくら L/のやまもさとも 111,111,111,, 222,222,222,, この例では、L/の2つの行がどちらも「111,111,111,,」の行に適用される。
2.行データに分割して書く 細かい表示タイミングを表現するため、 あたかもフォーマット4で譜面を記述するかのように書くことも出来る。 行頭に「L/」を書き、歌詞を「,」で分割する。 次に現れる小節に対して適用される。
L/(歌詞),(歌詞),(歌詞),(歌詞),
例: L/さ,く,ら,, 431,431,431,, L/の,や,ま,も, 431,431,431,431, L/行を書いても時間は進行しないので、 L/行を連続して書くことは、1つの行をBACKで戻しながら何度も書くことに等しい。 なので以下のような事も出来る。 L/さ,,,, L/,く,,, L/,,ら,, 上の3行は、下の1行と同じ結果となる。 L/さ,く,ら,, 1つのL/行が長くなりすぎるような場合に分割して書く事が出来る。
3.拍データとして書く 譜面データ内に、あたかもリングのように書くことも出来る。 中カッコで囲い、「{L/歌詞}」という形式でリングと同じように記述する。
{L/(歌詞)}
例: {L/さ}413,{L/く}413,{L/ら}413,,

全ての記述は併用してもよい。
「;」は直前の歌詞に追加するが、「直前」とは、およそ「data.txtに書いた順で見て1つ前」である。厳密に時間を調べてはいないので注意。

ちなみに、FLASHで使えるHTMLタグが使用可能である。
ちなみに、escapeされた文字列で書いてもよい。

背景について
本来の流星背景のかわりに、自分で用意した背景画像を使用する事が可能である。

背景は400x400のjpgファイルかswfファイル(40fps/SWF6)が使える。
背景用ファイルは、data.txtと同じ場所に置く。
400x400とはゲーム全体の大きさであるので、画面上部と下部が隠れる事を考慮する必要がある。
data.txtのどこかに以下を記述する。
&backfile=背景ファイル名(相対パス)
&back_alpha=背景の不透明度(100の時標準)
&backneed=背景の強制適用(1の時強制)

背景を読み込むタイミング
背景ファイルは事前に読み込まれず、ゲーム開始時の「READY」が出た瞬間に読み込みが始まり、それが終わり次第画面に反映される。
ファイルサイズの大きい背景ファイルを使用する場合には留意のこと。

swfで作成する際の注意
背景swfはサリング本体のスプライト「_root.star」の中に読み込まれるので、背景の中で_rootを指すとそれはサリング本体の_rootを指す。
ターゲットの絶対指定をする場合は注意の事。

ストリーミング再生やフレーム数の進行を信じて同期を取るのは無謀なのでやめておいたほうが良い。

背景swfからは以下の変数が利用できる。
_root.st_bgmpos    //曲の進度(ミリ秒)
_root.bgm.duration //曲の長さ(ミリ秒)
_root.st_life      //体力(%)
_root.st_score     //得点
_root.st_ok        //OK数
_root.st_late      //LATE数
_root.st_ng        //NG数
_root.st_combo     //現在のコンボ数
_root.st_maxcombo  //最大コンボ数
_root.st_nofring   //リング総数

_root.st_ver       //本体のバージョン番号の100倍の数
_root.st_speedv    //環境設定:拡張速度(0~5)
_root.st_viewring  //環境設定:リング表示数(2~50)
_root.st_mode      //ゲームの状態
   
ゲームの状態とは、以下の各項目に当てはまる数の合計である。
(SPEEDかつSMALLであれば、1+2で3になる)
SPEED   ...  1 (SPEEDが標準でない時に1)
SMALL   ...  2
HIDDEN  ...  4
SHADOW  ...  8
BLIND   ... 16
CATCHER ... 32
HARD    ... 64
PRACTICE...128
AUTOPLAY...256
SWEET   ...512
MANIAC  ..1024
(譜面がEASYである事を調べるには、HARDでなくかつMANIACでない、という判断が必要である)
(常識事項:デバイスフォントの不透明度は変えられない)

追加音
3種類の効果音に加えて、用意したmp3ファイルを効果音に使う事ができる。
追加音と呼ぶ。

使用する各mp3ファイルをdata.txtと同じ場所に置き、以下を記述する。
&addsnd_file=
(音番号),(ファイル名)
(音番号),(ファイル名)
(音番号),(ファイル名)

例:
&addsnd_file=
4,taiko.mp3
k,kick.mp3
C,ckp.mp3
音番号とは、「4」〜「9」、「a」〜「z」、「A」〜「Z」の58種類が使える。
これがそのまま譜面データでリングの音の種類となる。
使う番号とそれに関連づけるmp3ファイルを書き並べること。
音番号は好きなものを使ってよい。順番に使う必要はない。

使うには普通のリングと同じく、リングを表す3桁または5桁の数において、1の位に音番号を書く。
758 …横7縦5で、効果音は8番
4030c …横40縦30で、効果音はc番

以下は古い記述である。互換のために機能が残っているが使用を推奨しない。
3種類の効果音に加えて、用意したmp3ファイルを効果音に使う事ができる。
追加音と呼ぶ。
それらは、以下のようなファイル名にする。
音番号ファイル名
0
(無音)
1
(タンバリン)
2
(クラップ)
3
(シンバル)
4
4.mp3
5
5.mp3
9
9.mp3
a
a.mp3
このように、最大で32個の追加音を扱う事ができる。
アルファベットは全て小文字である。
mp3ファイルの仕様はbgm.mp3と同じである。音量は揃えておくこと。

data.txtのどこかに以下の記述をすること。
&addsnd=追加音の数
追加音の数が 2 であれば、
追加音を2つ、つまり 4.mp35.mp3 を使うという事になる。
ここで指定されただけのmp3ファイルが無い場合、読み込み中に停止(失敗)する。


追加音の微調整

追加音を使用した場合、リングを取った瞬間にそのmp3ファイルが再生される事になるが、mp3ファイルの先頭に空白がある、アタックが遅いなどの理由で再生時間を調整したい場合が考えられる。
追加音それぞれについて、再生する時間を調整することが出来る。
data.txtのどこかに以下の記述をすること。
&addsnd_adjust=
追加音の文字,調整する時間(秒)
追加音の文字,調整する時間(秒)
追加音の文字,調整する時間(秒)
 :

1行に追加音の文字(「4」ならば「4.mp3」を指す)と、調整する時間(-0.1ならば0.1秒早くする)を「,」で区切って書き、この行を必要なだけ書く。

例:
&addsnd_adjust=
4,-0.1
a,0.2

4.mp3の発生を0.1秒早くする。
a.mp3の発生を0.2秒遅くする。

時間を調整した結果、そのリングの時間そのものが変更される事に注意。
なおこの事は譜面コードには影響を与えない。

基本音であるタンバリン、クラップ、シンバルの発生を調整することも出来る。(ver3.14)
追加音の文字は、それぞれ「1」「2」「3」である。

イベントモード
イベントモードとは、条件を満たしてゲームを解禁するまでは、練習などが出来ないという勿体つけモードである。

概要
・通常モードでのみ有効。リストモード、エキスパートモードでは使えない。
・イベントの種類に応じた条件を達成するか、50回プレイする事でゲームを解禁する事が出来る。
・ゲームを解禁するまでは、SWEET、TRAINING、AUTOPLAY、EXTRA OPTION、CATCHER、リプレイを使う事が出来ない。
・解禁の判断はタイトル画面で行うので、プレイ後に「もう一度」で繰り返していると解禁されない事に注意。
・イベントに関する保存データは、「プレイ記録をリセット」か「全データを消去」で削除される。解禁していても解禁前に戻る。
 (編集中にイベントの種類を変更した場合リセットすること)

イベントの種類
以下からイベントの種類を選ぶ。
1.BUSTERモード
data.txtに以下を記述する。
&event=1
最初はEASYだけがプレイ出来、クリアするとHARD、MANIACの順にプレイ出来るようになる。無い譜面は飛ばされる。
全てをクリアすると解禁される。

2.COLLECTORモード
data.txtに以下を記述する。
&event=2
&eventval=必要OK数
最初から全ての難易度がプレイ出来る。
難易度やクリア/FAILEDに関係なく、必要なだけOKを集めると解禁される。

3.BOSS ATTACKモード
data.txtに以下を記述する。
&event=3
&eventval=体力増加率
HARD譜面(&seq2)が必要。
HARD譜面だけがプレイ出来、クリアすると解禁される。
体力50%で開始し、回復しない。
OKを[体力増加率]回取るごとに次回の体力が1%増える。上限はないのでいくらでも増えていく。

再起動機能
タイトル画面で以下を押す事でゲームの再起動が出来る。
いずれもdata.txtを読み込むところからやり直すので、data.txtを編集しながら確認したい時に有用である。
画面を一度クリックしないとキーが効かない事に注意。

タイトル画面で F4 キー
再起動し、再びタイトルに戻る。
タイトル画面で F1〜F3 キー
再起動し、それぞれ譜面EASY、HARD、MANIACのオートプレイを開始する。

エキスパートモード作成方法
決められた条件下で連続してプレイするモードをエキスパートモードと呼ぶ。
複数の音声ファイル・譜面ファイルが必要となる。

必要な全てのゲームをそれぞれ単独でプレイ出来る状態にし、
それとは別のゲームを作成する。
そのdata.txtは特殊であり、以下の書式になる。
head=crs1
&title=コース名
&expdata=構成データ

構成データは、以下の書式である。
&expdata=面数,URLデータ,オプションデータ,OK時体力変動値,LATE時体力変動値,NG時体力変動値,1秒毎体力変動値

URLデータは、各必要なファイルの場所を示すものである。
このエキスパート用のcrs.swfから見て、対象のdata.txtとbgm.mp3がある場所を相対パスで記述し、必ず半角スラッシュ「/」で終わらせる。
これを「?」で区切って面数ぶん並べる。
例:
http://cirring.com/exp/crs.swf ←このエキスパート用swfから
http://cirring.com/sng/data.txt ←これを指す場合

URLデータとして記述する内容は、
../sng/
となる。
例:
http://cirring.com/exp/crs.swf ←エキスパート用swf
http://cirring.com/sno/data.txt ←1面
http://cirring.com/cha/data.txt ←2面
http://cirring.com/hst/data.txt ←3面

URLデータとして記述する内容は、
../sno/?../cha/?../hst/
となる。3面あるので ? で区切って3つ並べる。

リストモードの為にファイルの場所を変えた場合は、以下のような記述が出来る。
(本体ver2.07以降)

../lst/ → 通常の data.txt を指す
../lst/#2 → 2 というフォルダの中のdata.txt を指す

オプションデータは、各面で強制的に適用される条件を記述する。面数のぶんだけ「?」で区切って並べる。
オプションデータは4桁の数字で表され、その内容は以下である。
千の位 ... 適用する譜面 (1=EASY 2=HARD 3=MANIAC)
百の位 ... リング速度 (0=EASYと同じ 1=HARDと同じ 8=超遅い 9=超速い)
十の位 ... SMALLオプション (0=無効 1=有効)
一の位 ... CATCHERモード (0=無効 1=有効)
CATCHERモードが有効の時は、リング速度は(0=標準 1=全てのボールの速度が同じ)になる。

例:
1面…EASY譜面、リング速度EASY、SMALL無効、CATCHER無効 →「1000」
2面…HARD譜面、リング速度超速、SMALL有効、CATCHER有効 →「2911」
まとめて書くと、
1000?2911
となる。

OK時体力変動値は、OKを取った時の体力の変動量。
LATE時体力変動値は、LATEを取った時の体力の変動量。
NG時体力変動値は、NGを取った時の体力の変動量。
1秒毎体力変動値は、開始から5秒以降、1秒ごとに自動的に変動する量。
単位は%であり、正数なら増え、負数なら減る。小数も使える。

以上をまとめた例は以下である。
head=crs1
&title=ぶっちゃけありえないコース
&expdata=3,../foc/?../dd/?../waf/,1800?2910?2001,2,1,-10,-1

以上のようにdata.txtを作成したら、あとは普通のゲームと同様に開始すればエキスパートモードが開始される。

アップロードの方法
全てのファイルが用意出来たら、FLASH再生用のhtmlファイルを作成する。
よくわからなければ、右クリック保存
(拡張子をhtmlに変更すること)

crs.swf
bgm.mp3
data.txt
再生用html
追加音のファイル(必要ならば)
背景のファイル(必要ならば)
以上全てのファイルをサーバーの同じディレクトリ(フォルダ)に置く事で作業が完了する。
data.txtはテキストファイルなのでアスキー転送する事。
再生用htmlを表示してテストすること。
ローカルでプレイする際も同じディレクトリであれば動作する。

複数のゲームを置く場合でも、crs.swfはひとつだけ置けばよい。
そうする場合は、再生用htmlの、
"crs.swf"
となっている部分を、
"http://ccc.rrr.sss/crs.swf"
のように、絶対パスまたは相対パスで、crs.swfのある場所を含めて記述する。

上のサンプルの再生用htmlでは、「crs.swf」の記述は2箇所あるので両方書き替えること。

拡張機能用背景ファイル extseq2
extseq2は、サリングE,R-TRACKで使われていた、「ボール」と「スター」を実装可能にする。
説明

Tweetボタン
CLEARまたはFAILED画面で、結果をTwitterに投稿するためのボタンが表示される。押すとブラウザが開き、Twitter公式サイトの投稿用フォームが表示される。
(ver3.12:ボタンの表示は強制になった)
あらかじめTwitterへのログインが必要となる。

ツイート内容にURLを含めたい場合には、data.txtに以下を記述する。書かなくてもよい。
&tweeturl=(リンク用URL)

リンク用URLとは、「http:〜」形式で書く。
このゲームをプレイできるURLを書いておけばよい。

ツイート内容の書式を自分で設定することも出来る。
data.txtに以下を記述する。書かなければデフォルトの書式が使用される。
&tweetform=(ツイート書式)

ツイート書式とは、ツイートする文章そのものである。
以下の置換用文字を使うことで、それぞれの情報を表示出来る。
同じ置換用文字を複数書かないこと。

\n
または
@
改行する
$T
タイトル
必須 無い場合自動的に足される
$M
作曲者名(music_by)
$D
データ作者名(data_by)
$F
譜面名称と難易度
(例)EASY★1
$R
結果(英語)
CLEAR / FAILED(5sec) / AUTOPLAY / TRAINING
$J
結果(日本語)
クリア / 失敗(5秒) / 鑑賞 / 練習
$S
得点
$K
RANKの文字(Aなど)
$E
達成率
(例)76.54%
$O
OK数
$L
LATE数
$N
NG数
$C
MAX COMBO数
$P
SPEEDとオプション文字列
(例)Spd3/SweSmaHid
$U
リンク用URL
前後にスペースが無いと正しく機能しない場合がある

例:
&tweetform=「$T($F)」を$Jしました!\n得点は$S、ランク$K $U

実際にツイートされる内容:
「さくらさくら(MANIAC★20)」をクリアしました!
得点は99000、ランクC http://www.google.com/

複数のゲームに対して同じ設定をしたい場合、共通設定ファイルが便利である。

以下はデフォルトの書式のサンプルである。
スーパーハイテンションストーカー[HARD★22]
*CLEAR*
SCORE:1739(F:81.25%)/30-5-5/12cmb/Spd3.5/SweSma
http://www.geocities.jp/prstoic/crs/ #cirring
ツイート内容が138字を超えた場合、自動的にタイトル部を削って調整する。

EXPERTモードでも使うことが出来る。
&tweeturl項は、構成曲などを設定するEXPERT用のdata.txtに書くこと。
このモードでは、途中でFAILEDした場合にはTweetボタンは表示されない。

Tweetボタンを押しても、Twitterの投稿フォームではなく、タイムラインのページに行ったりエラー表示が出る場合

&tweetform の内容に、Twitterに投稿出来ないパターンの文字が含まれているのが原因。
詳細は不明だが、およそ「閉じカッコ )・}・] の次に来る文字が記号か改行である」場合に起こりやすいようである。
以下を試すと解決するかもしれない。

・改行部分は「\n」ではなく「@」を使う
・カッコは半角ではなく全角で書く

共通設定ファイル crs_cfg.txt
共通設定ファイルを置いておくと、設置してある複数のデータに対して一括した設定が出来るようになる。

譜面ファイルdata.txtから見て、
1つ上の階層の、crs_cfg.txt というファイルが存在する場合、
このファイルを読み込む。

data.txtから見て
../crs_cfg.txt
というファイルである。

注意:
セレクタモードの時は、crssel.swfから見て ../crs_cfg.txt である。
エキスパートの時は、エキスパート用のdata.txtから見て ../crs_cfg.txt である。

crs_cfg.txtに書ける内容は決まっているが、基本的にdata.txtに書く内容と同じである。
crs_cfg.txtに記述があり、data.txtには無い場合、先の設定が使われる。
crs_cfg.txtにもdata.txtにもある場合、data.txtのほうが優先される。

ver3.16現在、crs_cfg.txtに書ける設定内容は以下である。
&tweeturl=(リンク用URL)
ツイート時に投稿内容に含めるURLの指定

&tweetform=(ツイート書式)
ツイート時の投稿内容の書式

注意事項
曲の演奏開始(901を含む)から2秒の間にリングが存在すると自動的に消去される。
 その場合、「any rings erased」と表示される。
 完成したデータでは、この表示が出るべきではない。

曲の演奏開始(901を含む)よりも前にリングが存在すると自動的に消去される。
 その場合、「開始時間より前にリングがあります」と表示される。
 完成したデータでは、この表示が出るべきではない。


・実は7×5の範囲の外にもリングを置く事が出来るが、結果及び将来的にどうなるかは保証しない。

・譜面ファイルの中に「href」という文字列を書くと、その部分は空になる。
 どうしても必要な場合は全角文字を使う事。


Game & FLASH & Document by D4U