▼スレッド
│
└◇1007:Re:ステータスの上限について [moon] 04/11 16:16
└◇1008:Re[2]:ステータスの上限について [まいる] 04/11 17:48<-last
> お久しぶりですスレッド一覧
> 質問はステータスの上限設定についてなのですが、戦闘系・非戦闘系で上限を設定して、且つ特定のスキルを所持している場合はその上限が適用されないというものを考えて色々と試したのですが、どうも上手くいきませんでした
>
> if($sp =~ /Tf/ && $sp !~ /Ag/){
> if($ak >= $Maxak){ push (@msg,"攻撃力上限は$Maxakです。これ以上上げる事は出来ません"); return }
>
> この場合は攻撃力ですが、上限を$MaxakでAgスキルを所持している場合は適用されないとして、これでスクリプトは合っていますでしょうか?
〜〜〜〜 略 〜〜〜〜
> 恐らく導入の仕方がまずいのだとは思いますが、1つのステータスが上限になるとその他のステータスが全て上がらなくなってしまいました
> また、戦闘系は普通に上がるのですが、非戦闘系はステータスそのものが全く上がらなくなりました
>
> 初歩的な質問なのかもしれませんが、よろしければご教授お願いします
if文の追加位置が良くないですね。
> if($sp =~ /Tf/ && $sp !~ /Ag/){
> if($ak >= $Maxak){ push (@msg,"攻撃力上限は$Maxakです。これ以上上げる事は出来ません"); return }
> }
の場合は、
> if ($sdtlines[$_] =~ /AT/) { $ak += $value }
の上に追加するのではなく
if ($sdtlines[$_] =~ /AT/) {
#### ここに追加 ####
$ak += $value;
}
上記の「#### ここに追加 ####」の部分に追加する必要があります。
他の能力値の場合も同様に{}の中に追加すれば良いです。
# 非戦闘系の場合に攻撃力と防御力のチェックが行われていないようですが・・・。
迅速なレス有難うございますスレッド一覧
早速ローカルテストで動作確認したところ、無事エラーも出ずに機能しました
># 非戦闘系の場合に攻撃力と防御力のチェックが行われていないようですが・・・。
これは非戦闘系でわざわざ攻撃と防御を上げる人は居ないだろうと思いあえて設定しませんでしたが、設定してないとどこか中途半端な感じがするかもしれませんね(苦笑
何はともあれ、有難うございました
また宜しくお願い致します