berry64
本帖最后由 berry64 于 2015-1-3 15:00 编辑

我在试着写一个自动禁刷屏插件
不过我不知道怎么确定上次说的话
是这样的:
  1. pulic void ChatEvt(PlayerChatEvent evt){
  2. String messagea;
  3. String messageb;
  4. messagea= evt.getMessage()
复制代码
我想知道怎么找出2次连发的话语......或者说上次发的东西
并且问一下怎么设定玩家不发文字呢?
我试了
evt.setMessage(null)和evt.setMessage("")
都没有用




鱼青余
本人渣

看不懂...

墨墨1zwl
LZ发帖不就是2连发么。。。

好吧,我以前看过的就是一些小学生刷屏常用的“aaaaa”“。。。。。”之类的直接禁止掉,还有连续说话多了之后禁言的插件

Ayamuta

那你还回复.....

鱼青余

看帖不回,这,我对不起论坛啊!

2586712004
路过打酱油一个

15834179549
我也求这类的
表示压根不会=/=

huanghongxun
难道没有什么event.setCancel
或者setResult或者success么

我才是小灰灰
请参考这个http://www.mcbbs.net/thread-377013-1-1.html

yykt123
evt.setCancelled(true);

Hineven
本帖最后由 胡晨晓 于 2015-1-7 14:03 编辑

可以弄个HashMap用玩家的名字来做按钮,储存上一次说的话,当事件发生时来比较内容,相同的话就取消事件,否然更新这个玩家上次说的话

代码:

HashMap<Player,String> ls=new.......

@EventHandler

public void onPlayerChat(PlayerChatEvent e)
{
if(ls.get(e.getPlayer())==null)
ls.put(e.getPlayer(),e.getString());
if(e.getString().equals(ls.ger(e.getPlayer))){
event.setCancancel(true);
}
else ls.get(e.getPlayer())=e.getString();
}


应该是这样吧

Grandiose
捕捉野生黄鱼X3

YOLO_O3O
用两个大小为2的Stringarray一个每次读新的一句删掉最后一句,第二个每次记录新的player删掉最后一个player然后每次对比这两个player和msg是否相同

berry64
YOLO_O3O 发表于 2015-1-7 07:12
用两个大小为2的Stringarray一个每次读新的一句删掉最后一句,第二个每次记录新的player删掉最后一个player ...

我已经解决了这个问题,用的是HashMap
我试过array,不好用...

第一页 上一页 下一页 最后一页