/*///////////////////////////////////////////
//                                         //
//               RUS_FUNC.inc              //
//   Include for adapting russian letters  //
//                                         //
//             Version: 0.1                //
//                                         //
//        Creators: [LDT]LuxurY            //
//                                         //
//       Спасибо за использование :)       //
//            www.gtascript.ru             //
//                                         //
*////////////////////////////////////////////



native printfr(const format[], {Float,_}:...);

#define FixConsole(%1) for(new rSt;rSt<strlen(%1);rSt++) if(%1[rSt]>191 && %1[rSt]<240) %1[rSt]-=64; else if(%1[rSt]>239 && %1[rSt]<256) %1[rSt]-=16; else if (%1[rSt] == 168 ) %1[rSt]+=72; else if (%1[rSt] == 184) %1[rSt]+=57
#define deFixConsole(%1) for(new rStd;rStd<strlen(%1);rStd++) if(%1[rStd]>127 && %1[rStd]<176) %1[rStd]+=64; else if(%1[rStd]>223 && %1[rStd]<240) %1[rStd]+=16; else if (%1[rStd] == 240) %1[rStd]-=72; else if (%1[rStd] == 241) %1[rStd]-=57

#define printfr(%1,%2); \
{\
	new rus_xstr[128];\
	format(rus_xstr,128,%1,%2);\
	printr(rus_xstr);\
}

new RUS_weapon_names[48][32] =
{
	"Ничего","Кастет","Гольф клюшка","Ментовская дубинка","Нож","Бейсбольная бита","Лопата","Бильярдный кий",
	"Катана","Бензопила","Фиолетовый фаллоимитатор","Маленький белый вибратор","Большой белый вибратор",
	"Серебряный вибратор","Букет цветов","Трость","Граната","Слезоточивый газ","Не существует","Не существует",
	"Не существует","Коктейль молотова","Пистолет","Пистолет с глушителем","Пустынный орел","Ружье","Обрез",
	"Боевое ружье","Узи","МП5","Автомат Калашникова","М4","ТЕК9","Винтовка","Снайперская винтовка",
	"Гранатомет","Самонаводящийся гранатомет","Огнемет","Миниган","Взрывпакет","Детонатор","Балончик краски",
	"Огнетушитель","Фотоаппарат","Прибор ночного видения","Прибор инфракрасного видения",
	"Парашют","Не существует"
};

stock printr( message[] )
{
 	new
	    rus_loop = -1,
		rus_len = strlen( message );
	while ( rus_loop++ < rus_len )
	{
	    if ( message[rus_loop] < 0 ) message[rus_loop] += 256;
	}
	FixConsole( message );
	print( message );
}



stock RUS_OnPlayerText( playerid , text[] )
{
	new
		rus_message[128],
		rus_pln[24];
	GetPlayerName( playerid , rus_pln , sizeof( rus_pln ) );
	FixConsole( text );
	format( rus_message , sizeof( rus_message ) , "[CHAT] [%s]: %s" , rus_pln , text );
	print( rus_message );
	deFixConsole( text );
}

stock RUS_OnPlayerPrivmsg( playerid , recieverid , text[] )
{
	new
		rus_message[128],
		rus_pln[24],
		rus_pln1[24];
	GetPlayerName( playerid , rus_pln , sizeof( rus_pln ) );
	GetPlayerName( recieverid , rus_pln1 , sizeof( rus_pln1 ) );
	FixConsole( text );
	format( rus_message , sizeof( rus_message ) , "[PM] [%s -> %s]: %s" , rus_pln , rus_pln1 , text );
	print( rus_message );
	deFixConsole( text );
}


stock RUS_RconSay( cmd[] )
{
	if ( !strcmp( cmd , "sayr" , true , 4 ) )
	{
		deFixConsole( cmd );
		new
			strsay[64];
		format( strsay , sizeof( strsay ) , "* Admin: %s" , cmd[5] );
		SendClientMessageToAll( 0x33CCFFAA , strsay );
	}
	return 1;
}

stock RUS_GetWeaponName( weaponid )
{
	switch ( weaponid )
	{
	    case 0..46:
	    {
			return RUS_weapon_names[weaponid];
		}
	}
	return RUS_weapon_names[sizeof(RUS_weapon_names)-1];
}

