私設SoS2オーナー応援BBS

新規発言一覧最新記事過去一覧検索ダウンロードページHOME

スレッド

└◇336:
場違いな質問ですが [masaki] 02/09 17:41

 └◇337:Re:場違いな質問ですが [masaki] 02/09 17:43
  └◇338:Re[2]:場違いな質問ですが [moon] 02/09 21:30
   └◇339:Re[3]:場違いな質問ですが [masaki] 02/09 22:13
    └◇340:Re[4]:場違いな質問ですが [moon] 02/09 23:11
     └◇343:Re[5]:場違いな質問ですが [masaki] 02/10 18:29
      └◇344:Re[6]:場違いな質問ですが [moon] 02/10 19:39<-last


336● 場違いな質問ですが[ masaki ] 2003 02/09 17:41
場違いな質問ですが・・(^^;
satosiさんのところの鑑定士の副業の改造をしようとしたのですが、
1,費用を設定した後に「設定が終了します」の文がでない。
2,「鑑定してもらう」をするとなぜか自分の行動画面になってしまう。
というバグ(?)が起こってしまいました。(;;
2の状態はこんな感じです。
http://m3voyage.hp.infoseek.co.jp/sos.jpg
どこがおかしいのかまったくわかりません(;;
できれば教えて頂きたいです。
鑑定費の設定を終了します。の場所はここだと思います(;;
# Sub Fee After #
sub fee_after {
    @rcdlines = &get_user("$Fm{'id'}");
    return if $fg ne 'FB';
    return if $sp !~ /Ad|Rv|Eo/;
    if (($Fm{'cr'} =~ /[^0-9]/ || !$Fm{'cr'}) && $sp =~ /Ad/) {
        push (@msg,"解毒の治療費が設定されていません"); $Fm{'cr'} = 0;
    }
    if (($Fm{'rv'} =~ /[^0-9]/ || !$Fm{'rv'}) && $sp =~ /Rv/) {
        push (@msg,"蘇生の治療費が設定されていません"); $Fm{'rv'} = 0;
    }
    if (($Fm{'judg'} =~ /[^0-9]/ || !$Fm{'judg'}) && $sp =~ /Eo/) {
    push (@msg,"鑑定の価格が設定されていません"); $Fm{'judg'} = 0;
    }elsif($Fm{'judg'} < 50){
    push (@msg,"鑑定の最低価格は、50Gです"); $Fm{'judg'} = 50;
    }
    push (@msg,'鑑定料を設定を終了します')if $mysp =~ /Eo/;
    push (@msg,'治療費を設定を終了します')if $mysp =~ /Ad|Rv/;
    $fg = ''; $fe = "$Fm{'cr'}△$Fm{'rv'}△$Fm{'judg'}"; &userout;
}
またご迷惑をおかけします。。
スレッド一覧


337● Re:場違いな質問ですが[ masaki ] 2003 02/09 17:43
http://m3voyage.hp.infoseek.co.jp/sos.jpg
↑これは、相手プレイヤーの所で「鑑定をお願いする」をやった後です。。
(自分で「鑑定をする」をやったわけではありません(^^;)
スレッド一覧


338● Re[2]:場違いな質問ですが[ moon ] 2003 02/09 21:30
> http://m3voyage.hp.infoseek.co.jp/sos.jpg
> ↑これは、相手プレイヤーの所で「鑑定をお願いする」をやった後です。。
> (自分で「鑑定をする」をやったわけではありません(^^;)

まずは注意から。
マルチポストはマナー上やめたほうが良いと思いますよ。
ここでは注意書きもないしそれほどは気にしない(今回のように注意するくらい)ですけれどsatosiさんのところでは赤で目立つように「マルチポストは、ご遠慮ください!」と書いてあるわけだし。
あ、ちなみにここは他サイトの改造の質問でも構いませんので場違いではないです。(笑)

で、ここからが本題。

設定終了のメッセージが出ないのは$myspを使用しているからです。
そのサブルーチン内の全ての$myspを$spに置換すれば正常に表示されると思います。

自分の行動画面に戻ってしまうのは推測しか出来ませんが、「鑑定をお願いする」を実行したときのサブルーチンがsub contact_form以外(play_formやaction_form)にあるということはありませんか?
スレッド一覧


339● Re[3]:場違いな質問ですが[ masaki ] 2003 02/09 22:13
マルチポストですね。
謝ってきます。。(;;

ええと、
&input('radio','mode','judge_before2','',"アイテムを鑑定してもらう<br>\n") if $psp =~ /Eo/ && $pjudg != "";
となっていました、
&judge_before2 if $Fm{'mode'} eq 'judge_before2';
がaction_formにもあったので削除してみましたが、こんどは自分の元の行動画面に戻ってしまいました。(ログインしたときの状態)
(moonさんがおっしゃっていることと違いますか?(^^;)
スレッド一覧


340● Re[4]:場違いな質問ですが[ moon ] 2003 02/09 23:11
> ええと、
> &input('radio','mode','judge_before2','',"アイテムを鑑定してもらう<br>\n") if $psp =~ /Eo/ && $pjudg != "";
> となっていました、
> &judge_before2 if $Fm{'mode'} eq 'judge_before2';
> がaction_formにもあったので削除してみましたが、こんどは自分の元の行動画面に戻ってしまいました。(ログインしたときの状態)
> (moonさんがおっしゃっていることと違いますか?(^^;)

ちょっと違うかもしれません。
ええと、改造方法の該当箇所を見てみたらaction_formにするようになっていますね・・・。
ということでオリジナル改造では鑑定してもらうアイテムを選択するときは通常行動の画面になるのが正常みたいです。(鑑定結果時は接触画面)
もしかしたら改造方法の記述漏れなのかもしれませんね。(流れからすると以下の方法2)

選択時にも接触画面にする場合は次のような方法が考えられると思います。
方法1.
  &judge_before2 if $Fm{'mode'} eq 'judge_before2';をcontact_formに移し、judge_before2のメイン処理の分岐をaction_formからcontact_formに変更する。
方法2.
  action_formのままで、if($Fm{'mode'}=~/(trade|sell|buy)/)をif($Fm{'mode'}=~/(trade|sell|buy|before2)/)に変更する。
スレッド一覧


343● Re[5]:場違いな質問ですが[ masaki ] 2003 02/10 18:29
ありがとうございました〜(^^
やっぱりperl難しいですね(^^;
(今、本で勉強しています)
わからないことがあったらこれからも宜しくお願いします。。
スレッド一覧


344● Re[6]:場違いな質問ですが[ moon ] 2003 02/10 19:39
> ありがとうございました〜(^^
> やっぱりperl難しいですね(^^;
> (今、本で勉強しています)
> わからないことがあったらこれからも宜しくお願いします。。

プログラミングは慣れが大切ですからね〜。
がんばってください。

# 今回のことはPerlのことというよりはSoS2の複雑さによるもののような気も。(笑)
スレッド一覧

CGIROOM