Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

префикс скилла

, префикс скилла перед ником в чате
Статус пользователя Landir163
сообщение 3.11.2016, 10:45
Сообщение #1


Стаж: 11 лет

Сообщений: 203
Благодарности: выкл.

Извиняюсь, если не в тот раздел пишу. Подскажите плагин, который будет отображать префикс скилла в чате перед ником. Примерно так: [M+] , [L-] и т.д. Есть ли такой, или нужно обратиться к кому-нибудь для написания данного плагина? Скилл будет браться из CSstatsX SQL

Отредактировал: Landir163, - 3.11.2016, 10:47
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Jenya Psy
сообщение 3.11.2016, 10:53
Сообщение #2


Иконка группы

Стаж: 14 лет

Сообщений: 1647
Благодарностей: 2040
Полезность: 1146

Landir163, легче же тогда аес взять.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Landir163
сообщение 3.11.2016, 11:04
Сообщение #3


Стаж: 11 лет

Сообщений: 203
Благодарности: выкл.

psyjey, aes м.б.? Там же префикс ранга только. А мне ранги не нужны. Хочется только префикс скилла и все.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Jenya Psy
сообщение 3.11.2016, 11:29
Сообщение #4


Иконка группы

Стаж: 14 лет

Сообщений: 1647
Благодарностей: 2040
Полезность: 1146

Landir163, лайт транслит неугомона.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Landir163
сообщение 3.11.2016, 12:22
Сообщение #5


Стаж: 11 лет

Сообщений: 203
Благодарности: выкл.

psyjey, прошу прощения за тупизм, но там надо редактировать плагин, да? Вместо тегов ранга задействовать скилл?

Отредактировал: Landir163, - 3.11.2016, 12:24
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 3.11.2016, 13:22
Сообщение #6


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Только не путайте скилл с задротством!


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Landir163
сообщение 3.11.2016, 13:39
Сообщение #7


Стаж: 11 лет

Сообщений: 203
Благодарности: выкл.

ssx, в данном случае - это не важно)


Отредактировал: Landir163, - 3.11.2016, 16:27
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Landir163
сообщение 3.11.2016, 16:32
Сообщение #8


Стаж: 11 лет

Сообщений: 203
Благодарности: выкл.

Плагин неугомона тут вообще не при чем. Можно удалять тему. Спасибо.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 3.11.2016, 23:00
Сообщение #9


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

Landir163, вы решили свой вопрос? В таком случае поделитесь, пожалуйста, с остальными.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Landir163
сообщение 4.11.2016, 0:51
Сообщение #10


Стаж: 11 лет

Сообщений: 203
Благодарности: выкл.

Bloo, не решил. забил на это дело. Нужен отдельный информер просто. По типу say tag
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Algalon
сообщение 4.11.2016, 2:23
Сообщение #11
Стаж: 11 лет

Сообщений: 163
Благодарностей: 60
Полезность: 291

Landir163, на вот, пробуй. я без понятия, что из этого вышло. инклюд из статистики возьмешь.
Прикрепленный файл  csstatsx_say_tag.sma ( 4,8 килобайт ) Кол-во скачиваний: 160


Отредактировал: Algalon, - 4.11.2016, 2:34
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Landir163
сообщение 4.11.2016, 10:45
Сообщение #12


Стаж: 11 лет

Сообщений: 203
Благодарности: выкл.

Algalon, буду дома - попробую. Благодарю.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Landir163
сообщение 4.11.2016, 12:46
Сообщение #13


Стаж: 11 лет

Сообщений: 203
Благодарности: выкл.

Algalon, проверил. Все работает на "чистом" чате идеально. С поддержкой colored не компилится. Инклюд транслита заливал. Все делал локально. И все равно не компилится. Но это и не важно. Мне не нужен colored. Если Вас не затруднит сделать поддержку adminprefixes 4.1 или Lite Translit , то будет очень круто. Думаю, много кто себе такой плагин заберет. Спасибо большое за плагин и за потраченное на меня время.

Отредактировал: Landir163, - 4.11.2016, 12:47
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Algalon
сообщение 4.11.2016, 14:47
Сообщение #14
Стаж: 11 лет

Сообщений: 163
Благодарностей: 60
Полезность: 291

Landir163, пофиксил, удалил модуль hamsandwich, просто раньше имя скила кешировалось в переменную при спавне игрока.
Я подумал, что это хреновая оптимизация, которая выеденного яйца не стоит. Теперь имя скила игрока формируется непосредственно при формировании сообщения.
Прикрепленный файл  csstatsx_say_tag.sma ( 4,91 килобайт ) Кол-во скачиваний: 189


Цитата(Landir163 @ 4.11.2016, 13:46) *
Если Вас не затруднит сделать поддержку adminprefixes 4.1 или Lite Translit , то будет очень круто. Думаю, много кто себе такой плагин заберет. Спасибо большое за плагин и за потраченное на меня время.

Cкрытый текст

Цитата
Плагин реагирует на само сообщение в чате и добавляет в него приставку звания. Не прехватывает say или say_team команды.
Чтобы заставить Say Tag реагировать на сообщения другого плагина, который тоже как-то связан с форматирование чата,
нужно найти функцию вывода чата в том плагине и отредактировать её.

Для примера, отредактируем плагин Admin Chat Colors от Arion.

Функция вывода чат сообщения:
Код:
public writeMessage (player, message[])
{
message_begin (MSG_ONE, sayText, {0, 0, 0}, player) // Tells to modify sayText (Which is responsable for writing colored messages)
write_byte (player) // Write byte needed
write_string (message) // Effectively write the message, finally, afterall
message_end () // Needed as always
}

Добавляем к message_* и write_* в начало e:
Код:
public writeMessage (player, message[])
{
emessage_begin (MSG_ONE, sayText, {0, 0, 0}, player) // Tells to modify sayText (Which is responsable for writing colored messages)
ewrite_byte (player) // Write byte needed
ewrite_string (message) // Effectively write the message, finally, afterall
emessage_end () // Needed as always
}

После этого Say Tag должен начать работать вместе с этим плагином.

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   + Цитировать сообщение
Статус пользователя Landir163
сообщение 4.11.2016, 15:43
Сообщение #15


Стаж: 11 лет

Сообщений: 203
Благодарности: выкл.

Algalon, по этой схеме "завелся" с AdminPrefixes 4.1 Все работает, как надо. Спасибо.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя OFanok
сообщение 14.4.2017, 17:31
Сообщение #16


Стаж: 9 лет 1 месяц

Сообщений: 75
Благодарностей: 8
Полезность: 75

Algalon, сделал как ты описал все, только у меня теперь не выводит сообщения в чат ни на русском не на английском, убираю "e" все норм, подскажи как исправить?[code][/code]// ********************************************************************************
*****//
// Плагин загружен с www.neugomon.ru //
// Автор: Neygomon [ https://neugomon.ru/members/1/ ] //
// Официальная тема поддержки: https://neugomon.ru/threads/70/ //
// При копировании материала ссылка на сайт www.neugomon.ru ОБЯЗАТЕЛЬНА! //
// ********************************************************************************
*****//

#include <amxmodx>

/*
Спасибо PRoSToTeM@ за новый способ транслитерации
*/

#define TAGS // Теги в чате Гл. Админ | Админ | VIP [ По умолчанию включен ]
#if defined TAGS
#define LT_PREFIXES // Свои префиксы. Файл addons/amxmodx/configs/lt_prefixes.ini [ По умолчанию выключен ]
#endif
#define STEAM // Тег стим игрока [ По умолчанию выключен ]
#define GREEN_MSG // Зеленый цвет чата админов и випов [ По умолчанию выключен ]
#define AES // Поддержка системы армейских званий - AES ( ) [ По умолчанию выключен ]
// #define DEF_RUS // Русский язык по умолчанию [ По умолчанию английский ]
#define GL_ADMIN ADMIN_RCON // Флаг доступа для тега "Гл. Админ" в чате
#define ADMIN ADMIN_BAN // Флаг доступа для тега "Админ" в чате
#define VIP ADMIN_LEVEL_H // Флаг доступа для тега "VIP" в чате
//#define ANTIFLOOD // Замена стандартного плагина antiflood.amxx [ По умолчанию выключен ]
#define AD_TIME 0.75 // Время между сообщениями, когда сработает антифлуд система
//#define ADMIN_ALLCHAT // Показывать весь чат админам [ По умолчанию включен ]
#define DEFAULT_CS_CHAT // Cтандартный чат кс [ По умолчанию выключен ]
//Живые общаются только с живыми, мертвые с мертвыми. Админ видит весь чат если ADMIN_ALLCHAT
#if defined AES
enum _:
{
AES_ST_EXP,
AES_ST_LEVEL,
AES_ST_BONUSES,
AES_ST_NEXTEXP,
AES_ST_END
};
native aes_get_player_stats(id, data[4]);
native aes_get_level_name(lvlnum, level[], len, idLang = 0);

