Community Board - Страница 2 - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Работа со скриптами

Работа со скриптами Помощь в редактировании и написании квестов к Java серверам, а так же эвентов.
Описание темы:Teleport and BBYPASS

Ответ
Опции темы
Непрочитано 07.11.2011, 16:44   #11
Изгнанные

По умолчанию Re: Community Board

Цитата:
Сообщение от Z3oM Посмотреть сообщение
Да исходники есть!
Выложить есть вариант?
Gambit_J вне форума Отправить сообщение для Gambit_J с помощью ICQ Отправить сообщение для Gambit_J с помощью Skype™ Ответить с цитированием
Непрочитано 07.11.2011, 16:49   #12
Аватар для Z3oM
Пользователь

Автор темы (Топик Стартер) Re: Community Board

Да есть вариант! Только в Личку и только под пароль и без дальнейшего распространения!!!

Добавлено через 1 минуту
А хотя Туплю есть исходы без моих наработок но функции телепорта мои наработки не затрагивают! =)

Последний раз редактировалось Z3oM; 07.11.2011 в 16:50. Причина: Добавлено сообщение
Z3oM вне форума Ответить с цитированием
Непрочитано 07.11.2011, 16:53   #13
Изгнанные

По умолчанию Re: Community Board

Цитата:
Сообщение от Z3oM Посмотреть сообщение
Да есть вариант! Только в Личку и только под пароль и без дальнейшего распространения!!!

Добавлено через 1 минуту
А хотя Туплю есть исходы без моих наработок но функции телепорта мои наработки не затрагивают! =)
скиньте, попробую помочь.
Gambit_J вне форума Отправить сообщение для Gambit_J с помощью ICQ Отправить сообщение для Gambit_J с помощью Skype™ Ответить с цитированием
Непрочитано 07.11.2011, 16:57   #14
Аватар для Z3oM
Пользователь

Автор темы (Топик Стартер) Re: Community Board

сейчас залью и скину сюда!

Последний раз редактировалось Z3oM; 07.11.2011 в 17:03. Причина: Добавлено сообщение
Z3oM вне форума Ответить с цитированием
Непрочитано 07.11.2011, 22:21   #15
Изгнанные

По умолчанию Re: Community Board

action="bypass -h _bbsteleport;"
Gambit_J вне форума Отправить сообщение для Gambit_J с помощью ICQ Отправить сообщение для Gambit_J с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 08.11.2011, 15:12   #16
Аватар для Z3oM
Пользователь

Автор темы (Топик Стартер) Re: Community Board

Так эта функция и не работает.

Код:
bypass -h _bbsteleport;
Z3oM вне форума Ответить с цитированием
Непрочитано 09.11.2011, 16:45   #17
Аватар для FriendlyGhost
Пользователь

По умолчанию Re: Community Board

Покажи содержимое файлов CommunityBoard.java и TeleportBBSManager.java , возможно у тебя там просто не реализован телепорт, как и классмастер.
FriendlyGhost вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 09.11.2011, 18:30   #18
Аватар для Z3oM
Пользователь

Автор темы (Топик Стартер) Re: Community Board

CommunityBoard.java
Код:
package l2p.gameserver.communitybbs;

import java.util.HashMap;
import java.util.StringTokenizer;

import l2p.Config;
import l2p.gameserver.TradeController;
import l2p.gameserver.cache.Msg;
import l2p.gameserver.communitybbs.Manager.BuffBBSManager;
import l2p.gameserver.communitybbs.Manager.ClanBBSManager;
import l2p.gameserver.communitybbs.Manager.ClassBBSManager;
import l2p.gameserver.communitybbs.Manager.EnchantBBSManager;
import l2p.gameserver.communitybbs.Manager.FailBBSManager;
import l2p.gameserver.communitybbs.Manager.FriendsBBSManager;
import l2p.gameserver.communitybbs.Manager.PostBBSManager;
import l2p.gameserver.communitybbs.Manager.RegionBBSManager;
import l2p.gameserver.communitybbs.Manager.SmsBBSManager;
import l2p.gameserver.communitybbs.Manager.StatBBSManager;
import l2p.gameserver.communitybbs.Manager.TeleportBBSManager;
import l2p.gameserver.communitybbs.Manager.TopBBSManager;
import l2p.gameserver.communitybbs.Manager.TopicBBSManager;
import l2p.gameserver.model.L2Clan;
import l2p.gameserver.model.L2Multisell;
import l2p.gameserver.model.L2Player;
import l2p.gameserver.model.entity.olympiad.Olympiad;
import l2p.gameserver.model.items.L2ItemInstance;
import l2p.gameserver.network.L2GameClient;
import l2p.gameserver.serverpackets.ExBuySellList;
import l2p.gameserver.serverpackets.L2GameServerPacket;
import l2p.gameserver.serverpackets.ShowBoard;
import l2p.gameserver.serverpackets.SkillList;
import l2p.gameserver.serverpackets.SocialAction;
import l2p.gameserver.tables.ItemTable;
import l2p.gameserver.templates.L2Item;

public class CommunityBoard
{
	private static CommunityBoard _instance;
	private static int MONEY_ID = 4357;
	public static final String PVPCB_FILE = "./config/pvpcommunityboard.properties";

	public static CommunityBoard getInstance()
	{

		if(_instance == null)
			_instance = new CommunityBoard();

		return _instance;
	}

	public void handleCommands(L2GameClient client, String command)
	{
		L2Player activeChar = client.getActiveChar();
		if(activeChar == null)
			return;

		if(!Config.ALLOW_COMMUNITYBOARD)
		{
			activeChar.sendPacket(Msg.THE_COMMUNITY_SERVER_IS_CURRENTLY_OFFLINE);
			return;
		}
		if(!Config.ALLOW_PVPCB_ABNORMAL)
		{
			if(activeChar.isDead() || activeChar.isAlikeDead() || activeChar.isCastingNow() || activeChar.isInCombat() || activeChar.isAttackingNow() || activeChar.isInOlympiadMode() || activeChar.isInVehicle() || activeChar.isFlying() || activeChar.isInFlyingTransform())
			{
				FailBBSManager.getInstance().parsecmd(command, activeChar);
				return;
			}
		}

		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 if(command.startsWith("_friend") || command.startsWith("_block"))
			FriendsBBSManager.getInstance().parsecmd(command, activeChar);
		else if(command.startsWith("_bbsgetfav"))
			ShowBoard.separateAndSend("<html><body><br><br><center>Закладки пока не реализованы.</center><br><br></body></html>", activeChar);
		else if(command.startsWith("_mail"))
			ShowBoard.separateAndSend("<html><body><br><br><center>Почта пока не реализована.</center><br><br></body></html>", activeChar);
		else if(command.startsWith("_bbsteleport;"))
			if(!Config.ALLOW_PVPCB_TELEPORT)
			{
				FailBBSManager.getInstance().parsecmd(command, activeChar);
				return;
			}
			else
			{
				TeleportBBSManager.getInstance().parsecmd(command, activeChar);
			}
		else if(command.startsWith("_bbsechant"))
			if(!Config.ALLOW_PVPCB_ECHANT)
			{
				FailBBSManager.getInstance().parsecmd(command, activeChar);
				return;
			}
			else
			{
				EnchantBBSManager.getInstance().parsecmd(command, activeChar);
			}
		else if(command.startsWith("_bbsclass"))
			if(!Config.ALLOW_PVPCB_CLASSMASTER)
			{
				FailBBSManager.getInstance().parsecmd(command, activeChar);
				return;
			}
			else
			{
				ClassBBSManager.getInstance().parsecmd(command, activeChar);
			}
		else if(command.startsWith("_bbssms;"))
			SmsBBSManager.getInstance().parsecmd(command, activeChar);
		else if(command.startsWith("_bbsbuff;"))
			BuffBBSManager.getInstance().parsecmd(command, activeChar);
		else if(command.startsWith("_bbsstat;"))
			StatBBSManager.getInstance().parsecmd(command, activeChar);
		else if(command.startsWith("_bbsmultisell;"))
		{
			StringTokenizer st = new StringTokenizer(command, ";");
			st.nextToken();
			TopBBSManager.getInstance().parsecmd("_bbstop;" + st.nextToken(), activeChar);
			L2Multisell.getInstance().SeparateAndSend(Integer.parseInt(st.nextToken()), activeChar, 0);
		}
		else if(command.startsWith("_bbssell;"))
		{
			TradeController.NpcTradeList list = TradeController.getInstance().getBuyList(-1);
			activeChar.sendPacket(new L2GameServerPacket[] { new ExBuySellList(list, activeChar, 0) });
		}
		else if(command.startsWith("_bbsscripts;"))
		{
			StringTokenizer 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;
			}

			HashMap<String, Object> variables = new HashMap<String, Object>();
			variables.put("npc", null);
			activeChar.callScripts(path[0], path[1], word.length == 1 ? new Object[] {} : new Object[] { args }, variables);
		}
		else if(command.startsWith("_bbsscripts_ret;"))
		{
			StringTokenizer st = new StringTokenizer(command, ";");
			st.nextToken();
			String page = st.nextToken();

			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;
			}
			HashMap<String, Object> variables = new HashMap<String, Object>();
			variables.put("npc", null);
			Object subcontent = activeChar.callScripts(path[0], path[1], word.length == 1 ? new Object[] {} : new Object[] { args }, variables);

