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

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

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

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

> Правила раздела

Перед созданием новой темы убедитесь, не искал ли кто-нибудь подобный плагин до вас, для этого следует воспользоваться поиском.

Все вновь созданные темы, с названием типа "Помогите найти", "А что это за плагин", "Ищу плагин", "Нужен плагин", "Подскажите пожалуйста название плагина" - будут удалены.
При создании темы постарайтесь максимально понятно сформулировать её заголовок так, чтобы он соответствовал функциям плагина который Вы ищите. В том случае, если Вам не удается сформулировать мысль и правильно расписать всё в теме, воспользуйтесь графическим редактором, к примеру Paint, что бы примерно изобразить функции нужного Вам плагина.

Плагин Правила, при подключении

Статус пользователя ckapa6eu
сообщение 16.12.2010, 15:33
Сообщение #1
Стаж: 16 лет

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

еще раз здравствуйте

нужен плагин, который при заходе на сервер, тухнул экран, и сразу у игрока открывалось MOTD-окно, сам он того не желая(то есть автоматом открывалось)

в нем, правила.

потом после нажатия кнопки "ок"

было меню:

1) Accept (принимаю)
2) No (не принимаю)
3) Show Rules (показать еще раз правила, после нажатия этой кнопки, открывается снова MOTD-окно)

я знаю где-то есть.. но не могу найти.. помогите пожалуйста
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя primm
сообщение 16.12.2010, 17:43
Сообщение #2


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

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

Цитата(ckapa6eu @ 16.12.2010, 16:33) *
еще раз здравствуйте

нужен плагин, который при заходе на сервер, тухнул экран, и сразу у игрока открывалось MOTD-окно, сам он того не желая(то есть автоматом открывалось)

в нем, правила.

потом после нажатия кнопки "ок"

было меню:

1) Accept (принимаю)
2) No (не принимаю)
3) Show Rules (показать еще раз правила, после нажатия этой кнопки, открывается снова MOTD-окно)

я знаю где-то есть.. но не могу найти.. помогите пожалуйста

может этот

Прикрепленный файл  ServerRules_2.5_Final.rar ( 12,86 килобайт ) Кол-во скачиваний: 16
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ckapa6eu
сообщение 16.12.2010, 20:10
Сообщение #3
Стаж: 16 лет

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

практически то,

помогите кое-что добавить.

как сделать чтобы "Да" нельзя было нажать 10 секунд? (в скобках шел отчет с 10 до 0)

и, чтобы когда игрок подключался, у него выскакивало MOTD окно.

а не сам он нажимал на "Прочесть правила"?
Server Rules
Код
/*
    РџР»Р°РіРёРЅ сделал Shidla [SGC] специально для тех, РєРѕРіРѕ достала школоло РЅРµ читающая правила)))
    ICQ: 312-298-513
    Shidla [SGC] | 2010 РіРѕРґ
    2.5 [Final Version]

    Р¤РѕСЂСѓРј поддержки: http://forum.hlds.us/showthread.php?p=77951
*/

#include <amxmodx>
#include <cstrike>
#include <fakemeta>

#define Skip_Admin        // Пропускать проверку для админов или нет
#if defined Skip_Admin
    #define AdminAccess ADMIN_KICK    // Если пропускать, то СЃ каким флагом доступа
#endif

new g_Rules[33], g_SpeedTaken[33]
new CVAR_SpectUser, CVAR_PlugEnable, CVAR_NoDamage, CVAR_Glow, CVAR_SetInfo, CVAR_KnifeOnly, g_msgScreenFade
new Float:UserSpeed[33]

new const RulesSetInfoKey[] = "_rules"    // Поле провеяемое РїСЂРё режиме работы через SetInfo

