Статус темы:
Закрыта.
  1. allsk Пользователь

    Регистрация:
    17.06.15
    Сообщения:
    14
    Симпатии:
    3
    Пол:
    Мужской
    Вообщем суть такая ...
    есть исходник плгаина :
    Код:
    #include <amxmodx>
    #include <amxmisc>
    #include <cstrike>
    #include <fun>
    #include <dhudmessage>
    
    #define adtime     600.0 //Default of 10 minuites
    
    new pcvar_Advertise
    new pcvar_Display
    
    public plugin_init()
    {
        register_plugin("Reset Score", "0.2", "Silenttt / CepeH9")
      
        register_clcmd("say /rs", "reset_score")
        register_clcmd("say /resetscore", "reset_score")
        register_clcmd("say_team /rs", "reset_score")
        register_clcmd("say_team /resetscore", "reset_score")
      
        pcvar_Advertise = register_cvar("sv_rsadvertise", "1")
        pcvar_Display = register_cvar("sv_rsdisplay", "1")
        if(get_cvar_num("sv_rsadvertise") == 1)
        {
            set_task(adtime, "advertise", _, _, _, "b")
        }
      
        register_cvar("amx_rstune", "1")
    }
    
    public reset_score(id)
    {
        cs_set_user_deaths(id, 0)
        set_user_frags(id, 0)
        cs_set_user_deaths(id, 0)
        set_user_frags(id, 0)
      
        if(get_pcvar_num(pcvar_Display) == 1)
        {
            new name[33]
            get_user_name(id, name, 32)
    
            ChatColor(id, "!t[!gСервер!t] !gИгрок !t%s, !gваш счёт успешно обнулён", name)
            if (get_cvar_num("amx_rstune") != 0)
            {
             client_cmd(id,"spk buttons/bell1.wav")
            }
        }
    }
    
    public advertise()
    {
        set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.71, 2, 6.0, 3.0, 0.1, 1.5 );
        show_dhudmessage(0, "Напишите в чате /rs для обнуления вашего счёта");
    }
    
    public client_putinserver(id)
    {
        if(get_pcvar_num(pcvar_Advertise) == 1)
        {
            set_task(10.0, "connectmessage", id, _, _, "a", 1)
        }
    }
    
    public connectmessage(id)
    {
        if(is_user_connected(id))
        {
        ChatColor(id, "!t[!gСервер!t] !yНапишите в чате !g/rs !yдля обнуления вашего счёта")
        }
    }
    
    stock ChatColor(const id, const input[], any:...)
    {
            new count = 1, players[32]
            static msg[191]
            vformat(msg, 190, input, 3)
      
            replace_all(msg, 190, "!g", "^4")
            replace_all(msg, 190, "!y", "^1")
            replace_all(msg, 190, "!t", "^3")
      
            if (id) players[0] = id; else get_players(players, count, "ch")
            {
                    for (new i = 0; i < count; i++)
                    {
                            if (is_user_connected(players[i]))
                            {
                                    message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
                                    write_byte(players[i]);
                                    write_string(msg);
                                    message_end();
                            }
                    }
            }
    } 
    Хотелось бы убрать HUD сообщение и остальные сообщения в чат кроме сообщения: ваш счет обнулен!
    --- добавлено 18.06.15 ---
    Делаю так это правильно или что то не так?!
    или можно что то еще убрать !?
    Код:
    #include <amxmodx>
    #include <amxmisc>
    #include <cstrike>
    #include <fun>
    #include <dhudmessage>
    
    #define adtime     600.0 //Default of 10 minuites
    
    new pcvar_Advertise
    new pcvar_Display
    
    public plugin_init()
    {
        register_plugin("Reset Score", "0.2", "Silenttt / CepeH9")
      
        register_clcmd("say /rs", "reset_score")
    
        pcvar_Advertise = register_cvar("sv_rsadvertise", "1")
        pcvar_Display = register_cvar("sv_rsdisplay", "1")
        if(get_cvar_num("sv_rsadvertise") == 1)
        {
            set_task(adtime, "advertise", _, _, _, "b")
        }
      
        register_cvar("amx_rstune", "1")
    }
    
    public reset_score(id)
    {
        cs_set_user_deaths(id, 0)
        set_user_frags(id, 0)
        cs_set_user_deaths(id, 0)
        set_user_frags(id, 0)
      
        if(get_pcvar_num(pcvar_Display) == 1)
        {
            new name[33]
            get_user_name(id, name, 32)
    
            ChatColor(id, "!t[!gСервер!t] !gИгрок !t%s, !gваш счёт успешно обнулён", name)
            if (get_cvar_num("amx_rstune") != 0)
            {
             client_cmd(id,"spk buttons/bell1.wav")
            }
        }
    }
    
    stock ChatColor(const id, const input[], any:...)
    {
            new count = 1, players[32]
            static msg[191]
            vformat(msg, 190, input, 3)
      
            replace_all(msg, 190, "!g", "^4")
            replace_all(msg, 190, "!y", "^1")
            replace_all(msg, 190, "!t", "^3")
      
            if (id) players[0] = id; else get_players(players, count, "ch")
            {
                    for (new i = 0; i < count; i++)
                    {
                            if (is_user_connected(players[i]))
                            {
                                    message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
                                    write_byte(players[i]);
                                    write_string(msg);
                                    message_end();
                            }
                    }
            }
    } 
     
  2. ex3m777 Пользователь

    Регистрация:
    27.02.15
    Сообщения:
    761
    Симпатии:
    334
    Пол:
    Мужской
    VKcom:
    ex3m777
    Skype:
    ex3m777
    что за извращение ... вот тебе норм рс


    PHP:
    #include <amxmodx>
    #include <cstrike>
    #include <fun>

    #define PLUGIN "Reset Score"
    #define VERSION "1.0"
    #define AUTHOR "AndrewZ"


    public plugin_init()
    {
        
    register_plugin(PLUGINVERSIONAUTHOR)
      
        
    register_clcmd("say /rs""cmdResetScore")
        
    register_clcmd("say_team /rs""cmdResetScore")
    }

    public 
    cmdResetScore(id)
    {
        if(!
    is_user_connected(id)) return PLUGIN_HANDLED
      
        set_user_frags
    (id0)
        
    cs_set_user_deaths(id0)
        
    client_cmd(id"spk buttons/blip1.wav")
        
    PrintChat(id"^4[Server] ^1Ваш счет успешно обнулен!")
        return 
    PLUGIN_HANDLED
    }

    PrintChat(const iReceiver, const Msg[])
    {
        
    message_begin(MSG_ONE76, .player=iReceiver);
        
    write_byte(iReceiver);
        
    write_string(Msg);
        
    message_end();
    }
     
    allsk нравится это.
  3. allsk Пользователь

    Регистрация:
    17.06.15
    Сообщения:
    14
    Симпатии:
    3
    Пол:
    Мужской
    Делаю так это правильно или что то не так?!
     
  4. ex3m777 Пользователь

    Регистрация:
    27.02.15
    Сообщения:
    761
    Симпатии:
    334
    Пол:
    Мужской
    VKcom:
    ex3m777
    Skype:
    ex3m777
    allsk, тот что ты выложил выше полная *мат*, нет желания даже смотреть твои изменения
     
    Последнее редактирование модератором: 18.06.15
  5. Phantom Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.692
    Симпатии:
    797
    Пол:
    Мужской
    Telegram:
    ph4nt0m
    Код:
    #include <amxmodx>
    #include <amxmisc>
    #include <cstrike>
    #include <fun>
    
    new pcvar_Display
    
    public plugin_init()
    {
        register_plugin("Reset Score", "0.2", "Silenttt / CepeH9")
    
        register_clcmd("say /rs", "reset_score")
        pcvar_Display = register_cvar("sv_rsdisplay", "1")
    
        register_cvar("amx_rstune", "1")
    }
    
    public reset_score(id)
    {
        cs_set_user_deaths(id, 0)
        set_user_frags(id, 0)
        cs_set_user_deaths(id, 0)
        set_user_frags(id, 0)
    
        if(get_pcvar_num(pcvar_Display) == 1)
        {
            new name[33]
            get_user_name(id, name, 32)
    
            ChatColor(id, "!t[!gСервер!t] !gИгрок !t%s, !gваш счёт успешно обнулён", name)
            if (get_cvar_num("amx_rstune") != 0)
            {
             client_cmd(id,"spk buttons/bell1.wav")
            }
        }
    }
    
    stock ChatColor(const id, const input[], any:...)
    {
            new count = 1, players[32]
            static msg[191]
            vformat(msg, 190, input, 3)
    
            replace_all(msg, 190, "!g", "^4")
            replace_all(msg, 190, "!y", "^1")
            replace_all(msg, 190, "!t", "^3")
    
            if (id) players[0] = id; else get_players(players, count, "ch")
            {
                    for (new i = 0; i < count; i++)
                    {
                            if (is_user_connected(players[i]))
                            {
                                    message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
                                    write_byte(players[i]);
                                    write_string(msg);
                                    message_end();
                            }
                    }
            }
    } 
    Держи
    --- добавлено 18.06.15 ---
    Да и вообще твоя версия rs не такая уж и легкая. Выложенный rs ex3m'ом куда легче твоего. Вот еще, заменил сток колорчата на другой, ибо прежний не нужен, плюс убрал инклуд amxmisc. Не понимаю зачем он вообще там нужен

    Код:
    #include <amxmodx>
    #include <cstrike>
    #include <fun>
    
    new pcvar_Display
    
    public plugin_init()
    {
        register_plugin("Reset Score", "0.2", "Silenttt / CepeH9")
    
        register_clcmd("say /rs", "reset_score")
        pcvar_Display = register_cvar("sv_rsdisplay", "1")
    
        register_cvar("amx_rstune", "1")
    }
    
    public reset_score(id)
    {
        cs_set_user_deaths(id, 0)
        set_user_frags(id, 0)
        cs_set_user_deaths(id, 0)
        set_user_frags(id, 0)
    
        if(get_pcvar_num(pcvar_Display) == 1)
        {
            new name[33]
            get_user_name(id, name, 32)
    
            PrintChat(id, "^3[^4Сервер^3] ^4Игрок ^3%s, ^4ваш счёт успешно обнулён", name)
            if (get_cvar_num("amx_rstune") != 0)
            {
             client_cmd(id,"spk buttons/bell1.wav")
            }
        }
    }
    PrintChat(const iReceiver, const Msg[])
    {
       message_begin(MSG_ONE, 76, .player=iReceiver);
       write_byte(iReceiver);
       write_string(Msg);
       message_end();
    }
    
     
    Последнее редактирование: 18.06.15
  6. allsk Пользователь

    Регистрация:
    17.06.15
    Сообщения:
    14
    Симпатии:
    3
    Пол:
    Мужской
    Код:
            {
             client_cmd(id,"spk buttons/bell1.wav")
            }
    взял исходник у ex3m777
     
  7. Phantom Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.692
    Симпатии:
    797
    Пол:
    Мужской
    Telegram:
    ph4nt0m
    Вот и молодец
     
  8. ex3m777 Пользователь

    Регистрация:
    27.02.15
    Сообщения:
    761
    Симпатии:
    334
    Пол:
    Мужской
    VKcom:
    ex3m777
    Skype:
    ex3m777
    вот только хотел написать об этом, но ты опередил)
     
  9. Cloud Пользователь

    Регистрация:
    27.02.15
    Сообщения:
    252
    Симпатии:
    61
    Пол:
    Мужской
    Для тех кто юзает модуль CSX Extended :

    Код:
    #include <amxmodx>
    #include <csstats_custom>
    
    public plugin_init() {
       register_clcmd("say /rs", "cmdResetScore")
       register_clcmd("say_team /rs", "cmdResetScore")
    }
    
    public cmdResetScore(id) {
       set_user_score(id, 0, 0)
    }
     
  10. ex3m777 Пользователь

    Регистрация:
    27.02.15
    Сообщения:
    761
    Симпатии:
    334
    Пол:
    Мужской
    VKcom:
    ex3m777
    Skype:
    ex3m777
    почему от Serfreeman1337? Не он создатель .. неугомон что-то говорил про проверки на бота
     
  11. Cloud Пользователь

    Регистрация:
    27.02.15
    Сообщения:
    252
    Симпатии:
    61
    Пол:
    Мужской
    Поправил)
    Какие такие проверки?
     
  12. Frank Пользователь

    Регистрация:
    11.03.15
    Сообщения:
    638
    Симпатии:
    122
    Пол:
    Мужской
    ахахахахаа
    --- добавлено 20.06.15 ---
    скачай у скальпеля rs и не парься
     
  13. ex3m777 Пользователь

    Регистрация:
    27.02.15
    Сообщения:
    761
    Симпатии:
    334
    Пол:
    Мужской
    VKcom:
    ex3m777
    Skype:
    ex3m777
    Пусть он сам объяснит
    --- добавлено 20.06.15 ---
    :adolf:
     
  14. Frank Пользователь

    Регистрация:
    11.03.15
    Сообщения:
    638
    Симпатии:
    122
    Пол:
    Мужской
    ex3m777, :adolf:
     
  15. Phantom Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.692
    Симпатии:
    797
    Пол:
    Мужской
    Telegram:
    ph4nt0m
    С проверкой на коннект
    Код:
    #include <amxmodx>
    #include <csstats_custom>
    
    public plugin_init() {
       register_clcmd("say /rs", "cmdResetScore")
    }
    
    public cmdResetScore(id) {
       if(!is_user_connected(id)) return PLUGIN_HANDLED
       set_user_score(id, 0, 0)
       return 1;
    }
     
    Cloud нравится это.
  16. Cloud Пользователь

    Регистрация:
    27.02.15
    Сообщения:
    252
    Симпатии:
    61
    Пол:
    Мужской
    Проверка обязательна? Какие могут быть минусы, если она отсутствует?
     
  17. Phantom Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.692
    Симпатии:
    797
    Пол:
    Мужской
    Telegram:
    ph4nt0m
    Проверка необходима. Ибо если ее не будет, то может зайти бот, отправит команду /rs, и сервер ляжет
     
    gudaus нравится это.
  18. Cloud Пользователь

    Регистрация:
    27.02.15
    Сообщения:
    252
    Симпатии:
    61
    Пол:
    Мужской
    А если на сервере стоит защита от ботов? речь про "Fake Players" ?
     
  19. Phantom Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.692
    Симпатии:
    797
    Пол:
    Мужской
    Telegram:
    ph4nt0m
    Ну других программ, посылающих ботов я не знаю. А если на сервере стоит защита от ботов, тогда не знаю, надо бы у Вани поинтересоваться
     
  20. Cloud Пользователь

    Регистрация:
    27.02.15
    Сообщения:
    252
    Симпатии:
    61
    Пол:
    Мужской
    Просто вероятность того, что какой-нибудь школьник с новой версией Fake Players догадается отправлять команду /rs именно на мой сервер
    [​IMG]
     
Статус темы:
Закрыта.