public plugin_natives()
set_native_filter("native_filter");

public native_filter(const name[], index, trap)
return !trap ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
#endif

new const g_chConvert[94 * 2 char] =
{
0x2100D0AD, 0x2300D0B6, 0x25003F00, 0xD18D2800, 0x29002A00, 0x2B00D0B1, 0x2D00D18E, 0x2E003000,
0x31003200, 0x33003400, 0x35003600, 0x37003800, 0x3900D096, 0xD0B6D091, 0x3D00D0AE, 0x2C002200,
0xD0A4D098, 0xD0A1D092, 0xD0A3D090, 0xD09FD0A0, 0xD0A8D09E, 0xD09BD094, 0xD0ACD0A2, 0xD0A9D097,
0xD099D09A, 0xD0ABD095, 0xD093D09C, 0xD0A6D0A7, 0xD09DD0AF, 0xD1855C00, 0xD18A3A00, 0x5F00D191,
0xD184D0B8, 0xD181D0B2, 0xD183D0B0, 0xD0BFD180, 0xD188D0BE, 0xD0BBD0B4, 0xD18CD182, 0xD189D0B7,
0xD0B9D0BA, 0xD18BD0B5, 0xD0B3D0BC, 0xD186D187, 0xD0BDD18F, 0xD0A52F00, 0xD0AAD081
};

new bool:g_bUseRus[33];
#if defined STEAM
new bool:g_bIsSteam[33];
#endif
#if defined LT_PREFIXES
enum _:DATA
{
TYPE[2],
AUTH[32],
PREFIX[64]
};
new Array:g_aData, g_PlayerData[DATA];
new g_szPrefix[33][64];
#endif

#define GetBit(%1,%2) (%1 & (1 << (%2 & 31)))
#define SetBit(%1,%2) %1 |= (1 << (%2 & 31))
#define ResetBit(%1,%2) %1 &= ~(1 << (%2 & 31))
#if defined ADMIN_ALLCHAT
new g_bitAdmin;
#endif
new g_bitAlive;

public plugin_init()
{
#define VERSION "2.8"
register_plugin("Lite Translit", VERSION, "neygomon");
register_cvar("lt_version", VERSION, FCVAR_SERVER | FCVAR_SPONLY);

register_clcmd("say /rus", "LangCtrlRus");
register_clcmd("say /eng", "LangCtrlEng");

register_clcmd("say", "HandlerSay");
register_clcmd("say_team", "HandlerSayTeam");

register_event("ResetHUD", "eResetHUD", "be");
register_event("DeathMsg", "eDeathMsg", "a", "1>0");
}

#if defined LT_PREFIXES
public plugin_cfg()
{
g_aData = ArrayCreate(DATA);

new buff[256], fp = fopen("addons/amxmodx/configs/lt_prefixes.ini", "rt");
if(!fp) return set_fail_state("File ^"addons/amxmodx/configs/lt_prefixes.ini^" not found");

while(!feof(fp))
{
fgets(fp, buff, charsmax(buff));
if(buff[0] && buff[0] != ';' && parse(buff, g_PlayerData[TYPE], charsmax(g_PlayerData[TYPE]), g_PlayerData[AUTH], charsmax(g_PlayerData[AUTH]), g_PlayerData[PREFIX], charsmax(g_PlayerData[PREFIX])))
ArrayPushArray(g_aData, g_PlayerData);
}
return fclose(fp);
}
#endif
public client_putinserver(id)
{
#if defined LT_PREFIXES
SearchClient(id);
#endif
#if defined DEF_RUS
g_bUseRus[id] = true;
#else
g_bUseRus[id] = false;
#endif
#if defined STEAM
g_bIsSteam[id] = is_user_steam(id) ? true : false;
#endif
#if defined ADMIN_ALLCHAT
if(get_user_flags(id) & ADMIN_CHAT) SetBit(g_bitAdmin, id);
else ResetBit(g_bitAdmin, id);
#endif
}

public client_disconnect(id) ResetBit(g_bitAlive, id);
public eResetHUD(id) SetBit(g_bitAlive, id);
public eDeathMsg() ResetBit(g_bitAlive, read_data(2));

public HandlerSay(id) return FormatMsg(id, false);
public HandlerSayTeam(id) return FormatMsg(id, true);

