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 并使用新数量更新变量?

4

2 回答 2

2

如果您不更新Player看起来像是来自sender它的对象,它将保留旧值,所以我检查它sender是否带有新数据。

于 2012-02-17T01:30:28.957 回答
1

看看 ExpSkills,似乎玩经验而不是等级是要走的路。

所以现在使用setTotalExperience()getTotalExperience()

一旦一切正常,然后尝试添加对级别的支持。也许某处有一个转换器可以将级别转换为经验并将经验转换为级别?如果没有,这里是转换表

于 2012-02-17T02:12:48.063 回答