1
0
mirror of https://github.com/Rogiel/l2jserver2 synced 2025-12-05 23:22:47 +00:00

Signed-off-by: Rogiel <rogiel@rogiel.com>

This commit is contained in:
2011-05-22 13:53:52 -03:00
parent 0661b41cfd
commit 3554664367
24 changed files with 285 additions and 30 deletions

View File

@@ -20,12 +20,14 @@ import org.jboss.netty.buffer.ChannelBuffer;
import com.google.inject.Inject; import com.google.inject.Inject;
import com.l2jserver.game.net.Lineage2Connection; import com.l2jserver.game.net.Lineage2Connection;
import com.l2jserver.game.net.SystemMessage;
import com.l2jserver.game.net.packet.AbstractClientPacket; import com.l2jserver.game.net.packet.AbstractClientPacket;
import com.l2jserver.game.net.packet.server.ActionFailedPacket; import com.l2jserver.game.net.packet.server.ActionFailedPacket;
import com.l2jserver.service.game.chat.CannotChatToSelfChatServiceException; import com.l2jserver.service.game.chat.CannotChatToSelfChatServiceException;
import com.l2jserver.service.game.chat.ChatBanActiveChatServiceException; import com.l2jserver.service.game.chat.ChatBanActiveChatServiceException;
import com.l2jserver.service.game.chat.ChatMessageDestination; import com.l2jserver.service.game.chat.ChatMessageDestination;
import com.l2jserver.service.game.chat.ChatService; import com.l2jserver.service.game.chat.ChatService;
import com.l2jserver.service.game.chat.ChatTargetOfflineServiceException;
import com.l2jserver.service.game.chat.TargetNotFoundChatServiceException; import com.l2jserver.service.game.chat.TargetNotFoundChatServiceException;
import com.l2jserver.util.BufferUtils; import com.l2jserver.util.BufferUtils;
@@ -75,16 +77,16 @@ public class CharacterChatMessagePacket extends AbstractClientPacket {
} }
try { try {
chatService.send(conn.getCharacterID(), destination, message, target); chatService.send(conn.getCharacterID(), destination, message,
target);
} catch (TargetNotFoundChatServiceException e) { } catch (TargetNotFoundChatServiceException e) {
// TODO Auto-generated catch block conn.sendSystemMessage(SystemMessage.TARGET_CANT_FOUND);
e.printStackTrace();
} catch (CannotChatToSelfChatServiceException e) { } catch (CannotChatToSelfChatServiceException e) {
// TODO Auto-generated catch block conn.sendSystemMessage(SystemMessage.CANNOT_USE_ON_YOURSELF);
e.printStackTrace();
} catch (ChatBanActiveChatServiceException e) { } catch (ChatBanActiveChatServiceException e) {
// TODO Auto-generated catch block conn.sendSystemMessage(SystemMessage.CHATTING_IS_CURRENTLY_PROHIBITED);
e.printStackTrace(); } catch (ChatTargetOfflineServiceException e) {
conn.sendSystemMessage(SystemMessage.S1_IS_NOT_ONLINE, target);
} }
} }

View File

