03.06.2010, 06:31
Функция которой так всем не хватало =) наверно
Эта функция научит компьютер говорить "ПО РУССКИ"
Вы наверно часто сталкивались с проблемой када говорило "На сервере 21 игроков"
А эта функция вернет один из предложенных ей вариантов
Код
Расмотрим ее использование
number - это число для которого нужно найти слово
word1[] - слово №1
word2[] - слово №2
word3[] - слово №3
Пример использования:
Эта функция научит компьютер говорить "ПО РУССКИ"
Вы наверно часто сталкивались с проблемой када говорило "На сервере 21 игроков"
А эта функция вернет один из предложенных ей вариантов
Код
Код:
stock GetNeededWord(number,word1[],word2[],word3[]) // by Romanius { new ostatok = number % 100; new out[50]; if((ostatok > 10) && (ostatok < 20)) strcat(out,word3); else { switch(ostatok % 10) { case 0: strcat(out,word3); case 1: strcat(out,word1); case 2..4: strcat(out,word2); case 5..9: strcat(out,word3); default: strcat(out,word1); } } return out; }
number - это число для которого нужно найти слово
word1[] - слово №1
word2[] - слово №2
word3[] - слово №3
Пример использования:
Код:
new conectedplayers = 0; public OnPlayerConnect(playerid) { conectedplayers++; format(str,sizeof(str),"На сервере %d %s",conectedplayers,GetNeededWord(conectedplayers,"игрок","игрока","игроков")); SendClientMessageToAll(0xFFFFFFAA,str); } public OnPlayerDisconnect(playerid) { conectedplayers--; format(str,sizeof(str),"На сервере осталось %d %s",conectedplayers,GetNeededWord(conectedplayers,"игрок","игрока","игроков")); SendClientMessageToAll(0xFFFFFFAA,str); }