			TopBBSManager.getInstance().showTopPage(activeChar, page, String.valueOf(subcontent), path[0]);
		}
		else if(command.startsWith("_bbssps;"))
		{
			int price = 1;
			L2Item item = ItemTable.getInstance().getTemplate(4357);
			L2ItemInstance pay = activeChar.getInventory().getItemByItemId(item.getItemId());
			if(pay != null && pay.getCount() >= price)
			{
				activeChar.getInventory().destroyItem(pay, (long) price, true);
				activeChar.setSp(activeChar.getSp() + 10000000);
				activeChar.sendMessage("Вы получили 10kk SP");
				activeChar.broadcastPacket(new SocialAction(activeChar.getObjectId(), 16));
				activeChar.broadcastUserInfo(true);
			}
			else
			{
				activeChar.sendMessage("У Вас нет денег, мне очень жаль.");
			}
		}
		else if(command.startsWith("_bbsspa;"))
		{
			int price = 100000000;
			L2Item item = ItemTable.getInstance().getTemplate(57);
			L2ItemInstance pay = activeChar.getInventory().getItemByItemId(item.getItemId());
			if(pay != null && pay.getCount() >= price)
			{
				activeChar.getInventory().destroyItem(pay, (long) price, true);
				activeChar.setSp(activeChar.getSp() + 10000000);
				activeChar.sendMessage("Вы получили 10kk SP");
				activeChar.broadcastPacket(new SocialAction(activeChar.getObjectId(), 16));
				activeChar.broadcastUserInfo(true);
			}
			else
			{
				activeChar.sendMessage("У Вас нет денег, мне очень жаль.");
			}
		}
		else if(command.startsWith("_bbsnobles;"))
		{

			if(!activeChar.isNoble())
			{
				if(!checkCondition(activeChar, 30))
					return;

				if(activeChar.getSubLevel() < 75)
				{
					activeChar.sendMessage("Чтобы стать дворянином вы должны прокачать сабкласс до 75-го уровня");
					return;
				}

				L2Item item = ItemTable.getInstance().getTemplate(MONEY_ID);
				L2ItemInstance pay = activeChar.getInventory().getItemByItemId(item.getItemId());
				if(pay != null && pay.getCount() >= 30)
				{
					activeChar.getInventory().destroyItem(pay, 30, true);

					Olympiad.addNoble(activeChar);
					activeChar.setNoble(true);
					activeChar.broadcastPacket(new SocialAction(activeChar.getObjectId(), SocialAction.VICTORY));
					activeChar.updatePledgeClass();
					activeChar.updateNobleSkills();
					activeChar.sendPacket(new SkillList(activeChar));
					activeChar.broadcastUserInfo(true);
				}
				else
				{
					activeChar.sendMessage("У Вас нет денег, мне очень жаль.");
				}
			}
			else
			{
				activeChar.sendMessage("Вам это вовсе ненужно!");
			}
		}
		else
			ShowBoard.separateAndSend("<html><body><br><br><center>Функция: " + command + " пока не реализована</center><br><br></body></html>", activeChar);
	}

	public static boolean checkCondition(L2Player activeChar, int CoinCount)
	{
		synchronized (activeChar)
		{
			L2ItemInstance Coin = activeChar.getInventory().getItemByItemId(MONEY_ID);

			if(activeChar.isSitting())
				return false;
			if(Coin.getCount() < CoinCount)
			{
				activeChar.sendMessage("У Вас нет денег, мне очень жаль.");
				return false;
			}

			return true;
		}
	}

	public void handleWriteCommands(L2GameClient client, String url, String arg1, String arg2, String arg3, String arg4, String arg5)
	{
		L2Player activeChar = client.getActiveChar();
		if(activeChar == null)
			return;
		if(!Config.ALLOW_COMMUNITYBOARD)
		{
			activeChar.sendPacket(Msg.THE_COMMUNITY_SERVER_IS_CURRENTLY_OFFLINE);
			return;
		}

		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"))
		{
			if(arg4.length() > L2Clan.NOTICE_MAX_LENGHT)
			{
				ShowBoard.separateAndSend("<html><body><br><br><center>Вы ввели слишком длинное сообщение, оно будет сохранено не полностью.</center><br><br></body></html>", activeChar);
				return;
			}
			ClanBBSManager.getInstance().parsewrite(arg1, arg2, arg3, arg4, arg5, activeChar);
		}
		else
			ShowBoard.separateAndSend("<html><body><br><br><center>Функция: " + url + " пока не реализована</center><br><br></body></html>", activeChar);
	}
}

А TeleportBBSManager.java Я чёт не нашел! Где именно он лежит в Проекте?

Нашел =)

Код:
package l2p.gameserver.communitybbs.Manager;

import java.sql.ResultSet;
import java.util.StringTokenizer;
import java.util.logging.Logger;

import javolution.text.TextBuilder;
import l2p.database.DatabaseUtils;
import l2p.database.FiltredPreparedStatement;
import l2p.database.L2DatabaseFactory;
import l2p.database.ThreadConnection;
import l2p.gameserver.cache.Msg;
import l2p.gameserver.instancemanager.TownManager;
import l2p.gameserver.instancemanager.ZoneManager;
import l2p.gameserver.model.L2Player;
import l2p.gameserver.model.L2Zone;
import l2p.gameserver.model.L2Zone.ZoneType;
import l2p.gameserver.model.entity.residence.Castle;
import l2p.gameserver.serverpackets.ShowBoard;
import l2p.gameserver.serverpackets.SystemMessage;
import l2p.util.Files;

public class TeleportBBSManager extends BaseBBSManager
{
	private static Logger _log = Logger.getLogger(TeleportBBSManager.class.getName());

	public class CBteleport
	{
		public int TpId = 0; // Teport loc ID
		public String TpName = ""; // Loc name
		public int PlayerId = 0; // charID
		public int xC = 0; // Location coords
		public int yC = 0; //
		public int zC = 0; //
	}

	private static TeleportBBSManager _Instance = null;

	public static TeleportBBSManager getInstance()
	{
		if(_Instance == null)
			_Instance = new TeleportBBSManager();
		return _Instance;
	}

	public String points[][];

	public void parsecmd(String command, L2Player player)
	{
		if(command.equals("_bbsteleport;"))
		{
			showTp(player);
		}
		else if(command.startsWith("_bbsteleport;delete;"))
		{
			StringTokenizer stDell = new StringTokenizer(command, ";");
			stDell.nextToken();
			stDell.nextToken();
			int TpNameDell = Integer.parseInt(stDell.nextToken());
			delTp(player, TpNameDell);
			showTp(player);
		}
		else if(command.startsWith("_bbsteleport;save; "))
		{
			StringTokenizer stAdd = new StringTokenizer(command, ";");
			stAdd.nextToken();
			stAdd.nextToken();
			String TpNameAdd = stAdd.nextToken();
			AddTp(player, TpNameAdd);
			showTp(player);
		}
		else if(command.startsWith("_bbsteleport;teleport;"))
		{
			StringTokenizer stGoTp = new StringTokenizer(command, " ");
			stGoTp.nextToken();
			int xTp = Integer.parseInt(stGoTp.nextToken());
			int yTp = Integer.parseInt(stGoTp.nextToken());
			int zTp = Integer.parseInt(stGoTp.nextToken());
			int priceTp = Integer.parseInt(stGoTp.nextToken());
			goTp(player, xTp, yTp, zTp, priceTp);
			showTp(player);
		}
		else
		{
			ShowBoard.separateAndSend("<html><body><br><br><center>Функция: " + command + " пока не реализована</center><br><br></body></html>", player);
		}
	}