public LangCtrlRus(id)
{
if(g_bUseRus[id])
client_print(id, print_chat, "*** [LT] Русский язык УЖЕ включен! ***");
else
{
client_print(id, print_chat, "*** [LT] Русский язык активирован! ***");
g_bUseRus[id] = true;
client_cmd(id, "spk buttons/blip1.wav");
}
}

public LangCtrlEng(id)
{
if(!g_bUseRus[id])
client_print(id, print_chat, "*** [LT] Английский язык УЖЕ включен! ***");
else
{
client_print(id, print_chat, "*** [LT] Английский язык активирован! ***");
g_bUseRus[id] = false;
client_cmd(id, "spk buttons/blip1.wav");
}
}

FormatMsg(id, bool:IsTeam)
{
#define MAX_BYTES 180
static sMessage[MAX_BYTES], sConvertStr[charsmax(sMessage) * 2 + 1];
read_args(sMessage, charsmax(sMessage));
remove_quotes(sMessage);
new count = 0;
for (new i = 0; i < strlen(sMessage); i++) {
if(sMessage[i] == ' ')
count++;
}

if(strlen(sMessage) == count || sMessage[0] == EOS || sMessage[0] == '/')
return PLUGIN_HANDLED_MAIN;
#if defined ANTIFLOOD
static Float:fTimeFlood[33], Float:fGameTime, iFloodWarn[33];

if(fTimeFlood[id] > (fGameTime = get_gametime()))
{
if(++iFloodWarn[id] > 2)
{
client_print(id, print_chat, "*** [LT] Прекратите флудить! ***");
fTimeFlood[id] = fGameTime + AD_TIME + 3.0;
return PLUGIN_HANDLED;
}
}
else if(iFloodWarn[id]) iFloodWarn[id]--;
fTimeFlood[id] = fGameTime + AD_TIME;
#endif
static iLen, sTags[MAX_BYTES], idTeam, sTeam[16];
idTeam = get_user_team(id, sTeam, charsmax(sTeam));

switch(idTeam)
{
case 1: iLen = formatex(sTags, charsmax(sTags), "%s%s", GetBit(g_bitAlive, id) ? "^1" : "^1*^3Мертвый^1* ", IsTeam ? "^1[^3TT^1]" : "");
case 2: iLen = formatex(sTags, charsmax(sTags), "%s%s", GetBit(g_bitAlive, id) ? "^1" : "^1*^3Мертвый^1* ", IsTeam ? "^1[^3CT^1]" : "");
default:iLen = formatex(sTags, charsmax(sTags), "^1*^3Spec^1* ");
}
#if defined GREEN_MSG || (defined TAGS && !defined LT_PREFIXES)
static IsAccess; IsAccess = CheckFlags(id);
#endif
#if defined AES
static AESLvl[33][64], aStats[AES_ST_END];
aes_get_player_stats(id, aStats); aes_get_level_name(aStats[AES_ST_LEVEL], AESLvl[id], charsmax(AESLvl[]), LANG_SERVER);
iLen += formatex(sTags[iLen], charsmax(sTags) - iLen, "^4[%s] ", AESLvl[id]);
#endif
#if defined STEAM
if(g_bIsSteam[id])
iLen += formatex(sTags[iLen], charsmax(sTags) - iLen, "^1[^4Steam^1] ");
#endif
#if defined TAGS
#if defined LT_PREFIXES
if(g_szPrefix[id][0])
{
replace_all(g_szPrefix[id], charsmax(g_szPrefix[]), "!n", "^1");
replace_all(g_szPrefix[id], charsmax(g_szPrefix[]), "!t", "^3");
replace_all(g_szPrefix[id], charsmax(g_szPrefix[]), "!g", "^4");
iLen += formatex(sTags[iLen], charsmax(sTags) - iLen, "%s ", g_szPrefix[id]);
}
#else
static const szAdminPrefix[][] = { "", "^1[^4Гл. Админ^1] ", "^1[^4Админ^1] ", "^1[^4VIP^1] " };
iLen += formatex(sTags[iLen], charsmax(sTags) - iLen, "%s", szAdminPrefix[IsAccess]);
#endif
#endif
#if defined GREEN_MSG
switch(IsAccess)
{
case 0: iLen += formatex(sTags[iLen], charsmax(sTags) - iLen, "^3%%s1^1 : %%s2");
default:iLen += formatex(sTags[iLen], charsmax(sTags) - iLen, "^3%%s1^1 : ^4%%s2");
}
#else
iLen += formatex(sTags[iLen], charsmax(sTags) - iLen, "^3%%s1^1 : %%s2");
#endif
if(g_bUseRus[id])
{
new nLen;
for(new n; sMessage[n] != EOS; n++)
{
if('!' <= sMessage[n] <= '~')
{
sConvertStr[nLen++] = g_chConvert{(sMessage[n] - '!') * 2};
if(g_chConvert{(sMessage[n] - '!') * 2 + 1} != EOS)
sConvertStr[nLen++] = g_chConvert{(sMessage[n] - '!') * 2 + 1};
}
else sConvertStr[nLen++] = sMessage[n];
}
sConvertStr[nLen] = EOS;
}
else sConvertStr = sMessage;

static iByteLimit; iByteLimit = MAX_BYTES;
while(iLen + strlen(sConvertStr) > MAX_BYTES) sConvertStr[iByteLimit -= 10] = 0;

static players[32], pcount; get_players(players, pcount, "c");
switch(IsTeam)
{
case true:
{
for(new i; i < pcount; i++)
{
#if defined ADMIN_ALLCHAT
if(GetBit(g_bitAdmin, players[i]) || (GetBit(g_bitAlive, id) == GetBit(g_bitAlive, players[i]) && idTeam == get_user_team(players[i])))
#else
if(GetBit(g_bitAlive, id) == GetBit(g_bitAlive, players[i]) && idTeam == get_user_team(players[i]))
#endif
PrintChat(players[i], id, sTags, sConvertStr);
}
}
case false:
{
for(new i; i < pcount; i++)
#if defined DEFAULT_CS_CHAT
#if defined ADMIN_ALLCHAT
if(GetBit(g_bitAdmin, players[i]) || GetBit(g_bitAlive, id) == GetBit(g_bitAlive, players[i]))
#else
if(GetBit(g_bitAlive, id) == GetBit(g_bitAlive, players[i]))
#endif
PrintChat(players[i], id, sTags, sConvertStr);
#else
PrintChat(players[i], id, sTags, sConvertStr);
#endif
}
}
static sAuthId[25], sName[32];
get_user_name(id, sName, charsmax(sName));
get_user_authid(id, sAuthId, charsmax(sAuthId));
log_message("^"%s<%d><%s><%s>^" %s ^"%s^"", sName, get_user_userid(id), sAuthId, sTeam, IsTeam ? "say_team" : "say" , sConvertStr);
return PLUGIN_HANDLED;
}

