2012-02-17 39 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

如果您沒有更新您的Player對象,它看起來像是來自sender它將保留舊值,因此我檢查sender是否帶有新數據。

相關問題