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

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

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

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

23 страниц V  « 14 15 16 ... 21 22 »

[Stable] Lite Translit

, можно смело ставить на основные сервера;)
Статус пользователя 4ePBb
сообщение 2.4.2015, 7:59
Сообщение #281
Стаж: 14 лет

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

Umm.amxx перед lite_translit.amxx вplugins.ini напиши
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ASTIN
сообщение 2.4.2015, 8:07
Сообщение #282


Стаж: 18 лет

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

4ePBb,
Цитата
2) Он и стоит в самом низу.


То есть сааамым последним, после всех плагинов что есть...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя evil
сообщение 2.4.2015, 8:11
Сообщение #283


Стаж: 14 лет

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

Меценат Меценат

Список плагинов amxx plug
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
podbot
сообщение 2.4.2015, 8:11
Сообщение #284
Стаж: 11 лет

Сообщений: 1242
Благодарностей: 366
Полезность: < 0

поставь тогда umm вниз xD
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ASTIN
сообщение 3.4.2015, 11:34
Сообщение #285


Стаж: 18 лет

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

Всем спасибо. Разобрался. Писал его последним в plugins.ini а после него подстраивались плагины из plugins-umm.ini и plugins-aes.ini. Прописал его в plugins-aes.ini и все встало на свои места.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя cokias
сообщение 7.4.2015, 7:18
Сообщение #286
Стаж: 13 лет

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

Цитата(Bloo @ 28.2.2015, 14:43) *
abc1974, что там можно не так сделать? Выдал флаг T игроку, он VIP, выдал/добавил флаг D, он Админ, выдал добавил флаг L он Гл. Админ

подскажите в этом плагине видят ли чат мертвых - живые и наоборот???
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя evil
сообщение 7.4.2015, 7:23
Сообщение #287


Стаж: 14 лет

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

Меценат Меценат

Цитата(cokias @ 7.4.2015, 7:18) *
подскажите в этом плагине видят ли чат мертвых - живые и наоборот???

да
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SandeRwOw
сообщение 14.5.2015, 14:33
Сообщение #288
Стаж: 11 лет

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

Всем доброго времени суток. У меня не получается скомпилировать плагин Lite Translit. Пробовал локально - то же самое, не работает. Вот исходник плагина.

Код:
Код
/*
    Lite Translit - легкая версия транслита aka Fuck you SkaJlbneJlb :D
    Доп плюшки(отключаются):
        * Блокировка рекламы в чате
        * Теги в чате Гл. Админ | Админ | VIP
        * Поддержка системы армейских званий - AES ( http://c-s.net.ua/forum/topic56564.html )
        * Зеленый чат для админов и випов
    Credits:
        * Спасибо serfreeman1337 за помощь по коду и профилирование
        * Спасибо WarDeN4ik и его клавиатуре :D за различные тесты
        * А так же спасибо всем тем, кто помогал тестировать и скидывал баг-репорты
*/
#include <amxmodx>
#include <fakemeta>
    
// #define ADBLOCK                // Блокировка рекламы в чате  [ По умолчанию выключен ]
#define TAGS                    // Теги в чате Гл. Админ | Админ | VIP  [ По умолчанию включен ]
#define AES                    // Поддержка системы армейских званий - AES ( http://c-s.net.ua/forum/topic56564.html ) [ По дефолту выключен ]
// #define DEF_RUS                // Русский язык по умолчанию [ По умолчанию английский ]
// #define LOG_MESSAGE                // Пишет сообщения в логи hlds (<gamedir>/logs) [ Включать только если статистика или плагин пишет чат ]
#define ADMIN             ADMIN_BAN    // Флаг доступа для тега "Админ" в чате || Просмотр всего чата
#if defined TAGS
    #define GL_ADMIN     ADMIN_RCON    // Флаг доступа для тега "Гл. Админ" в чате
    #define VIP        ADMIN_MENU    // Флаг доступа для тега "VIP" в чате
    // #define GREEN_MSG            // Зеленый цвет чата админов и випов [ По умолчанию выключен ]
    new iSetPlayerTag, iMessageTag[33][64]
