Перейти к содержанию
Авторизация  
Redon

.menu Для Acis

Рекомендуемые сообщения

Добрый вечер господа не кто не может как реализовать команду типа .menu или .info для aCis

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый вечер господа не кто не может как реализовать команду типа .menu или .info для aCis

Берём подобное,в данном случае это EON,и от туда тащим. в хендлерах есть menu.java

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да круто сказал разверни чужой код а примера нету мне нужна только схема реализации на aCis

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да круто сказал разверни чужой код а примера нету мне нужна только схема реализации на aCis

В чужом коде и есть реализация готовая. Зачем делать,если есть готовое.

Это l2j,они все на один лад.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Могу сделать за определенную плату. Если интересует - пишите в лс.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый вечер господа не кто не может как реализовать команду типа .menu или .info для aCis

Тю, так это же будет в след реве от L2Dimension (улучшенные акисы)

И да, я считаю, что если админ отзывчивый и старается улучшить свой проект путь баг-репорта, ему стоит помогать рекламировать сборку

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тю, так это же будет в след реве от L2Dimension (улучшенные акисы)

И да, я считаю, что если админ отзывчивый и старается улучшить свой проект путь баг-репорта, ему стоит помогать рекламировать сборку

О боже.. Началась реклама.

Если на то пошло то у L2jFatum это давным давно реализовано.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Берем любой сурс в котором реализована команда и копипастим.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Какая из команд использовала aCis 310+ и реализовала VoicedCommandHandler а то уже перебрал все возможные варианты

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тс проще будет если вы с кем то обменяетесь на что то!

даную фишку, я сам в коде не бум бум, но без смекалки за спасибо редко кто делает "но делают)"

те кто умеют делать такое и понимают что тут работы на минут 15 вам подсказывают в каком направление рыть!

а те которые просят денег... решать вам в принципе платить или учиться! здесь подскажут)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто бы подсказал что я не так сделал не компилица просто

 

Index: /trunk/aCis_gameserver/java/net/sf/l2j/gameserver/handler/VoicedCommandHandler.java
===================================================================
--- /trunk/aCis_gameserver/java/net/sf/l2j/gameserver/handler/VoicedCommandHandler.java    (revision 12)
+++ /trunk/aCis_gameserver/java/net/sf/l2j/gameserver/handler/VoicedCommandHandler.java    (revision 12)
@@ -0,0 +1,71 @@
+/*
+ * 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 3 of the License, 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, see <http://www.gnu.org/licenses/>.
+ */
+package net.sf.l2j.gameserver.handler;
+
+import gnu.trove.map.hash.TIntObjectHashMap;
+
+import java.util.logging.Logger;
+
+import net.sf.l2j.Config;
+
+public class VoicedCommandHandler
+{
+    private static Logger _log = Logger.getLogger(ItemHandler.class.getName());
+   
+    private final TIntObjectHashMap<IVoicedCommandHandler> _datatable;
+   
+    public static VoicedCommandHandler getInstance()
+    {
+	    return SingletonHolder._instance;
+    }
+   
+    protected VoicedCommandHandler()
+    {
+	    _datatable = new TIntObjectHashMap<>();
+    }
+   
+    public void registerHandler(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].hashCode(), handler);
+	    }
+    }
+   
+    public IVoicedCommandHandler getHandler(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.hashCode()) != null));
+	    return _datatable.get(command.hashCode());
+    }
+   
+    public int size()
+    {
+	    return _datatable.size();
+    }
+   
+    private static class SingletonHolder
+    {
+	    protected static final VoicedCommandHandler _instance = new VoicedCommandHandler();
+    }
+}
Index: /trunk/aCis_gameserver/java/net/sf/l2j/gameserver/handler/IVoicedCommandHandler.java
===================================================================
--- /trunk/aCis_gameserver/java/net/sf/l2j/gameserver/handler/IVoicedCommandHandler.java    (revision 12)
+++ /trunk/aCis_gameserver/java/net/sf/l2j/gameserver/handler/IVoicedCommandHandler.java    (revision 12)
@@ -0,0 +1,28 @@
+/*
+ * 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 3 of the License, 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, see <http://www.gnu.org/licenses/>.
+ */
+package net.sf.l2j.gameserver.handler;
+
+import java.util.logging.Logger;
+
+import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
+
+public interface IVoicedCommandHandler
+{
+    public static Logger _log = Logger.getLogger(IVoicedCommandHandler.class.getName());
+
+    public boolean useVoicedCommand(String command, L2PcInstance activeChar, String params);
+
+    public String[] getVoicedCommandList();
+}
Index: /trunk/aCis_gameserver/java/net/sf/l2j/gameserver/handler/chathandlers/ChatAll.java
===================================================================
--- /trunk/aCis_gameserver/java/net/sf/l2j/gameserver/handler/chathandlers/ChatAll.java    (revision 11)
+++ /trunk/aCis_gameserver/java/net/sf/l2j/gameserver/handler/chathandlers/ChatAll.java    (revision 12)
@@ -15,5 +15,9 @@
package net.sf.l2j.gameserver.handler.chathandlers;

+import java.util.StringTokenizer;
+
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;
@@ -38,13 +42,41 @@
 public void handleChat(int type, L2PcInstance activeChar, String params, String text)
 {
-	    CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text);
-	   
-	    for (L2PcInstance player : activeChar.getKnownList().getKnownPlayers())
-	    {
-		    if (activeChar.isInsideRadius(player, 1250, false, true) && !BlockList.isBlocked(player, activeChar))
-			    player.sendPacket(cs);
-	    }
-	   
-	    activeChar.sendPacket(cs);
+	    boolean vcd_used = false;
+	    if (text.startsWith("."))
+	    {
+		    StringTokenizer st = new StringTokenizer(text);
+		    IVoicedCommandHandler vch;
+		    String command = "";
+
+		    if (st.countTokens() > 1)
+		    {
+			    command = st.nextToken().substring(1);
+			    params = text.substring(command.length() + 2);
+			    vch = VoicedCommandHandler.getInstance().getHandler(command);
+		    }
+		    else
+		    {
+			    command = text.substring(1);
+			    vch = VoicedCommandHandler.getInstance().getHandler(command);
+		    }
+		   
+		    if (vch != null)
+		    {
+			    vch.useVoicedCommand(command, activeChar, params);
+			    vcd_used = true;
+		    }
+	    }
+	    if (!vcd_used)
+	    {
+		    CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text);
+		   
+		    for (L2PcInstance player : activeChar.getKnownList().getKnownPlayers())
+		    {
+			    if (activeChar.isInsideRadius(player, 1250, false, true) && !BlockList.isBlocked(player, activeChar))
+				    player.sendPacket(cs);
+		    }
+		   
+		    activeChar.sendPacket(cs);
+	    }
 }

Index: /trunk/aCis_gameserver/java/net/sf/l2j/gameserver/GameServer.java
===================================================================
--- /trunk/aCis_gameserver/java/net/sf/l2j/gameserver/GameServer.java    (revision 11)
+++ /trunk/aCis_gameserver/java/net/sf/l2j/gameserver/GameServer.java    (revision 12)
@@ -63,4 +63,5 @@
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;
@@ -271,4 +272,5 @@
	 _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)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

for (L2PcInstance player : activeChar.getKnownList().getKnownType())

 

Заменить на

 

for (L2PcInstance player : activeChar.getKnownList().getKnownType(L2PcInstance.class))

Изменено пользователем Redon

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Парни помогите организовать на aCis команды .expoff\on .premium или просто сделать это в команде .menu, пробовал брать с других сборок(lucera,scoria,silentium) пробовал интегрировать в aCis (менял путь импорта) прописывал в Config, gameserver, при компиляции вылазит куча ошибок, и на символы и на точки...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Парни помогите организовать на aCis команды .expoff\on .premium или просто сделать это в команде .menu, пробовал брать с других сборок(lucera,scoria,silentium) пробовал интегрировать в aCis (менял путь импорта) прописывал в Config, gameserver, при компиляции вылазит куча ошибок, и на символы и на точки...

 

Есть полостью .menu готовая с настройками чара

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть полостью .menu готовая с настройками чара

Какие варианты владения ей?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...