public plugin_init()
{
    register_plugin("Server Rules", "2.5", "Shidla")

    CVAR_SpectUser = register_cvar("amx_spect_user", "1")    // переводить РёРіСЂРѕРєР° РІ наблюдатели или нет РїСЂРё выводе правил
    CVAR_PlugEnable = register_cvar("amx_rules_enable", "1")    // включение Рё выключение плагина
    CVAR_NoDamage = register_cvar("amx_rules_nodamage", "1")    // включать бессмериме для для живых Рё ничего РЅРµ нажавших
    CVAR_Glow = register_cvar("amx_rules_glow", "1")    // блестеть РёРіСЂРѕРєСѓ или нет
    CVAR_KnifeOnly = register_cvar("amx_rules_knife", "1")        // 1 - разрешить только РЅРѕР¶
    CVAR_SetInfo = register_cvar("amx_rules_setinfo", "0")        // 1 - роверка через setinfo

    register_dictionary("Server_Rules.txt");

    g_msgScreenFade = get_user_msgid("ScreenFade")

    // Для РїРѕРёСЃРєР° РІ инете: http://www.game-monitor.com/search.php?search=Shidla&type=variable&location=all&game=cstrike&x=52&y=18&num=30
    register_cvar("Shidla", "Server Rules v2.5 Final", FCVAR_SERVER|FCVAR_SPONLY)
}

public client_putinserver(id)
{
    #if defined Skip_Admin
        if ((get_user_flags(id) & AdminAccess))
        {
            g_Rules[id] = true
            return PLUGIN_CONTINUE
        }
        g_Rules[id] = false
    #endif

    if(get_pcvar_num(CVAR_SetInfo))
    {
        new RulesSetInfo[32]
        get_user_info(id, RulesSetInfoKey, RulesSetInfo, 31)

        if(strlen(RulesSetInfo) > 0)
        {
            g_Rules[id] = true
            return PLUGIN_CONTINUE
        }
        
        set_task(1.0, "CheckUserRulesStats", id, "", 0, "b", 0)
    }

    if(!is_user_bot(id))
    {
        g_Rules[id] = false
        g_SpeedTaken[id] = false
    }

    set_task(1.0, "CheckUserRulesStats", id, "", 0, "b", 0)
    
    if(!is_user_connected(id))
    
    
        client_cmd(id,"say /rules")
    

    return PLUGIN_CONTINUE
}

public client_disconnect(id)
{
    g_Rules[id] = false
    g_SpeedTaken[id] = false
}

public CheckUserRulesStats(id)
{
    if(!get_pcvar_num(CVAR_PlugEnable) || !is_user_connected(id) || is_user_bot(id))
        return PLUGIN_CONTINUE

    #if defined Skip_Admin
        if ((get_user_flags(id) & AdminAccess))
            return PLUGIN_CONTINUE
    #endif

    if(!g_Rules[id])
    {
        new TextTitle[ 555 char ];        // Заголовок
        formatex( TextTitle, charsmax( TextTitle ), "%L", id, "TITLE")
        new TextYES[ 555 char ];        // "Да"
        formatex( TextYES, charsmax( TextYES ), "%L", id, "YES")
        new TextNO[ 555 char ];        // "Нет"
        formatex( TextNO, charsmax( TextNO ), "%L", id, "NO")
        new TextRead[ 555 char ];        // "Читать"
        formatex( TextRead, charsmax( TextRead ), "%L", id, "READ")

        new i_Menu = menu_create(TextTitle, "Rules_Menu_Options")
        menu_additem(i_Menu, TextYES, "1", 0)
        menu_additem(i_Menu, TextNO, "2", 0)
        menu_additem(i_Menu, TextRead, "3", 0)

        menu_display(id, i_Menu, 0)

        ScreenFade(id)

        if(get_pcvar_num(CVAR_Glow))
            fm_set_rendering(id, kRenderFxGlowShell, 115, 50, 155, kRenderNormal, 25)

        UserMovie(id)
    }

    return PLUGIN_CONTINUE
}


public Rules_Menu_Options(id, menu, item)
{
    new s_Data[6], s_Name[64], i_Access, i_Callback

    new player[32]
    get_user_name(id, player, 32)
    menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)
    new i_Key = str_to_num(s_Data)

    switch(i_Key)
    {
        case 1:
        {
            g_Rules[id] = true

            if(get_pcvar_num(CVAR_SetInfo))
                client_cmd(id, "setinfo %s 1", RulesSetInfoKey)

            DelScreenFade(id)

            fm_set_rendering(id)

            UserMovie(id)

            if(fm_get_user_godmode(id))
                fm_set_user_godmode(id)
        }

        case 2:
        {
            new TextREASON[ 555 char ];        // Причина
            formatex( TextREASON, charsmax( TextREASON ), "%L", id, "REASON")
            server_cmd("kick %s %s", player, TextREASON)
        }

        case 3:
        {
            if(is_user_alive(id))
                fm_set_rendering(id)

            Spect_User(id);

            new TextURL[ 555 char ];        // Ссылка
            formatex( TextURL, charsmax( TextURL ), "%L", id, "URL")
            show_motd(id, TextURL,"[Rules:]")
        }
    }
}

