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:
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user