Назад

[FIX] Фиксим fakename

Автор: DiS[IP]: Дата: 07.10.2011

[FONT=Comic Sans MS]Я думаю многие встречались с такой проблемой:[/FONT]
[FONT=Comic Sans MS]При использовании команды @fakename или просто скриптовой команды fakename исчезало отображение отряда/гильдии/приписки в гильдии.Из-за этой проблемы команда теряла свою актуальность.Данный фикс будет полезен тем кому нужно будет создавать префиксы в именах персонажей и тем кому просто нравится эта команда.[/FONT]

[FONT=Comic Sans MS]Фиксится это проблема так:[/FONT]
[FONT=Comic Sans MS]Открываем eA/src/map/clif.c и находим там эту строчку:[/FONT]

 int clif_charnameack (int fd, struct block_list *bl)

[FONT=Comic Sans MS]Чуть ниже находим этот кусок:[/FONT]
if(ssd->fakename[0] ){
WBUFW(buf, 0) = cmd = 0x195;
memcpy(WBUFP(buf,6), ssd->fakename, NAME_LENGTH);
WBUFB(buf,30) = WBUFB(buf,54) = WBUFB(buf,78) = 0;
break;
}
memcpy(WBUFP(buf,6), ssd->status.name, NAME_LENGTH);

[FONT=Comic Sans MS]Заменяем это на этот:[/FONT]
if(strlen(ssd->fakename)>1)
memcpy(WBUFP(buf,6), ssd->fakename, NAME_LENGTH);
else
memcpy(WBUFP(buf,6), ssd->status.name, NAME_LENGTH);

[FONT=Comic Sans MS]В этом же файле ищем:[/FONT]
int clif_charnameupdate (struct map_session_data *ssd)

[FONT=Comic Sans MS]И ниже ищем такой кусок:[/FONT]
if( ssd->fakename[0] )
return 0; //No need to update as the party/guild was not displayed anyway.
WBUFW(buf,0) = cmd;
WBUFL(buf,2) = ssd->bl.id;
memcpy(WBUFP(buf,6), ssd->status.name, NAME_LENGTH);

[FONT=Comic Sans MS]Заменяем его на этот:[/FONT]
if(strlen(ssd->fakename)>1)
return 0; //No need to update as the party/guild was not displayed anyway.
WBUFW(buf,0) = cmd;
WBUFL(buf,2) = ssd->bl.id;
if(strlen(ssd->fakename)>1)
memcpy(WBUFP(buf,6), ssd->fakename, NAME_LENGTH);
else
memcpy(WBUFP(buf,6), ssd->status.name, NAME_LENGTH);

[FONT=Comic Sans MS]Делаем компиляцию.[/FONT]
[FONT=Comic Sans MS]Теперь при использовании fakename отображение гильдии/приписки в гильдии/отряда не будет пропадать.[/FONT]
[FONT=Comic Sans MS][SIZE=3];)[/SIZE][/FONT]

Автор: : Дата: 01.01.1970