#endif

#if defined AES
    #include <aes_main>
#endif    
#define    get_bit(%1,%2)    (%1 & (1 << (%2 & 31)))
#define    set_bit(%1,%2)    %1 |= (1 << (%2 & 31))
#define    clr_bit(%1,%2)    %1 &= ~(1 << (%2 & 31))

new szMessage[191]
new iPlayerRus[33], iPlayerRusInfo[33]
new iIgnorePlayer

#if defined ADBLOCK
    new blockedMsgsCounter, approvedMsgsCounter
    new blocked_msgs[128][192], approved_msgs[128][192]
#endif    

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

public plugin_init()
{
    register_plugin("Lite Translit", "2.3", "neygomon")
    register_cvar("lt_version", "2.3", FCVAR_SERVER | FCVAR_SPONLY)
    
    new const szRegisterClmd[][] =
    {
        "say /rus",    "LangRus",
        "say /eng",    "LangEng",
        "say",        "Say",
        "say_team",    "SayTeam"
    }
    for(new a; a < sizeof szRegisterClmd; a += 2)
        register_clcmd(szRegisterClmd[a],szRegisterClmd[a + 1]);
}

#if defined ADBLOCK
public plugin_cfg()
{
    new file_path[64], configsdir[64]
    get_localinfo("amxx_configsdir", configsdir, charsmax(configsdir))
    formatex(file_path, 63,"%s/lt_blockmessages.ini", configsdir)
    new file = fopen(file_path, "rt")
    if(file)
    {
        new buffer[192], i, j
        while(!feof(file))
        {
            fgets(file, buffer, 191)
            trim(buffer)
            
            if(buffer[0] == ';') continue
            
            if(buffer[0] != '!')
            {
                blocked_msgs[i++] = buffer
                blockedMsgsCounter++
            }
            else
            {
                buffer[0] = '^x20'
                trim(buffer)
                approved_msgs[j++] = buffer
                approvedMsgsCounter++
            }
        }
        fclose(file)
    }
    else log_to_file("error_lt.log", "[Error] File ^"%s^" not found!", file_path)
}
#endif

public client_putinserver(id)
{
    if(is_user_hltv(id) || is_user_bot(id))
    {
        set_bit(iIgnorePlayer, id)
        return
    }
    #if defined TAGS
    if(get_bit(iSetPlayerTag, id)) return
    switch(CheckFlags(id))
    {
        case 0: iMessageTag[id] = ""
        case 1: iMessageTag[id] = "^4[Гл. Админ] "    
        case 2: iMessageTag[id] = "^4[Админ] "
        case 3: iMessageTag[id] = "^4[VIP] "
    }
    set_bit(iSetPlayerTag, id)
    #endif
    #if defined DEF_RUS
        iPlayerRus[id] = true
    #endif    
}
    
public client_disconnect(id)
{
    clr_bit(iIgnorePlayer, id)
    #if defined TAGS
        clr_bit(iSetPlayerTag, id)
    #endif
}    

public LangRus(id)
{
    if(!iPlayerRus[id])
    {
        iPlayerRus[id] = true
        PrintMsg(id, 0, "^1[^4LT^1] ^4Русский чат ^3активирован!")
    }
    else PrintMsg(id, 0, "^1[^4LT^1] ^4Русский чат ^3уже ^4активирован!")
}

public LangEng(id)
{
    if(iPlayerRus[id])
    {
        iPlayerRus[id] = false
        PrintMsg(id, 0, "^1[^4LT^1] ^4Английский чат ^3активирован!")
    }
    else PrintMsg(id, 0, "^1[^4LT^1] ^4Английский чат ^3уже ^4активирован!")
}

public Say(id)
    return SayHandler(id, false)
    
public SayTeam(id)
    return SayHandler(id, true)

public SayHandler(id, bool:is_say_team)
{
    if(get_bit(iIgnorePlayer, id)) return 0

    read_args(szMessage, charsmax(szMessage))
    remove_quotes(szMessage)
    #if defined ADBLOCK
        if(!szMessage[0] || szMessage[0] == '/' || Flood_Control(id, szMessage)) return PLUGIN_HANDLED_MAIN  // блочим пустое сообщение, слеш и спам в чате
    #else
        if(!szMessage[0] || szMessage[0] == '/') return PLUGIN_HANDLED_MAIN  // блочим пустое сообщение и слеш в чате
    #endif
    while(replace_all2(szMessage, charsmax(szMessage), "%", "")) {} // фиксим багу с %S%S%S%S%S и им подобными
    if(!iPlayerRusInfo[id])
    {
        if(!iPlayerRus[id])
        {
            iPlayerRusInfo[id] = true
            PrintMsg(id, 0, "^1[^4LT^1] ^4У ^3Вас ^4есть возможность писать ^3по-русски. ^4Наберите ^3/rus ^4или ^3/eng ^4для переключения.")
        }
    }
    if(iPlayerRus[id])
    {    
        for(new i; i < sizeof eng; i++)
            while(replace_all2(szMessage, charsmax(szMessage), eng[i], rus[i])) {}
    }
    new szFormatedMsg[191], szLen, szName[32], iAlive = is_user_alive(id), iTeam = get_pdata_int(id, 114)
    
    get_user_name(id, szName, charsmax(szName))
    if(is_say_team)
    {
        switch(iTeam)
        {
            case 1: szLen = formatex(szFormatedMsg[szLen], charsmax(szFormatedMsg), "%s(Террорист) ", iAlive ? "^1" : "^1*Мертвый* ")
            case 2: szLen = formatex(szFormatedMsg[szLen], charsmax(szFormatedMsg), "%s(Мент) ", iAlive ? "^1" : "^1*Мертвый* ")
            case 3: szLen = formatex(szFormatedMsg[szLen], charsmax(szFormatedMsg), "^1(Наблюдатель) ")
        }
    }
    else
    {
        if(iTeam == 3) szLen = formatex(szFormatedMsg[szLen], charsmax(szFormatedMsg), "^1(Наблюдатель) ")
        else szLen = formatex(szFormatedMsg[szLen], charsmax(szFormatedMsg) - szLen, "%s", iAlive ? "^1" : "^1*Мертвый* ")
    }    
    #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], 63, LANG_SERVER)

        szLen += formatex(szFormatedMsg[szLen], charsmax(szFormatedMsg) - szLen, "^4[%s] ", AESLvl[id])
    #endif
    #if defined TAGS
        #if defined GREEN_MSG
            if(equal(iMessageTag[id], ""))
                szLen += formatex(szFormatedMsg[szLen], charsmax(szFormatedMsg) - szLen, "%s^3%s^1 : ", iMessageTag[id], szName)
            else
                szLen += formatex(szFormatedMsg[szLen], charsmax(szFormatedMsg) - szLen, "%s^3%s^1 :^4 ", iMessageTag[id], szName)    
        #else
            szLen += formatex(szFormatedMsg[szLen], charsmax(szFormatedMsg) - szLen, "%s^3%s^1 : ", iMessageTag[id], szName)
        #endif    
    #else
        szLen += formatex(szFormatedMsg[szLen], charsmax(szFormatedMsg) - szLen, "^3%s^1 : ", szName)
    #endif    
    szLen += formatex(szFormatedMsg[szLen], charsmax(szFormatedMsg) - szLen, "%s", szMessage)

    static players[32], pcount; get_players(players, pcount, iAlive ? "ac" : "bc")
    if(is_say_team)
    {
        for(new i; i < pcount; i++)
            if(get_user_flags(players[i]) & ADMIN || (iTeam == get_user_team(players[i])))
                PrintMsg(players[i], id, szFormatedMsg)
    }
    else
    {
        for(new i; i < pcount; i++)
            PrintMsg(players[i], id, szFormatedMsg)
    }
    #if defined LOG_MESSAGE
    new authid[32], userteam[16]
    get_user_authid(id, authid, 31)
    get_user_team(id, userteam, 15)
    log_message("^"%s<%d><%s><%s>^" %s ^"%s^"", szName, get_user_userid(id), authid, userteam, is_say_team ? "say_team" : "say" , szMessage)
    #endif
    return PLUGIN_HANDLED
}

stock PrintMsg(const iReceiver, const iSender, const szMessage[], any:...)
{
    new szMsg[191]
    vformat(szMsg, charsmax(szMsg), szMessage, 4)
    message_begin(MSG_ONE_UNRELIABLE, 76, _, iReceiver)
    write_byte(iSender ? iSender : iReceiver)
    write_string(szMsg)
    message_end()
}
#if defined ADBLOCK
bool:Flood_Control(id, iMsg[])
{
    for(new i; i < approvedMsgsCounter; i++)
        if(containi(iMsg, approved_msgs[i]) != -1) return false
    
    static last_msg[33], said_len
    said_len = strlen(iMsg)
    if(said_len > 13 && last_msg[id] == said_len) return true
    last_msg[id] = said_len
    
    for(new i; i < blockedMsgsCounter; i++)
        if(containi(iMsg, blocked_msgs[i]) != -1) return true    
    return false
}
#endif
#if defined TAGS
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
}
#endif
// serfreeman1337 fixed. thx =)
stock replace_all2(string[], len, const what[], const with[])
{
    new pos
    if((pos = contain(string, what)) == -1) return 0
    new total, with_len = strlen(with), diff = strlen(what) - with_len, total_len = strlen(string), temp_pos
    while(total_len + with_len < len && replace(string[pos], len - pos, what, with) != 0)
    {
        total++
        pos += with_len
        total_len -= diff
        if (pos >= total_len) break
        temp_pos = contain(string[pos], what)
        if (temp_pos == -1) break
        pos += temp_pos
    }
    return total
}


Кто знает, что не так, помогите пожалуйста. Буду благодарен.

Отредактировал: Bloo, - 14.5.2015, 14:40
Причина: Выдано устное предупреждение!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ex3m777
сообщение 14.5.2015, 14:52
Сообщение #289


Стаж: 13 лет
Город: Москва

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

Меценат Меценат

Удали первую строку
И последнюю

Отредактировал: ex3m777, - 14.5.2015, 14:54


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SandeRwOw
сообщение 14.5.2015, 15:32
Сообщение #290
Стаж: 11 лет

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

Цитата(ex3m777 @ 14.5.2015, 15:52) *
Удали первую строку
И последнюю

Это не в исходнике, это просто я так сообщение криво отправил..
1 и последняя не учитываются
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 14.5.2015, 15:39
Сообщение #291


Стаж: 12 лет

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

SandeRwOw, ошибки хоть какие? Он прекрасно компилируется.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя simba
сообщение 14.5.2015, 15:40
Сообщение #292
Стаж: 11 лет

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

закомментируй #define AES и скомпилится
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SandeRwOw
сообщение 14.5.2015, 16:46
Сообщение #293
Стаж: 11 лет

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

Цитата(simba @ 14.5.2015, 16:40) *
закомментируй #define AES и скомпилится

А потом как включить поддержку AES? Нужно раскомментировать чтобы включить.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 14.5.2015, 16:52
Сообщение #294


Стаж: 12 лет

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

SandeRwOw, раз он нужен так компилируй со всеми нужными инклудами. Тут почти все уже есть.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ahanseri
сообщение 1.6.2015, 11:24
Сообщение #295
Стаж: 11 лет

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

люди можете помочь поставить блок рекламы в этот исходник


