Hello everyone, my name is Allen. (Tyrucca). We need this to be fixed as soon as possible. If you could fix this problem, you would have a chance to become a Developer. This is SERIOUS. We won't be able to release until this is fixed.
From Andrew:
I tested this with the original Project Insanity I started with and didn't have this problem. And have checked every trade method and haven't found anything different :/
I have litteraly spent about 4 hours + trying to find a fix for this and haven't found shit so and it's now 3:30 a.m here and it's pre alpha tomorrow so I figured fuck it I might as well post this and someone might be able to help.
If someone can help that would be great, hopefully it's something obvious.
My tradeandduel (Pastebin because it's too big.)
Tradeandduel - Pastebin.com
My trade:
Code:
package server.game.packets;import server.Config;import server.game.players.Client;import server.game.players.PacketType;/** * Trading */public class Trade implements PacketType { @Override public void processPacket(Client c, int packetType, int packetSize) { int tradeId = c.getInStream().readSignedWordBigEndian(); c.getPA().resetFollow(); if (c.disconnected) { c.tradeStatus = 0; } if (c.arenas()) { c.sendMessage("You can't trade inside the arena!"); return; } if (c.playerRights == 2 && !Config.ADMIN_CAN_TRADE) { c.sendMessage("Trading as an admin has been disabled."); return; } if (tradeId != c.playerId) c.getTradeAndDuel().requestTrade(tradeId); } }
My clickingbuttons for trading:
Code:
case 13092: if (System.currentTimeMillis() - c.lastButton < 400) { c.lastButton = System.currentTimeMillis(); break; } else { c.lastButton = System.currentTimeMillis(); } Client ot = (Client) PlayerHandler.players[c.tradeWith]; if (ot == null) { c.getTradeAndDuel().declineTrade(); c.sendMessage("Trade declined as the other player has disconnected."); break; } c.getPA().sendFrame126("Waiting for other player...", 3431); ot.getPA().sendFrame126("Other player has accepted", 3431); c.goodTrade = true; ot.goodTrade = true; for (GameItem item : c.getTradeAndDuel().offeredItems) { if (item.id > 0) { if (ot.getItems().freeSlots() < c.getTradeAndDuel().offeredItems .size()) { c.sendMessage(ot.playerName + " only has " + ot.getItems().freeSlots() + " free slots, please remove " + (c.getTradeAndDuel().offeredItems.size() - ot .getItems().freeSlots()) + " items."); ot.sendMessage(c.playerName + " has to remove " + (c.getTradeAndDuel().offeredItems.size() - ot .getItems().freeSlots()) + " items or you could offer them " + (c.getTradeAndDuel().offeredItems.size() - ot .getItems().freeSlots()) + " items."); c.goodTrade = false; ot.goodTrade = false; c.getPA().sendFrame126("Not enough inventory space...", 3431); ot.getPA().sendFrame126( "Not enough inventory space...", 3431); break; } else { c.getPA().sendFrame126("Waiting for other player...", 3431); ot.getPA().sendFrame126("Other player has accepted", 3431); c.goodTrade = true; ot.goodTrade = true; } } } if (c.inTrade && !c.tradeConfirmed && ot.goodTrade && c.goodTrade) { c.tradeConfirmed = true; if (ot.tradeConfirmed) { c.getTradeAndDuel().confirmScreen(); ot.getTradeAndDuel().confirmScreen(); break; } } break; case 13218: if (System.currentTimeMillis() - c.lastButton < 400) { c.lastButton = System.currentTimeMillis(); break; } else { c.lastButton = System.currentTimeMillis(); } c.tradeAccepted = true; Client ot1 = (Client) PlayerHandler.players[c.tradeWith]; if (ot1 == null) { c.getTradeAndDuel().declineTrade(); c.sendMessage("Trade declined as the other player has disconnected."); break; } if (c.inTrade && c.tradeConfirmed && ot1.tradeConfirmed && !c.tradeConfirmed2) { c.tradeConfirmed2 = true; if (ot1.tradeConfirmed2) { c.acceptedTrade = true; ot1.acceptedTrade = true; c.getTradeAndDuel().giveItems(); ot1.getTradeAndDuel().giveItems(); break; } ot1.getPA().sendFrame126("Other player has accepted.", 3535); c.getPA().sendFrame126("Waiting for other player...", 3535); } break;
Need anything else posted releated to trading tell me.
You will recieve a HUGE reward if you get this fixed. (Via Server)