Перейти к содержанию

party_destroy();


Рекомендуемые сообщения

Опять таки под Hercules.
На эту уже понадобилось больше времени:<
Остальные попозже переделаю, там вообще много работы. ( для меня )

*party_destroy(<party id>);

Disbands a party. The command returns 1 upon success and 0 upon failure.
BUILDIN(party_destroy)
{
	int i;
	struct party_data *partys;

	if( !(partys = party->search(script_getnum(st,2))) ) {
		script_pushint(st,0);
		return false;
	}

	ARR_FIND(0,MAX_PARTY,i,partys->party.member[i].leader);
	if( i >= MAX_PARTY || !partys->data[i].sd ) { //leader not online
		int j;
		for( j = 0; j < MAX_PARTY; j++ ) {
			TBL_PC *sd = partys->data[j].sd;
			if(sd)
				party->member_withdraw(partys->party.party_id,sd->status.account_id,sd->status.char_id);
			else if( partys->party.member[j].char_id )
				intif->party_leave(partys->party.party_id,partys->party.member[j].account_id,partys->party.member[j].char_id);
		}
		party->broken(partys->party.party_id);
		script_pushint(st,1);
	}
	else //leader leave = party broken
		script_pushint(st,party->leave(partys->data[i].sd));
	return true;
}
BUILDIN_DEF(party_destroy,"i"),
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...
Яндекс.Метрика