Код:
#include <amxmodx>
#include <cstrike>

#define TAGS // Теги в чате Гл. Админ | Админ | VIP [ По умолчанию включен ]
#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 LOG_MESSAGE // Логирование чата в HLDS логи
#define FIX_CRASH // Костыль от падения сервера с ошибкой о превышении 192 байтов. Дак вот, включать ТОЛЬКО если сервер падает.
// у меня так и не получилось уронить свой без фикса...
#if defined TAGS
// #define CP_PREFIXES // Поддержка моего плагина префиксов [ По умолчанию выключен ]
#endif

#if defined AES
#include <aes_main>
#endif

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

#if defined STEAM
new bool:g_bIsSteam[33];
#endif
#if defined CP_PREFIXES
native LtPlayerPrefix(id, string[], len);
#endif

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

register_clcmd("say /rus", "LangRus");
register_clcmd("say /eng", "LangEng");
register_clcmd("say", "Say_Handler");
register_clcmd("say_team", "SayTeam_Handler");
}

public client_putinserver(id)
{
#if defined DEF_RUS
g_bUseRus[id] = true;
#endif
#if defined STEAM
if(is_user_steam(id)) g_bIsSteam[id] = true;
else g_bIsSteam[id] = false;
#endif
}

public LangRus(id)
LangHandler(id, true);
public LangEng(id)
LangHandler(id, false);

LangHandler(id, bool:RusLang)
{
g_bUseRus[id] = RusLang ? true : false;
client_print(id, print_center, "*** [LT] %s чат активирован! ***", RusLang ? "русский" : "английский");
}

public Say_Handler(id)
return FormatMsg(id, false);

public SayTeam_Handler(id)
return FormatMsg(id, true);

FormatMsg(id, bool:is_say_team)
{
static szMessage[128]; read_args(szMessage, charsmax(szMessage)); remove_quotes(szMessage);

if(!szMessage[0] || szMessage[0] == '/') return PLUGIN_HANDLED_MAIN; // блочим пустую мессагу и слеш в чате

if(g_bUseRus[id])
for(new i; i < sizeof eng; i++)
replace_all2(szMessage, charsmax(szMessage), eng[i], rus[i])

static iLen, szFormatTags[96], iAlive, CsTeams:iTeam; iAlive = is_user_alive(id), iTeam = cs_get_user_team(id);
if(is_say_team)
{
switch(iTeam)
{
case CS_TEAM_T: iLen = formatex(szFormatTags, charsmax(szFormatTags), "^1%s(TT) ", iAlive ? "" : "* RIP * ");
case CS_TEAM_CT: iLen = formatex(szFormatTags, charsmax(szFormatTags), "^1%s(CT) ", iAlive ? "" : "* RIP * ");
case CS_TEAM_SPECTATOR: iLen = formatex(szFormatTags, charsmax(szFormatTags), "^1(Spec) ");
}
}
else
{
switch(iTeam)
{
case CS_TEAM_SPECTATOR: iLen = formatex(szFormatTags, charsmax(szFormatTags), "^1(Spec) ");
default: iLen = formatex(szFormatTags, charsmax(szFormatTags), "%s", iAlive ? "^1" : "^1*RIP* ");
}
}
#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], 63, LANG_SERVER);
iLen += formatex(szFormatTags[iLen], charsmax(szFormatTags) - iLen, "^4[%s] ", AESLvl[id]);
#endif
#if defined STEAM
if(g_bIsSteam[id])
iLen += formatex(szFormatTags[iLen], charsmax(szFormatTags) - iLen, "^1[^4Steam^1] ");
#endif
#if defined TAGS
#if defined CP_PREFIXES
static szFrmt[64], szCpPrefix[32]; LtPlayerPrefix(id, szCpPrefix, charsmax(szCpPrefix));
formatex(szFrmt, charsmax(szFrmt), "^1[^4%s^1] ", szCpPrefix);
iLen += formatex(szFormatTags[iLen], charsmax(szFormatTags) - iLen, "%s", szCpPrefix[1] ? szFrmt : "");
#else
static const szAdminPrefix[][] = { "", "^1[^4Гл. Админ^1] ", "^1[^4Админ^1] ", "^1[^4VIP^1] " };
iLen += formatex(szFormatTags[iLen], charsmax(szFormatTags) - iLen, "%s", szAdminPrefix[CheckFlags(id)]);
#endif
#endif
#if defined GREEN_MSG
if(CheckFlags(id)) iLen += formatex(szFormatTags[iLen], charsmax(szFormatTags) - iLen, "^3%%s1^1 : ^4");
else iLen += formatex(szFormatTags[iLen], charsmax(szFormatTags) - iLen, "^3%%s1^1 : ");
#else
iLen += formatex(szFormatTags[iLen], charsmax(szFormatTags) - iLen, "^3%%s1^1 : ");
#endif
#if defined FIX_CRASH
/* Костыль :D || "Fix" crash on 192 bytes */
if(strlen(szFormatTags) + strlen(szMessage) >= 180)
{
client_print(id, print_center, "*** Ай-яй-яй! Сообщение слишком длинное;) ***");
return PLUGIN_HANDLED;
}
/* End fix */
#endif
static players[32], pcount; get_players(players, pcount, "c");
if(is_say_team)
{
for(new i; i < pcount; i++)
if(get_user_flags(id) & ADMIN || (iTeam == cs_get_user_team(players[i]) && iAlive == is_user_alive(players[i])))
PrintChat(players[i], id, szFormatTags, szMessage);
}
else
{
for(new i; i < pcount; i++)
PrintChat(players[i], id, szFormatTags, szMessage);
}
#if defined LOG_MESSAGE
static authid[32], userteam[16], username[32];
get_user_name(id, username, 31);
get_user_authid(id, authid, 31);
get_user_team(id, userteam, 15);
log_message("^"%s<%d><%s><%s>^" %s ^"%s^"", username, get_user_userid(id), authid, userteam, is_say_team ? "say_team" : "say" , szMessage);
#endif
return PLUGIN_HANDLED;
}

