Jump to content

Dulens.

Banned
  • Posts

    3,353
  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by Dulens.

  1. 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); + } } /**
  2. 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); + } } /**
  3. εννοεί το σύστημα για τα voiced commands. περίμενε να τον βρω.
  4. εννοεί το σύστημα για τα voiced commands. περίμενε να τον βρω.
  5. lol, χαχαχαχαχαχαχαχαχαχαχαχαχαχα
  6. lol, χαχαχαχαχαχαχαχαχαχαχαχαχαχα
  7. 'σύνδεση cyta'. lol, που ξέρουμε εμείς πόσο upload έχει? δώσε speedtest, να σου πούμε. btw, δώσε info για pack/client κλπ.
  8. 'σύνδεση cyta'. lol, που ξέρουμε εμείς πόσο upload έχει? δώσε speedtest, να σου πούμε. btw, δώσε info για pack/client κλπ.
  9. you gave me idea to do something, thank you and good luck with your sales!
  10. you gave me idea to do something, thank you and good luck with your sales!
  11. I can do this, I gonna out now. We will speak at night!
  12. I can do this, I gonna out now. We will speak at night!
  13. I found it, thanks I will addapt it.
  14. I found it, thanks I will addapt it.
  15. ahh -.- k, thanks both. btw, can u suggest me events which working? D: anything.
  16. ahh -.- k, thanks both. btw, can u suggest me events which working? D: anything.
  17. btw at code I can't see any part about answer.
  18. btw at code I can't see any part about answer.
  19. 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?
  20. 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?
  21. Pauler's is the best. +1 for Pauler.
×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock