Party "on" player display not working. What can be the cause?

Helena

New member
Messages
238
Points
0
Emulator
rAthena
Good day.

My issue is as follows. I work for a server that recently converted eathena to hercules. All went well, except for this: When players party, it doesnt show in the window who is online. It shows the leader in bold just fine, the rest of the party window is good too, but not the "on" image. The .bmp files of grp_*.bmp which indicate the party icons are all present in the grf.

Ive tried the 02 05 2014 and the 07 08 2013 client but allas.

Who will be able to help me out?
default_smile.png


 
This is server side issue, I guess while merging eA to Hercules, you might have missed or deleted some lines,

Maybe you edited some part which sends player as online(for party). Please take a look on what you edited..

 
Thanks for moving sir Dastgir, it wasn't me doing the translation/move and the one that did no longer is part of the staff.  I've already replaced whole party.c and party.h with a new copy of hercules but without result.

Does anyone know what other file i should look at and possibly which line? it would help me a lot. I'm left clueless because there are no errors or whatsoever while compiling..
default_sad.png


 
clif.c is responsible for sending all kinds of packets, maybe packet send always contain 0, instead of having 1 if char online

 
clif.c is responsible for sending all kinds of packets, maybe packet send always contain 0, instead of having 1 if char online
Hi sir Dastgir thanks. 
default_smile.png


the ex-staff made these changes in clif.c which i think effect the online status indicator? This is the custom codes he put. Sorry I can't multi codebox. :s

Part 1 [Custom]:

        WBUFL(buf,28+c*46) = m->account_id;
memcpy(WBUFP(buf,28+c*46+4), m->name, NAME_LENGTH);
mapindex->getmapname_ext(mapindex_id2name(m->map), (char*)WBUFP(buf,28+c*46+28));
WBUFB(buf,28+c*46+44) = (m->leader) ? 0 : 1;
 // Start Disguise Fix

if (p->data.sd)
WBUFB(buf,28+c*46+45) = (m->online && !p->data.sd->disguise) ? 0 : 1;
else
WBUFB(buf,28+c*46+45) = (m->online) ? 0 : 1;
// End Disguise Fix
 
//WBUFB(buf,28+c*46+45) = (m->online) ? 0 : 1;
c++;
 
Official Code of Herc for Part 1:
 
WBUFL(buf,28+c*46) = m->account_id;
memcpy(WBUFP(buf,28+c*46+4), m->name, NAME_LENGTH);
mapindex->getmapname_ext(mapindex_id2name(m->map), (char*)WBUFP(buf,28+c*46+28));
WBUFB(buf,28+c*46+44) = (m->leader) ? 0 : 1;
WBUFB(buf,28+c*46+45) = (m->online) ? 0 : 1;
c++;[/codebox]
 
Part 2 [Custom]:
 
WBUFB(buf,14) = (p->party.member.online && !sd->disguise)?0:1;
 
Official Code of Herc for Part 2:
 
WBUFB(buf,14) = (p->party.member.online)?0:1;

 
Is something wrong with his custom code? I don't want to entirely overwrite it with hercs official fearing I break whatever bug he fixed. Thank you
default_smile.png

 

 
Last edited by a moderator:
Also I don't understand his fix, he checks if sd exist, but if sd exists, that means player is online, yet he again do some weird check.

Check is weird because it currently states like:

If player is online and not disguised, then display them as online on party.

^ is there any bug if we show them online when they are disguised?

 
Last edited by a moderator:
Also I don't understand his fix, he checks if sd exist, but if sd exists, that means player is online, yet he again do some weird check.

Check is weird because it currently states like:

If player is online and not disguised, then display them as online on party.

^ is there any bug if we show them online when they are disguised?
I think disguised players appear online normally in hercules?

Don't know, maybe it didn't in eathena. He must've had a reason otherwise no one would play with source edits

I will try to put official hercules code and recompile. perhaps it works. *crosses fingers*

 
Back
Top