stock PrintChat(const iReceiver, const iSender, const szTags[], const szMessage[])
{
static StrSend[190]; formatex(StrSend, charsmax(StrSend), "%s %%s2", szTags);
message_begin(MSG_ONE, 76, _, iReceiver);
write_byte(iSender);
write_string(StrSend);
write_string("");
write_string(szMessage);
message_end();
}
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 replace_all2(string[], len, const what[], const with[])
{
new pos;
if((pos = contain(string, what)) == -1) return 0;
new total, with_len = strlen(with), diff = strlen(what) - with_len, total_len = strlen(string), temp_pos;
while(total_len + with_len < len && replace(string[pos], len - pos, what, with) != 0)
{
total++;
pos += with_len;
total_len -= diff;
if (pos >= total_len) break;
temp_pos = contain(string[pos], what);
if (temp_pos == -1) break;
pos += temp_pos;
}
return total;
}

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;
}


Отредактировал: Bloo, - 1.6.2015, 14:51
Причина: Выдано устное предупреждение!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Liberty
сообщение 1.6.2015, 11:34
Сообщение #296


Стаж: 11 лет

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

Меценат Меценат

ahanseri, Это к тебе к скриптеру...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ahanseri
сообщение 1.6.2015, 11:36
Сообщение #297
Стаж: 11 лет

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

Цитата(Liberty @ 1.6.2015, 11:34) *
ahanseri, Это к тебе к скриптеру...

спасибо
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Liberty
сообщение 1.6.2015, 11:50
Сообщение #298


Стаж: 11 лет

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

Меценат Меценат

ahanseri, Ну или используй Colored Translit v3.0
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя anatol
сообщение 1.6.2015, 20:24
Сообщение #299


Стаж: 12 лет

