Jump to content
  • 0

How I can fixed the trade bug.


Stantons

Question

12 answers to this question

Recommended Posts

  • 0

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;
+    }

Link to comment
Share on other sites

  • 0

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

 

Working everywhere,i mean in all l2j servers.

Link to comment
Share on other sites

  • 0

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 :)

Link to comment
Share on other sites

  • 0

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

Link to comment
Share on other sites

  • 0

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.

Link to comment
Share on other sites

  • 0

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.

 

Link to comment
Share on other sites

  • 0

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 =]

Link to comment
Share on other sites

  • 0

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

Link to comment
Share on other sites

  • 0

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

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock