So hold up, can u explain in more detail? like lets say you where to pm someone 3 times they'd only receive 2 of 3 pm's?
|
So I was working on cross world pming, got it to work perfectly appart from one thing, the PM packet doesn't always send the message to the recipient. Can anybody tell me what the problem is? This problem was there before I did cross world PMing.
Code:public ActionSender sendPrivateMessage(long name, int rights, byte[] message) { StreamBuffer.OutBuffer out = StreamBuffer.newOutBuffer(message.length + 15); out.writeVariablePacketHeader(player.getEncryptor(), 196); out.writeLong(name); out.writeInt(player.getPrivateMessaging().getLastPrivateMessageId()); out.writeByte(rights); out.writeBytes(message, message.length); out.finishVariablePacketHeader(); player.write(out.getBuffer()); return this; }
So hold up, can u explain in more detail? like lets say you where to pm someone 3 times they'd only receive 2 of 3 pm's?
Yeah if all, one discovery I've made is after sending about 20 undilvered PMs the recipient starts undelivered the new pms for a little
Code:case 196: long l5 = inStream.readQWord(); int j18 = inStream.readDWord(); int l21 = inStream.readUnsignedByte(); boolean flag5 = false; for(int i28 = 0; i28 < 100; i28++) { if(anIntArray1240[i28] != j18) continue; flag5 = true; } if(l21 <= 1) { for(int l29 = 0; l29 < ignoreCount; l29++) { if(ignoreListAsLongs[l29] != l5) continue; flag5 = true; } } if(!flag5 && anInt1251 == 0) try { anIntArray1240[anInt1169] = j18; anInt1169 = (anInt1169 + 1) % 100; String s9 = TextInput.method525(pktSize - 13, inStream); if(l21 != 3) //s9 = Censor.doCensor(s9); if(l21 == 2 || l21 == 3) pushMessage(s9, 7, "@cr2@" + TextClass.fixName(TextClass.nameForLong(l5))); else if(l21 == 1) pushMessage(s9, 7, "@cr1@" + TextClass.fixName(TextClass.nameForLong(l5))); else pushMessage(s9, 3, TextClass.fixName(TextClass.nameForLong(l5))); } catch(Exception exception1) { signlink.reporterror("cde1"); } pktType = -1; return true;
Link me to the base you used, please. sorry for delayed responces i went to the store lol.
Oh and i forgot to ask does this happen to the person that send pm like it doesn't appear for the person whos supposed to get the PM? or it doesn't appear at all when sending the PM?
Edit* just PM me ure msn if u haven't fixed this and we can talk on msn when im on.
Do you increment the message id counter before sending the packet?
Wow that was a surprisely easy fix thank you
Its was incrementing for each player instead of globally
« Previous Thread | Next Thread » |
Thread Information |
Users Browsing this ThreadThere are currently 1 users browsing this thread. (0 members and 1 guests) |