public UserMovie(id)
{
    if(!is_user_alive(id) || !is_user_connected(id))
        return PLUGIN_CONTINUE

    if(!g_SpeedTaken[id])
    {
        if(is_user_alive(id) & is_user_connected(id))
        {
            pev(id, pev_maxspeed, UserSpeed[id])
            g_SpeedTaken[id] = true
        }
        else return PLUGIN_CONTINUE
    }

    if(g_Rules[id] & is_user_connected(id))
    {
        set_pev(id, pev_maxspeed, UserSpeed[id])
        return PLUGIN_CONTINUE
    }

    if(is_user_alive(id) & is_user_connected(id))
    {
        set_pev(id, pev_velocity, Float:{0.0,0.0,0.0})
        set_pev(id, pev_maxspeed, 1.0)
    }
    else return PLUGIN_CONTINUE

    if(get_pcvar_num(CVAR_KnifeOnly))
    {
        new CurrWeapon = read_data(2)

        if (CurrWeapon != CSW_KNIFE)
            engclient_cmd(id, "weapon_knife")
    }

    if(get_pcvar_num(CVAR_NoDamage) & is_user_connected(id))
    {
        if(fm_get_user_godmode(id))
            return PLUGIN_CONTINUE
        fm_set_user_godmode(id, 1)
    }

    return PLUGIN_CONTINUE
}

public Spect_User(id)
{
    if(get_pcvar_num(CVAR_SpectUser) & is_user_connected(id))
    {
        if(is_user_alive(id))
        {
            new deaths = cs_get_user_deaths(id)
            user_silentkill(id)
            cs_set_user_deaths(id, deaths)
        }

        engclient_cmd(id, "jointeam", "6")
        engclient_cmd(id, "joinclass", "1")
    }

    g_Rules[id] = false

    return PLUGIN_CONTINUE
}

public ScreenFade(id)
{
    if(is_user_connected(id) & is_user_alive(id))
    {
        message_begin(MSG_ONE, g_msgScreenFade, _, id)
        write_short(1<<0)    // Duration
        write_short(1<<0)    // Hold time
        write_short(1<<2)    // Fade type
        write_byte(0)        // Red
        write_byte(0)        // Green
        write_byte(0)        // Blue
        write_byte(255)        // Alpha
        message_end()
    }
}

public DelScreenFade(id)
{
    if(is_user_connected(id))
    {
        message_begin(MSG_ONE, g_msgScreenFade, _, id)
        write_short(1<<0)    // Duration
        write_short(1<<0)    // Hold time
        write_short(1<<0)    // Fade type
        write_byte(0)        // Red
        write_byte(0)        // Green
        write_byte(0)        // Blue
        write_byte(0)        // Alpha
        message_end()
    }
}

stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16)
{
    static Float:color[3]
    color[0] = float(r)
    color[1] = float(g)
    color[2] = float(b)
    set_pev(entity, pev_renderfx, fx)
    set_pev(entity, pev_rendercolor, color)
    set_pev(entity, pev_rendermode, render)
    set_pev(entity, pev_renderamt, float(amount))
}

stock fm_get_user_godmode(index)
{
    new Float:val
    pev(index, pev_takedamage, val)

    return (val == DAMAGE_NO)
}

stock fm_set_user_godmode(index, godmode = 0)
{
    set_pev(index, pev_takedamage, godmode == 1 ? DAMAGE_NO : DAMAGE_AIM)

    return 1
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя primm
сообщение 16.12.2010, 20:28
Сообщение #4


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

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

посмотри по внимательнее исходник и найдешь и автора и где он тусит и даже его асю.(Shidla, http://forum.hlds.us/showthread.php?p=77951, ICQ: 312-298-513)
p.s. насколько я помню в ранних версиях этого плага было именно так как ты хочешь/
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ckapa6eu
сообщение 16.12.2010, 20:31
Сообщение #5
Стаж: 16 лет

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

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