PrintChat(iReceiver, iSender, const sTags[], const sMessage[])
{
emessage_begin(MSG_ONE, 76, .player=iReceiver);
ewrite_byte(iSender);
ewrite_string(sTags);
ewrite_string("");
ewrite_string(sMessage);
emessage_end();
}

stock SearchClient(const id)
{
for(new i; i < ArraySize(g_aData); i++)
{
ArrayGetArray(g_aData, i, g_PlayerData);
switch(g_PlayerData[TYPE])
{
case 'f':
{
if(get_user_flags(id) & read_flags(g_PlayerData[AUTH]))
return copy(g_szPrefix[id], charsmax(g_szPrefix[]), g_PlayerData[PREFIX]);
}
case 'i':
{
static sIP[16]; get_user_ip(id, sIP, charsmax(sIP), 1);
if(!strcmp(g_PlayerData[AUTH], sIP))
return copy(g_szPrefix[id], charsmax(g_szPrefix[]), g_PlayerData[PREFIX]);
}
case 's':
{
static sAuthid[25]; get_user_authid(id, sAuthid, charsmax(sAuthid));
if(!strcmp(g_PlayerData[AUTH], sAuthid))
return copy(g_szPrefix[id], charsmax(g_szPrefix[]), g_PlayerData[PREFIX]);
}
}
}
return g_szPrefix[id][0] = 0;
}

stock CheckFlags(id)
{
static iFlags; iFlags = get_user_flags(id);
if(iFlags & GL_ADMIN) return 1;
else if(iFlags & ADMIN) return 2;
else if(iFlags & VIP) return 3;
return 0;
}

stock bool:is_user_steam(id)
{
static dp_pointer;
if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
{
server_cmd("dp_clientinfo %d", id);
server_exec();
return (get_pcvar_num(dp_pointer) == 2) ? true : false;
}
return false;
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя OFanok
сообщение 16.4.2017, 3:04
Сообщение #17


Стаж: 9 лет 1 месяц

Сообщений: 75
Благодарностей: 8
Полезность: 75

OFanok, у меня таже история с лайт транслит! очень интересно как это исправить
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: