-
Posts
3,353 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Articles
Profiles
Forums
Store
Everything posted by Dulens.
-
[Request] voicecommand gia acis!!!
Dulens. replied to Diabaths's question in Request Server Development Help [Greek]
Index: java/net/sf/l2j/gameserver/GameServer.java =================================================================== --- java/net/sf/l2j/gameserver/GameServer.java (revision 75) +++ java/net/sf/l2j/gameserver/GameServer.java (working copy) @@ -68,6 +68,7 @@ import net.sf.l2j.gameserver.handler.ItemHandler; import net.sf.l2j.gameserver.handler.SkillHandler; import net.sf.l2j.gameserver.handler.UserCommandHandler; +import net.sf.l2j.gameserver.handler.VoicedCommandHandler; import net.sf.l2j.gameserver.idfactory.IdFactory; import net.sf.l2j.gameserver.instancemanager.AuctionManager; import net.sf.l2j.gameserver.instancemanager.BoatManager; @@ -242,6 +243,7 @@ _log.config("ItemHandler: Loaded " + ItemHandler.getInstance().size() + " handlers."); _log.config("SkillHandler: Loaded " + SkillHandler.getInstance().size() + " handlers."); _log.config("UserCommandHandler: Loaded " + UserCommandHandler.getInstance().size() + " handlers."); + _log.config("VoicedCommandHandler: Loaded " + VoicedCommandHandler.getInstance().size() + " handlers."); if (Config.ALLOW_WEDDING) CoupleManager.getInstance(); Index: java/net/sf/l2j/gameserver/handler/VoicedCommandHandler.java =================================================================== --- java/net/sf/l2j/gameserver/handler/VoicedCommandHandler.java (revision 0) +++ java/net/sf/l2j/gameserver/handler/VoicedCommandHandler.java (revision 0) @@ -0,0 +1,81 @@ +/* + * This program 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 2, or (at your option) + * any later version. + * + * 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + * + * http://www.gnu.org/copyleft/gpl.html + */ +package net.sf.l2j.gameserver.handler; + +import java.util.Map; +import java.util.logging.Logger; + +import javolution.util.FastMap; +import net.sf.l2j.gameserver.handler.admincommandhandlers.AdminGeoEditor; +import net.sf.l2j.gameserver.handler.voicedcommandhandlers.*; + +public class VoicedCommandHandler +{ + private static Logger _log = Logger.getLogger(ItemHandler.class.getName()); + + private static VoicedCommandHandler _instance; + private Map<String, IVoicedCommandHandler> _datatable; + + public static VoicedCommandHandler getInstance() + { + if (_instance == null) + _instance = new VoicedCommandHandler(); + + return _instance; + } + + private VoicedCommandHandler() + { + _datatable = new FastMap<String, IVoicedCommandHandler>(); + + } + + public void registerVoicedCommandHandler(IVoicedCommandHandler handler) + { + String[] ids = handler.getVoicedCommandList(); + for (int i = 0; i < ids.length; i++) + { + if (Config.DEBUG) _log.fine("Adding handler for command "+ids[i]); + _datatable.put(ids[i], handler); + } + } + + public IVoicedCommandHandler getVoicedCommandHandler(String voicedCommand) + { + String command = voicedCommand; + + if (voicedCommand.indexOf(" ") != -1) + command = voicedCommand.substring(0, voicedCommand.indexOf(" ")); + + if (Config.DEBUG) + _log.fine("getting handler for command: "+command+" -> "+(_datatable.get(command) != null)); + + return _datatable.get(command); + } + + public int size() + { + return _datatable.size(); + } +} Index: java/net/sf/l2j/gameserver/handler/IVoicedCommandHandler.java =================================================================== --- java/net/sf/l2j/gameserver/handler/IVoicedCommandHandler.java (revision 0) +++ java/net/sf/l2j/gameserver/handler/IVoicedCommandHandler.java (revision 0) @@ -0,0 +1,43 @@ +/* + * This program 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 2, or (at your option) + * any later version. + * + * 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + * + * http://www.gnu.org/copyleft/gpl.html + */ +package net.sf.l2j.gameserver.handler; + +import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; + +/** + * This class ... + * + * @version $Revision: 1.1.4.2 $ $Date: 2005/03/27 15:30:09 $ + */ +public interface IVoicedCommandHandler +{ + /** + * this is the worker method that is called when someone uses an admin command. + * @param activeChar + * @param command + * @return command success + */ + public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target); + + /** + * this method is called at initialization to register all the item ids automatically + * @return all known itemIds + */ + public String[] getVoicedCommandList(); +} Index: java/net/sf/l2j/gameserver/handler/chathandlers/ChatAll.java =================================================================== --- java/net/sf/l2j/gameserver/handler/chathandlers/ChatAll.java (revision 75) +++ java/net/sf/l2j/gameserver/handler/chathandlers/ChatAll.java (working copy) @@ -15,8 +15,13 @@ package net.sf.l2j.gameserver.handler.chathandlers; import java.util.Collection; +import java.util.StringTokenizer; +import java.util.logging.Logger; +import net.sf.l2j.Config; import net.sf.l2j.gameserver.handler.IChatHandler; +import net.sf.l2j.gameserver.handler.IVoicedCommandHandler; +import net.sf.l2j.gameserver.handler.VoicedCommandHandler; import net.sf.l2j.gameserver.model.BlockList; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.network.serverpackets.CreatureSay; @@ -29,6 +34,7 @@ public class ChatAll implements IChatHandler { private static final int[] COMMAND_IDS = { 0 }; + private static Logger _log = Logger.getLogger(ChatAll.class.getName()); /** * Handle chat type 'all' @@ -36,16 +42,53 @@ */ public void handleChat(int type, L2PcInstance activeChar, String params, String text) { - CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text); - Collection<L2PcInstance> plrs = activeChar.getKnownList().getKnownPlayers().values(); - - for (L2PcInstance player : plrs) + boolean vcd_used = false; + if (text.startsWith(".")) { - if (player != null && activeChar.isInsideRadius(player, 1250, false, true) && !BlockList.isBlocked(player, activeChar)) - player.sendPacket(cs); - } + StringTokenizer st = new StringTokenizer(text); + IVoicedCommandHandler vch; + String command = ""; - activeChar.sendPacket(cs); + if (st.countTokens() > 1) + { + command = st.nextToken().substring(1); + params = text.substring(command.length() + 2); + vch = VoicedCommandHandler.getInstance().getVoicedCommandHandler(command); + } + else + { + command = text.substring(1); + if (Config.DEBUG) + _log.info("Command: " + command); + vch = VoicedCommandHandler.getInstance().getVoicedCommandHandler(command); + } + + if (vch != null) + { + vch.useVoicedCommand(command, activeChar, params); + vcd_used = true; + } + else + { + if (Config.DEBUG) + _log.warning("No handler registered for bypass '" + command + "'"); + vcd_used = false; + } + } + + if (!vcd_used) + { + CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text); + Collection<L2PcInstance> plrs = activeChar.getKnownList().getKnownPlayers().values(); + + for (L2PcInstance player : plrs) + { + if (player != null && activeChar.isInsideRadius(player, 1250, false, true) && !BlockList.isBlocked(player, activeChar)) + player.sendPacket(cs); + } + + activeChar.sendPacket(cs); + } } /** -
[Request] voicecommand gia acis!!!
Dulens. replied to Diabaths's question in Request Server Development Help [Greek]
Index: java/net/sf/l2j/gameserver/GameServer.java =================================================================== --- java/net/sf/l2j/gameserver/GameServer.java (revision 75) +++ java/net/sf/l2j/gameserver/GameServer.java (working copy) @@ -68,6 +68,7 @@ import net.sf.l2j.gameserver.handler.ItemHandler; import net.sf.l2j.gameserver.handler.SkillHandler; import net.sf.l2j.gameserver.handler.UserCommandHandler; +import net.sf.l2j.gameserver.handler.VoicedCommandHandler; import net.sf.l2j.gameserver.idfactory.IdFactory; import net.sf.l2j.gameserver.instancemanager.AuctionManager; import net.sf.l2j.gameserver.instancemanager.BoatManager; @@ -242,6 +243,7 @@ _log.config("ItemHandler: Loaded " + ItemHandler.getInstance().size() + " handlers."); _log.config("SkillHandler: Loaded " + SkillHandler.getInstance().size() + " handlers."); _log.config("UserCommandHandler: Loaded " + UserCommandHandler.getInstance().size() + " handlers."); + _log.config("VoicedCommandHandler: Loaded " + VoicedCommandHandler.getInstance().size() + " handlers."); if (Config.ALLOW_WEDDING) CoupleManager.getInstance(); Index: java/net/sf/l2j/gameserver/handler/VoicedCommandHandler.java =================================================================== --- java/net/sf/l2j/gameserver/handler/VoicedCommandHandler.java (revision 0) +++ java/net/sf/l2j/gameserver/handler/VoicedCommandHandler.java (revision 0) @@ -0,0 +1,81 @@ +/* + * This program 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 2, or (at your option) + * any later version. + * + * 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + * + * http://www.gnu.org/copyleft/gpl.html + */ +package net.sf.l2j.gameserver.handler; + +import java.util.Map; +import java.util.logging.Logger; + +import javolution.util.FastMap; +import net.sf.l2j.gameserver.handler.admincommandhandlers.AdminGeoEditor; +import net.sf.l2j.gameserver.handler.voicedcommandhandlers.*; + +public class VoicedCommandHandler +{ + private static Logger _log = Logger.getLogger(ItemHandler.class.getName()); + + private static VoicedCommandHandler _instance; + private Map<String, IVoicedCommandHandler> _datatable; + + public static VoicedCommandHandler getInstance() + { + if (_instance == null) + _instance = new VoicedCommandHandler(); + + return _instance; + } + + private VoicedCommandHandler() + { + _datatable = new FastMap<String, IVoicedCommandHandler>(); + + } + + public void registerVoicedCommandHandler(IVoicedCommandHandler handler) + { + String[] ids = handler.getVoicedCommandList(); + for (int i = 0; i < ids.length; i++) + { + if (Config.DEBUG) _log.fine("Adding handler for command "+ids[i]); + _datatable.put(ids[i], handler); + } + } + + public IVoicedCommandHandler getVoicedCommandHandler(String voicedCommand) + { + String command = voicedCommand; + + if (voicedCommand.indexOf(" ") != -1) + command = voicedCommand.substring(0, voicedCommand.indexOf(" ")); + + if (Config.DEBUG) + _log.fine("getting handler for command: "+command+" -> "+(_datatable.get(command) != null)); + + return _datatable.get(command); + } + + public int size() + { + return _datatable.size(); + } +} Index: java/net/sf/l2j/gameserver/handler/IVoicedCommandHandler.java =================================================================== --- java/net/sf/l2j/gameserver/handler/IVoicedCommandHandler.java (revision 0) +++ java/net/sf/l2j/gameserver/handler/IVoicedCommandHandler.java (revision 0) @@ -0,0 +1,43 @@ +/* + * This program 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 2, or (at your option) + * any later version. + * + * 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + * + * http://www.gnu.org/copyleft/gpl.html + */ +package net.sf.l2j.gameserver.handler; + +import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; + +/** + * This class ... + * + * @version $Revision: 1.1.4.2 $ $Date: 2005/03/27 15:30:09 $ + */ +public interface IVoicedCommandHandler +{ + /** + * this is the worker method that is called when someone uses an admin command. + * @param activeChar + * @param command + * @return command success + */ + public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target); + + /** + * this method is called at initialization to register all the item ids automatically + * @return all known itemIds + */ + public String[] getVoicedCommandList(); +} Index: java/net/sf/l2j/gameserver/handler/chathandlers/ChatAll.java =================================================================== --- java/net/sf/l2j/gameserver/handler/chathandlers/ChatAll.java (revision 75) +++ java/net/sf/l2j/gameserver/handler/chathandlers/ChatAll.java (working copy) @@ -15,8 +15,13 @@ package net.sf.l2j.gameserver.handler.chathandlers; import java.util.Collection; +import java.util.StringTokenizer; +import java.util.logging.Logger; +import net.sf.l2j.Config; import net.sf.l2j.gameserver.handler.IChatHandler; +import net.sf.l2j.gameserver.handler.IVoicedCommandHandler; +import net.sf.l2j.gameserver.handler.VoicedCommandHandler; import net.sf.l2j.gameserver.model.BlockList; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.network.serverpackets.CreatureSay; @@ -29,6 +34,7 @@ public class ChatAll implements IChatHandler { private static final int[] COMMAND_IDS = { 0 }; + private static Logger _log = Logger.getLogger(ChatAll.class.getName()); /** * Handle chat type 'all' @@ -36,16 +42,53 @@ */ public void handleChat(int type, L2PcInstance activeChar, String params, String text) { - CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text); - Collection<L2PcInstance> plrs = activeChar.getKnownList().getKnownPlayers().values(); - - for (L2PcInstance player : plrs) + boolean vcd_used = false; + if (text.startsWith(".")) { - if (player != null && activeChar.isInsideRadius(player, 1250, false, true) && !BlockList.isBlocked(player, activeChar)) - player.sendPacket(cs); - } + StringTokenizer st = new StringTokenizer(text); + IVoicedCommandHandler vch; + String command = ""; - activeChar.sendPacket(cs); + if (st.countTokens() > 1) + { + command = st.nextToken().substring(1); + params = text.substring(command.length() + 2); + vch = VoicedCommandHandler.getInstance().getVoicedCommandHandler(command); + } + else + { + command = text.substring(1); + if (Config.DEBUG) + _log.info("Command: " + command); + vch = VoicedCommandHandler.getInstance().getVoicedCommandHandler(command); + } + + if (vch != null) + { + vch.useVoicedCommand(command, activeChar, params); + vcd_used = true; + } + else + { + if (Config.DEBUG) + _log.warning("No handler registered for bypass '" + command + "'"); + vcd_used = false; + } + } + + if (!vcd_used) + { + CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text); + Collection<L2PcInstance> plrs = activeChar.getKnownList().getKnownPlayers().values(); + + for (L2PcInstance player : plrs) + { + if (player != null && activeChar.isInsideRadius(player, 1250, false, true) && !BlockList.isBlocked(player, activeChar)) + player.sendPacket(cs); + } + + activeChar.sendPacket(cs); + } } /** -
[Request] voicecommand gia acis!!!
Dulens. replied to Diabaths's question in Request Server Development Help [Greek]
εννοεί το σύστημα για τα voiced commands. περίμενε να τον βρω. -
[Request] voicecommand gia acis!!!
Dulens. replied to Diabaths's question in Request Server Development Help [Greek]
εννοεί το σύστημα για τα voiced commands. περίμενε να τον βρω. -
lol, χαχαχαχαχαχαχαχαχαχαχαχαχαχα
-
lol, χαχαχαχαχαχαχαχαχαχαχαχαχαχα
-
'σύνδεση cyta'. lol, που ξέρουμε εμείς πόσο upload έχει? δώσε speedtest, να σου πούμε. btw, δώσε info για pack/client κλπ.
-
'σύνδεση cyta'. lol, που ξέρουμε εμείς πόσο upload έχει? δώσε speedtest, να σου πούμε. btw, δώσε info για pack/client κλπ.
-
you gave me idea to do something, thank you and good luck with your sales!
-
you gave me idea to do something, thank you and good luck with your sales!
-
I can do this, I gonna out now. We will speak at night!
-
I can do this, I gonna out now. We will speak at night!
-
[R&C] Lineage II OlympiadGods - Template
Dulens. replied to takecare's topic in Graphics/GFX General Discussion
-
[R&C] Lineage II OlympiadGods - Template
Dulens. replied to takecare's topic in Graphics/GFX General Discussion
-
I found it, thanks I will addapt it.
-
I found it, thanks I will addapt it.
-
ahh -.- k, thanks both. btw, can u suggest me events which working? D: anything.
-
ahh -.- k, thanks both. btw, can u suggest me events which working? D: anything.
-
btw at code I can't see any part about answer.
-
btw at code I can't see any part about answer.
-
nope.
-
nope.
-
y0 niggaz, I added quiz event at my server. I got some "warnings" at code with possible fix to add 'synthetic-access'. I didn't add these fixes, I just compile it with the warnings. Event works fine without any problem but there is something strange. I answer in Trade(+) chat, but system cannot read my answer. It does nothing, but I have answer. Any idea?
-
y0 niggaz, I added quiz event at my server. I got some "warnings" at code with possible fix to add 'synthetic-access'. I didn't add these fixes, I just compile it with the warnings. Event works fine without any problem but there is something strange. I answer in Trade(+) chat, but system cannot read my answer. It does nothing, but I have answer. Any idea?
-
Pauler's is the best. +1 for Pauler.
