本帖最后由 632b781af97903 于 2022-5-11 20:09 编辑
玩家击杀另外一个后,记录一次; 到了指定次数击杀后显示指定信息"xxx造成了xx连杀!"
但是需要的 过了比如10秒后 没有连杀,就删除这个记录 不知道该怎么弄
复制代码
玩家击杀另外一个后,记录一次; 到了指定次数击杀后显示指定信息"xxx造成了xx连杀!"
但是需要的 过了比如10秒后 没有连杀,就删除这个记录 不知道该怎么弄
- public static Map<UUID, Long> time = new HashMap<UUID, Long>();
- public static Map<UUID, Integer> kills = new HashMap<UUID, Integer>();
- public void put(Player death, Player killer) {
- UUID u = killer.getUniqueId();
- if (time.containsKey(u)) {
- if ((st() - time.get(u)) > 10000) {
- time.remove(u);
- kills.put(u, 1);
- } else {
- time.put(u, st());
- kills.put(u, kills.containsKey(u) ? kills.get(u) + 1 : 1);
- }
- } else {
- time.put(u, st());
- kills.put(u, 1);
- }
- }
用HashMap就行了
HashMap<UUID,long> 对应玩家uuid与击杀时间,每次击杀玩家就查询上次击杀时间,在连杀时间内就更新击杀时间,否之删除记录
结冰的离季 发表于 2022-5-11 20:02
HashMap 对应玩家uuid与击杀时间,每次击杀玩家就查询上次击杀时间,在连杀时间内就更新击杀时间,否之删除 ...
厉害哦qwq 虽然看不太懂hhh
结冰的离季 发表于 2022-5-11 20:02
HashMap 对应玩家uuid与击杀时间,每次击杀玩家就查询上次击杀时间,在连杀时间内就更新击杀时间,否之删除 ...
厉害哦~. 虽然看不太懂…