私設SoS2オーナー応援BBS

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

スレッド

└◇441:
Re[7]:装備をはずす [masaki] 03/17 21:51

 └◇442:Re[8]:装備をはずす [moon] 03/17 22:24
  └◇443:Re[9]:装備をはずす [masaki] 03/18 17:49<-last


441● Re[7]:装備をはずす[ masaki ] 2003 03/17 21:51
バグ発生です(;;
所持アイテムが
・ブレスレット
・イヤリング
で、イヤリングが呪われていてブレスレットが呪われていない場合、イヤリングを装備して、↓
「ブレスレットにチェックして、イヤリングのチェックをはずし決定」すると、
『ブレスレットを装備しました
イヤリングを装備するには別のアイテムを外す必要があります』
となり、装備が入れ替わってしまいます。
(その瞬間は装備されていないことになるのかな?)
moonさんの都合のいいときでいいので、考えて下さると助かります。。
よろしくお願いします。
スレッド一覧


442● Re[8]:装備をはずす[ moon ] 2003 03/17 22:24
> バグ発生です(;;
> 所持アイテムが
> ・ブレスレット
> ・イヤリング
> で、イヤリングが呪われていてブレスレットが呪われていない場合、イヤリングを装備して、↓
> 「ブレスレットにチェックして、イヤリングのチェックをはずし決定」すると、
> 『ブレスレットを装備しました
> イヤリングを装備するには別のアイテムを外す必要があります』
> となり、装備が入れ替わってしまいます。
> (その瞬間は装備されていないことになるのかな?)
> moonさんの都合のいいときでいいので、考えて下さると助かります。。
> よろしくお願いします。

バグというか当然の結果です。
自分が参加している某SoS2でもそういう仕様となっています。(そこでしかプレイしていなかったりしますが(笑))

これはアイテムを先読みするか、それが装備失敗したときにその障害となった装備アイテムの装備をはずすようにしなければいけません。
この2つの処理はどちらも面倒なので、装備失敗になったら全てのアイテム処理をキャンセルするようにすれば"根本的な解決にはなりませんが"一応は呪いの装備品がはずれるのは防げると思います。

アイテム処理をキャンセルする場合の変更点は、sub armの最後に、
  $use_cancel = 1 if($nomsg && index($sts,'No')>=0 && $sts!~/Q[swat]/);
を追加しsub use_afterを以下のように変更する。
  if ($Fm{$_}) {
    〜〜〜
  }
を、
  if ($Fm{$_}) {
    〜〜〜
    if($use_cancel){
      push(@msg,"呪われた品「$item」をはずそうとしたことにより、呪いが発動し時間が巻き戻されました");
      return;
    }
  }

もちろんNo.438の変更をした上での話です。(やっていないとsub armが実行されないので・・・)
スレッド一覧


443● Re[9]:装備をはずす[ masaki ] 2003 03/18 17:49
お忙しい中、いろいろな質問に答えていただきありがとうございました(^^
本当にありがとうございました
スレッド一覧

CGIROOM