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

Ищу Помощь В Jave Исходниках

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

Привет всем. Хотелось бы устранить баг в ядре с торговлей

 

Дело в то что когда я кидаю трейд другому чаро он его принимает я начинаю перекидывать какой нибудь итем то трейд автоматически закрывается и пишет что он отказался от торговли как это можно исправить ?

 

исходники от команды [interlude] Исходный код L2jSoftware rev 59

 

Прошу помочь или хотя бы какой нибудь намёк куда лезть и где править заранее спасибо

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


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

/*

* 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 2, 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, write to the Free Software

* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA

* 02111-1307, USA.

*

* http://www.gnu.org/copyleft/gpl.html

*/

package com.l2jsoftware.gameserver.network.clientpackets;

 

import java.util.logging.Logger;

 

import com.l2jsoftware.gameserver.model.L2World;

import com.l2jsoftware.gameserver.model.TradeList;

import com.l2jsoftware.gameserver.model.actor.instance.L2PcInstance;

import com.l2jsoftware.gameserver.network.SystemMessageId;

import com.l2jsoftware.gameserver.network.serverpackets.ActionFailed;

import com.l2jsoftware.gameserver.network.serverpackets.SystemMessage;

import com.l2jsoftware.gameserver.network.serverpackets.TradeOtherAdd;

import com.l2jsoftware.gameserver.network.serverpackets.TradeOwnAdd;

import com.l2jsoftware.gameserver.network.serverpackets.TradeUpdate;

 

/**

* This class ...

*

* @version $Revision: 1.5.2.2.2.5 $ $Date: 2005/03/27 15:29:29 $

*/

public final class AddTradeItem extends L2GameClientPacket

{

private static final String _C__16_ADDTRADEITEM = "[C] 16 AddTradeItem";

private static Logger _log = Logger.getLogger(AddTradeItem.class.getName());

 

private int _tradeId;

private int _objectId;

private int _count;

 

public AddTradeItem()

{}

 

@Override

protected void readImpl()

{

_tradeId = readD();

_objectId = readD();

_count = readD();

}

 

@Override

protected void runImpl()

{

L2PcInstance player = getClient().getActiveChar();

 

if(player == null)

return;

 

TradeList trade = player.getActiveTradeList();

 

if(trade == null)

{

_log.warning("Character: " + player.getName() + " requested item:" + _objectId + " add without active tradelist:" + _tradeId);

return;

}

 

if(trade.getPartner() == null || L2World.getInstance().findObject(trade.getPartner().getObjectId()) == null)

{

// Trade partner not found, cancel trade

if(trade.getPartner() != null)

{

_log.warning("Character:" + player.getName() + " requested invalid trade object: " + _objectId);

}

 

SystemMessage msg = new SystemMessage(SystemMessageId.TARGET_IS_NOT_FOUND_IN_THE_GAME);

player.sendPacket(msg);

player.cancelActiveTrade();

msg = null;

return;

}

 

if(!player.getAccessLevel().allowTransaction())

{

player.sendMessage("Unsufficient privileges.");

player.sendPacket(ActionFailed.STATIC_PACKET);

player.cancelActiveTrade();

return;

}

 

if(!player.validateItemManipulation(_objectId, "trade"))

{

player.sendPacket(new SystemMessage(SystemMessageId.NOTHING_HAPPENED));

return;

}

 

//Java Emulator Security

if (player.getInventory().getItemByObjectId(_objectId) == null || _count <= 0)

{

_log.info("JES: Player " + player.getName() + " tried to trade exploit.");

return;

}

 

TradeList.TradeItem item = trade.addItem(_objectId, _count);

 

if(item == null)

return;

 

if(item.isAugmented())

return;

 

player.sendPacket(new TradeOwnAdd(item));

player.sendPacket(new TradeUpdate(trade, player));

trade.getPartner().sendPacket(new TradeOtherAdd(item));

}

 

/* (non-Javadoc)

* @see com.l2jsoftware.gameserver.clientpackets.ClientBasePacket#getType()

*/

@Override

public String getType()

{

return _C__16_ADDTRADEITEM;

}

}

замени код в AddTradeItem.java на этот

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


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

или скачай последние исходы 105 ревы там работает норм

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


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

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

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

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

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

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

Войти

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

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

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

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

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