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.


  • Posts

    • L2KiSS custom updater 😎 Thank You for using my support 🙏    
    • Welcome to my store :  https://topestore.mysellix.io/fr/ 2015-2022 Aged Discord Account 2015 Discord Account : 50.99 $ 2016 Discord Account : 10$ 2017 Discord Account :3.99 $ 2018 Discord Account : 3.50$ 2019 Discord Account : 2.70 $ 2020 Discord Account :1.50$ 2021 Discord Account :0.99$ 2022 Discord Account :0.70$ Warranty :Lifetime Payment Methods : Crypto/ PayPal Contact Me On Discord Or Telegram Discord : @ultrasstore11 Welcome to my store :  https://topestore.mysellix.io/fr/ 2015-2022 Aged Discord Account 2015 Discord Account : 50.99 $ 2016 Discord Account : 10$ 2017 Discord Account :3.99 $ 2018 Discord Account : 3.50$ 2019 Discord Account : 2.70 $ 2020 Discord Account :1.50$ 2021 Discord Account :0.99$ 2022 Discord Account :0.70$ Warranty :Lifetime Payment Methods : Crypto/ PayPal Contact Me On Discord Or Telegram Discord : @ultrasstore11 Welcome to my store :  https://topestore.mysellix.io/fr/ 2015-2022 Aged Discord Account 2015 Discord Account : 50.99 $ 2016 Discord Account : 10$ 2017 Discord Account :3.99 $ 2018 Discord Account : 3.50$ 2019 Discord Account : 2.70 $ 2020 Discord Account :1.50$ 2021 Discord Account :0.99$ 2022 Discord Account :0.70$ Warranty :Lifetime Payment Methods : Crypto/ PayPal Contact Me On Discord Or Telegram Discord : @ultrasstore11 Welcome to my store :  https://topestore.mysellix.io/fr/ 2015-2022 Aged Discord Account 2015 Discord Account : 50.99 $ 2016 Discord Account : 10$ 2017 Discord Account :3.99 $ 2018 Discord Account : 3.50$ 2019 Discord Account : 2.70 $ 2020 Discord Account :1.50$ 2021 Discord Account :0.99$ 2022 Discord Account :0.70$ Warranty :Lifetime Payment Methods : Crypto/ PayPal Contact Me On Discord Or Telegram Discord : @ultrasstore11
    • DISCORD : utchiha_market telegram : https://t.me/utchiha_market SELLIX STORE : https://utchihamkt.mysellix.io/ Join our server for more products : https://discord.gg/hoodservices https://campsite.bio/utchihaamkt
    • I wonder, is security under consideration, at all? At the very least, they would need to have the SQL table structure of your already-implemented system or some other table and write access to it, which leaves you exposed to exploits and foul play. Just for context, you don't need the source to make core corrections, if we are talking about java-based projects.
    • Best defense is a good offense, right, gypsy? You're marked as a scammer everywhere! Guys, be careful dealing with this guy. Why'd you change your Discord, huh? :))
  • Topics

×
×
  • Create New...