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

Lineage II
Дискуссии на тему создания, настройки и обслуживания серверов Lineage 2. При поддержке: Премиум услуги по рекламе

Ответ
Опции темы
Непрочитано 09.04.2011, 23:55   #1
Аватар для MsKira
Пользователь

Автор темы (Топик Стартер) [Вопрос]Multisell

Доброго времени суток уважаемые читатели данного форума!
Я обращаюсь к вам с такой проблемой!
Я Использую сервер (L2J Server Freya) последняя ревизия!
У меня на сервере установлен GM Shop в Community Board
Всё работает шикарно, но есть 1 вопросик который меня немного пугает!
Собственно вопрос подскажите пожалуйста как сделать так чтобы GM Shop менял точеную броню и оружие , (а именно у меня на сервере так игрок покупает к примеру Dynasty Set и чтобы к примеру курточку от Dynasty Set(a) поменять на курточку Dynasty PvP Set нада заплатить немного денег и тд) так вот собственно вывод к примеру если у игрока курточка заточена к примеру на +25 а ему нужна PvP курточка , то как реализовать обмен чтобы игрок с курточкой Dynasty +25 мог поменять на курточку Dynasty PvP и чтобы сохранилась заточка на +25

Мои догадки:
Значит я пробовал сделать так добавить:
<list maintainEnchantment="true" xmlns:ns0="http://www.w3.org/2001/XMLSchema-instance" ns0:noNamespaceSchemaLocation="multisell.xsd">

в начало Multisell листа ( но не помогло)

Хачу сказать что многие пишут поддержка ядра нужна но прошу не путать мне надо чтобы GM shop менял одежду точеную! а не чтобы продавал сразу с заточкой!

Дальше я подумал о том как происходит к примеру вставка СА в точеные пухи полазил по Multisell и нашёл ту мультиселлку и подставил данные но опять всё напрасно

Прошу вашей помощь. !!!
Помогите пожалуйста!
Если для этого нужен Патч в Ядро то скиньте ссылки ! очень вс прошу!
MsKira вне форума Отправить сообщение для MsKira с помощью ICQ Отправить сообщение для MsKira с помощью Skype™ Ответить с цитированием
Непрочитано 09.04.2011, 23:57   #2
Аватар для Ro_0TT
Супергерой

По умолчанию Re: [Вопрос]Multisell

Посмотри как мамон вставляет SA... (_exc_multisell 111)
__________________
Ищу работу: Java-разработчик Skype: ro_0tt
Ro_0TT вне форума Отправить сообщение для Ro_0TT с помощью ICQ Отправить сообщение для Ro_0TT с помощью Skype™ Ответить с цитированием
Непрочитано 10.04.2011, 00:15   #3
Аватар для MsKira
Пользователь

Автор темы (Топик Стартер) Re: [Вопрос]Multisell

Дальше я подумал о том как происходит к примеру вставка СА в точеные пухи полазил по Multisell и нашёл ту мультиселлку и подставил данные но опять всё напрасно
-----------------------------------------------------------------------------------
я Же писал что пробовал Так указать
Может я к исходному файлу не так указал путь!
Вот собственно!
Как у меня сейчас
GM Shop HTM
<table width=600>
<tr>
<td><center><img src="icon.armor_t97_u_i00" width=32 height=32><br1><button value="S80 PvP Grade" action="bypass -h _bbsmultisell;23;64010" width=85 height=26 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"></center></td>
<td><center><img src="icon.armor_t91_uf_i00" width=32 height=32><br1><button value="S80 PL Grade" action="bypass -h _bbsmultisell;23;64011" width=85 height=26 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"></center></td>
<td><center><img src="icon.armor_t91_uf_i00" width=32 height=32><br1><button value="S80 Grade" action="bypass -h _bbsmultisell;23;64009" width=85 height=26 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"></center></td>
</table>


А вот что в самой мультиселке
<list maintainEnchantment="true" xmlns:ns0="http://www.w3.org/2001/XMLSchema-instance" ns0:noNamespaceSchemaLocation="multisell.xsd">
MsKira вне форума Отправить сообщение для MsKira с помощью ICQ Отправить сообщение для MsKira с помощью Skype™ Ответить с цитированием
Непрочитано 10.04.2011, 10:38   #4
Аватар для Ro_0TT
Супергерой

По умолчанию Re: [Вопрос]Multisell

В BBS ты не сделаешь, нужно дописывать ядро. Слей сюда ту часть кода, которая обрабатывает "_bbsmultisell" из твоей Комьюнити.
__________________
Ищу работу: Java-разработчик Skype: ro_0tt

Последний раз редактировалось Ro_0TT; 10.04.2011 в 10:47. Причина: Добавлено сообщение
Ro_0TT вне форума Отправить сообщение для Ro_0TT с помощью ICQ Отправить сообщение для Ro_0TT с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 10.04.2011, 15:24   #5
Аватар для MsKira
Пользователь

Автор темы (Топик Стартер) Re: [Вопрос]Multisell

Вот собственно код для Community Board
CommunityBoard.java:
Свернуть ↑Развернуть ↓
MsKira вне форума Отправить сообщение для MsKira с помощью ICQ Отправить сообщение для MsKira с помощью Skype™ Ответить с цитированием
Непрочитано 10.04.2011, 15:28   #6
Аватар для krisadr
Пользователь

По умолчанию Re: [Вопрос]Multisell

это не все... тут ничего не поймешь. только проверка
krisadr вне форума Ответить с цитированием
Непрочитано 10.04.2011, 15:31   #7
Аватар для MsKira
Пользователь

Автор темы (Топик Стартер) Re: [Вопрос]Multisell

Вот добавил ещё и сам код Multisell
Multisell.java:
Свернуть ↑Развернуть ↓


Добавлено через 3 минуты
Давай я наверное кину см патч от моего Community Board
Community Board by MsKira

Добавлено через 4 часа 42 минуты
Что так не кто не может помочь????

Добавлено через 6 часов 45 минут
Код:
package com.l2jserver.gameserver.communitybbs;

import java.util.StringTokenizer;

import com.l2jserver.Config;
import com.l2jserver.gameserver.communitybbs.Manager.BuffBBSManager;
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.TeleportBBSManager;
import com.l2jserver.gameserver.communitybbs.Manager.TopBBSManager;
import com.l2jserver.gameserver.communitybbs.Manager.TopicBBSManager;
import com.l2jserver.gameserver.datatables.MultiSell;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.entity.TvTEvent;
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(SystemMessage.getSystemMessage(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("_bbs_buff"))
				{
					 BuffBBSManager.getInstance().parsecmd(command, activeChar);
				}
				 else if (command.startsWith("_bbsteleport;"))
				{
					 TeleportBBSManager.getInstance().parsecmd(command, activeChar);
				}
				else if (command.startsWith("_bbsmultisell;"))
				{
					if(activeChar.isDead() || activeChar.isAlikeDead() || TvTEvent.isStarted() || activeChar.isInSiege() || activeChar.isCastingNow() || activeChar.isInCombat() || activeChar.isAttackingNow() || activeChar.isInOlympiadMode() || activeChar.isInJail() || activeChar.isFlying() || activeChar.getKarma() > 0 || activeChar.isInDuel()){
		                activeChar.sendMessage("В данных условиях использовать Шоп запрещено");
						return;
		            } 
					StringTokenizer st = new StringTokenizer(command, ";");
		            st.nextToken();
		            TopBBSManager.getInstance().parsecmd("_bbstop;" + st.nextToken(), activeChar);
		            int multisell = Integer.parseInt(st.nextToken());
		            MultiSell.getInstance().separateAndSend(multisell, activeChar, null, false);
				}
				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();
	}
}
Добавлено через 6 часов 52 минуты
Всё Спасибо уважаемому Ro0TT за предоставленную помощь в данной проблеме!
Тему можно закрывать!
__________________

Последний раз редактировалось MsKira; 10.04.2011 в 22:24. Причина: Добавлено сообщение
MsKira вне форума Отправить сообщение для MsKira с помощью ICQ Отправить сообщение для MsKira с помощью Skype™ Ответить с цитированием
Непрочитано 10.04.2011, 22:24   #8
Аватар для Ro_0TT
Супергерой

По умолчанию Re: [Вопрос]Multisell

Код HTML:
else if (command.startsWith("_exc_bbsmultisell;"))
{
if(activeChar.isDead() || activeChar.isAlikeDead() || TvTEvent.isStarted() || activeChar.isInSiege() || activeChar.isCastingNow() || activeChar.isInCombat() || activeChar.isAttackingNow() || activeChar.isInOlympiadMode() || activeChar.isInJail() || activeChar.isFlying() || activeChar.getKarma() > 0 || activeChar.isInDuel()){
activeChar.sendMessage("В данных условиях использовать Шоп запрещено");
return;
} 
StringTokenizer st = new StringTokenizer(command, ";");
st.nextToken();
TopBBSManager.getInstance().parsecmd("_bbstop;" + st.nextToken(), activeChar);
int multisell = Integer.parseInt(st.nextToken());
MultiSell.getInstance().separateAndSend(multisell, activeChar, null, true);
}
Суть в этом:

MultiSell.getInstance().separateAndSend(multisell, activeChar, null, true);

Если true - то будет как у Мамона в при открытие мультиселла ничего не видно, кроме того, что вы можете обменять (если предмет обмена есть у вас в рюкзаке), в этом случае точка сохраняется.

false - обычный мультиселл.
__________________
Ищу работу: Java-разработчик Skype: ro_0tt
Ro_0TT вне форума Отправить сообщение для Ro_0TT с помощью ICQ Отправить сообщение для Ro_0TT с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Привязка multisell к npc skinxad Lineage II 2 17.01.2011 17:02
Проблема с Multisell Duha199612 Lineage II 2 08.11.2010 12:34
Заточка и Multisell Fire Работа со скриптами 0 10.03.2010 13:10
Multisell Kilsor Копия официального сервера 2 06.07.2009 11:36
Multisell & налог )) Tonchi Lineage II 6 01.10.2008 15:40


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

Вверх