誕生日ですが (ユーザ誕生月)月(ユーザ誕生日)日  で設定している状態で計算しています。 *誕生日入力開始 で呼び出します 里々wikiの誕生日関連の記述をまとめたらこうなりました。 http://soliton.sub.jp/satori/index.php?%C3%C2%C0%B8%C6%FC%A4%F2%B3%D0%A4%A8%A4%B5%A4%BB%A4%EB SSPを使っている場合、 【1】SSPの「本体設定」で誕生日が設定されている場合、初回起動時に自動的に取得する 【2】メニューで「誕生日入力開始」を呼び出した際、3つの選択肢を出す ・SSPの「本体設定」で誕生日が設定されている場合それでいいか ・SSPの「本体設定」で設定るするか ・手動で入力するか 【3】星座の取得 【4】誕生日が近かった場合に反応する #-------------------------------------------------------- *OnNotifyUserInfo >ユーザデータ取得処理 (起動回数)==1&&(is_empty(バイト値、1)(R2))==0 >ユーザデータ取得処理 (仮)==本体誕生日設定 *ユーザデータ取得処理 $仮 (nop,(split(バイト値、1)(R2)(バイト値、1),)) $ユーザ誕生月=(S1) $ユーザ誕生日=(S2) $星座 (nswitch,(ユーザ誕生月),(if,(ユーザ誕生日)>19,みずがめ座,やぎ座),(if,(ユーザ誕生日)>18,うお座,みずがめ座),(if,(ユーザ誕生日)>20,おひつじ座,うお座),(if,(ユーザ誕生日)>19,おうし座,おひつじ座),(if,(ユーザ誕生日)>21,ふたご座,おうし座),(if,(ユーザ誕生日)>21,かに座,ふたご座),(if,(ユーザ誕生日)>23,しし座,かに座),(if,(ユーザ誕生日)>22,おとめ座,しし座),(if,(ユーザ誕生日)>22,てんびん座,おとめ座),(if,(ユーザ誕生日)>23,さそり座,てんびん座),(if,(ユーザ誕生日)>22,いて座,さそり座),(if,(ユーザ誕生日)>21,やぎ座,いて座)) #-------------------------------------------------------- #呼出し #-------------------------------------------------------- *誕生日入力開始 >誕生日入力開始(Sender) >誕生日入力開始手動 *誕生日入力開始SSP :SSP本体の設定を使う? (if、(変数「ユーザ誕生月」の存在)==1、「(ユーザ誕生月)月(ユーザ誕生日)日」ってなってるけど。\n \n \q[□その設定でOK  ,誕生日入力済み]) _□SSP本体で設定をする SSP本体で設定をする _□手入力で設定する   誕生日入力開始手動 *SSP本体で設定をする $仮 本体誕生日設定 \![open,configurationdialog,setup] :ではこちらに入力をお願いしますね。 *誕生日入力済み :(ユーザ誕生月)月(ユーザ誕生日)日(星座)ね。 >誕生日までどれくらいか *誕生日入力開始手動 :\![open,inputbox,ユーザ誕生月日]誕生日と月を3桁以上で入力して頂戴。 例φ) 1月 1日→0101 1月11日→0111 12月1日→1201 *ユーザ誕生月日を教えてもらった $仮ユーザ誕生月=(iflist、(length,(ユーザ誕生月日))、==4、(substr,(ユーザ誕生月日),0,2)、==2、(substr,(ユーザ誕生月日),0,1)、(if、(compare_head,(ユーザ誕生月日),0)==1、(substr,(ユーザ誕生月日),1,1)、(substr,(ユーザ誕生月日),0,1))) $仮ユーザ誕生日=(if、(length,(ユーザ誕生月日))==4、(substr,(ユーザ誕生月日),2,2)、(substr,(ユーザ誕生月日),1,2)) $ユーザ誕生月日 >ユーザ誕生月日がおかしい !(不正誕生月日チェック) >誕生日入力確認 *ユーザ誕生月日がおかしい :(仮ユーザ誕生月)月(仮ユーザ誕生日)日ってなに? ちゃんとした日付を教えてよ! $仮ユーザ誕生月 $仮ユーザ誕生日 @不正誕生月日チェック (when,(is_digit(バイト値、1)(仮ユーザ誕生月))&&(is_digit(バイト値、1)(仮ユーザ誕生日)) ,(when,(仮ユーザ誕生月)>=1&&(仮ユーザ誕生月)<=12&&(仮ユーザ誕生日)>=1 ,(calc,(仮ユーザ誕生日)<=(nswitch,(仮ユーザ誕生月),31,29,31,30,31,30,31,31,30,31,30,31)) ,0 )) *誕生日入力確認 $ユーザ誕生月 (仮ユーザ誕生月) $ユーザ誕生日 (仮ユーザ誕生日) $仮ユーザ誕生月 $仮ユーザ誕生日 $星座 (nswitch,(ユーザ誕生月),(if,(ユーザ誕生日)>19,みずがめ座,やぎ座),(if,(ユーザ誕生日)>18,うお座,みずがめ座),(if,(ユーザ誕生日)>20,おひつじ座,うお座),(if,(ユーザ誕生日)>19,おうし座,おひつじ座),(if,(ユーザ誕生日)>21,ふたご座,おうし座),(if,(ユーザ誕生日)>21,かに座,ふたご座),(if,(ユーザ誕生日)>23,しし座,かに座),(if,(ユーザ誕生日)>22,おとめ座,しし座),(if,(ユーザ誕生日)>22,てんびん座,おとめ座),(if,(ユーザ誕生日)>23,さそり座,てんびん座),(if,(ユーザ誕生日)>22,いて座,さそり座),(if,(ユーザ誕生日)>21,やぎ座,いて座)) :(ユーザ誕生月)月(ユーザ誕生日)日(星座)だね! おぼえたよ! >誕生日まで数える #-------------------------------------------------------- #誕生日までどれくらいか *誕生日まで数える >今日が誕生日 (現在月)==(ユーザ誕生月)&&(現在日)==(ユーザ誕生日) >一ヶ月以内に誕生日がくる 0<(誕生日の差)&&(誕生日の差)<31 >一ヶ月以内に誕生日が過ぎた 0>(誕生日の差)&&(誕生日の差)>-31 >それ以外誕生日 @誕生日の差 (calc,(今年の誕生日)-(今日までの日数)) @今年の誕生日 (calc,(現在年)*365+(ユーザ誕生日)+(nswitch,(ユーザ誕生月),0,31,59,90,120,151,181,212,243,273,304,334)) @今日までの日数 (calc,(現在年)*365+(現在日)+(nswitch,(現在月),0,31,59,90,120,151,181,212,243,273,304,334)) *今日が誕生日 *一ヶ月以内に誕生日がくる *一ヶ月以内に誕生日が過ぎた *それ以外誕生日