Сообщений: 145
Благодарностей: 18
Полезность: < 0

отличный плагин и легкий))) спасибо автору ))))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fux1on
сообщение 9.6.2015, 12:51
Сообщение #300
Стаж: 10 лет

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

Взял плагин: [Stable] Lite Translit
Решил добавить тег [Девушка], вот что получилось:
Код
/*
Lite Translit - легкая версия транслита aka Fuck you SkaJlbneJlb :D
Доп плюшки(отключаются):
* Теги в чате Гл. Админ | Админ | VIP
* Поддержка системы армейских званий - AES ( )
* Зеленый чат для админов и випов
Credits:
* Спасибо serfreeman1337 за помощь по коду и профилирование.
* Спасибо WarDeN4ik и его клавиатуре :D за различные тесты
* А так же спасибо всем тем, кто помогал тестировать и скидывал баг-репорты
*/
#include <amxmodx>

#define TAGS // Теги в чате Гл. Админ | Админ | VIP [ По умолчанию включен ]
#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 LADY ADMIN_LEVEL_S // Флаг доступа для тега "VIP" в чате
// #define LOG_MESSAGE // Логирование чата в HLDS логи
// #define FIX_CRASH // Костыль от падения сервера с ошибкой о превышении 192 байтов. Дак вот, включать ТОЛЬКО если сервер падает.
// у меня так и не получилось уронить свой без фикса...

#if defined AES
#include <aes_main>
#endif
#define get_bit(%1,%2) (%1 & (1 << (%2 & 31)))
#define set_bit(%1,%2) %1 |= (1 << (%2 & 31))
#define clr_bit(%1,%2) %1 &= ~(1 << (%2 & 31))

new iPlayerRus[33]
new iIgnorePlayer

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

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

register_clcmd("say /rus", "LangRus")
register_clcmd("say /eng", "LangEng")
register_clcmd("say", "Say_Handler")
register_clcmd("say_team", "SayTeam_Handler")
}

public client_putinserver(id)
{
if(is_user_hltv(id) || is_user_bot(id))
{
set_bit(iIgnorePlayer, id)
return
}
#if defined DEF_RUS
iPlayerRus[id] = true
#endif
}

public client_disconnect(id)
clr_bit(iIgnorePlayer, id)

public LangRus(id)
{
if(!iPlayerRus[id])
{
iPlayerRus[id] = true
client_print(id, print_center, "*** Русский чат активирован! ***")
}
else client_print(id, print_center, "*** Русский чат УЖЕ активирован! ***")
}

public LangEng(id)
{
if(iPlayerRus[id])
{
iPlayerRus[id] = false
client_print(id, print_center, "*** Английский чат активирован! ***")
}
else client_print(id, print_center, "*** Английский чат УЖЕ активирован! ***")
}

public Say_Handler(id)
return FormatMsg(id, false)

public SayTeam_Handler(id)
return FormatMsg(id, true)