	private void goTp(L2Player player, int xTp, int yTp, int zTp, int priceTp)
	{
		if(player.isDead() || player.isAlikeDead() || player.isCastingNow() || player.isInCombat() || player.isAttackingNow() || player.isInOlympiadMode() || player.isFlying() || player.isTerritoryFlagEquipped() || player.isInZone(ZoneType.no_escape) || player.isInZone(ZoneType.Siege))
		{
			player.sendMessage("Телепортация невозможна");
			return;
		}
		if(priceTp > 0 && player.getAdena() < priceTp)
		{
			player.sendPacket(new SystemMessage(SystemMessage.YOU_DO_NOT_HAVE_ENOUGH_ADENA));
			return;
		}

		// Нельзя телепортироваться в города, где идет осада
		// Узнаем, идет ли осада в ближайшем замке к точке телепортации
		Castle castle = TownManager.getInstance().getClosestTown(xTp, yTp).getCastle();
		if(castle != null && castle.getSiege().isInProgress())
		{
			// Определяем, в город ли телепортируется чар
			boolean teleToTown = false;
			int townId = 0;
			for(L2Zone town : ZoneManager.getInstance().getZoneByType(ZoneType.Town))
				if(town.checkIfInZone(xTp, yTp))
				{
					teleToTown = true;
					townId = town.getIndex();
					break;
				}

			if(teleToTown && townId == castle.getTown())
			{
				player.sendPacket(Msg.YOU_CANNOT_TELEPORT_TO_A_VILLAGE_THAT_IS_IN_A_SIEGE);
				return;
			}
		}
		else
		{
			if(priceTp > 0)
			{
				player.reduceAdena((long) priceTp, false);
			}
			player.teleToLocation(xTp, yTp, zTp);
		}
	}

