Stantons Posted July 20, 2009 Posted July 20, 2009 Is the question! How i can fixed the molest trade bug?
0 Commodus Posted July 20, 2009 Posted July 20, 2009 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 Stantons Posted July 20, 2009 Author Posted July 20, 2009 WoW. Thanks for reply very fast, the fixed is compatible with l2j server interlude?
0 Commodus Posted July 20, 2009 Posted July 20, 2009 WoW. Thanks for reply very fast, the fixed is compatible with l2j server interlude? Working everywhere,i mean in all l2j servers.
0 Stantons Posted July 20, 2009 Author Posted July 20, 2009 Thank`s,Thank`s!!!! One question, for the administrator of the server where i play and He fixed every fast. Than have to edit?
0 Commodus Posted July 20, 2009 Posted July 20, 2009 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 Intrepid Posted July 20, 2009 Posted July 20, 2009 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 N1ghtw1sh Posted July 22, 2009 Posted July 22, 2009 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 nomz Posted July 22, 2009 Posted July 22, 2009 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 Intrepid Posted July 22, 2009 Posted July 22, 2009 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 nomz Posted July 22, 2009 Posted July 22, 2009 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 Intrepid Posted July 22, 2009 Posted July 22, 2009 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
Question
Stantons
Is the question! How i can fixed the molest trade bug?
12 answers to this question
Recommended Posts