I want to ask help from experts to adapt code for the latest version of Hercules.
I tried to change, but not enough knowledge in src.
Please help.
I tried to change, but not enough knowledge in src.
Please help.
Code:
Open clif.c
Найти void clif_parse_GlobalMessage(int fd, struct map_session_data* sd)
After:
char *name, *message;
int namelen, messagelen;
Add:
char prefix[255]; // prefix for timestamp [Qwadrat]
time_t t = time(NULL); // time var [Qwadrat]
Continue to find:
// send message to others (using the send buffer for temp. storage)
And to prepend:
// timestamp feature by Qwadrat
strftime(prefix, 10, "[%H:%M] ", localtime(&t));
strcat(prefix,text);
textlen = strlen(prefix)+1;
Further:
// send message to others (using the send buffer for temp. storage)
Replace the original piece of code:
WFIFOHEAD(fd, 8 + textlen);
WFIFOW(fd,0) = 0x8d;
WFIFOW(fd,2) = 8 + textlen;
WFIFOL(fd,4) = sd->bl.id;
safestrncpy((char*)WFIFOP(fd,8), prefix, textlen);
clif_send(WFIFOP(fd,0), WFIFOW(fd,2), &sd->bl, sd->chatID ? CHAT_WOS : AREA_CHAT_WOC);
// send back message to the speaker
//memcpy(WFIFOP(fd,0), RFIFOP(fd,0), RFIFOW(fd,2));-original
memcpy(WFIFOP(fd,4), prefix, textlen); // [Qwadrat]
WFIFOW(fd,0) = 0x8e;
WFIFOW(fd,2) = RFIFOW(fd,2) + 8; // 8 - textlen [Qwadrat]
WFIFOSET(fd, WFIFOW(fd,2));
Last edited by a moderator: