PETROOM大改造
【萌え萌えキャラクターズと遊ぼー。】

かわむら様専用:初めて訪問専用コマンド+キャラ別に探す

初めて訪問したときの専用コマンド追加と、「探す」をキャラ別にします。
ペットフォーム(sub petform)に下記のように追記します。
緑は前回の改造箇所、オレンジが今回の追加分です。

    &header;
    &title;
    &bodytop("■恋愛データ その$num■");
    &petdata;
    &condition;
    if ($noaction == 0 && $enter != 1) {
        print "<tr>\n";
        print "<td>\n";
#       &tabletop;
        print "<table width=\"100%\" border=\"0\" cellspacing=\"$f_space\" cellpadding=\"0\">\n";
        print "<tr>\n";
        print "<td valign=top>\n";
        
        
        if ($out == 1) {    # 外出中ならこのコマンドを表示する。
#            &input('radio','mode','sagasu',' checked','<font color=4682b4>探しに行く<br>');
            &input('radio','mode','sagasu01',' checked','<font color=4682b4>さくらを探しに行く<br>');
            print "</td>\n";
            print "<td>\n";
#            &input('radio','mode','end','','<font color=4682b4>終了<br>');
            &input('radio','mode','sagasu02','','<font color=4682b4>かえでを探しに行く<br>');
            print "</td>\n";
            print "</tr>\n";
        }
        elsif ($firstvisit == 0) {    # 初めて訪問ならこのコマンドを表示する。
            &input('radio','mode','firstvisit01',' checked','<font color=4682b4>初めて訪問コマンド1く<br>');
            print "</td>\n";
            print "<td>\n";
            &input('radio','mode','firstvisit02','','<font color=4682b4>初めて訪問コマンド2<br>');
            print "</td>\n";
            print "</tr>\n";
        }
        elsif ($timeafter ==  0 || $timeafter ==  2 || $timeafter ==  5 ||    # 注意、ifをeisifにします。
            $timeafter ==  8 || $timeafter == 12 || $timeafter == 15 ||
            $timeafter == 17 || $timeafter == 21 || $timeafter == 24 ||
            $timeafter == 26) {
                
#さくら用 play = 遊ぶ,pat = なでる,feed = 餌をやる,hit = しかる,out = 外に出す。話す=tark 手を握る=nigi 結婚!=pro  家に誘う=home 告る=kokuhaku  
#かえで用 茶=feed 散歩=out 遊ぶ=play  戦隊トーク=tark  さくら呼ぶ=call  さくらの事訊く=ask  不意打ち=attack  肩叩き=tataki 結婚!=pro  告る=kokuhaku                  

次に新しく追加したコマンドの処理を追加します。
アクション(sub action)に下記のように追記して下さい。

    &header;
    &title;
    &bodytop("恋愛データ($num)");
    &petdata;
    srand(time);
    $rnd = int(rand(10) + 1);
    $fa = $FORM{'mode'};

    if ($firstvisit == 0) {    # 初めての訪問イベント完了
        $firstvisit = 1;
    }

    if ($fa eq 'play') { $lastplay = time; $playname = $name; }
    if ($fa eq 'out')  { $out = 1; $outdate = time; $outname = $name; }
    
#    if ($fa eq 'sagasu') {
    if ($fa eq 'sagasu01') {    # さくら用
        if ($rnd <= 5) {    # 見つからないときは、
            $disp_img = 'mitukaranai.gif';    # 見つからないときの画像
            $disp_msg = '見つかりませんでした。';    # 見つからないときのメッセージ
            &petnowwaku($disp_img,$disp_msg);
            $love--;    # 見つからなかったら好感度マイナス1
        }
        else {    # 見つかったときは、
            $disp_img = 'mitukaru.gif';    # 見つかったときの画像
            $disp_msg = '見つかりました。';    # 見つかったときのメッセージ
            &petnowwaku($disp_img,$disp_msg);
            $out = 0;    # お散歩から帰ってこさせる(お散歩中は$outが1)
            $love++;    # 好感度プラス1
        }
    }

    elsif ($fa eq 'sagasu02') {    # かえで用
        if ($rnd <= 5) {    # 見つからないときは、
            $disp_img = 'mitukaranai.gif';    # 見つからないときの画像
            $disp_msg = '見つかりませんでした。';    # 見つからないときのメッセージ
            &petnowwaku($disp_img,$disp_msg);
            $love--;    # 見つからなかったら好感度マイナス1
        }
        else {    # 見つかったときは、
            $disp_img = 'mitukaru.gif';    # 見つかったときの画像
            $disp_msg = '見つかりました。';    # 見つかったときのメッセージ
            &petnowwaku($disp_img,$disp_msg);
            $out = 0;    # お散歩から帰ってこさせる(お散歩中は$outが1)
            $love++;    # 好感度プラス1
        }
    }

    elsif ($fa eq 'firstvisit01') {    # 初めて訪問コマンド1なら
        $disp_img = 'hajimete01.gif';    # 初めて用画像
        $disp_msg = '???';    # 初めて用メッセージ
        &petnowwaku($disp_img,$disp_msg);
        $love++;    # 好感度プラス1
    }

    elsif ($fa eq 'firstvisit02') {    # 初めて訪問コマンド2なら
        $disp_img = 'hajimete02.gif';    # 初めて用画像
        $disp_msg = '???';    # 初めて用メッセージ
        &petnowwaku($disp_img,$disp_msg);
        $love--;    # 好感度マイナス1
    }

    elsif ($rnd <= $rnd_border) {    # 注意、ifをelsifにする
    
        if ($timeafter ==  0 || $timeafter ==  2 || $timeafter ==  5 ||
            $timeafter ==  8 || $timeafter == 12 || $timeafter == 15 ||
            $timeafter == 17 || $timeafter == 21 || $timeafter == 24 ||
            $timeafter == 26) {

            &petnowwaku($rnd_img2,$rnd_msg2);
        }
        else {
        &petnowwaku($rnd_img,$rnd_msg);
        }
        $love--;
    }

コマンドを増やした場合は、elsifからをコピペして下さい。





で、ですね、実は問題が2つほど発覚しました(^^;
1つは、お散歩中なのに、探すコマンドが表示されない(致命的)、
もう1つは、初めて訪れたときに、お散歩中だと、
さくらを探しに行くか、かえでを探しに行くか、どちらかなんですが、
そうすると、1回行動してしまうことになり、
初めてイベントが実行されなくなってしまいます(^^;

良く思い出したら、「一緒」では対策していました。
「一緒」ので対策は、
初めて訪れたときにお散歩中だったら、何も出来ない(コマンドを表示しない)としました。
そんなわけで、それを同じ方法をアップしておきます。

ペットのコンディション(sub condition)に下記のように追記して下さい。

    # 外出中の処理
#   if ($out == 1 && (time - $outdate) < $dayhour[$comeback]) { 
    if ($out == 1 && (time - $outdate) < $comeback * 60) {
        &petnowwaku($gone_img,$out_msg);
        if ($firstvisit == 0) {
        $noaction = 1;
        }
        return;
    } else {$out = 0;}

    # 初めての訪問
    if ($firstvisit == 0) {
        $disp_img = 'hajimete.gif';    # 初訪問時の画像
        $disp_msg = '初めまして。';    # その時のメッセージ
        &petnowwaku($disp_img,$disp_msg);
        return;
    }