Чтобы возвращало именно 1, 2, 3 - нельзя, можно только чтобы возвращало 1, 2, 4, 8 и т.д., то с битовым сдвигом.
new gFactionTypes = 1; new gFactionCurrent = 0; stock DefineFactionType(name[]) { new id = gFactionTypes << gFactionCurrent; gFactionCurrent++; return id; } stock CreateFaction(name[], types) { if (types & FactionTypeArmy) { } if (types & FactionTypePolice) { } }