GeneralchatHandler.java
资源名称:src.rar [点击查看]
上传用户:gwt600
上传日期:2021-06-03
资源大小:704k
文件大小:4k
源码类别:
游戏
开发平台:
Java
- /*
- This file is part of the OdinMS Maple Story Server
- Copyright (C) 2008 Patrick Huy <patrick.huy@frz.cc>
- Matthias Butz <matze@odinms.de>
- Jan Christian Meyer <vimes@odinms.de>
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License version 3
- as published by the Free Software Foundation. You may not use, modify
- or distribute this program under any other version of the
- GNU Affero General Public License.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
- package net.sf.odinms.net.channel.handler;
- import net.sf.odinms.client.MapleClient;
- import net.sf.odinms.client.messages.CommandProcessor;
- import net.sf.odinms.net.AbstractMaplePacketHandler;
- import net.sf.odinms.server.AutobanManager;
- import net.sf.odinms.server.PublicChatHandler;
- import net.sf.odinms.tools.MaplePacketCreator;
- import net.sf.odinms.tools.data.input.SeekableLittleEndianAccessor;
- public class GeneralchatHandler extends AbstractMaplePacketHandler {
- @Override
- public void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
- c.getPlayer().resetAfkTime();
- String text = slea.readMapleAsciiString();
- int show = slea.readByte();
- if (!(c.getPlayer().isGM()) && text.length() > 70) { // 70 = max text for client. remove this if u have edit the client :X
- AutobanManager.getInstance().autoban(c.getPlayer().getClient(), "infinite text.");
- } else {
- if (!CommandProcessor.getInstance().processCommand(c, text) && c.getPlayer().getCanTalk() && !PublicChatHandler.doChat(c, text)) {
- if (!c.getPlayer().isHidden()) {
- if (c.getPlayer().getGMText() == 0) {
- c.getPlayer().getMap().broadcastMessage(MaplePacketCreator.getChatText(c.getPlayer().getId(), text, false, show));
- } else if (c.getPlayer().getGMText() == 7) {
- c.getPlayer().getMap().broadcastMessage(MaplePacketCreator.getChatText(c.getPlayer().getId(), text, true, show));
- } else {
- switch (c.getPlayer().getGMText()) {
- case 1:
- case 2:
- case 3:
- case 4:
- //MultiChat
- c.getPlayer().getMap().broadcastMessage(MaplePacketCreator.multiChat(c.getPlayer().getName(), text, c.getPlayer().getGMText() - 1));
- break;
- case 5:
- case 6:
- //Server Notice
- c.getPlayer().getMap().broadcastMessage(MaplePacketCreator.serverNotice(c.getPlayer().getGMText(), c.getPlayer().getName() + " : " + text));
- break;
- case 8:
- //Whisper
- c.getPlayer().getMap().broadcastMessage(MaplePacketCreator.getWhisper(c.getPlayer().getName(), c.getChannel(), text));
- break;
- case 9:
- //MapleTip
- c.getPlayer().getMap().broadcastMessage(MaplePacketCreator.sendYellowTip(c.getPlayer().getName() + " : " + text));
- break;
- }
- c.getPlayer().getMap().broadcastMessage(MaplePacketCreator.getChatText(c.getPlayer().getId(), text, false, 1));
- }
- } else {
- c.getPlayer().getMap().broadcastMessage(MaplePacketCreator.serverNotice(5, c.getPlayer().getName() + ": " + text));
- }
- }
- }
- }
- }
English
