Backup your clif.c and try to replace the function "void clif_cashshop_ack(struct map_session_data* sd, struct npc_data* nd, int error) "
with:
void clif_cashshop_ack(struct map_session_data* sd, int error)
{
int fd, cost[2] = { 0, 0 };
struct npc_data *nd;
nullpo_retv(sd);
fd = sd->fd;
nd = map_id2nd(sd->npc_shopid);
npc_shop_currency_type(sd, nd, cost, false);
WFIFOHEAD(fd, packet_len(0x289));
WFIFOW(fd,0) = 0x289;
WFIFOL(fd,2) = cost[0];
#if PACKETVER < 20070711
WFIFOW(fd,6) = TOW(error);
#else
WFIFOL(fd,6) = cost[1];
WFIFOW(fd,10) = TOW(error);
#endif
WFIFOSET(fd, packet_len(0x289));
}
The function have now only 2 arguments.
Rynbef~