
ゴースト回覧板の掲示板を確認しましたが、元日のイベントトークが発生しない、という方が複数名おられるようです。
元日に起動してメニューに季節イベントの項目がない場合、元日トークを見ることができません。
修正は、既存の全ユーザーに対してセーブデータを改変する処理を行う必要があり、影響範囲が広すぎるため、ほぼ不可能な状況です。
ご迷惑をおかけして申し訳ありません。
「続きを読む」に、その理由と、そのような処理を作った目的を書いておきます。
このゴーストの独自処理に触れるため、少々分かりづらいと思います。
元日に起動してメニューに季節イベントの項目がない場合、元日トークを見ることができません。
修正は、既存の全ユーザーに対してセーブデータを改変する処理を行う必要があり、影響範囲が広すぎるため、ほぼ不可能な状況です。
ご迷惑をおかけして申し訳ありません。
「続きを読む」に、その理由と、そのような処理を作った目的を書いておきます。
このゴーストの独自処理に触れるため、少々分かりづらいと思います。
今回の原因は、季節のイベントの管理方法にあります。
ロスト・ユー・サムウェアは、セーブデータに特殊な形式でデータを保存をしているため、季節のイベントにID割り振って管理しています。
このIDは、セーブデータ内に、2bit(2進数で2桁、10進数だと0~3)で管理されています。
そして、季節のイベントを閲覧済みかどうかを、IDを別領域にコピーして判別しています。
この仕組のため、IDが同じイベントが続くと、「そのイベントはもう見た」と判断されてしまうことになります。
また、この状態を防ぐため、イベントのない日には、「IDを0でリセットする」という処理を行なっています。
イベントの無い日の方が多いのだから、イベントの日だけ起動することは起こりにくいという考えです。
それに加えて、3つ置きに別IDを振っておけば、万が一にもイベントが見られないという状況は起こらないと考えていました。
しかし、年末にイベントが重なったため、「イベントの日のみ、しかも3つ飛ばしで起動する」という状況が起きてしまいました。
それが、クリスマス→元日のイベントです。
さて、IDの振り方ですが、以下のようになっています。
上記のため、クリスマスイベント以降、ロスト・ユー・サムウェアを起動していない状態で元日トーク期間(1/1~1/7)に起動すると、元日イベントを既に見たものとして処理されてしまいます。
同様のことは、ハロウィンと大晦日でも起きます。
IDの保存領域を3bit(2進数で3桁、10進数だと0~7)にしておけば起こりにくくできたのですが、設計ミスでした。
このような方式を取っているのは、セーブデータの文字数を減らすことで、web拍手でセーブデータを送ることが出来るようにしているためです。
セーブデータ(SSPの配置フォルダ\ghost\Lost_You_Somewhere\ghost\master\satori_savedata.txt)の中にある、「ふっかつのじゅもん」という文字に続く125文字が、セーブデータです。
ユーザーさんの名前は、見て分かると思いますが別管理です。よって、ゴーストの進行度以外に、プライベートな情報は含まれていません。
この125文字の中に、好感度、フェイズ進行フラグの状態、シナリオトークの閲覧状態、噂話の状況、トークウェイトの値、最終更新日など、必要な情報がすべてつめてあります。
そのため、この「ふっかつのじゅもん」さえ送ってもらえれば、開発側でユーザーさんの進行状況を再現することができます。
現状だと、初歩的なミスが多く、これが必要な状況にはまだ出くわしていませんが・・・。
この「ふっかつのじゅもん」と「ユーザ名」以外は全て不要なデータです。
それ以外に記述されているものはシステム変数であり、セーブデータから消せないという理由で残っています。
おそらく、正常に終了していればファイルの中身は9行(2013/01/01現在)であるはずです。
数十行残っている場合は、ネットワーク更新直後か、終了処理が失敗したかのどちらかです。
125文字なのは、web拍手で送信可能な文字が500文字ないしは1000文字であるためです。
状況報告も加え、300文字程度余裕を残しています。文字数は今後増えるかも知れません。
何か不具合があった場合に、いちいちアップローダーにファイルをアップせずとも、作者である自分に送信できるようにするという目的があります。
ロスト・ユー・サムウェアは、セーブデータに特殊な形式でデータを保存をしているため、季節のイベントにID割り振って管理しています。
このIDは、セーブデータ内に、2bit(2進数で2桁、10進数だと0~3)で管理されています。
そして、季節のイベントを閲覧済みかどうかを、IDを別領域にコピーして判別しています。
この仕組のため、IDが同じイベントが続くと、「そのイベントはもう見た」と判断されてしまうことになります。
また、この状態を防ぐため、イベントのない日には、「IDを0でリセットする」という処理を行なっています。
イベントの無い日の方が多いのだから、イベントの日だけ起動することは起こりにくいという考えです。
それに加えて、3つ置きに別IDを振っておけば、万が一にもイベントが見られないという状況は起こらないと考えていました。
しかし、年末にイベントが重なったため、「イベントの日のみ、しかも3つ飛ばしで起動する」という状況が起きてしまいました。
それが、クリスマス→元日のイベントです。
さて、IDの振り方ですが、以下のようになっています。
ハロウィン = 1
クリスマス = 2
ボクシング・デー = 3
大晦日 = 1
元日 = 2
上記のため、クリスマスイベント以降、ロスト・ユー・サムウェアを起動していない状態で元日トーク期間(1/1~1/7)に起動すると、元日イベントを既に見たものとして処理されてしまいます。
同様のことは、ハロウィンと大晦日でも起きます。
IDの保存領域を3bit(2進数で3桁、10進数だと0~7)にしておけば起こりにくくできたのですが、設計ミスでした。
このような方式を取っているのは、セーブデータの文字数を減らすことで、web拍手でセーブデータを送ることが出来るようにしているためです。
セーブデータ(SSPの配置フォルダ\ghost\Lost_You_Somewhere\ghost\master\satori_savedata.txt)の中にある、「ふっかつのじゅもん」という文字に続く125文字が、セーブデータです。
ユーザーさんの名前は、見て分かると思いますが別管理です。よって、ゴーストの進行度以外に、プライベートな情報は含まれていません。
この125文字の中に、好感度、フェイズ進行フラグの状態、シナリオトークの閲覧状態、噂話の状況、トークウェイトの値、最終更新日など、必要な情報がすべてつめてあります。
そのため、この「ふっかつのじゅもん」さえ送ってもらえれば、開発側でユーザーさんの進行状況を再現することができます。
現状だと、初歩的なミスが多く、これが必要な状況にはまだ出くわしていませんが・・・。
この「ふっかつのじゅもん」と「ユーザ名」以外は全て不要なデータです。
それ以外に記述されているものはシステム変数であり、セーブデータから消せないという理由で残っています。
おそらく、正常に終了していればファイルの中身は9行(2013/01/01現在)であるはずです。
数十行残っている場合は、ネットワーク更新直後か、終了処理が失敗したかのどちらかです。
125文字なのは、web拍手で送信可能な文字が500文字ないしは1000文字であるためです。
状況報告も加え、300文字程度余裕を残しています。文字数は今後増えるかも知れません。
何か不具合があった場合に、いちいちアップローダーにファイルをアップせずとも、作者である自分に送信できるようにするという目的があります。


