Добро пожаловать

Для полноценного пользования форумом и общения с его участниками, пройдите регистрацию ниже
Регистрация

Santa Hats проверка на наличие флага

Тема в разделе "Свалка", создана пользователем lolik, 14 дек 2016.

Статус темы:
Закрыта.
  1. lolik

    lolik Пользователь

    8
    0
    5
    Всем привет [​IMG]
    В общем имеется в наличии плагин новогодние шапки для игроков (красная и синяя) и они автоматом выдаются всем.
    Мне нужно что бы она выдавалась обычным игрокам которые без флага а тем у кого в наличии имеется флаг что бы не выдавалась, то есть начиная от випа и до админа.
    Так как на сервере у админов будут свои модельки шапки им не нужны.
    Помогите пожалуйста реализовать это, сделать проверку на флаг и т.д.

    Код:
    #include < amxmodx >
    #include < engine >
    #include < cstrike >
    #include < hamsandwich >
    new const g_szHatModel[ CsTeams ][ ] = {
        "",
        "models/happy_hats/happy_hat_t.mdl",
        "models/happy_hats/happy_hat_ct.mdl",
        ""
    };
    new g_iHats[ 33 ];
    public plugin_init( ) {
        register_plugin( "Santa Hat + Snow", "1.3", "xPaw" );
         
        register_cvar( "santa_hat", "1.3", FCVAR_SERVER );
         
        register_event( "TeamInfo", "EventTeamInfo", "a" );
         
        RegisterHam( Ham_Spawn, "player", "FwdHamPlayerSpawn", 1 );
    }
    public plugin_precache( ) {
        create_entity( "env_snow" );
         
        precache_model( g_szHatModel[ CS_TEAM_T ] );
        precache_model( g_szHatModel[ CS_TEAM_CT ] );
    }
    public client_disconnect( id )
        if( is_valid_ent( g_iHats[ id ] ) )
        remove_entity( g_iHats[ id ] );
    public FwdHamPlayerSpawn( const id ) {
        if( is_user_alive( id ) ) {
            new iEntity = g_iHats[ id ];
             
            if( !is_valid_ent( iEntity ) ) {
                if( !( iEntity = g_iHats[ id ] = create_entity( "info_target" ) ) )
                    return;
                 
                new CsTeams:iTeam = cs_get_user_team( id );
                 
                if( iTeam != CS_TEAM_T && iTeam != CS_TEAM_CT )
                    iTeam = CS_TEAM_T;
                 
                entity_set_model( iEntity, g_szHatModel[ iTeam ] );
                entity_set_int( iEntity, EV_INT_movetype, MOVETYPE_FOLLOW );
                entity_set_edict( iEntity, EV_ENT_aiment, id );
            }
        }
    }
    public EventTeamInfo( ) {
        new id = read_data( 1 ), iEntity = g_iHats[ id ];
         
        if( !is_valid_ent( iEntity ) ) {
            if( iEntity > 0 )
                g_iHats[ id ] = 0;
             
            return;
        }
         
        new szTeam[ 2 ];
        read_data( 2, szTeam, 1 );
         
        if( szTeam[ 0 ] == 'C' )
            entity_set_model( iEntity, g_szHatModel[ CS_TEAM_CT ] );
        else
            entity_set_model( iEntity, g_szHatModel[ CS_TEAM_T ] );
    }
     
  2. KanyCT@

    KanyCT@ Забанен

    287
    129
    115
    Код:
    public FwdHamPlayerSpawn( const id )
    {
        if(!is_user_connected(id) || !is_user_alive(id))
            return HAM_IGNORED
    
        /* Раскоментировать, если все, кто имеют флаги будут пропускатся
        if(is_user_admin(id))
            return HAM_IGNORED
        */
    
        /* Раскоментировать, если игроки с флагом кика будут пропускатся
        if(get_user_flags(id) & ADMIN_KICK)
            return HAM_IGNORED
        */
    
            new iEntity = g_iHats[ id ];
             
            if( !is_valid_ent( iEntity ) )
        {
            if( !( iEntity = g_iHats[ id ] = create_entity( "info_target" ) ) )
                        return HAM_IGNORED
                 
                    new CsTeams:iTeam = cs_get_user_team( id );
                 
                    if( iTeam != CS_TEAM_T && iTeam != CS_TEAM_CT )
                        iTeam = CS_TEAM_T;
                 
                    entity_set_model( iEntity, g_szHatModel[ iTeam ] );
                    entity_set_int( iEntity, EV_INT_movetype, MOVETYPE_FOLLOW );
                    entity_set_edict( iEntity, EV_ENT_aiment, id );
        }
        return HAM_IGNORED
    }
     
  3. lolik

    lolik Пользователь

    8
    0
    5
    KanyCT@, куда это вставить?
     
  4. ProroK

    ProroK Забанен

    658
    107
    150
    Попробуй так:
    PHP:
    #include <amxmodx>
    #include <engine>
    #include <cstrike>
    #include <hamsandwich>
    #include <amxmisc>


    new const g_szHatModelCsTeams ][ ] ={
        
    "",
        
    "models/happy_hats/happy_hat_t.mdl",
        
    "models/happy_hats/happy_hat_ct.mdl",
        
    ""
    };

    new 
    g_iHats33 ];

    public 
    plugin_init()
    {
        
    register_plugin("Santa Hat + Snow""1.3""xPaw");

        
    register_cvar("santa_hat""1.3"FCVAR_SERVER);

        
    register_event("TeamInfo""EventTeamInfo""a");

        
    RegisterHam(Ham_Spawn"player""FwdHamPlayerSpawn"1);
    }

    public 
    plugin_precache()
    {
        
    create_entity("env_snow");

        
    precache_model(g_szHatModelCS_TEAM_T ]);
        
    precache_model(g_szHatModelCS_TEAM_CT ]);
    }

    public 
    client_disconnect(id)
        if( 
    is_valid_ent(g_iHatsid ]))
        
    remove_entity(g_iHatsid ]);


    public 
    FwdHamPlayerSpawn( const id )
    {
        if(!
    is_user_connected(id) || !is_user_alive(id))
        return 
    HAM_IGNORED

        
    //Раскоментировать, если все, кто имеют флаги будут пропускатся
        
    if(is_user_admin(id))
        return 
    HAM_IGNORED

        
    /*Раскоментировать, если игроки с флагом кика будут пропускатся
        if(get_user_flags(id) & ADMIN_KICK)
        return HAM_IGNORED
        */
        
    new iEntity g_iHats[id];

        if( !
    is_valid_ent(iEntity))
        {
            if( !( 
    iEntity g_iHats[id] = create_entity("info_target")))
            return 
    HAM_IGNORED

            
    new CsTeams:iTeam cs_get_user_team(id);

            if(
    iTeam != CS_TEAM_T && iTeam != CS_TEAM_CT)
            
    iTeam CS_TEAM_T;

            
    entity_set_model(iEntityg_szHatModeliTeam ]);
            
    entity_set_int(iEntityEV_INT_movetypeMOVETYPE_FOLLOW);
            
    entity_set_edict(iEntityEV_ENT_aimentid );
        }
        return 
    HAM_IGNORED
    }

    public 
    EventTeamInfo()
    {
        new 
    id read_data), iEntity g_iHatsid ];

        if( !
    is_valid_entiEntity ) )
        {
            if( 
    iEntity )
                
    g_iHatsid ] = 0;
            return;
        }

        new 
    szTeam];
        
    read_data2szTeam);

        if( 
    szTeam] == 'C' )
            
    entity_set_modeliEntityg_szHatModelCS_TEAM_CT ] );
        else
            
    entity_set_modeliEntityg_szHatModelCS_TEAM_T ] );
    }
     
    lolik нравится это.
  5. lolik

    lolik Пользователь

    8
    0
    5
    ProroK, Все работает спасибо большое :dance4:
     
  6. ProroK

    ProroK Забанен

    658
    107
    150
    ТС попросил не закрывать тему.
     
  7. lolik

    lolik Пользователь

    8
    0
    5
    ProroK, я еще одну проблемку...
    Все работает отлично последний код рабочий только вот теперь у админов нету шапок ну так как я хотел потому что у них свои модельки будут а у випов не будет моделек но и шапок теперь у них нету...
    как сделать что бы у випов и обычных игроков была шапка а у админов нет?
    Випку я выдаю по флагам at ну а если девушке то aht
     
Статус темы:
Закрыта.