void party_booking_register(struct map_session_data *sd, short level, short mapid, short* job) { struct party_booking_ad_info *pb_ad; int i; pb_ad = (struct party_booking_ad_info*)idb_get(party_booking_db, sd->status.char_id); if( pb_ad == NULL ) { pb_ad = create_party_booking_data(); idb_put(party_booking_db, sd->status.char_id, pb_ad); } else { // already registered clif_PartyBookingRegisterAck(sd, 2); return; } memcpy(pb_ad->charname,sd->status.name,NAME_LENGTH); pb_ad->starttime = (int)time(NULL); pb_ad->p_detail.level = level; pb_ad->p_detail.mapid = mapid; for(i = 0; i < MAX_PARTY_BOOKING_JOBS; i++) if(job[i] != 0xFF) pb_ad->p_detail.job[i] = job[i]; else pb_ad->p_detail.job[i] = -1; clif_PartyBookingRegisterAck(sd, 0); clif_PartyBookingInsertNotify(sd, pb_ad); // Notice }
void party_booking_register(struct map_session_data *sd, short level, short mapid, short* job) { struct party_booking_ad_info *pb_ad; struct party_data *p=party_search(sd->status.party_id); int i; if (!check_party_leader(sd, p)) { clif_PartyBookingRegisterAck(sd, 1); return; } pb_ad = (struct party_booking_ad_info*)idb_get(party_booking_db, p->party.party_id); if( pb_ad == NULL ) { pb_ad = create_party_booking_data(p->party.party_id); idb_put(party_booking_db, pb_ad->index, pb_ad); } memcpy(pb_ad->charname,sd->status.name,NAME_LENGTH); pb_ad->starttime = (int)time(NULL); pb_ad->p_detail.level = level; pb_ad->p_detail.mapid = mapid; for(i=0;i<6;i++) if(job[i] != 0xFF) pb_ad->p_detail.job[i] = job[i]; else pb_ad->p_detail.job[i] = -1; clif_PartyBookingRegisterAck(sd, 0); clif_PartyBookingInsertNotify(sd, pb_ad); // Notice clif_PartyBookingSearchAck(sd->fd, &pb_ad->index, 1, false); // Update Client! return; }