Page 1 of 1
[fixed] - Packet ID: 0x34 - Issue
Posted: Tue Apr 15, 2008 6:42 pm
by MontuZ
Packet ID: 0x34 (Get Player Status)
BYTE[1] getType
� 0x04 - Basic Stats (Packet 0x11 Return)
There's no distance, concealed and possibly hidden(unchecked) checks for Basic Stats request.
People are using this with injection to detect when staff are online.
It's a really simple packethook fix I may upload if enough people request.
[Core POL097-2008-02-26 Coregina -- Nando]
Posted: Thu Apr 17, 2008 10:47 pm
by ncrsn
I didn't test this myself yet, but if what you said is valid, do you know if this is an old issue or introducted in the new releases (say, 096/097)? Not that it's too important, I'm just curious.
Concerning the fix, I'm looking forward to it's release. Since you are working on the distro (aren't you?), wouldn't the script suit well in it until the (presumed) core fix is introducted?
Posted: Fri Apr 18, 2008 6:50 pm
by CWO
Well I remember before that people used to just Single Click staff and since there was no distance or visibility checks on them then, the name would appear in the lower left but I guess after that was fixed in 096, they're turning to alternatives.
Posted: Sat Apr 19, 2008 9:35 pm
by MontuZ
Fix found here;
http://forums.polserver.com/ftopic2128.php
I haven't touched the distro in a while, been busy with my own shard, lol.
Posted: Mon Apr 21, 2008 12:06 am
by taxman
I use two hooks against it, 0x34 and 0x6c packets.
Re: [POL097-2008-02-26 Coregina] - Packet ID: 0x34 - Issue
Posted: Mon Aug 18, 2008 9:46 pm
by MontuZ
Very cool, maybe you could release the other packet?
Re: [POL097-2008-02-26 Coregina] - Packet ID: 0x34 - Issue
Posted: Tue Aug 19, 2008 12:37 am
by taxman
Code: Select all
use uo;
program sendtarget()
Print( "Hooking incoming 6C packet..." );
return 1;
endprogram
exported function Handle6CReceive( chr, byref packet )
var staffs := {0x1, 0x2, 0x3}; // staff chars serials here
var serstat := packet.GetInt32(7);
var staff;
if(chr.cmdlevel)
return 0;
endif
if(serstat in staffs)
staff := SystemFindObjectBySerial(serstat);
if(staff && !staff.concealed)
return 0;
endif
packet.SetInt32(7, chr.serial);
endif
return 0;
endfunction