Показать сообщение отдельно
Непрочитано 20.02.2012, 15:11   #13
Аватар для J.O.K.E.R.
Пользователь

Автор темы (Топик Стартер) Re: Компиляция в eclipse

Цитата:
Сообщение от Dark Rabbit Посмотреть сообщение
Для пвп комьюнити клиент вообще трогать не нужно, серверная часть там.
Ок, так куда всетаки файл ложить?

Добавлено через 3 часа 56 минут
Еще 1 вопрос по исправлению исходника: В исходнике есть файл CommunityBoard.java в котором следующий код:
Код:
package com.l2jserver.gameserver.communitybbs;

import com.l2jserver.Config;
import com.l2jserver.gameserver.communitybbs.Manager.ClanBBSManager;
import com.l2jserver.gameserver.communitybbs.Manager.PostBBSManager;
import com.l2jserver.gameserver.communitybbs.Manager.RegionBBSManager;
import com.l2jserver.gameserver.communitybbs.Manager.TopBBSManager;
import com.l2jserver.gameserver.communitybbs.Manager.TopicBBSManager;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.network.L2GameClient;
import com.l2jserver.gameserver.network.SystemMessageId;
import com.l2jserver.gameserver.network.serverpackets.ShowBoard;
import com.l2jserver.gameserver.network.serverpackets.SystemMessage;

public class CommunityBoard
{
	private CommunityBoard()
	{
	}
	
	public static CommunityBoard getInstance()
	{
		return SingletonHolder._instance;
	}
	
	public void handleCommands(L2GameClient client, String command)
	{
		L2PcInstance activeChar = client.getActiveChar();
		if (activeChar == null)
			return;
		
		switch (Config.COMMUNITY_TYPE)
		{
			default:
			case 0: //disabled
				activeChar.sendPacket(new SystemMessage(SystemMessageId.CB_OFFLINE));
				break;
			case 1: // old
				RegionBBSManager.getInstance().parsecmd(command, activeChar);
				break;
			case 2: // new
				if (command.startsWith("_bbsclan"))
				{
					ClanBBSManager.getInstance().parsecmd(command, activeChar);
				}
				else if (command.startsWith("_bbsmemo"))
				{
					TopicBBSManager.getInstance().parsecmd(command, activeChar);
				}
				else if (command.startsWith("_bbstopics"))
				{
					TopicBBSManager.getInstance().parsecmd(command, activeChar);
				}
				else if (command.startsWith("_bbsposts"))
				{
					PostBBSManager.getInstance().parsecmd(command, activeChar);
				}
				else if (command.startsWith("_bbstop"))
				{
					TopBBSManager.getInstance().parsecmd(command, activeChar);
				}
				else if (command.startsWith("_bbshome"))
				{
					TopBBSManager.getInstance().parsecmd(command, activeChar);
				}
				else if (command.startsWith("_bbsloc"))
				{
					RegionBBSManager.getInstance().parsecmd(command, activeChar);
				}
				else
				{
					ShowBoard sb = new ShowBoard("<html><body><br><br><center>the command: " + command
							+ " is not implemented yet</center><br><br></body></html>", "101");
					activeChar.sendPacket(sb);
					activeChar.sendPacket(new ShowBoard(null, "102"));
					activeChar.sendPacket(new ShowBoard(null, "103"));
				}
				break;
		}
	}
	
	/**
	 * @param client
	 * @param url
	 * @param arg1
	 * @param arg2
	 * @param arg3
	 * @param arg4
	 * @param arg5
	 */
	public void handleWriteCommands(L2GameClient client, String url, String arg1, String arg2, String arg3, String arg4, String arg5)
	{
		L2PcInstance activeChar = client.getActiveChar();
		if (activeChar == null)
			return;
		
		switch (Config.COMMUNITY_TYPE)
		{
			case 2:
				if (url.equals("Topic"))
				{
					TopicBBSManager.getInstance().parsewrite(arg1, arg2, arg3, arg4, arg5, activeChar);
				}
				else if (url.equals("Post"))
				{
					PostBBSManager.getInstance().parsewrite(arg1, arg2, arg3, arg4, arg5, activeChar);
				}
				else if (url.equals("Region"))
				{
					RegionBBSManager.getInstance().parsewrite(arg1, arg2, arg3, arg4, arg5, activeChar);
				}
				else if (url.equals("Notice"))
				{
					ClanBBSManager.getInstance().parsewrite(arg1, arg2, arg3, arg4, arg5, activeChar);
				}
				else
				{
					ShowBoard sb = new ShowBoard("<html><body><br><br><center>the command: " + url
							+ " is not implemented yet</center><br><br></body></html>", "101");
					activeChar.sendPacket(sb);
					activeChar.sendPacket(new ShowBoard(null, "102"));
					activeChar.sendPacket(new ShowBoard(null, "103"));
				}
				break;
			case 1:
				RegionBBSManager.getInstance().parsewrite(arg1, arg2, arg3, arg4, arg5, activeChar);
				break;
			default:
			case 0:
				ShowBoard sb = new ShowBoard("<html><body><br><br><center>The Community board is currently disabled</center><br><br></body></html>", "101");
				activeChar.sendPacket(sb);
				activeChar.sendPacket(new ShowBoard(null, "102"));
				activeChar.sendPacket(new ShowBoard(null, "103"));
				break;
		}
	}
	
	@SuppressWarnings("synthetic-access")
	private static class SingletonHolder
	{
		protected static final CommunityBoard _instance = new CommunityBoard();
	}
}
А тут: (http://www.l2jserver.com/forum/viewt...r+%20multisell) уже другой код...
Код:
### Eclipse Workspace Patch 1.0
#P L2_GameServer
Index: java/net/sf/l2j/gameserver/communitybbs/CommunityBoard.java
===================================================================
--- java/net/sf/l2j/gameserver/communitybbs/CommunityBoard.java   (revision 3430)
+++ java/net/sf/l2j/gameserver/communitybbs/CommunityBoard.java   (working copy)
@@ -14,12 +14,15 @@
  */
 package net.sf.l2j.gameserver.communitybbs;
 
+import java.util.StringTokenizer;
+
 import net.sf.l2j.Config;
 import net.sf.l2j.gameserver.communitybbs.Manager.ClanBBSManager;
 import net.sf.l2j.gameserver.communitybbs.Manager.PostBBSManager;
 import net.sf.l2j.gameserver.communitybbs.Manager.RegionBBSManager;
 import net.sf.l2j.gameserver.communitybbs.Manager.TopBBSManager;
 import net.sf.l2j.gameserver.communitybbs.Manager.TopicBBSManager;
+import net.sf.l2j.gameserver.model.L2Multisell;
 import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
 import net.sf.l2j.gameserver.network.L2GameClient;
 import net.sf.l2j.gameserver.network.SystemMessageId;
@@ -83,11 +86,44 @@
             }
             else
             {
-               ShowBoard sb = new ShowBoard("<html><body><br><br><center>the command: " + command
-                     + " is not implemented yet</center><br><br></body></html>", "101");
-               activeChar.sendPacket(sb);
-               activeChar.sendPacket(new ShowBoard(null, "102"));
-               activeChar.sendPacket(new ShowBoard(null, "103"));
+               StringTokenizer st;
+               if (command.startsWith("_bbsmultisell;"))
+               {
+                  st = new StringTokenizer(command, ";");
+                  st.nextToken();
+                  TopBBSManager.getInstance().parsecmd("_bbstop;" + st.nextToken(), activeChar);
+                  L2Multisell.getInstance().separateAndSend(Integer.parseInt(st.nextToken()), activeChar, 0, false, 0);
+               }
+               else if (command.startsWith("_bbsscripts;"))
+               {
+                  st = new StringTokenizer(command, ";");
+                  st.nextToken();
+                  TopBBSManager.getInstance().parsecmd("_bbstop;" + st.nextToken(), activeChar);
+                  
+                  String com = st.nextToken();
+                  String[] word = com.split("\\s+");
+                  String[] args = com.substring(word[0].length()).trim().split("\\s+");
+                  String[] path = word[0].split(":");
+                  if (path.length != 2)
+                  {
+                     System.out.println("Bad Script bypass!");
+                     return;
+                  }
+                  
+                  if (word.length == 1)
+                     activeChar.runScript(path[0], path[1]);
+                  else
+                     activeChar.runScript(path[0], path[1], args);
+               }
+               else
+               {
+                  ShowBoard sb = new ShowBoard("<html><body><br><br><center>the command: "
+                          + command
+                          + " is not implemented yet</center><br><br></body></html>", "101");
+                  activeChar.sendPacket(sb);
+                  activeChar.sendPacket(new ShowBoard(null, "102"));
+                  activeChar.sendPacket(new ShowBoard(null, "103"));
+               }
             }
             break;
       }
Так вот вопросик: Куда нужно добавить код? (или если его нужно заменять то в каком месте??)

* Сори, с эклипсом начал работать пару дней назад, а толковых мануалов по работе с ним не нашел... Вот заполняю пробелы...

Последний раз редактировалось J.O.K.E.R.; 20.02.2012 в 19:08. Причина: Добавлено сообщение
J.O.K.E.R. вне форума Отправить сообщение для J.O.K.E.R. с помощью Skype™ Ответить с цитированием