@@ -16,6 +16,8 @@
*/ */
package com.l2jserver.service.admin; package com.l2jserver.service.admin;
import java.util.List;
import com.l2jserver.model.world.L2Character; import com.l2jserver.model.world.L2Character;
import com.l2jserver.service.AbstractService; import com.l2jserver.service.AbstractService;
@@ -25,6 +27,8 @@ import com.l2jserver.service.AbstractService;
*/ */
public class AdministratorServiceImpl extends AbstractService implements public class AdministratorServiceImpl extends AbstractService implements
AdministratorService { AdministratorService {
private List<L2Character> online;
@Override @Override
public void command(L2Character character, String command, String... args) { public void command(L2Character character, String command, String... args) {
if(command.equals("log")) { if(command.equals("log")) {

View File

@@ -1,3 +1,19 @@
/*
* This file is part of l2jserver <l2jserver.com>.
*
* l2jserver is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* l2jserver 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with l2jserver. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.service.game.character; package com.l2jserver.service.game.character;
import com.l2jserver.model.world.capability.Actor; import com.l2jserver.model.world.capability.Actor;

View File

@@ -1,3 +1,19 @@
/*
* This file is part of l2jserver <l2jserver.com>.
*
* l2jserver is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* l2jserver 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with l2jserver. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.service.game.character; package com.l2jserver.service.game.character;
/** /**

View File

@@ -1,3 +1,19 @@
/*
* This file is part of l2jserver <l2jserver.com>.
*
* l2jserver is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* l2jserver 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with l2jserver. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.service.game.character; package com.l2jserver.service.game.character;
/** /**

View File

@@ -1,3 +1,19 @@
/*
* This file is part of l2jserver <l2jserver.com>.
*
* l2jserver is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* l2jserver 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with l2jserver. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.service.game.character; package com.l2jserver.service.game.character;
/** /**

View File

@@ -1,3 +1,19 @@
/*
* This file is part of l2jserver <l2jserver.com>.
*
* l2jserver is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* l2jserver 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with l2jserver. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.service.game.character; package com.l2jserver.service.game.character;
/** /**

View File

@@ -1,3 +1,19 @@
/*
* This file is part of l2jserver <l2jserver.com>.
*
* l2jserver is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* l2jserver 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with l2jserver. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.service.game.character; package com.l2jserver.service.game.character;
/** /**

View File

@@ -52,10 +52,10 @@ import com.l2jserver.model.world.npc.event.NPCSpawnEvent;
import com.l2jserver.model.world.player.event.PlayerTeleportedEvent; import com.l2jserver.model.world.player.event.PlayerTeleportedEvent;
import com.l2jserver.service.AbstractService; import com.l2jserver.service.AbstractService;
import com.l2jserver.service.AbstractService.Depends; import com.l2jserver.service.AbstractService.Depends;
import com.l2jserver.service.game.chat.ChatChannel;
import com.l2jserver.service.game.chat.ChatChannelListener;
import com.l2jserver.service.game.chat.ChatMessageDestination; import com.l2jserver.service.game.chat.ChatMessageDestination;
import com.l2jserver.service.game.chat.ChatService; import com.l2jserver.service.game.chat.ChatService;
import com.l2jserver.service.game.chat.channel.ChatChannel;
import com.l2jserver.service.game.chat.channel.ChatChannelListener;
import com.l2jserver.service.game.spawn.AlreadySpawnedServiceException; import com.l2jserver.service.game.spawn.AlreadySpawnedServiceException;
import com.l2jserver.service.game.spawn.NotSpawnedServiceException; import com.l2jserver.service.game.spawn.NotSpawnedServiceException;
import com.l2jserver.service.game.spawn.SpawnPointNotFoundServiceException; import com.l2jserver.service.game.spawn.SpawnPointNotFoundServiceException;
@@ -133,6 +133,8 @@ public class CharacterServiceImpl extends AbstractService implements
return; return;
itemDao.loadInventory(character); itemDao.loadInventory(character);
character.setOnline(true);
// chat listener // chat listener
final ChatChannelListener globalChatListener = new ChatChannelListener() { final ChatChannelListener globalChatListener = new ChatChannelListener() {
@@ -258,6 +260,7 @@ public class CharacterServiceImpl extends AbstractService implements
Preconditions.checkNotNull(character, "character"); Preconditions.checkNotNull(character, "character");
spawnService.unspawn(character); spawnService.unspawn(character);
eventDispatcher.dispatch(new CharacterLeaveWorldEvent(character)); eventDispatcher.dispatch(new CharacterLeaveWorldEvent(character));
character.setOnline(false);
} }
@Override @Override

View File

@@ -1,12 +1,26 @@
/*
* This file is part of l2jserver <l2jserver.com>.
*
* l2jserver is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* l2jserver 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with l2jserver. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.service.game.chat; package com.l2jserver.service.game.chat;
/** /**
* Exception thrown if the player is trying to chat with itself. * Exception thrown if the player is trying to chat with itself.
* *
* @author <a href="http://www.rogiel.com">Rogiel</a> * @author <a href="http://www.rogiel.com">Rogiel</a>
*/ */
public class CannotChatToSelfChatServiceException extends public class CannotChatToSelfChatServiceException extends ChatServiceException {
ChatServiceException {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }

View File

@@ -1,3 +1,19 @@
/*
* This file is part of l2jserver <l2jserver.com>.
*
* l2jserver is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* l2jserver 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with l2jserver. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.service.game.chat; package com.l2jserver.service.game.chat;

View File

@@ -14,10 +14,9 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with l2jserver. If not, see <http://www.gnu.org/licenses/>. * along with l2jserver. If not, see <http://www.gnu.org/licenses/>.
*/ */
package com.l2jserver.service.game.chat.channel; package com.l2jserver.service.game.chat;
import com.l2jserver.model.id.object.CharacterID; import com.l2jserver.model.id.object.CharacterID;
import com.l2jserver.service.game.chat.ChatBanActiveChatServiceException;
/** /**
* The {@link ChatChannel} object is used to send messages to a channel. * The {@link ChatChannel} object is used to send messages to a channel.
@@ -38,9 +37,13 @@ public interface ChatChannel {
* the message to be sent * the message to be sent
* @throws ChatBanActiveChatServiceException * @throws ChatBanActiveChatServiceException
* if <tt>sender</tt> is banned from chatting * if <tt>sender</tt> is banned from chatting
* @throws ChatTargetOfflineServiceException
* if the target is offline. Will be be thrown in
* {@link PrivateChatChannel}.
*/ */
void send(CharacterID sender, String message) void send(CharacterID sender, String message)
throws ChatBanActiveChatServiceException; throws ChatBanActiveChatServiceException,
ChatTargetOfflineServiceException;
/** /**
* Adds a {@link ChatChannelListener} that will be notified once a message * Adds a {@link ChatChannelListener} that will be notified once a message

View File

@@ -14,7 +14,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with l2jserver. If not, see <http://www.gnu.org/licenses/>. * along with l2jserver. If not, see <http://www.gnu.org/licenses/>.
*/ */
package com.l2jserver.service.game.chat.channel; package com.l2jserver.service.game.chat;
import com.l2jserver.model.id.object.CharacterID; import com.l2jserver.model.id.object.CharacterID;

View File

@@ -20,9 +20,6 @@ import com.l2jserver.model.id.object.CharacterID;
import com.l2jserver.model.id.object.ClanID; import com.l2jserver.model.id.object.ClanID;
import com.l2jserver.model.world.L2Character; import com.l2jserver.model.world.L2Character;
import com.l2jserver.service.Service; import com.l2jserver.service.Service;
import com.l2jserver.service.game.chat.channel.ChatChannel;
import com.l2jserver.service.game.chat.channel.PrivateChatChannel;
import com.l2jserver.service.game.chat.channel.PublicChatChannel;
/** /**
* This service chatting in the server * This service chatting in the server
@@ -47,11 +44,14 @@ public interface ChatService extends Service {
* if trying to send a private message to self * if trying to send a private message to self
* @throws ChatBanActiveChatServiceException * @throws ChatBanActiveChatServiceException
* if there is chat ban active * if there is chat ban active
* @throws ChatTargetOfflineServiceException
* if the chat target is offline
*/ */
void send(CharacterID sender, ChatMessageDestination chat, String message, void send(CharacterID sender, ChatMessageDestination chat, String message,
String extra) throws TargetNotFoundChatServiceException, String extra) throws TargetNotFoundChatServiceException,
CannotChatToSelfChatServiceException, CannotChatToSelfChatServiceException,
ChatBanActiveChatServiceException; ChatBanActiveChatServiceException,
ChatTargetOfflineServiceException;
/** /**
* Get the Global {@link ChatChannel}. Messages sent in this chat are * Get the Global {@link ChatChannel}. Messages sent in this chat are

View File

@@ -0,0 +1,27 @@
/*
* This file is part of l2jserver <l2jserver.com>.
*
* l2jserver is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* l2jserver 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with l2jserver. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.service.game.chat;
/**
* Exception thrown if the player trying to send a message to an player that is
* not online.
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class ChatTargetOfflineServiceException extends ChatServiceException {
private static final long serialVersionUID = 1L;
}

View File

@@ -14,7 +14,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with l2jserver. If not, see <http://www.gnu.org/licenses/>. * along with l2jserver. If not, see <http://www.gnu.org/licenses/>.
*/ */
package com.l2jserver.service.game.chat.channel; package com.l2jserver.service.game.chat;
import com.l2jserver.model.id.object.CharacterID; import com.l2jserver.model.id.object.CharacterID;

View File

@@ -14,7 +14,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with l2jserver. If not, see <http://www.gnu.org/licenses/>. * along with l2jserver. If not, see <http://www.gnu.org/licenses/>.
*/ */
package com.l2jserver.service.game.chat.channel; package com.l2jserver.service.game.chat;
/** /**
* An public {@link ChatChannel}. Please note that the concept of "public" does * An public {@link ChatChannel}. Please note that the concept of "public" does

View File

@@ -29,10 +29,6 @@ import com.l2jserver.model.world.L2Character;
import com.l2jserver.service.AbstractService; import com.l2jserver.service.AbstractService;
import com.l2jserver.service.ServiceStartException; import com.l2jserver.service.ServiceStartException;
import com.l2jserver.service.ServiceStopException; import com.l2jserver.service.ServiceStopException;
import com.l2jserver.service.game.chat.channel.ChatChannel;
import com.l2jserver.service.game.chat.channel.ChatChannelListener;
import com.l2jserver.service.game.chat.channel.PrivateChatChannel;
import com.l2jserver.service.game.chat.channel.PublicChatChannel;
import com.l2jserver.service.game.region.Region; import com.l2jserver.service.game.region.Region;
import com.l2jserver.service.game.region.RegionService; import com.l2jserver.service.game.region.RegionService;
import com.l2jserver.util.factory.CollectionFactory; import com.l2jserver.util.factory.CollectionFactory;
@@ -108,7 +104,7 @@ public class SimpleChatService extends AbstractService implements ChatService {
String message, String extra) String message, String extra)
throws TargetNotFoundChatServiceException, throws TargetNotFoundChatServiceException,
CannotChatToSelfChatServiceException, CannotChatToSelfChatServiceException,
ChatBanActiveChatServiceException { ChatBanActiveChatServiceException, ChatTargetOfflineServiceException {
Preconditions.checkNotNull(sender, "sender"); Preconditions.checkNotNull(sender, "sender");
Preconditions.checkNotNull(message, "message"); Preconditions.checkNotNull(message, "message");

View File

@@ -1,12 +1,26 @@
/*
* This file is part of l2jserver <l2jserver.com>.
*
* l2jserver is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* l2jserver 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with l2jserver. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.service.game.chat; package com.l2jserver.service.game.chat;
/** /**
* Exception thrown when the target of an private chat is not found * Exception thrown when the target of an private chat is not found
* *
* @author <a href="http://www.rogiel.com">Rogiel</a> * @author <a href="http://www.rogiel.com">Rogiel</a>
*/ */
public class TargetNotFoundChatServiceException extends public class TargetNotFoundChatServiceException extends ChatServiceException {
ChatServiceException {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }

View File

@@ -1,3 +1,19 @@
/*
* This file is part of l2jserver <l2jserver.com>.
*
* l2jserver is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* l2jserver 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with l2jserver. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.service.game.npc; package com.l2jserver.service.game.npc;
import com.l2jserver.util.exception.L2Exception; import com.l2jserver.util.exception.L2Exception;

View File

@@ -1,3 +1,19 @@
/*
* This file is part of l2jserver <l2jserver.com>.
*
* l2jserver is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* l2jserver 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with l2jserver. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.service.game.npc; package com.l2jserver.service.game.npc;
import com.l2jserver.model.world.NPC; import com.l2jserver.model.world.NPC;

View File

@@ -1,3 +1,19 @@
/*
* This file is part of l2jserver <l2jserver.com>.
*
* l2jserver is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* l2jserver 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with l2jserver. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.service.game.spawn; package com.l2jserver.service.game.spawn;

View File

@@ -1,3 +1,19 @@
/*
* This file is part of l2jserver <l2jserver.com>.
*
* l2jserver is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* l2jserver 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with l2jserver. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.service.game.spawn; package com.l2jserver.service.game.spawn;

View File

@@ -1,3 +1,19 @@
/*
* This file is part of l2jserver <l2jserver.com>.
*
* l2jserver is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* l2jserver 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with l2jserver. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.service.game.spawn; package com.l2jserver.service.game.spawn;