▼スレッド
│
└◇431:Re[13]:装備をはずす [moon] 03/16 10:59
└◇432:間違い [moon] 03/16 11:11
> sub arm の最後に追加してもどうしてもメッセージが表示されません。(;;スレッド一覧
> 場所が間違っているのでしょうか?
> sub arm内
> } elsif ($ch !~ /$a2/) {
> $ab += $iak; $db += $idd;
> &umsg('装') if !$nomsg;
> if ($a1 eq 'Bw') { $sp .= 'Qb' }
> if ($a1 eq 'Kt') { $sp .= 'Qk' }
> if ($a1 eq 'Ax') { $sp .= 'Qx' }
> if ($a1 eq 'Sw' && $sts =~ /Li/) { $sp .= 'Qm' }
> $ch .= $a2; $sts .= $a2;
> } else { &umsg('別') }
> } else { &umsg('職') }
> push(@msg,"$itemをはずしました") if($nomsg && $sts!~/Q[swat]/);
> }
> 最後というのがここではないのでしょうか?(^^;;
> これでは表示されないので、428の記事の場所にしました。
場所は間違っていないです。
$nomsgは変なところで初期化していないはずだし、装備後に$stsにはQ[swat]が付くはずだし、どこがうまく動作していないのだろう?
そもそも自分の考え方が間違っているということもあるので変だと思ったところは指摘してください。
とりあえず、「はずしました」の上にpush(@msg,"\$nomsg=$nomsg<br>\$sts=$sts");を追加してその時点での変数の値を確認してください。
使用前に既に装備してあるもののチェックをはずして実行した場合の正常な動作表示としては、
$nomsg=1
$sts='Q[swat]がないステータス'
となります。
すみません。テストしてみた結果、動きませんでした。スレッド一覧
で、変更点はuse_after内を次のようにしてください。
if ($Fm{$_}) {
〜〜〜
}
elsif($nomsg){ # ここから追加
push(@msg,"$itemをはずしました");
}
これはテスト済みなので大丈夫だと思います。
# アイテムのチェックボックスにチェックが入っていないとsub armが呼び出されないことをうっかり忘れていました・・・。