私設SoS2オーナー応援BBS

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

No.968  Re[3]:置換
発言者: ミル
発言日: 2004 02/29 21:56
なるほど……。と、もう一つ聞きたいのですが。
今の処理は、『特定の武具を装備している場合、あるアイテムを使うとその武具能力をあげることができる』というものなんです。

ですが、あるアイテムを消す処理が分かりません。二度アイテムを読み込ませたり、意味不明になってしまいました。


if ($sts =~ /CbNsPeQp/) {
    &splititem('i');
        foreach(@items){
        ($item, $sts, $price) = split(/△/, $_);
        if(index($sts, 'CbNsPeQp') != -1){ # 剣(Sw)の場合
#特定アイテムの処理(*)
$pc = substr($sts, 0, 4); # 下取り価格の取得
$atk = substr($sts, 4, 2); # 攻撃力値の取得
$dfd = substr($sts, 6, 2); # 防御力値の取得
$other = substr($sts, 8); # アイテム属性の取得
$pc += 2;# ここに$pc、$atk、$dfdの変更処理
if($pc < -999){$pc = -999;}elsif($pc > 9999){$pc = 9999;} # 値の制限
if($atk < -9){$atk = -9;}elsif($atk > 99){$atk = 99;} # 値の制限
if($dfd < -9){$dfd = -9;}elsif($dfd > 99){$dfd = 99;} # 値の制限
$sts = sprintf("%04d%02d%02d%s", $pc, $atk, $dfd, $other); # $stsの再構築
$_ = "$item△$sts"; # アイテムデータの反映
$_ .= "△$price" if($price > 0); # 価格の追加
#特定アイテムの処理
    }
    }
  &joinitem('i');
    &splititem('i');
        if($sts, 'ApCb'){ # 強化アイテムの指定
#恐らくここに消す処理を加える($gn = 1;かな)
    }
    }
  &joinitem('i');
        push (@msg,"武具を強化しました");
} else { push (@msg,"$itemは強化アイテムではありません") ;return}
}

汚い……のは置いといて、どうすれば指定武具ステータスを変更した後にアイテムを消すことができるでしょうか……?
本当に他力本願で申し訳ないのですが……。

▼関連発言

965:置換 [ミル] 02/29 05:33
 └966:Re:置換 [ミル] 02/29 05:35
  └967:Re[2]:置換 [moon] 02/29 13:04
   └968:Re[3]:置換 [ミル] 02/29 21:56
    └969:Re[4]:置換 [ミル] 02/29 22:07
     └970:Re[5]:置換 [moon] 02/29 23:29
      └971:Re[6]:置換 [ミル] 03/01 13:21
       └972:Re[7]:置換 [ミル] 03/01 15:28
        └973:Re[8]:置換 [ミル] 03/01 15:33
         └974:Re[9]:置換 [moon] 03/01 19:14
          └975:Re[10]:置換 [moon] 03/01 22:25
           └976:Re[11]:置換 [ミル] 03/06 19:30
            └977:Re[12]:置換 [ミル] 03/06 19:39
             └978:Re[13]:置換 [moon] 03/06 20:26
              └993:うおおう [ミル] 03/20 20:29<-last

Pass 保存


CGIROOM