public FormatMsg(id, bool:is_say_team)
{
if(get_bit(iIgnorePlayer, id)) return PLUGIN_CONTINUE
static szMessage[128]
read_args(szMessage, charsmax(szMessage))
remove_quotes(szMessage)

if(!szMessage[0] || szMessage[0] == '/') return PLUGIN_HANDLED_MAIN // блочим пустую мессагу и слеш в чате

if(iPlayerRus[id])
{
for(new i; i < sizeof eng; i++)
replace_all2(szMessage, charsmax(szMessage), eng[i], rus[i])
}

static iLen, szFormatTags[96], iAlive, iTeam; iAlive = is_user_alive(id), iTeam = get_user_team(id)
if(is_say_team)
{
switch(iTeam)
{
case 1: iLen = formatex(szFormatTags, charsmax(szFormatTags), "^1%s(Террорист) ", iAlive ? "" : "* Мертвый * ")
case 2: iLen = formatex(szFormatTags, charsmax(szFormatTags), "^1%s(Мент) ", iAlive ? "" : "* Мертвый * ")
case 3: iLen = formatex(szFormatTags, charsmax(szFormatTags), "^1(Наблюдатель) ")
}
}
else
{
if(iTeam == 3) iLen = formatex(szFormatTags, charsmax(szFormatTags), "^1(Наблюдатель) ")
else iLen = formatex(szFormatTags, charsmax(szFormatTags), "%s", iAlive ? "^1" : "^1*Мертвый* ")
}
#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], 63, LANG_SERVER)
iLen += formatex(szFormatTags[iLen], charsmax(szFormatTags) - iLen, "^4[%s] ", AESLvl[id])
#endif
#if defined TAGS
static const szAdminPrefix[][] = { "", "^1[^4Гл. Админ^1] ", "^1[^4Админ^1] ", "^1[^4VIP^1] ", "^1[^4Девушка^1] " }
iLen += formatex(szFormatTags[iLen], charsmax(szFormatTags) - iLen, "%s", szAdminPrefix[CheckFlags(id)])
#endif
#if defined GREEN_MSG
if(CheckFlags(id)) iLen += formatex(szFormatTags[iLen], charsmax(szFormatTags) - iLen, "^3%%s1^1 : ^4")
else iLen += formatex(szFormatTags[iLen], charsmax(szFormatTags) - iLen, "^3%%s1^1 : ")
#else
iLen += formatex(szFormatTags[iLen], charsmax(szFormatTags) - iLen, "^3%%s1^1 : ")
#endif
#if defined FIX_CRASH
/* Костыль :D || "Fix" crash on 192 bytes */
if(strlen(szFormatTags) + strlen(szMessage) >= 190)
{
client_print(id, print_center, "*** Сообщение слишком длинное! ***");
return PLUGIN_HANDLED;
}
/* End fix */
#endif
static players[32], pcount; get_players(players, pcount, "c")
if(is_say_team)
{
for(new i; i < pcount; i++)
if(get_user_flags(id) & ADMIN || (iTeam == get_user_team(players[i]) && iAlive == is_user_alive(players[i])))
PrintChat(players[i], id, szFormatTags, szMessage)
}
else
{
for(new i; i < pcount; i++)
PrintChat(players[i], id, szFormatTags, szMessage)
}
#if defined LOG_MESSAGE
static authid[32], userteam[16], username[32]
get_user_name(id, username, 31)
get_user_authid(id, authid, 31)
get_user_team(id, userteam, 15)
log_message("^"%s<%d><%s><%s>^" %s ^"%s^"", username, get_user_userid(id), authid, userteam, is_say_team ? "say_team" : "say" , szMessage)
#endif
return PLUGIN_HANDLED
}

stock PrintChat(const iReceiver, const iSender, const szTags[], const szMessage[])
{
static StrSend[191]; formatex(StrSend, charsmax(StrSend), "%s %%s2", szTags)
message_begin(MSG_ONE_UNRELIABLE, 76, _, iReceiver)
write_byte(iSender)
write_string(StrSend)
write_string("")
write_string(szMessage)
message_end()
}
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
else if(iFlags & LADY) return 4
return 0
}

stock replace_all2(string[], len, const what[], const with[])
{
new pos
if((pos = contain(string, what)) == -1) return 0
new total, with_len = strlen(with), diff = strlen(what) - with_len, total_len = strlen(string), temp_pos
while(total_len + with_len < len && replace(string[pos], len - pos, what, with) != 0)
{
total++
pos += with_len
total_len -= diff
if (pos >= total_len) break
temp_pos = contain(string[pos], what)
if (temp_pos == -1) break
pos += temp_pos
}
return total
}


Выдает 1 ошибку при компиляции:
Скриншот


Отредактировал: Bloo, - 9.6.2015, 12:59
Причина: Выдано устное предупреждение!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
23 страниц V  « 14 15 16 ... 21 22 »
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: