質問
プレーヤーの合計体験を出力するコードがあります。
問題は、実際のXPが行われたとしても、XP値IT出力が変更されないことです。たとえば、レベル50,000では、XPは2,147,483,647でした。レベルが4に低下すると、XP値は同じままでした。
if (cmd.getName().equalsIgnoreCase("checkxp")) {
// If person is null, it's not a player!
if (person == null) {
sender.sendMessage("This command can only be used by a player, sorry!");
return false;
} else {
int curxp;
Player player = (Player) sender;
curxp = player.getTotalExperience();
sender.sendMessage("You currently have: " + curxp + " XP!");
return true;
}
}
実行後にこの値をリセットするにはどうすればよいですか。XPを再確認し、変数を新しい金額で更新しますか?
解決
expskillsを見ると、レベルの代わりに経験で遊ぶことが行く方法のようです。
だから使用してください setTotalExperience()
と getTotalExperience()
今のところ。
すべてが機能したら、レベルのサポートを追加してみてください。たぶん、レベルを経験や経験に変換するためのどこかにコンバーターがあるのでしょうか?そうでない場合、ここにあります 変換チャート.
他のヒント
更新しない場合 Player
それが来ているように見えるオブジェクト sender
それは古い値を保持するので、私はそれをチェックします sender
新しいデータが入っています。
所属していません StackOverflow