// パ?ティ解散要求 int mapif_parse_BreakParty(int fd, int party_id) { idb_remove(party_db, party_id); mapif_party_broken(fd, party_id); return 0; }
// パーティ解散要求 static void mapif_parse_BreakParty(int fd, int party_id) { struct party *p = party_db.search(party_id); if (p == NULL) return; party_db.erase(party_id); mapif_party_broken(fd, party_id); }
// Is there any member in the party? int party_check_empty(struct party_data *p) { int i; if (p==NULL||p->party.party_id==0) return 1; for(i=0;i<MAX_PARTY && !p->party.member[i].account_id;i++); if (i < MAX_PARTY) return 0; // If there is no member, then break the party mapif_party_broken(p->party.party_id,0); inter_party_tosql(&p->party, PS_BREAK, 0); return 1; }
// パーティ解散要求 int mapif_parse_BreakParty(int fd,int party_id) { const struct party *p = partydb_load_num(party_id); if(p==NULL){ return 0; } partydb_delete(party_id); mapif_party_broken(fd,party_id); return 0; }
// パーティ解散要求 int mapif_parse_BreakParty(int fd,int party_id) { struct party *p; p=numdb_search(party_db,party_id); if(p==NULL){ return 0; } numdb_erase(party_db,party_id); mapif_party_broken(fd,party_id); return 0; }
// パーティ解散要求 int mapif_parse_BreakParty(int fd,int party_id) { struct party_data *p; p = inter_party_fromsql(party_id); if(!p) return 0; inter_party_tosql(&p->party,PS_BREAK,0); mapif_party_broken(fd,party_id); return 0; }
//----------------- // Break of a party //----------------- void mapif_parse_BreakParty(int fd, int party_id) { struct party *p; p = numdb_search(party_db, (CPU_INT)party_id); if (p == NULL) return; numdb_erase(party_db, (CPU_INT)party_id); mapif_party_broken(party_id); return; }
//----------------- // Break of a party //----------------- void mapif_parse_BreakParty(int fd, int party_id) { inter_party_fromsql(party_id); // fill party_tmp with informations of the party (or set all values to 0) if (party_tmp.party_id <= 0) // party doesn't exist return; inter_party_tosql(party_id, &party_tmp); mapif_party_broken(party_id); return; }
// パ?ティが空かどうかチェック int party_check_empty(struct party *p) { int i; for(i = 0; i < MAX_PARTY; i++) { if (p->member[i].account_id > 0) { return 0; } } mapif_party_broken(p->party_id, 0); idb_remove(party_db, p->party_id); return 1; }
// パーティが空かどうかチェック int party_check_empty(struct party *p) { int i; // printf("party check empty %08X\n",(int)p); for(i=0;i<MAX_PARTY;i++){ // printf("%d acc=%d\n",i,p->member[i].account_id); if(p->member[i].account_id>0){ return 0; } } // 誰もいないので解散 mapif_party_broken(p->party_id,0); numdb_erase(party_db,p->party_id); free(p); return 1; }
// Is there any member in the party? int party_check_empty(struct party *p) { int i; if (p==NULL||p->party_id==0) return 1; // printf("party check empty %08X\n",(int)p); for(i=0;i<MAX_PARTY;i++){ // printf("%d acc=%d\n",i,p->member[i].account_id); if(p->member[i].account_id>0){ return 0; } } // If there is no member, then break the party mapif_party_broken(p->party_id,0); inter_party_tosql(p->party_id,p); return 1; }
// パーティ脱退要求 void mapif_parse_PartyLeave(int fd, int party_id, int account_id, int char_id) { const struct party *p1 = partydb_load_num(party_id); struct party p2; int i; if(p1 == NULL) return; memcpy(&p2,p1,sizeof(struct party)); for(i=0;i<MAX_PARTY;i++){ if(p2.member[i].account_id == account_id && p2.member[i].char_id == char_id) { mapif_party_leaved(party_id,account_id,p2.member[i].char_id,p2.member[i].name); memset(&p2.member[i],0,sizeof(struct party_member)); if(fd >= 0) { // キャラ削除でない場合はパーティIDを0に初期化 const struct mmo_chardata *cd = chardb_load(char_id); if(cd) { struct mmo_charstatus st; memcpy(&st, &cd->st, sizeof(st)); st.party_id = 0; chardb_save(&st); } } if( party_check_empty(&p2) ) { // 空になったので解散 mapif_party_broken(p2.party_id,0); partydb_delete(p2.party_id); } else { // まだ人がいるのでデータ送信 mapif_party_info(-1,&p2); if( p2.exp>0 && !party_check_exp_share(&p2,0) ){ p2.exp=0; mapif_party_optionchanged(fd,&p2,0,0); } partydb_save(&p2); } return; } } return; }
// パーティが空かどうかチェック int party_check_empty(const PartyPair p) { int i; for (i = 0; i < MAX_PARTY; i++) { if (p->member[i].account_id) { return 0; } } // 誰もいないので解散 mapif_party_broken(p.party_id, 0); party_db.erase(p.party_id); return 1; }
//------------------------------- // Is there members in the party? //------------------------------- int party_check_empty(struct party *p) { int i; if (p == NULL || p->party_id == 0) return 1; //printf("Party #%d: check empty.\n", p->party_id); for(i = 0; i < MAX_PARTY; i++) { //printf("Member #%d account: %d.\n", i, p->member[i].account_id); if (p->member[i].account_id > 0) return 0; } // If there is no member, then break the party mapif_party_broken(p->party_id); numdb_erase(party_db, (CPU_INT)p->party_id); FREE(p); return 1; }
//------------------------------- // Is there members in the party? //------------------------------- int party_check_empty(struct party *p) { int i; // if (p == NULL || p->party_id == 0) if (p->party_id == 0) return 1; //printf("Party #%d: check empty.\n", p->party_id); for(i = 0; i < MAX_PARTY; i++) { //printf("Member #%d account: %d.\n", i, p->member[i].account_id); if (p->member[i].account_id > 0) return 0; } // If there is no member, then break the party mapif_party_broken(p->party_id); inter_party_tosql(p->party_id, p); return 1; }
// パーティ解散要求 int mapif_parse_BreakParty(int fd,int party_id) { struct party *p; p = party_pt; if(p==NULL){ ShowFatalError("int_party: out of memory !\n"); return 0; } inter_party_fromsql(party_id, p); if(p->party_id <= 0){ return 0; } inter_party_tosql(party_id,p); mapif_party_broken(fd,party_id); return 0; }