▼スレッド
│
└◇178:エラーが・・・。 [ナム〜ン] 11/18 09:44
└◇179:Re:エラーが・・・。 [moon] 11/18 19:39
└◇182:無事にできました〜☆ [ナム〜ン] 11/19 14:41<-last
解答ありがとうございます。スレッド一覧
で、早速やってみたのですがいまいち理解ができなくて
エラーを出してしまいます・・・。
ちなみにアイテムではなく特種能力(スキルとは別物)を
作ってそれを装備や順番入れ替えと言う命令を今作ってます。
# Sub Fsort After #
sub fsort_after {
@rcdlines = &get_user("$Fm{'id'}");
return if $fg ne 'FB';
&splititem('f');
foreach (0 .. $#fhoses) {
($fhose,$fkz,$flv,$fsk,$frd) = split(/△/,$fhoses[$_]);
if ($fsk =~ /Qs/) { $nomsg = 1 } else { $nomsg = 0 }
$fsk =~ s/Qs//g;
if ($Fm{$_}) {
if (@tf_fshu && @tv_fshu) { &fhose_arm($1,'Qs') }
}
if ($Fm{'sort'}) {
if(@fhoses){
my $change = -1;
foreach(0..$#fhoses){
if($Fm{"$_"}){
if($change>=0){
($fhoses[$change],$fhoses[$_]) = ($fhoses[$_],$fhoses[$change]);
$change = -1;
}
else{$change = $_;}
}
}
}
$fg = ''; &userout;
push (@msg,"フォースを並べ変えました。");
}
if (!$gn) { $newitem = "$fhose△$fkz△$flv△$fsk"; $newitem .= "△$frd" if $frd; push(@we,$newitem) }
$gn = 0;
}
@fhoses = @we; &joinitem(f); $fg = ''; &userout;
}
というやつなんですが
sortをするとアイテムの入れ替えができるというものです。
ちなみに# Sub Fsort Before #でアイテムをチェックして
# Sub Fsort After #で入れ替えるというのなんですが
入れ方が悪いのでしょうか?
> sortをするとアイテムの入れ替えができるというものです。スレッド一覧
> ちなみに# Sub Fsort Before #でアイテムをチェックして
> # Sub Fsort After #で入れ替えるというのなんですが
> 入れ方が悪いのでしょうか?
場所が悪いですね。
以下、ソートを選んだ場合はソートしかしないと仮定して変更。(文法チェックなし)
# Sub Fsort After #
sub fsort_after {
@rcdlines = &get_user("$Fm{'id'}");
return if($fg ne 'FB');
&splititem('f');
if($Fm{'sort'}){
if(@fhoses){
my $change = -1;
foreach(0..$#fhoses){
if($Fm{"$_"}){
if($change>=0){
($fhoses[$change],$fhoses[$_]) = ($fhoses[$_],$fhoses[$change]);
$change = -1;
}
else{$change = $_;}
}
}
}
push(@msg,"フォースを並べ変えました。");
}
else{
# こちらにもif(@fhoses)を書いたほうが良いはず
foreach(0..$#fhoses){
($fhose,$fkz,$flv,$fsk,$frd) = split(/△/,$fhoses[$_]);
if($fsk=~/Qs/){$nomsg = 1;}else{$nomsg = 0;}
$fsk =~ s/Qs//g;
if($Fm{$_}){
&fhose_arm($1,'Qs') if(@tf_fshu && @tv_fshu); # $1は不適切?
}
# $gnは使用していないのでいらない
if(!$gn){$newitem = "$fhose△$fkz△$flv△$fsk"; $newitem .= "△$frd" if($frd); push(@we,$newitem);}
$gn = 0;
}
@fhoses = @we;
}
&joinitem('f'); # たぶんエラー原因だったところ f→'f'
$fg = ''; &userout;
}
ありがとうございました☆スレッド一覧