Jump to content
  • 0

How I can fixed the trade bug.


Question

12 answers to this question

Recommended Posts

  • 0
Posted

Here is the code to fix this awful trade bug ;)

 

clientpackets.TradeRequest.java (about line 125)


+        if (partner.getAllowTrade() == false)
+       {
+        	player.sendMessage("Target is not allowed to receive more than one trade request at the same time.");
+        	return;
+        }
+        partner.setAllowTrade(false);
+        player.setAllowTrade(false);
	player.onTransactionRequest(partner);
	partner.sendPacket(new SendTradeRequest(player.getObjectId()));
	SystemMessage sm = new SystemMessage(SystemMessageId.REQUEST_S1_FOR_TRADE);
	sm.addString(partner.getName());
	player.sendPacket(sm);




-----------------------------------------------------------

clientpackets.AnswerTradeRequest.java (about line 69)


       L2PcInstance partner = player.getActiveRequester();
       if (partner == null || L2World.getInstance().findObject(partner.getObjectId()) == null)
       {
           // Trade partner not found, cancel trade
		player.sendPacket(new SendTradeDone(0));
           SystemMessage msg = new SystemMessage(SystemMessageId.TARGET_IS_NOT_FOUND_IN_THE_GAME);
           player.sendPacket(msg);
		player.setActiveRequester(null);
+			player.setAllowTrade(true);
+			partner.setAllowTrade(true);
		msg = null;
           return;
       }


-		if (_response == 1) player.startTrade(partner);



+		if (_response == 1)
+			{
+			player.startTrade(partner);
+			partner.setAllowTrade(true);
+			player.setAllowTrade(true);
+			}



	else
	{
		SystemMessage msg = new SystemMessage(SystemMessageId.S1_DENIED_TRADE_REQUEST);
		msg.addString(player.getName());
		partner.sendPacket(msg);
+			player.setAllowTrade(true);
		msg = null;
	}




------------------------------------------

L2PcInstance.java (about line 497)

   private int _apprentice = 0;
   private int _sponsor = 0;

+    public boolean _allowTrade = true;
   
private long _clanJoinExpiryTime;
private long _clanCreateExpiryTime;



L2PcInstance.java (about line 8121)


   public void setClanPrivileges(int n)
   {
       _clanPrivileges = n;
   }

+    public boolean getAllowTrade()
+    {
+    	return _allowTrade;
+    }
+    
+    public void setAllowTrade(boolean a)
+    {
+    	_allowTrade = a;
+    }

  • 0
Posted

WoW. Thanks for reply very fast, the fixed is compatible with l2j server interlude?

 

Working everywhere,i mean in all l2j servers.

  • 0
Posted

Thank`s,Thank`s!!!! One question, for the administrator of the server where i play and He fixed every fast. Than have to edit?

 

If you mean that he fixing every bug too fast and you want also,you must find the codes of these bugs too and apply them to your eclipse :)

  • 0
Posted

there are a lot trade bug which one you mean because rizels fix is fix one of them but not the other one which shared here for 4-500 post

  • 0
Posted

Here is the code to fix this awful trade bug ;)

 

clientpackets.TradeRequest.java (about line 125)


+        if (partner.getAllowTrade() == false)
+       {
+        	player.sendMessage("Target is not allowed to receive more than one trade request at the same time.");
+        	return;
+        }
+        partner.setAllowTrade(false);
+        player.setAllowTrade(false);
	player.onTransactionRequest(partner);
	partner.sendPacket(new SendTradeRequest(player.getObjectId()));
	SystemMessage sm = new SystemMessage(SystemMessageId.REQUEST_S1_FOR_TRADE);
	sm.addString(partner.getName());
	player.sendPacket(sm);




-----------------------------------------------------------

clientpackets.AnswerTradeRequest.java (about line 69)


       L2PcInstance partner = player.getActiveRequester();
       if (partner == null || L2World.getInstance().findObject(partner.getObjectId()) == null)
       {
           // Trade partner not found, cancel trade
		player.sendPacket(new SendTradeDone(0));
           SystemMessage msg = new SystemMessage(SystemMessageId.TARGET_IS_NOT_FOUND_IN_THE_GAME);
           player.sendPacket(msg);
		player.setActiveRequester(null);
+			player.setAllowTrade(true);
+			partner.setAllowTrade(true);
		msg = null;
           return;
       }


-		if (_response == 1) player.startTrade(partner);



+		if (_response == 1)
+			{
+			player.startTrade(partner);
+			partner.setAllowTrade(true);
+			player.setAllowTrade(true);
+			}



	else
	{
		SystemMessage msg = new SystemMessage(SystemMessageId.S1_DENIED_TRADE_REQUEST);
		msg.addString(player.getName());
		partner.sendPacket(msg);
+			player.setAllowTrade(true);
		msg = null;
	}




------------------------------------------

L2PcInstance.java (about line 497)

   private int _apprentice = 0;
   private int _sponsor = 0;

+    public boolean _allowTrade = true;
   
private long _clanJoinExpiryTime;
private long _clanCreateExpiryTime;



L2PcInstance.java (about line 8121)


   public void setClanPrivileges(int n)
   {
       _clanPrivileges = n;
   }

+    public boolean getAllowTrade()
+    {
+    	return _allowTrade;
+    }
+    
+    public void setAllowTrade(boolean a)
+    {
+    	_allowTrade = a;
+    }

 

on my computer goes Eclipse put me one please?

 

L2JFree interlude, pls :(

 

Downlaod my l2j-gameserver-1.0.0

http://www.4shared.com/file/119775524/31c789f4/l2j-gameserver-100.html

 

 

or one developer.

  • 0
Posted

I don't see why this is an issue since:

if (partner.isProcessingRequest() || partner.isProcessingTransaction())

 

should've handled it. Unless there's an issue with how either one of those handle things. then those should be fixed and not some work around like the method above.

 

  • 0
Posted

I don't see why this is an issue since:

if (partner.isProcessingRequest() || partner.isProcessingTransaction())

 

should've handled it. Unless there's an issue with how either one of those handle things. then those should be fixed and not some work around like the method above.

 

 

the method above is a fix for an interlude trade bug they talk about the other one i think you know the other bug which shared here and corrected in lineage2 and he wanted that fix for shitlude by the way they dont know what timeline is and they dont know the magic search button too =]

  • 0
Posted

the method above is a fix for an interlude trade bug they talk about the other one i think you know the other bug which shared here and corrected in lineage2 and he wanted that fix for shitlude by the way they dont know what timeline is and they dont know the magic search button too =]

 

Oh lol! I keep forgetting that there are people around who still use Interlude. hahahaha

  • 0
Posted

Oh lol! I keep forgetting that there are people around who still use Interlude. hahahaha

 

whole mxc is based on shitlude and everybody think mxc is a support site for shitlude :D thats why topics like that exist but before somebody start to flame because i speak nothing but the trueth(which is interlude is the biggest shit that ever existed and everybody who in a huge love with interlude is nothing more than a newbie naab l2j high rate player :D )heres your answer

search the l2j core timeline for a commit from nBd for the fix of trade bug and thats all.

 

topic locked question answered

Guest
This topic is now closed to further replies.
×
×
  • Create New...