Hi ,
May i know what should i change in clif.c in r17690?
here is cashshop_buy from r17690 clif.c
/// Request to buy item(s) from cash shop (CZ_PC_BUY_CASH_POINT_ITEM).
/// 0288 <name id>.W <amount>.W
/// 0288 <name id>.W <amount>.W <kafra points>.L (PACKETVER >= 20070711)
/// 0288 <packet len>.W <kafra points>.L <count>.W { <amount>.W <name id>.W }.4B*count (PACKETVER >= 20100803)
/// 0848 <packet len>.W <count>.W <packet len>.W <kafra points>.L <count>.W { <amount>.W <name id>.W <tab>.W }.6B*count (PACKETVER >= 20130000)
void clif_parse_cashshop_buy(int fd, struct map_session_data *sd){
int fail = 0;
struct s_packet_db* info;
int cmd = RFIFOW(fd,0);
nullpo_retv(sd);
info = &packet_db[sd->packet_ver][cmd];
if( sd->state.trading || !sd->npc_shopid )
fail = 1;
else {
// #if PACKETVER < 20101116
#if PACKETVER < 20120410
short nameid = RFIFOW(fd,info->pos[0]);
short amount = RFIFOW(fd,info->pos[1]);
int points = RFIFOL(fd,info->pos[2]);
fail = npc_cashshop_buy(sd, nameid, amount, points);
clif_cashshop_ack(sd,fail);
#else
int s_itl = (cmd==0x848)?10:4; //item _list size (depend on cmd even for 2013+)
int len = RFIFOW(fd,info->pos[0]);
int points = RFIFOL(fd,info->pos[1]);
int count = RFIFOW(fd,info->pos[2]);
unsigned short* item_list = (unsigned short*)RFIFOP(fd,info->pos[3]);
if( len < 10 || len != 10 + count * s_itl){
ShowWarning("Player %u sent incorrect cash shop buy packet (len %u:%u)!\n", sd->status.char_id, len, 10 + count * s_itl);
return;
}
if(cmd==0x848){
cashshop_buylist( sd, points, count, item_list);
} else {
fail = npc_cashshop_buylist(sd,points,count,item_list);
}
#endif
}
clif_cashshop_ack(sd,fail);
}
This is what my map server show:
my i use Brynner packet_db.txt from : http://rathena.org/board/topic/81747-2012-04-10aragexe-v3-booking-system/
and their patch not work with my revision. thanks.