1
0
mirror of https://github.com/Rogiel/l2jserver2 synced 2025-12-10 09:22:49 +00:00

Chat logging implementation and chat service improvements

Signed-off-by: Rogiel <rogiel@rogiel.com>
This commit is contained in:
2011-07-30 19:30:49 -03:00
parent 373ea43f3e
commit 9b25d29192
28 changed files with 863 additions and 77 deletions

View File

@@ -140,7 +140,7 @@ public class Lineage2PacketReader extends OneToOneDecoder {
return CM_CHAR_CREATE.class;
case CM_REQUEST_CHAR_TEMPLATE.OPCODE:
return CM_REQUEST_CHAR_TEMPLATE.class;
case 0xd0: // CM_EXTENDED
case 0xd0: // CM_REQ_**************
final int opcode2 = buffer.readUnsignedShort();
switch (opcode2) {
case CM_GOTO_LOBBY.OPCODE2:
@@ -152,7 +152,7 @@ public class Lineage2PacketReader extends OneToOneDecoder {
case CM_EXT_REQ_ALL_FORTRESS_INFO.OPCODE2:
return CM_EXT_REQ_ALL_FORTRESS_INFO.class;
default:
logger.warn("Unknown opcode2 for 0xd0: 0x{}",
logger.warn("Unknown packet for 0xd0{}",
Integer.toHexString(opcode2));
break;
}
@@ -188,7 +188,7 @@ public class Lineage2PacketReader extends OneToOneDecoder {
case CM_ATTACK.OPCODE:
return CM_ATTACK.class;
default:
logger.warn("Unknown opcode: 0x{}", Integer.toHexString(opcode));
logger.warn("Unknown packet for 0x{}", Integer.toHexString(opcode));
break;
}
return null;

View File

@@ -53,7 +53,7 @@ public class Lineage2PacketWriter extends OneToOneEncoder {
final ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(
ByteOrder.LITTLE_ENDIAN, 10);
final ServerPacket packet = (ServerPacket) msg;
buffer.writeShort(0);
buffer.writeShort(0); // wrap 2 bytes for packet length
buffer.writeByte(packet.getOpcode()); // packet opcode
packet.write(connection, buffer);

View File

@@ -25,7 +25,7 @@ import com.l2jserver.game.net.packet.AbstractClientPacket;
import com.l2jserver.game.net.packet.server.SM_ACTION_FAILED;
import com.l2jserver.service.game.chat.CannotChatToSelfChatServiceException;
import com.l2jserver.service.game.chat.ChatBanActiveChatServiceException;
import com.l2jserver.service.game.chat.ChatMessageDestination;
import com.l2jserver.service.game.chat.ChatMessageType;
import com.l2jserver.service.game.chat.ChatService;
import com.l2jserver.service.game.chat.ChatTargetOfflineServiceException;
import com.l2jserver.service.game.chat.TargetNotFoundChatServiceException;
@@ -50,7 +50,7 @@ public class CM_CHAT extends AbstractClientPacket {
private final ChatService chatService;
private String message;
private ChatMessageDestination destination;
private ChatMessageType destination;
private String target;
@@ -62,8 +62,8 @@ public class CM_CHAT extends AbstractClientPacket {
@Override
public void read(Lineage2Client conn, ChannelBuffer buffer) {
this.message = BufferUtils.readString(buffer);
this.destination = ChatMessageDestination.fromID(buffer.readInt());
if (this.destination == ChatMessageDestination.TELL) { // private
this.destination = ChatMessageType.fromID(buffer.readInt());
if (this.destination == ChatMessageType.TELL) { // private
// message
this.target = BufferUtils.readString(buffer);
}

View File

@@ -22,7 +22,7 @@ import com.l2jserver.game.net.Lineage2Client;
import com.l2jserver.game.net.packet.AbstractServerPacket;
import com.l2jserver.model.world.Actor;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.service.game.chat.ChatMessageDestination;
import com.l2jserver.service.game.chat.ChatMessageType;
import com.l2jserver.util.BufferUtils;
/**
@@ -44,7 +44,7 @@ public class SM_CHAT extends AbstractServerPacket {
/**
* The message destination
*/
private ChatMessageDestination destination;
private ChatMessageType destination;
/**
* The message
*/
@@ -54,7 +54,7 @@ public class SM_CHAT extends AbstractServerPacket {
*/
private int messageID = 0;
public SM_CHAT(Actor character, ChatMessageDestination destination,
public SM_CHAT(Actor character, ChatMessageType destination,
String message) {
super(OPCODE);
this.actor = character;
@@ -62,7 +62,7 @@ public class SM_CHAT extends AbstractServerPacket {
this.message = message;
}
public SM_CHAT(Actor actor, ChatMessageDestination destination,
public SM_CHAT(Actor actor, ChatMessageType destination,
int messageID) {
super(OPCODE);
this.actor = actor;

View File

@@ -18,6 +18,7 @@ package com.l2jserver.game.net.packet.server;
import org.jboss.netty.buffer.ChannelBuffer;
import com.google.common.base.Preconditions;
import com.l2jserver.game.net.Lineage2Client;
import com.l2jserver.game.net.packet.AbstractServerPacket;
@@ -33,16 +34,28 @@ public class SM_GG_QUERY extends AbstractServerPacket {
*/
public static final int OPCODE = 0x74;
public SM_GG_QUERY() {
super(OPCODE);
private final int[] key;
public SM_GG_QUERY(int[] key) {
super(OPCODE);
Preconditions.checkArgument(key.length == 4,
"key must by an 4-length array");
this.key = key;
}
public SM_GG_QUERY(int key1, int key2, int key3, int key4) {
super(OPCODE);
this.key = new int[4];
this.key[0] = key1;
this.key[1] = key2;
this.key[2] = key3;
this.key[3] = key4;
}
@Override
public void write(Lineage2Client conn, ChannelBuffer buffer) {
buffer.writeInt(0x27533DD9);
buffer.writeInt(0x2E72A51D);
buffer.writeInt(0x2017038B);
buffer.writeInt(0xC35B1EA3);
for (final int part : key) {
buffer.writeInt(part);
}
}
}