View Single Post
Author Message
Titus
Junior Member
Join Date: Feb 2015
Old 02-09-2015 , 16:55   CSDM VIP Problem
Reply With Quote #1

Good evening guys, i have using a vip plugins who have thins things

- Vip has speed spawn : 400.0
- Vip has health : 200
- Vip has armor: 200
- Vip has gravity: 0.85
- Vip has kill reward: 10
- Vip has headshot reward: 25
- Vip has multi dmg: 2.0
- Vip has max healt: 300
- Vip has kill money: 800
- Vip has show dmg: 0
- Vip has model diffrent from the other players: 1
- Vip has imune to flashbang: 1
- Vip has event to some hours: 0
- Vip has multijump: 2
- Vip has scoreboard


ok them, all god, but the plugins doesn't work , he give me the model, scoreboard and hp/armor 100 not 200/200 no speed , no gravity . i use CSDM 2.1.2k

Code:
/*


        Credits:    Exolent - VIP in Scoreboard
            pharse - x2 Jump for VIP( for ZP 5.0.5 )
            Sn!ff3r - Show bullet dmg in HUD only VIP
            Askhanar - Change Model to VIP
            cheap.suit - No VIP Flash( extracted on Biohazard v2.00 beta )
            AMXX Dev Team - Add VIP's
            cyby - VIP Event
        

*/
#include < amxmodx >
#include < amxmisc >
#include < hamsandwich >
#include < cstrike >
#include < fakemeta >
#include < engine >
#include < fun >
#include < ColorChat >
#include < message_const >

//#define USING_SQL

#if defined USING_SQL
#include < sqlx >
#endif

// All the file will be in "users.ini" !
#define VIP_FLAGS        "bit"    // Flags for vip
#define VIP_FLAGS_TYPE        "a"    // a - Dissconect the vip with wrong password)
#define VIP_PASSWORD        "parola"    // Password for vip

#define is_user_player(%1) ( 1 <= %1 <= g_iMaxPlayers )

#define TASK_SECRET_MSG        216439

// Here sets the hours for vip event( for disable 0 cvar-ului "vip_enable_vip_event" )
#define FIRST_HOUR    12
#define LAST_HOUR    13

new const PLUGIN_VERSION[  ] = "1.0.2",
     PLUGIN_AUTHOR[  ] = "YONTU";

#if defined USING_SQL
new const PLUGIN_NAME_SQL[  ] = "VIP System( SQL )";
#else
new const PLUGIN_NAME[  ] = "VIP System";
#endif

new const g_szTag[  ] = "[VIP System]";    // TAG
new const g_szVipFlags[  ] =    "t";        // Flag for vip( ADMIN_LEVEL_H )

// Here you put your name for contact);
new const YourNick[  ] = "nuconteaza", 
     YourMessenger[  ] = "[email protected]";

static const COLORG[  ] = "^x04", COLORD[  ] = "^x01", COLORT[  ] = "^x03";

// Refil Ammo on headshot
new const g_Weapons[  ] = {

    CSW_M4A1,
    CSW_AK47,
    CSW_DEAGLE,
    CSW_USP
};

new const g_szWeapons[  ][  ] = {

    "weapon_m4a1",
    "weapon_ak47",
    "weapon_deagle",
    "weapon_usp"
};

new const g_iWeaponsAmmo[  ] = {

    30,
    30,
    7,
    12
};

enum {

        SCOREATTRIB_ARG_PLAYERID = 1,
        SCOREATTRIB_ARG_FLAGS
};

enum ( <<= 1 ) {

        SCOREATTRIB_FLAG_NONE = 0,
        SCOREATTRIB_FLAG_DEAD = 1,
        SCOREATTRIB_FLAG_BOMB,
        SCOREATTRIB_FLAG_VIP
};

enum _:WhatUserHas {

    Speed,
    Jump,
}
new bool:g_bUserHas[ 33 ][ WhatUserHas ];

new     g_cvar_speed_spawn,
    g_cvar_health_spawn,
    g_cvar_armor_spawn,
    g_cvar_gravity_spawn,
    g_cvar_multidmg,
    g_cvar_health_kill_reward,
    g_cvar_health_hs_reward,
    g_cvar_maxhealth,
    g_cvar_kill_money_reward,
    g_cvar_show_msgs,
    g_cvar_enable_show_dmg,
    g_cvar_ebable_vip_scoreboard,
    g_cvar_enable_vip_noflash,
    g_cvar_enable_vip_multijump,
    g_cvar_enable_vip_event,
    g_cvar_enable_vip_model;

new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame;

new bool:VipEvent;

new iJumpNum[ 33 ] = 0;
new g_iMultiJumps[ 33 ] = 0;
new g_iMaxJumps = 0;

new g_iMaxPlayers;
new SyncHudMessage;

public plugin_init(  ) {

    #if defined USING_SQL
    register_plugin( PLUGIN_NAME_SQL,
            PLUGIN_VERSION,
            PLUGIN_AUTHOR );
    #else
    register_plugin( PLUGIN_NAME,
            PLUGIN_VERSION,
            PLUGIN_AUTHOR );
    #endif

    register_clcmd( "say /wantvip", "ShowAbilityForVip" );
    register_clcmd( "say_team /wantvip", "ShowAbilityForVip" );

    register_concmd( "amx_addvips", "ClCmdAddVips", ADMIN_RCON, "< nume >" );

    register_event( "ResetHUD", "event_ResetModel", "b" );
    register_event( "DeathMsg", "event_DeathMsg", "a" );
    register_event( "DeathMsg", "event_DeathMsg2", "ae" );
    register_event( "Damage", "event_Damage", "b", "2!0", "3=0", "4!0" );

    register_logevent( "logevent_RoundStart", 2 , "1=Round_Start" );
    register_logevent( "logevent_RoundEnd", 2, "1=Round_End" );

    register_forward( FM_PlayerPreThink, "forward_PlayerPreThink" );
    register_forward( FM_PlayerPostThink, "forward_PlayerPostThink" );

    RegisterHam( Ham_Spawn, "player", "Ham_PlayerSpawnPost", 1 );
    RegisterHam( Ham_TakeDamage, "player", "Ham_TakeDamagePre" );
    RegisterHam( Ham_Player_ResetMaxSpeed, "player", "Ham_ResetMaxSpeedPost", 1 );

        register_message( get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib" );
    register_message( get_user_msgid( "ScreenFade" ), "MessageScreenFade" );

    g_cvar_speed_spawn = register_cvar( "vip_speed_spawn", "400.0" );        //  Increase the speed.0 )
    g_cvar_health_spawn = register_cvar( "vip_health_spawn", "200" );        // How much health to have the vip to spawn
    g_cvar_armor_spawn = register_cvar( "vip_armor_spawn", "200" );        // How much armor to have the vip to  spawn
    g_cvar_gravity_spawn = register_cvar( "vip_gravity_spawn", "0.85" );    // how much gravity to have the vip to spawn
    g_cvar_multidmg = register_cvar( "vip_multi_dmg", "2.0" );        // how much the dmg to have the vip
    g_cvar_health_kill_reward = register_cvar( "vip_hp_kill_reward", "0" );    // how much hp to reward when kill
    g_cvar_health_hs_reward = register_cvar( "vip_hp_hs_reward", "0" );    // how much hp to reward when he do headshot
    g_cvar_maxhealth = register_cvar( "vip_maxhealth", "300" );        // maxium health for vip
    g_cvar_kill_money_reward = register_cvar( "vip_kill_money", "0" );    // how much many reward when kill
    g_cvar_show_msgs = register_cvar( "vip_show_messages", "30.0" );        // the interval messages for vip
    g_cvar_enable_show_dmg = register_cvar( "vip_show_dmg", "0" );        // show the dmg vip
    g_cvar_ebable_vip_scoreboard = register_cvar( "vip_on_scoreboard", "1" );    // 1 - vip will be in scoreboard 0 will not be
    g_cvar_enable_vip_noflash = register_cvar( "vip_imune_flashbang", "1" );    // 1 - Vip imun to  flashbang | 0 - Not
    g_cvar_enable_vip_multijump = register_cvar( "vip_enable_multijump", "2" );    // 1 - Vip jump | 0 - NO
    g_cvar_enable_vip_event = register_cvar( "vip_enable_vip_event", "0" );    // 1 - Some hours the players have VIP | 0 NO
    g_cvar_enable_vip_model = register_cvar( "vip_enable_model", "1" );    // 1 - VIP has a model | 0 - NO

    if( get_pcvar_num( g_cvar_enable_vip_event ) ) {

        check_time(  );
        set_task( 60.0, "check_time", _, _, _, "b" );
        set_task( 1.0, "hud_mess", _, _, _, "b" );
    }

    new szFile[ 64 ]
    get_configsdir( szFile, 63 );
    format( szFile, 63, "%s/vip_system.cfg", szFile );
    
    if( file_exists( szFile ) ) 
        server_cmd( "exec %s", szFile );

    g_iMaxPlayers = get_maxplayers(  );
    SyncHudMessage = CreateHudSyncObj(  );
}

public plugin_cfg(  )
    set_cvar_float( "sv_maxspeed", 1000.0 );

public plugin_precache(  ) {

    precache_model( "models/player/vip_ct/vip_ct.mdl" );
    precache_model( "models/player/vip_t/vip_t.mdl" );
}

public client_putinserver( id ) {

    g_iMultiJumps[ id ] = 0;
    iJumpNum[ id ] = 0;
    g_bUserHas[ id ][ Jump ] = false;
    g_bUserHas[ id ][ Speed ] = false;
}

public client_disconnect( id ) {

    g_iMultiJumps[ id ] = 0;
    iJumpNum[ id ] = 0;
    g_bUserHas[ id ][ Jump ] = false;
    g_bUserHas[ id ][ Speed ] = false;
}

public event_ResetModel( id ) {

    if( get_pcvar_num( g_cvar_enable_vip_model ) ) {

        if( is_user_vip( id ) ) {

            new CsTeams:userTeam = cs_get_user_team( id );

            if( userTeam == CS_TEAM_T ) {

                cs_set_user_model( id, "vip_t" );

                return 1;
            }

            else if( userTeam == CS_TEAM_CT ) {

                cs_set_user_model( id, "vip_ct" );

                return 1;
            }
        } else
            cs_reset_user_model( id );
    } else
        return 0;

    return 0;
}

public event_DeathMsg(  ) {

    new iAttacker = read_data( 1 );
    new iVictim = read_data( 2 );
    new iHeadshot = read_data( 3 );
    
    new HealthOnHeadShot = get_pcvar_num( g_cvar_health_hs_reward );
    new MaxHealth = get_pcvar_num( g_cvar_maxhealth );
    new HealthOnKill = get_pcvar_num( g_cvar_health_kill_reward );

    if( iAttacker == iVictim )
        return 0;

    if( is_user_vip( iAttacker ) && iAttacker != iVictim ) {
        
        if( get_user_health( iAttacker ) <= MaxHealth ) {

            if( iHeadshot ) {

                set_user_health( iAttacker, get_user_health( iAttacker ) + HealthOnHeadShot );

                set_hudmessage( 0, 250, 0, 0.85, 0.7, 0, 6.0, 5.0 );
                ShowSyncHudMsg( iAttacker, SyncHudMessage, "+ %i HP", HealthOnHeadShot );
            } else {

                set_user_health( iAttacker, get_user_health( iAttacker ) + HealthOnKill );

                set_hudmessage( 200, 200, 0, 0.85, 0.7, 0, 6.0, 5.0 );
                ShowSyncHudMsg( iAttacker, SyncHudMessage, "+ %i HP", HealthOnKill );
            }
        }

        if( is_user_alive( iAttacker ) && !is_user_bot( iAttacker ) )
            if( read_data( 3 ) )
                for( new w = 0; w < sizeof( g_Weapons ); w++ )
                    if( get_user_weapon( iAttacker ) == g_Weapons[ w ] )
                        if( find_ent_by_owner( -1, g_szWeapons[ w ], iAttacker ) )
                            cs_set_weapon_ammo( find_ent_by_owner( -1, g_szWeapons[ w ], iAttacker ), g_iWeaponsAmmo[ w ] );
    }

    return 0;
}

public event_DeathMsg2(  ) {

    new iAttacker = read_data( 1 ); 
    new iVictim = read_data( 2 );

    new BonusMoney = get_pcvar_num( g_cvar_kill_money_reward );
    
    if( iAttacker == iVictim )
        return 0;

    if( is_user_vip( iAttacker ) )
        if( iAttacker && is_user_alive( iAttacker ) )
            if( cs_get_user_team( iVictim ) == CS_TEAM_T || cs_get_user_team( iVictim ) == CS_TEAM_CT )
                if( cs_get_user_money( iAttacker ) < 16000 - BonusMoney - 300 )
                    cs_set_user_money( iAttacker, cs_get_user_money( iAttacker ) + BonusMoney - 300 );

    return 0;
}

public event_Damage( id ) {

    if( get_pcvar_num( g_cvar_enable_show_dmg ) ) {

        static iAttacker;
        static fDamage;
    
        iAttacker = get_user_attacker( id );
        fDamage = read_data( 2 );

        if( is_user_alive( id ) && is_user_vip( id ) ) {
            
            set_hudmessage( 255, 0, 0, 0.45, 0.50, 2, 0.1, 1.0, 0.1, 0.1, -1 );
            ShowSyncHudMsg( id, SyncHudMessage, "%i^n", fDamage );    
        }

        if( is_user_alive( iAttacker ) && is_user_vip( iAttacker ) ) {

            set_hudmessage( 0, 255, 15, -1.0, 0.55, 2, 0.1, 1.0, 0.02, 0.02, -1 );
            ShowSyncHudMsg( iAttacker, SyncHudMessage, "%i^n^n", fDamage );
        }
    }
}

public logevent_RoundStart(  ) {
    
    new szPlayers[ 32 ], iNum;
    get_players( szPlayers, iNum, "ch" );
    
    for( new i = 0; i < iNum; i++)  {

        g_bUserHas[ szPlayers[ i ] ][ Speed ] = false;
        g_bUserHas[ szPlayers[ i ] ][ Jump ] = false;
        g_iMultiJumps[ szPlayers[ i ] ] = 0;
        iJumpNum[ szPlayers[ i ] ] = 0;

        if( task_exists( szPlayers[ i ] + TASK_SECRET_MSG ) )
            remove_task( szPlayers[ i ] + TASK_SECRET_MSG );
        
        set_task( get_pcvar_float( g_cvar_show_msgs ), "task_ShowMessage", szPlayers[ i ] + TASK_SECRET_MSG );
    }
}

public logevent_RoundEnd(  ) {
    
    new szPlayers[ 32 ], iNum;
    get_players( szPlayers, iNum, "ch" );
    
    for( new i = 0; i < iNum; i++ )
        remove_task( szPlayers[ i ] );
}

public forward_PlayerPreThink( id ) {

    if( !is_user_alive( id ) || !g_iMultiJumps[ id ] )
        return 0;

    if( ( pev( id, pev_button ) & IN_JUMP ) && !( pev( id, pev_flags ) & FL_ONGROUND ) && !( pev( id, pev_oldbuttons ) & IN_JUMP ) ) {

        if( iJumpNum[ id ] < g_iMultiJumps[ id ] ) {

            g_bUserHas[ id ][ Jump ] = true;
            iJumpNum[ id ]++;

            return 0;
        }
    }

    if( ( pev( id, pev_button ) & IN_JUMP ) && ( pev( id, pev_flags ) & FL_ONGROUND ) ) {

        iJumpNum[ id ] = 0;
        return 0;
    }

    return 0;
}

public forward_PlayerPostThink( id ) {

    if( !is_user_alive( id ) || !g_iMultiJumps[ id ] )
        return 0;

    if( g_bUserHas[ id ][ Jump ] ) {

        new Float:fVelocity[ 3 ];

        pev( id, pev_velocity, fVelocity );

        fVelocity[ 2 ] = random_float( 265.0, 285.0 );

        set_pev( id, pev_velocity, fVelocity );

        g_bUserHas[ id ][ Jump ] = false;
        return 0;
    }

    return 0;
}

public Ham_PlayerSpawnPost( id ) {
    
    if( !is_user_alive( id ) && !is_user_vip( id ) )
        return HAM_IGNORED;
    
    if( is_user_vip( id ) && !is_user_bot( id ) )
        set_task( 5.0, "task_GiveSkillsAllVips", id );
    
    return HAM_IGNORED;
}

public task_GiveSkillsAllVips( id ) {

    //drop_prim( id );

    g_bUserHas[ id ][ Speed ] = true;
    fm_set_user_maxspeed( id, get_pcvar_float( g_cvar_speed_spawn ) );

    new szCommand[ 128 ];
    formatex( szCommand, sizeof( szCommand ) - 1, "cl_forwardspeed %.1f;cl_sidespeed %.1f;cl_backspeed %.1f", get_pcvar_float( g_cvar_speed_spawn ), get_pcvar_float( g_cvar_speed_spawn ), get_pcvar_float( g_cvar_speed_spawn ) );
    client_cmd( id, szCommand );

    if( get_pcvar_num( g_cvar_enable_vip_multijump ) )
        if( g_iMultiJumps[ id ] < g_iMaxJumps || !g_iMaxJumps )
            g_iMultiJumps[ id ]++;

    set_user_health( id, get_pcvar_num( g_cvar_health_spawn ) );
    set_user_armor( id, get_pcvar_num( g_cvar_armor_spawn ) );
    set_user_gravity( id, get_pcvar_float( g_cvar_gravity_spawn ) );

    fm_give_item( id, "weapon_hegrenade" );
    fm_give_item( id, "weapon_flashbang" );
    fm_give_item( id, "weapon_flashbang" );
    fm_give_item( id, "weapon_smokegrenade" );

    //GiveRifle( id );
}

public GiveRifle( id ) {

    fm_give_item( id, "weapon_m4a1" );
    cs_set_user_bpammo( id, CSW_M4A1, 300 );

    fm_give_item( id, "weapon_ak47" );
    cs_set_user_bpammo( id, CSW_AK47, 300 );

    fm_give_item( id, "weapon_awp" );
    cs_set_user_bpammo( id, CSW_AWP, 100 );

    fm_give_item( id, "weapon_deagle" );
    cs_set_user_bpammo( id, CSW_DEAGLE, 70 );
}

public task_ShowMessage( taskid ) {

    new id = taskid - TASK_SECRET_MSG;

    ColorChat( id, GREEN, "%s^x01 Vrei sa cumperi si tu^x03 Membru V.I.P^x01? Contacteaza-l pe^x03 %s^x01 la^x03 %s^x01 !!!", g_szTag, YourNick, YourMessenger );

    set_task( get_pcvar_float( g_cvar_show_msgs ) * 0.5, "task_ShowMessage2", id );

    if( task_exists( taskid ) )
        remove_task( taskid );
}

public task_ShowMessage2( id ) {

    ColorChat( id, GREEN, "%s^x01 Vrei sa faci rost de^x03 Membru VIP^x01 si nu stii cum? Tasteaza^x03 /wantvip^x01 !!!", g_szTag );

    set_task( get_pcvar_float( g_cvar_show_msgs ) * 1.2, "task_PrintVipList", id );
}

public task_PrintVipList( user ) {

    new szAdminNames[ 33 ][ 32 ];
    new szMessage[ 256 ];
    new iCount, iLen;
    
    for( new id = 1 ; id <= g_iMaxPlayers ; id++ )
        if( is_user_connected( id ) )
            if( is_user_vip( id ) )
                get_user_name( id, szAdminNames[ iCount++ ], 31 );

    iLen = format( szMessage, 255, "%sVIP's Online: ", COLORG );

    if( iCount > 0 ) {

        for( new i = 0 ; i < iCount ; i++ ) {

            iLen += format( szMessage[ iLen ], 255 - iLen, "^x03%s^x01 | ", szAdminNames[ i ], COLORT, COLORD );

            if( iLen > 96 ) {

                print_message( user, szMessage );
                iLen = format( szMessage, 255, "%s", COLORG );
            }
        }

        print_message( user, szMessage );
    } else {

        iLen += format( szMessage[ iLen ], 255 - iLen, "^x01Nu sunt VIP-i online.", COLORD );
        print_message( user, szMessage );
    }
}

public Ham_ResetMaxSpeedPost( id ) {

    if( is_user_alive( id ) && is_user_vip( id ) && get_user_maxspeed( id ) != 1.0 ) {

          new Float:flMaxSpeed;

          if( g_bUserHas[ id ][ Speed ] )
               flMaxSpeed = float( get_pcvar_num( g_cvar_speed_spawn ) );

          if( flMaxSpeed > 0.0 )
               set_pev( id, pev_maxspeed, flMaxSpeed );
    }
}

public Ham_TakeDamagePre( iVictim, iInflictor, iAttacker, Float:fDamage ) {

    if( iVictim == iAttacker || !is_user_player( iAttacker ) || !is_user_alive( iAttacker ) || is_user_bot( iAttacker ) )
        return HAM_HANDLED;

    if( is_user_vip( iAttacker ) && is_user_player( iAttacker ) )
        SetHamParamFloat( 4, fDamage * get_pcvar_float( g_cvar_multidmg ) );

    return HAM_IGNORED;
}

public MessageScoreAttrib( iMsgId, iMsgDest, id ) {

    if( get_pcvar_num( g_cvar_ebable_vip_scoreboard ) ) {

        new iPlayer = get_msg_arg_int( SCOREATTRIB_ARG_PLAYERID );
        
        if( access( iPlayer, read_flags( g_szVipFlags ) ) )
            set_msg_arg_int( SCOREATTRIB_ARG_FLAGS, ARG_BYTE, SCOREATTRIB_FLAG_VIP );
    }
}

public MessageScreenFade( iMsgId, iMsgDest, id ) {

    if( is_user_vip( id ) && is_user_alive( id ) && get_pcvar_num( g_cvar_enable_vip_noflash ) ) {

        static szData[ 4 ];

        szData[ 0 ] = get_msg_arg_int( 4 );
        szData[ 1 ] = get_msg_arg_int( 5 );
        szData[ 2 ] = get_msg_arg_int( 6 );
        szData[ 3 ] = get_msg_arg_int( 7 );
        
        if( szData[ 0 ] == 255 && szData[ 1 ] == 255 && szData[ 2 ] == 255 && szData[ 3] > 199 )
            return 1;
    }

    return 0;
}

public check_time(  ) {

    static preluare_ora[ 3 ], ora;
    get_time( "%H", preluare_ora, 2 );

    ora = str_to_num( preluare_ora );

    if( FIRST_HOUR >= ora || ora < LAST_HOUR ) {

        if( !VipEvent )
            ColorChat( 0, GREEN, "^x04%s^x01 Eventul^x03 Free VIP^x01 a fost activat!", g_szTag );

        VipEvent = true;
        server_cmd( "amx_default_access ^"t^"" );
    } else {

        if( VipEvent )
            ColorChat( 0, GREEN, "^x04%s^x01 Eventul^x03 Free VIP^x01 a fost activat!", g_szTag );

        VipEvent = false;
        server_cmd( "amx_default_access ^"z^"" );
    }

    server_cmd( "amx_reloadadmins" );
}

public hud_mess(  ) {

    if( VipEvent ) {

        set_hudmessage( 200, 200, 10, -1.0, 0.0, 1, 1.0, 1.0, 0.1, 0.1 );
        show_hudmessage( 0, "Toti jucatorii beneficiaza de VIP free aceasta ora!" );
    }
}

public ShowAbilityForVip( id ) {

    new iCfgDir[ 32 ], iFile[ 192 ];
        
    get_configsdir( iCfgDir, charsmax( iCfgDir ) );
    formatex( iFile, charsmax( iFile ), "%s/vip.html", iCfgDir );

    show_motd( id, iFile );
}

public ClCmdAddVips( id, level, cid ) {

    if( !cmd_access( id, level, cid, 2 ) )
        return 1;

    new szTarget[ 32 ];
    read_argv( 1, szTarget, 31 );

    new iPlayer = cmd_target( id, szTarget, 8 );

    if( !iPlayer )
        return 1;

    new szPlayerName[ 32 ], szAdminName[ 32 ];
    get_user_name( iPlayer, szPlayerName, charsmax( szPlayerName ) );
    get_user_name( id, szAdminName, charsmax( szAdminName ) );

    AddVIP( id, szPlayerName, VIP_FLAGS, VIP_PASSWORD, VIP_FLAGS_TYPE, szAdminName );
    server_cmd( "amx_reloadadmins" );

    console_print( id, "%s Vip-ul a fost adaugat in lista!", g_szTag );
    ColorChat( 0, GREEN, "^x04%s^x01 Adminul^x03 %s^x01 l-a adaugat ca VIP pe^x03 %s^x01 !", g_szTag, szAdminName, iPlayer );
    ColorChat( iPlayer, GREEN, "^x04%s^x01 Felicitari! Ai fost adaugat ca membru^x03 VIP^x01! VIP-ul se va activa harta viitoare!", g_szTag );

    return 1;
}

stock bool:is_user_vip( id ) {

    if( get_user_flags( id ) & read_flags( g_szVipFlags ) )
        return true;
    
    return false;
}

stock print_message( id, Msg[  ] ) {

    message_begin( MSG_ONE, get_user_msgid( "SayText" ), { 0, 0, 0 }, id );
    write_byte( id );
    write_string( Msg );
    message_end(  );
}

// stocks from "fakemeta_util"
stock fm_give_item( index, const item[  ] ) {

    if( !equal( item, "weapon_", 7 ) && !equal( item, "ammo_", 5 ) && !equal( item, "item_", 5 ) && !equal( item, "tf_weapon_", 10 ) )
        return 0;

    new ent = fm_create_entity( item );

    if( !pev_valid( ent ) )
        return 0;

    new Float:fOrigin[ 3 ];
    pev( index, pev_origin, fOrigin );

    set_pev( ent, pev_origin, fOrigin );
    set_pev( ent, pev_spawnflags, pev( ent, pev_spawnflags ) | SF_NORESPAWN );

    dllfunc( DLLFunc_Spawn, ent );

    new save = pev( ent, pev_solid );

    dllfunc( DLLFunc_Touch, ent, index );

    if( pev( ent, pev_solid ) != save )
        return ent;

    engfunc( EngFunc_RemoveEntity, ent );

    return -1;
}

stock fm_set_user_maxspeed( index, Float:speed = -1.0 ) {

    engfunc( EngFunc_SetClientMaxspeed, index, speed );

    set_pev( index, pev_maxspeed, speed );

    return 1;
}

stock Float:fm_get_user_maxspeed( index ) {

    new Float:speed;
    pev( index, pev_maxspeed, speed );

    return speed;
}

stock fm_set_rendering( entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16 ) {

    new Float:RenderColor[ 3 ];
    RenderColor[ 0 ] = float( r );
    RenderColor[ 1 ] = float( g );
    RenderColor[ 2 ] = float( b );

    set_pev( entity, pev_renderfx, fx );
    set_pev( entity, pev_rendercolor, RenderColor );
    set_pev( entity, pev_rendermode, render );
    set_pev( entity, pev_renderamt, float( amount ) );

    return 1;
}

stock fm_create_entity( const classname[  ] )
    return engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, classname ) );

