Цитата:
Сообщение от 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;
}
Так вот вопросик: Куда нужно добавить код? (или если его нужно заменять то в каком месте??)
* Сори, с эклипсом начал работать пару дней назад, а толковых мануалов по работе с ним не нашел... Вот заполняю пробелы...