632b781af97903
本帖最后由 632b781af97903 于 2022-5-11 20:09 编辑


玩家击杀另外一个后,记录一次; 到了指定次数击杀后显示指定信息"xxx造成了xx连杀!"
但是需要的 过了比如10秒后 没有连杀,就删除这个记录 不知道该怎么弄


  1.         public static Map<UUID, Long> time = new HashMap<UUID, Long>();
  2.         public static Map<UUID, Integer> kills = new HashMap<UUID, Integer>();

  3.         public void put(Player death, Player killer) {
  4.                 UUID u = killer.getUniqueId();
  5.                 if (time.containsKey(u)) {
  6.                         if ((st() - time.get(u)) > 10000) {
  7.                                 time.remove(u);
  8.                                 kills.put(u, 1);
  9.                         } else {
  10.                                 time.put(u, st());
  11.                                 kills.put(u, kills.containsKey(u) ? kills.get(u) + 1 : 1);
  12.                         }
  13.                 } else {
  14.                         time.put(u, st());
  15.                         kills.put(u, 1);
  16.                 }
  17.         }
复制代码



sky浩瀚
用HashMap就行了

结冰的离季
HashMap<UUID,long> 对应玩家uuid与击杀时间,每次击杀玩家就查询上次击杀时间,在连杀时间内就更新击杀时间,否之删除记录

BNDSER
结冰的离季 发表于 2022-5-11 20:02
HashMap 对应玩家uuid与击杀时间,每次击杀玩家就查询上次击杀时间,在连杀时间内就更新击杀时间,否之删除 ...

厉害哦qwq 虽然看不太懂hhh

BNDSER
结冰的离季 发表于 2022-5-11 20:02
HashMap 对应玩家uuid与击杀时间,每次击杀玩家就查询上次击杀时间,在连杀时间内就更新击杀时间,否之删除 ...

厉害哦~.   虽然看不太懂…