AddVIP( id, name[  ], accessflags[  ], password[  ], flags[  ], comment[  ]="" ) {

#if defined USING_SQL
    new error[ 128 ], errno;

    new Handle:info = SQL_MakeStdTuple(  );
    new Handle:sql = SQL_Connect( info, errno, error, 127 );

    if( sql == Empty_Handle ) {

        server_print( "[AMXX] %L", LANG_SERVER, "SQL_CANT_CON", error );
#endif
        // Make sure that the users.ini file exists.
        new configsDir[ 64 ];
        get_configsdir( configsDir, 63 );
        format( configsDir, 63, "%s/users.ini", configsDir );

        if( !file_exists( configsDir ) ) {

            console_print( id, "%s File ^"%s^" doesn't exist.", g_szTag, configsDir );
            return;
        }

        // Make sure steamid isn't already in file.
        new line = 0, textline[ 256 ], len;
        const SIZE = 63;
        new line_steamid[ SIZE + 1 ], line_password[ SIZE + 1 ], line_accessflags[ SIZE + 1 ], line_flags[ SIZE + 1 ], parsedParams;

        // <name|ip|steamid> <password> <access flags> <account flags>
        while( ( line = read_file( configsDir, line, textline, 255, len ) ) ) {

            if ( len == 0 || equal( textline, ";", 1 ) )
                continue; // comment line

            parsedParams = parse( textline, line_steamid, SIZE, line_password, SIZE, line_accessflags, SIZE, line_flags, SIZE );

            if( parsedParams != 4 )
                continue;    // Send warning/error?
            
            if( containi( line_flags, flags ) != -1 && equal( line_steamid, name ) ) {

                console_print( id, "%s %s already exists!", g_szTag, name );
                return;
            }
        }
    
        // If we came here, steamid doesn't exist in users.ini. Add it.
        new linetoadd[ 512 ];
        
        if( comment[ 0 ]==0 )
            formatex( linetoadd, 511, "^r^n^"%s^" ^"%s^" ^"%s^" ^"%s^"", name, password, accessflags, flags );

        else
            formatex( linetoadd, 511, "^r^n^"%s^" ^"%s^" ^"%s^" ^"%s^" ; %s", name, password, accessflags, flags, comment );

        console_print( id, "Adding:^n%s", linetoadd );
        
        if( !write_file( configsDir, linetoadd ) )
            console_print( id, "%s Failed writing to %s!", g_szTag, configsDir );
#if defined USING_SQL
    }
    
    new table[ 32 ];

    get_cvar_string( "amx_sql_table", table, 31 );

    new Handle:query = SQL_PrepareQuery( sql, "SELECT * FROM `%s` WHERE (`auth` = '%s')", table, name );
    
    if( !SQL_Execute( query ) ) {

        SQL_QueryError( query, error, 127 );
        server_print( "[AMXX] %L", LANG_SERVER, "SQL_CANT_LOAD_ADMINS", error );
        console_print( id, "[AMXX] %L", LANG_SERVER, "SQL_CANT_LOAD_ADMINS", error );
    } 
        
    else if( SQL_NumResults( query ) )
        console_print( id, "%s %s already exists!", g_szTag, name );

    else {

        console_print( id, "Adding to database:^n^"%s^" ^"%s^" ^"%s^" ^"%s^"", name, password, accessflags, flags );

        SQL_QueryAndIgnore( sql, "REPLACE INTO `%s` (`name`, `password`, `access`, `flags`) VALUES ('%s', '%s', '%s', '%s')", table, name, password, accessflags, flags );
    }

    SQL_FreeHandle( query );
    SQL_FreeHandle( sql);
    SQL_FreeHandle( info );
#endif
}

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
Code:
I have this error in server console: 
L 02/09/2015 - 17:47:56: [AMXX] Run time error 10 (plugin "vip.amxx") (native "set_user_health") - debug not enabled!
L 02/09/2015 - 17:47:56: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 02/09/2015 - 18:12:16: Start of error session.
L 02/09/2015 - 18:12:16: Info (map "de_kabul32") (file "addons/amxmodx/logs/error_20150209.log")
L 02/09/2015 - 18:12:16: [FUN] Player out of range (0)
L 02/09/2015 - 18:12:16: [AMXX] Displaying debug trace (plugin "vip.amxx")
L 02/09/2015 - 18:12:16: [AMXX] Run time error 10: native error (native "set_user_health")
L 02/09/2015 - 18:12:16: [AMXX]    [0] vip.sma::event_DeathMsg (line 284)
i have the cvars setted in amx.cfg , everything ! i use amxmodx + csdm 2.1.2k if i do something wrong ... please help me with this. Thanks.

Last edited by Titus; 02-09-2015 at 17:07.
Titus is offline