1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  1. pr0.JeR

    pr0.JeR Новичок

    Регистрация:
    10 июл 2017
    Сообщения:
    14
    Симпатии:
    0
    Пол:
    Мужской
    Добрый день, решил самостоятельно написать VIP плагин. Поставил задачу что у вип игроков должна выдаваться броня, пассатижи если это мент, гранаты всех видов, надпись вип в табе и дамагер.

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

    #define is_player_valid(%1) (1 <= %1 <= 32)

    new mapname[32]
    new 
    Hud

    const VIP_FLAG ADMIN_LEVEL_E

    public plugin_init()
    {
        
    register_event("ResetHUD""ResetHUD""be");
        
    register_event("Damage","damage_message","b","2!0","3=0","4!0");
        
        
    get_mapname(mapnamecharsmax(mapname))
        if(
    containi(mapname"awp_") != -1)
        {
            return
        }
        else
        {
            
    register_plugin("VIP Lite""1.0""pr0.JeR");
            
    RegisterHam(Ham_Spawn"player""vip"1);
        }
        
    Hud CreateHudSyncObj();
    }

    public 
    ResetHUD(id)                                // VIP при TAB
    {
        
    set_task(0.5"VIP"id 6910)                       
    }

    public 
    vip(id)                                    // Выдача грен
    {
        if(
    is_user_alive(id) && get_user_flags(id) & VIP_FLAG)
        {
            
            
    give_item(id,"weapon_hegrenade")
            
    give_item(id,"weapon_flashbang")
            
    give_item(id,"weapon_flashbang")
            
    give_item(id,"weapon_smokegrenade")
            
            
            
    give_item(id,"item_assaultsuit")
            
    give_item(id"item_thighpack")
            
    set_user_armor(id100)
        }

        return 
    PLUGIN_HANDLED;
    }

    public 
    damage_message(id)                    // Показ HP при попадании.
    {
            new 
    attacker get_user_attacker(id);
            if(!
    is_player_valid(attacker) || !(get_user_flags(attacker) & VIP_FLAG))
            {
                    return 
    PLUGIN_CONTINUE;
            }
            new 
    damag read_data(2);
            if(
    cs_get_user_team(id) == CS_TEAM_T)
            {
                    
    set_hudmessage(25500, -1.00.5500.11.20.10.1, -1);
            }
            if(
    cs_get_user_team(id) == CS_TEAM_CT)
            {
                    
    set_hudmessage(00255, -1.00.5500.11.20.10.1, -1);
            }
            
    ShowSyncHudMsg(attacker,Hud,"%i",damag);
            return 
    PLUGIN_CONTINUE;
    }
    и по факту у меня чет ни че не рабит, не надо обзываться рукожопом, я только учусь, уроков не нашёл.
    Может быть можно как то проще все это дело сделать на REAPI? Компилю на ReAMX 1.8.3 билд 7.
     
  2. Phantom

    Phantom Команда форума Администратор

    Регистрация:
    8 июн 2017
    Сообщения:
    56
    Симпатии:
    36
    Занеси это:
    PHP:
    register_event("Damage","damage_message","b","2!0","3=0","4!0");
    сюда:
    PHP:
    else
    {
        
    register_plugin("VIP Lite""1.0""pr0.JeR");
        
    RegisterHam(Ham_Spawn"player""vip"1);
    }
    Убирай это:
    PHP:
    register_event("ResetHUD""ResetHUD""be");

    public 
    ResetHUD(id)                                // VIP при TAB
    {
        
    set_task(0.5"VIP"id 6910)                     
    }
    Добавляй это:
    PHP:
    register_message(get_user_msgid("ScoreAttrib"), "msgScoreAttrib");

    public 
    msgScoreAttrib(const MsgId, const MsgType, const MsgDest)
    {
        if(
    get_msg_arg_int(2) || !(get_user_flags(get_msg_arg_int(1)) & VIP_FLAG))
            return
        
    set_msg_arg_int(2ARG_BYTE, (1<<2));
    }
    Это у нас вывод "VIP" в scoreboard. Проверь на работоспособность с этими правками
     
    pr0.JeR нравится это.
  3. pr0.JeR

    pr0.JeR Новичок

    Регистрация:
    10 июл 2017
    Сообщения:
    14
    Симпатии:
    0
    Пол:
    Мужской
    Phantom, Работает, единственное что не смог проверить это надпись вип. Подожду большего онлайна и проверю.