2012-02-17 10 views
2

私は、プレイヤーの総エクスペリエンスを出力するコードを持っています。コマンドが再度実行されたときに変数がリセットされない

実際のXPでは、出力するXP値が変更されないという問題があります。 たとえば、レベル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を実行し、新しい金額で変数を更新した後、この値はリセットするのですか?

答えて

1

ExpSkillsを見ると、レベルの代わりに経験をして遊ぶのが道のりです。

だから今はsetTotalExperience()getTotalExperience()を使用してください。

作業がすべて完了したら、レベルのサポートを追加してください。 レベルを経験して経験するレベルに変換するコンバータがありますか? そうでない場合は、conversion chartsです。

2

senderから来ているように見えるPlayerオブジェクトを更新しないと、古い値が保持されるため、senderに新しいデータが入力されていることを確認します。

関連する問題