stock RUS_ChLang( string[] )
{
	new
		tcHlg,
		tcLen = strlen( string );
	while ( tcHlg < tcLen )
	{
		switch ( string[tcHlg] )
		{
			case 'a': string[tcHlg] = 'ф';
			case 'b': string[tcHlg] = 'и';
			case 'c': string[tcHlg] = 'с';
			case 'd': string[tcHlg] = 'в';
			case 'e': string[tcHlg] = 'у';
			case 'f': string[tcHlg] = 'а';
			case 'g': string[tcHlg] = 'п';
			case 'h': string[tcHlg] = 'р';
			case 'i': string[tcHlg] = 'ш';
			case 'j': string[tcHlg] = 'о';
			case 'k': string[tcHlg] = 'л';
			case 'l': string[tcHlg] = 'д';
			case 'm': string[tcHlg] = 'ь';
			case 'n': string[tcHlg] = 'т';
			case 'o': string[tcHlg] = 'щ';
			case 'p': string[tcHlg] = 'з';
			case 'q': string[tcHlg] = 'й';
			case 'r': string[tcHlg] = 'к';
			case 's': string[tcHlg] = 'ы';
			case 't': string[tcHlg] = 'е';
			case 'u': string[tcHlg] = 'г';
			case 'v': string[tcHlg] = 'м';
			case 'w': string[tcHlg] = 'ц';
			case 'x': string[tcHlg] = 'ч';
			case 'y': string[tcHlg] = 'н';
			case 'z': string[tcHlg] = 'я';
			case 'A': string[tcHlg] = 'Ф';
			case 'B': string[tcHlg] = 'И';
			case 'C': string[tcHlg] = 'С';
			case 'D': string[tcHlg] = 'В';
			case 'E': string[tcHlg] = 'У';
			case 'F': string[tcHlg] = 'А';
			case 'G': string[tcHlg] = 'П';
			case 'H': string[tcHlg] = 'Р';
			case 'I': string[tcHlg] = 'Ш';
			case 'J': string[tcHlg] = 'О';
			case 'K': string[tcHlg] = 'Л';
			case 'L': string[tcHlg] = 'Д';
			case 'M': string[tcHlg] = 'Ь';
			case 'N': string[tcHlg] = 'Т';
			case 'O': string[tcHlg] = 'Щ';
			case 'P': string[tcHlg] = 'З';
			case 'Q': string[tcHlg] = 'Й';
			case 'R': string[tcHlg] = 'К';
			case 'S': string[tcHlg] = 'Ы';
			case 'T': string[tcHlg] = 'Е';
			case 'U': string[tcHlg] = 'Г';
			case 'V': string[tcHlg] = 'М';
			case 'W': string[tcHlg] = 'Ц';
			case 'X': string[tcHlg] = 'Ч';
			case 'Y': string[tcHlg] = 'Н';
			case 'Z': string[tcHlg] = 'Я';
			case '[': string[tcHlg] = 'х';
			case ']': string[tcHlg] = 'ъ';
			case ';': string[tcHlg] = 'ж';
			case ''': string[tcHlg] = 'э';
			case ',': string[tcHlg] = 'б';
			case '.': string[tcHlg] = 'ю';
			case '/': string[tcHlg] = '.';
			case '{': string[tcHlg] = 'Х';
			case '}': string[tcHlg] = 'Ъ';
			case ':': string[tcHlg] = 'Ж';
			case '"': string[tcHlg] = 'Э';
			case '<': string[tcHlg] = 'Б';
			case '>': string[tcHlg] = 'Ю';
			case '?': string[tcHlg] = ',';
			case '`': string[tcHlg] = 'ё';
			case '~': string[tcHlg] = 'Ё';
			case '@': string[tcHlg] = '"';
			case '#': string[tcHlg] = '№';
			case '$': string[tcHlg] = ';';
			case '^': string[tcHlg] = ':';
			case '&': string[tcHlg] = '?';
		}
		tcHlg++;
	}
	return true;
}

stock RUS_SendClientMessage( playerid , color , const message[] )
{
 	new
	    rus_loop = -1,
		rus_len = strlen( message );
	while ( rus_loop++ < rus_len )
	{
	    if ( message[rus_loop] < 0 ) message[rus_loop] += 256;
	}
	SendClientMessage( playerid , color , message );
	return true;
}

stock RUS_SendClientMessageToAll( color , const message[] )
{
 	new
	    rus_loop = -1,
		rus_len = strlen( message );
	while ( rus_loop++ < rus_len )
	{
	    if ( message[rus_loop] < 0 ) message[rus_loop] += 256;
	}
	SendClientMessage( color , message );
	return true;
}
