No.1006 ステータスの上限について |
お久しぶりです
質問はステータスの上限設定についてなのですが、戦闘系・非戦闘系で上限を設定して、且つ特定のスキルを所持している場合はその上限が適用されないというものを考えて色々と試したのですが、どうも上手くいきませんでした
if($sp =~ /Tf/ && $sp !~ /Ag/){
if($ak >= $Maxak){ push (@msg,"攻撃力上限は$Maxakです。これ以上上げる事は出来ません"); return }
この場合は攻撃力ですが、上限を$MaxakでAgスキルを所持している場合は適用されないとして、これでスクリプトは合っていますでしょうか?
# Sub Stellatio Completeの
($value = $sdtlines[$_]) =~ tr/A-Za-z//d;
if ($sdtlines[$_] =~ /AT/) { $ak += $value }
elsif ($sdtlines[$_] =~ /DF/) { $dd += $value }
elsif ($sdtlines[$_] =~ /BG/) { $xi += $value }
elsif ($sdtlines[$_] =~ /HP/) { $xp += $value }
else { $sp .= $sdtlines[$_] }
の部分に導入すれば良いとは思うのですが、
($value = $sdtlines[$_]) =~ tr/A-Za-z//d;
if($sp =~ /Tf/ && $sp !~ /Ag/){
if($ak >= $Maxak){ push (@msg,"攻撃力上限は$Maxakです。これ以上上げる事は出来ません"); return }
}
if ($sdtlines[$_] =~ /AT/) { $ak += $value }
if($sp =~ /Tf/ && $sp !~ /Ag/){
if($dd >= $Maxdd){ push (@msg,"防御力上限は$Maxddです。これ以上上げる事は出来ません"); return }
}
elsif ($sdtlines[$_] =~ /DF/) { $dd += $value }
if($sp =~ /Tf/ && $sp !~ /Ag/){
if($xi >= $Maxxi){ push (@msg,"所持上限は$Maxxiです。これ以上上げる事は出来ません"); return }
}
if($sp =~ /Tv/ && $sp !~ /Ag/){
if($xi >= $Maxxi1){ push (@msg,"所持上限は$Maxxi1です。これ以上上げる事は出来ません"); return }
}
elsif ($sdtlines[$_] =~ /BG/) { $xi += $value }
if($sp =~ /Tf/ && $sp !~ /Ag/){
if($xp >= $Maxxp){ push (@msg,"体力上限は$Maxxpです。これ以上上げる事は出来ません"); return }
}
if($sp =~ /Tv/ && $sp !~ /Ag/){
if($xp >= $Maxxp1){ push (@msg,"体力上限は$Maxxp1です。これ以上上げる事は出来ません"); return }
}
elsif ($sdtlines[$_] =~ /HP/) { $xp += $value }
else { $sp .= $sdtlines[$_] }
恐らく導入の仕方がまずいのだとは思いますが、1つのステータスが上限になるとその他のステータスが全て上がらなくなってしまいました
また、戦闘系は普通に上がるのですが、非戦闘系はステータスそのものが全く上がらなくなりました
初歩的な質問なのかもしれませんが、よろしければご教授お願いします
▼関連発言
│
└◆1006:ステータスの上限について [まいる] 04/11 15:29
└◆1007:Re:ステータスの上限について [moon] 04/11 16:16
└◆1008:Re[2]:ステータスの上限について [まいる] 04/11 17:48<-last