Должно получиться что-то вроде того, я верно понял?
stock FractionChat(type, colorid, const str[]) { foreach(new i: iter_fraction[type]) { SCM(i, colorid, str); } }
@_LoadFrac(playerid); @_LoadFrac(playerid) { new rows, fields; cache_get_data(rows, fields); if(rows) { cache_get_field_content(0, "name", frac[playerid][f_name], MAX_PLAYER_NAME+1); frac[playerid][f_id] = cache_get_field_content_int(0, "id"); frac[playerid][f_rank] = cache_get_field_content_int(0, "rank"); frac[playerid][f_type] = cache_get_field_content_int(0, "type"); Iter_Add(iter_fraction[frac[playerid][f_type]], playerid); Iter_Init(iter_fraction); } return true; }
new Iterator:iter_fraction[MAX_FRACTIONS]<MAX_PLAYERS>;
{ if(IsAFractionMember(playerid)) Iter_Remove(iter_fraction[frac[playerid][f_type]], playerid); return true; }