	private void showTp(L2Player player)
	{
		CBteleport tp;
		ThreadConnection con = null;
		FiltredPreparedStatement statement = null;
		ResultSet rs = null;
		try
		{
			con = L2DatabaseFactory.getInstance().getConnection();
			statement = con.prepareStatement("SELECT * FROM comteleport WHERE charId=?;");
			statement.setLong(1, player.getObjectId());
			rs = statement.executeQuery();
			TextBuilder html = new TextBuilder();
			html.append("<table width=220>");
			while(rs.next())
			{
				tp = new CBteleport();
				tp.TpId = rs.getInt("TpId");
				tp.TpName = rs.getString("name");
				tp.PlayerId = rs.getInt("charId");
				tp.xC = rs.getInt("xPos");
				tp.yC = rs.getInt("yPos");
				tp.zC = rs.getInt("zPos");
				html.append("<tr>");
				html.append("<td>");
				html.append("<button value=\"" + tp.TpName + "\" action=\"bypass -h _bbsteleport;teleport; " + tp.xC + " " + tp.yC + " " + tp.zC + " " + 100000 + "\" width=100 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">");
				html.append("</td>");
				html.append("<td>");
				html.append("<button value=\"Удалить\" action=\"bypass -h _bbsteleport;delete;" + tp.TpId + "\" width=100 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">");
				html.append("</td>");
				html.append("</tr>");
			}
			html.append("</table>");

			String content = Files.read("data/html/CommunityBoardPVP/50.htm", player);
			content = content.replace("%tp%", html.toString());
			separateAndSend(content, player);
			return;

		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
		finally
		{
			DatabaseUtils.closeDatabaseCSR(con, statement, rs);
		}

	}

	private void delTp(L2Player player, int TpNameDell)
	{
		ThreadConnection conDel = null;
		FiltredPreparedStatement statementDel = null;
		try
		{
			conDel = L2DatabaseFactory.getInstance().getConnection();
			statementDel = conDel.prepareStatement("DELETE FROM comteleport WHERE charId=? AND TpId=?;");
			statementDel.setInt(1, player.getObjectId());
			statementDel.setInt(2, TpNameDell);
			statementDel.execute();
		}
		catch(Exception e)
		{
			_log.warning("data error on Delete Teleport: " + e);
			e.printStackTrace();
		}
		finally
		{
			DatabaseUtils.closeConnection(conDel);
		}

	}

	private void AddTp(L2Player player, String TpNameAdd)
	{
		if(player.isDead() || player.isAlikeDead() || player.isCastingNow() || player.isAttackingNow())
		{
			player.sendMessage("Сохранить закладку в вашем состоянии нельзя");
			return;
		}

		if(player.isInCombat())
		{
			player.sendMessage("Сохранить закладку в режиме боя нельзя");
			return;
		}

		if(TpNameAdd.equals("") || TpNameAdd.equals(null))
		{
			player.sendMessage("Вы не ввели �мя закладки");
			return;
		}
		ThreadConnection con = null;
		FiltredPreparedStatement statement = null;
		ResultSet rs = null;
		try
		{
			con = L2DatabaseFactory.getInstance().getConnection();

			statement = con.prepareStatement("SELECT COUNT(*) FROM comteleport WHERE charId=?;");
			statement.setLong(1, player.getObjectId());
			rs = statement.executeQuery();
			rs.next();
			if(rs.getInt(1) <= 9)
			{
				statement = con.prepareStatement("SELECT COUNT(*) FROM comteleport WHERE charId=? AND name=?;");
				statement.setLong(1, player.getObjectId());
				statement.setString(2, TpNameAdd);
				rs = statement.executeQuery();
				rs.next();
				if(rs.getInt(1) == 0)
				{
					statement = con.prepareStatement("INSERT INTO comteleport (charId,xPos,yPos,zPos,name) VALUES(?,?,?,?,?)");
					statement.setInt(1, player.getObjectId());
					statement.setInt(2, player.getX());
					statement.setInt(3, player.getY());
					statement.setInt(4, player.getZ());
					statement.setString(5, TpNameAdd);
					statement.execute();
				}
				else
				{
					statement = con.prepareStatement("UPDATE comteleport SET xPos=?, yPos=?, zPos=? WHERE charId=? AND name=?;");
					statement.setInt(1, player.getObjectId());
					statement.setInt(2, player.getX());
					statement.setInt(3, player.getY());
					statement.setInt(4, player.getZ());
					statement.setString(5, TpNameAdd);
					statement.execute();
				}
			}
			else
			{
				player.sendMessage("Вы не можете сохранить более 10 закладок");
			}

		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
		finally
		{
			DatabaseUtils.closeDatabaseCSR(con, statement, rs);
		}
	}

	@Override
	public void parsewrite(String ar1, String ar2, String ar3, String ar4, String ar5, L2Player player)
	{

	}
}
Z3oM вне форума Ответить с цитированием
Непрочитано 11.11.2011, 02:38   #19
Аватар для Z3oM
Пользователь

Автор темы (Топик Стартер) Re: Community Board

Народ ну кто в классах разбирается помогите!

Вот так в Класс менеджере!
Код:
	String content = Files.read("data/html/CommunityBoardPVP/100.htm");
		content = content.replace("%classmaster%", html.toString());
Вот так в нерабочем ТП!
Код:
String content = Files.read("data/html/CommunityBoardPVP/50.htm", player);
			content = content.replace("%tp%", html.toString());
я так понял Эта строка читает файл если в htm файле находит %tp% то вызывает с Пакета какую то функцию. Я так понял эта функция и есть сам ТП! НО!!! Одно большое НО! Если в файле Классов где меняем профу в АЛЬТ-Б эта строка была %classmaster% то он её как бы не показывал а вызывал! ТОесть работает! Всё подключает все находит! В Warning при компиле про файлы CommenutyBoard.java и TeleportBBSManager.java ничего не говорится тоесть они компилятся без ошибок! Как видно в файле CommenutyBoard.java там Импортирован пакет TeleportBBSManager.java! Так что я ума не приложу что не работает! Может какая то ошибка в HTM файле проблемы какие то с синтаксисом! Но опять же вот файл

Код:
<html>
<body>
<center>
<table>
<tr>
<td><button value="Новости" action="bypass -h _bbstop" width=90 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>

<td><button value="Магазин" action="bypass -h _bbstop;30" width=90 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td><button value="Баффер" action="bypass -h _bbstop;60" width=90 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td><button value="Телепорт" action="bypass -h _bbsteleport;" width=90 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td><button value="Карьера" action="bypass -h _bbsclass;" width=90 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td><button value="Сервис" action="bypass -h _bbstop;40" width=90 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td><button value="Крафт" action="bypass -h _bbstop;70" width=90 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<img src="L2UI.SquareWhite" width=600 height=1>
<table width=600 bgcolor=CCCCCC>
  <tr><td width=300>
  <a action="bypass -h _bbstop"><font color=F2C202>Главная</font></a>
  <font color=F2C202> -> </font>
  <a action="bypass -h _bbsteleport;"><font color=F2C202>Телепорт</font></a>
  </td><td width=300 align=left>
  <font color=D70000>Все ТП 5к Адена. Возврат на точку: 100к адены</font>
  </td></tr>
</table>
<img src="L2UI.SquareWhite" width=600 height=1>
<table width=600 height=320>
<tr><td width=350>
<center>
<br><br>
<table height=320 width=349>
<tr>
<td width=349>
<center>
<button value="[ Города \ Деревни ]" action="bypass -h _bbstop;51" width=250 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF">
<button value="[ Замки \ Castle ]" action="bypass -h _bbstop;52" width=250 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF">
<button value="[ Форты \ Fortress ]" action="bypass -h _bbstop;53" width=250 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF">
<button value="[ PVP Арены \ PVP Arenas ]" action="bypass -h _bbstop;54" width=250 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF">
<button value="[ Катакомбы \ Некрополисы ]" action="bypass -h _bbstop;55" width=250 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF">
<button value="[ C4 Locations ]" action="bypass -h _bbstop;58" width=250 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF">
<button value="[ C5 Locations ]" action="bypass -h _bbstop;59" width=250 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF">
<button value="[ Interlude Locations ]" action="bypass -h _bbstop;591" width=250 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF">
<button value="[ Kamael Locations ]" action="bypass -h _bbstop;592" width=250 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF">
<button value="[ Hellbound Island ]" action="bypass -h _bbstop;593" width=250 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF">
</center>
</td>
<td width=1>
<img src="L2UI.SquareWhite" width=1 height=350>
</td>
<td width=250>
<table width=250>
  <tr>
    <td>
   <center>Персональные точки возврата:</center>
    </td>
  </tr>
  <tr>
    <td>
<center>
<edit var="name" width=180 length=10>
<button value="Сохранить текущую точку возврата" action="bypass -h _bbsteleport;save; $name" width=220 height=20 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF">
<br>
%tp%
</center>
</td>
  </tr>
</table>

</tr>
</td>
</table>
</center>
</td></tr>
</table>
<br><br><br><br><br>
<img src="L2UI.SquareWhite" width=600 height=1>
<br><br>
<font color=3293F3>Community Board PVP | L2Phoenix &copy 2010</font>
</center>
</body>
</html>
Она тут есть %tp% Это стандартный htm файл в нём ничего не изменено смущает вот что

Код:
<edit var="name" width=180 length=10>
Она не подсвечивается в hotepad++ Потому что я так понял она как бы не работает и Не передает ничего! Почему? Мб потому что такие дела должны быть в тегах FORM и способ передачи JET или POST но опять же это не Веб программирование! Да и в теги EDIT вообще по HTM-HTML не должно быть VAR я в шоке! ЗНал бы как исправил бы! Уже блин и через АНТ научился компилить! И через Эклипс, блин ничего не помогает! =(
Z3oM вне форума Ответить с цитированием
Непрочитано 12.11.2011, 16:59   #20
Аватар для Z3oM
Пользователь

Автор темы (Топик Стартер) Re: Community Board

Ладно парни ) всем благодарен ) Те кто отвечал и те кто просто поднимали тему вверх своим заходом в топик ) проблему решил! Покубатурив мозгом )

Код:
		else if(command.startsWith("_bbsteleport;"))
			if(!Config.ALLOW_PVPCB_TELEPORT)
			{
				FailBBSManager.getInstance().parsecmd(command, activeChar);
				return;
			}
			else
			{
				TeleportBBSManager.getInstance().parsecmd(command, activeChar);
			}
В общем убрал проверку на наличие в конфиге строки AllowBBSTeleport

И усё запахало! В общем мне как то пох на эту проверку так как сервак собираюсь мутить ПвП ) Ну те кто отписался в теме и пытался хоть как то скоардинировать мои действия с меня по Плюсу и Спасибки в общем на выходе кода получилось вот так

Код:
		else if(command.startsWith("_bbsteleport;"))
		{
				TeleportBBSManager.getInstance().parsecmd(command, activeChar);
		}

Последний раз редактировалось Z3oM; 12.11.2011 в 17:01. Причина: Лексические блеать ошибки =)
Z3oM вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Community Board Damon Lineage II 25 18.09.2011 10:52
Community Board the_snake Lineage II 0 19.07.2011 10:58
[help]community board DarkFall Lineage II 4 28.11.2010 15:24
Community Board NooboAdm Lineage II 3 11.08.2010 13:38
Community board ВОРОН Lineage II 5 27.07.2010 18:46


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 11:43. Часовой пояс GMT +3.

Вверх