Да почему же нечего? Можно юзануть switch, эта конструкция как раз создана для случаев с несколькими вариантами значений одной переменной.
Ещё можно вынести все требования к рангам в массив, где индекс элемента будет обозначать ID фракции, а значение - требуемый ранг.
PHP код:
// 1-й элемент массива означает номер ранга для 1-й фракции, 2-й элемент - для второй фракции и т.д.
// Для фракций, которых не было в условии, я поставил в массиве 0 (см. проверку далее).
// Полный список составляйте сами, раз уж так старательно перепутали ID фракций в условии.
static const rank_requirements[] = { 0, 14, 9, 14, 9, 9, 9, 0, 0, 0, 14, /* ... */ };
new required_rank;
// Не выносите присваивание в required_rank за пределы условия - сначала должна выполниться
// проверка на правильность ID фракции, иначе можно словить выход за пределы массива.
if (!(1 <= memberrs <= 26) || ((required_rank = rank_requirements[memberrs]) == 0)
return SendClientMessage(playerid, -1, "Неправильный ID фракции."); // Можно просто вернуть 1/0, без SCM.
if (rand >= required_rank)
{
/* Ваши действия. */
}