I raised this question because i cannot figure out which packet actually informs the client that a particular entity has left the char's detectable range.
I looked up korvac's doc, it's slightly outdated. The first few fields are most packets are still valid, but the latter fields are not quite accurate now.
Anyway, i realized that the remove entity packet type of general data is sent to client when an entity is completely removed from game; Eg, a mob is killed, a client dc'ed.
If a char jumped out of detectable range, something might be sent to client, but i cannot spot it.
There is nothing sent to the client. The client will auto remove it from display after a certain range (18). The server can also then send a remove entity packet (general data subtype 156 if I remember). That only occurs though in situations such as a mob dies while on screen (not killed by you) and has finally degenerated from the map (takes a significant amount of time).
So yah... if you're trying to maintain a structure of local entities, you need to be auto removing from it whenever they pass range 18 from your current position (so update it every time you move).
so, does that mean, i need to keep track of the current distance they are from me as well as the direction of their final detectable jump? If they jump in a direction that will make them exceed a distance of 18, i remove them?
Oops... that was a completely stupid question, the destination coordinates in the jump packet is more than enough, lol.
so, does that mean, i need to keep track of the current distance they are from me as well as the direction of their final detectable jump? If they jump in a direction that will make them exceed a distance of 18, i remove them?
Oops... that was a completely stupid question, the destination coordinates in the jump packet is more than enough, lol.
Yah all you need to do is whenever they, or you move you do a quick distance check to see if it's over 18 and if so you remove.
NOTE: distance in conquer is NOT the way many people write it (like on pservers). It's a tile system... so you literally just need to do something like...
Most people are using distance of a line type formulas... which is all well and good for MANY things but when it comes to max distance of actions and stuff, you're limited by tiles, not lines.
yeah, that is what i did., haha. it's cool. I gotta sleep now. yet to implement the actual remove(entity), but it will be a breeze. thanks for responding.
That only occurs though in situations such as a mob dies while on screen (not killed by you) and has finally degenerated from the map (takes a significant amount of time).
It's also supposed to be sent when someone teleports out of your screen without jumping or moving, such as a scroll or going to market.
It's also supposed to be sent when someone teleports out of your screen without jumping or moving, such as a scroll or going to market.
Ooh of course. You should definitely be removing the uid of the packet from your locals... I was more referring to monsters for hunting. That's the only 'remove' packet that tq uses afaik but it doesn't so much have to do with going offscreen, it's related to being removed from the map.
[5180] Entity Spawn Packet Structures 12/29/2010 - CO2 Private Server - 4 Replies Anybody has Packet structures of Entity Spawn (5180 Version)?
Thanks.
*Can I Get Them* ?
Confused about the spawn entity packet 12/20/2010 - CO2 Private Server - 7 Replies So I wanted to update the spawn entity packet from Hybrid's source (5135 -> 5165)
public unsafe struct SpawnEntityPacket
{
public ushort Size;
public ushort Type;
public uint Model;