Public vip pluginas

Kalbos apie viską kas nesusiję su kitais forumais.
Post Reply
Klaudis1
Ar jis surinks 50 žinučių?
Posts: 48
Joined: 2013 Apr 01 17:24
Skype: klaudis_1

Public vip pluginas

Post by Klaudis1 »

Taigi dovanoju public vip pluginą, kuris naudojamas http://www.eMod.lt public serveryje, mano žiniomis jis dar niekur nebuvo platintas (.sma).
Gun meniu:
* M4A1+DEAGLE
* AK47+DEAGLE
* FAMAS+DEAGLE

Dingsta po 10s gun meniu jeigu nieko nepasirenki, yra vip connect žinutė, kuri rašo čhate kai prisijungia vip.
Admin čhat limitas per vieną round.

Code: Select all

#include < amxmodx >#include < amxmisc >#include < cstrike >#include < fakemeta >#include < hamsandwich > #pragma semicolon 1 #define PLUGIN  "Public VIP"#define VERSION "0.1"#define AUTHOR  "AGAME.us.lt" #define VIP_ACCESS ADMIN_LEVEL_H#define get_user_vip(%1) ( get_user_flags( %1 ) & VIP_ACCESS ) #define VIP_MODELS      0   // 0: disable | 1: enable VIP models#define VIP_CONNECT_MSG     0   // 0: disable | 1: enable VIP connect message#define VIP_GRENADES        1   // 0: don't give grenades | 1: give all grenades #define MAX_NO_VIPMENU      4#define MAX_CLCMD_NORIUVIP  2#define MAX_CLCMD_VIPS      4#define MAX_COLORS      10 new g_no_vipmenu[ MAX_NO_VIPMENU ][ ] = { "aim_", "awp_", "fy_", "cs_deagle5" };new g_clcmd_noriuvip[ MAX_CLCMD_NORIUVIP ][ ] = { "say noriuvip", "say /noriuvip" };new g_clcmd_vips[ MAX_CLCMD_VIPS ][ ] = { "say vip", "say /vip", "say vips", "say /vips" }; new g_Colors[ MAX_COLORS ][ ] = { "COL_WHITE", "COL_RED", "COL_GREEN", "COL_BLUE", "COL_YELLOW", "COL_MAGENTA", "COL_CYAN", "COL_ORANGE", "COL_OCEAN", "COL_MAROON" };new g_Values[ MAX_COLORS ][ ] = { { 255, 255, 255 }, { 255, 0, 0 }, { 0, 255, 0 }, { 0, 0, 255 }, { 255, 255, 0 }, { 255, 0, 255 }, { 0, 255, 255 }, { 227, 96, 8 }, { 45, 89, 116 }, { 103, 44, 38 } };new Float:g_Pos[ 4 ][ ] = { { 0.0, 0.0 }, { 0.05, 0.55 }, { -1.0, 0.2 }, { -1.0, 0.7 } }; #if VIP_MODELS    new g_mdl_T_VIP[ ] = "eseatr";    new g_mdl_CT_VIP[ ] = "eseact";#endif new g_round_counter; new g_menu_awp_limit = 5;new g_admin_chat_limit = 5; new g_awp_choosen_counter[ 33 ];new g_admin_chat_counter[ 33 ]; new bool:b_show_menu = true; new g_msgid_SayText;new g_msgChannel; new admin_chat_id;new amx_show_activity;new g_AdminChatFlag = ADMIN_CHAT; public plugin_init( ){    register_plugin( PLUGIN, VERSION, AUTHOR );    register_dictionary( "adminchat.txt" );    register_dictionary( "common.txt" );     register_logevent( "logevent_Round_Start", 2, "1=Round_Start" );    register_event( "TextMsg", "event_GameCommencing", "a", "2=#Game_Commencing", "2=#Game_will_restart_in" );    RegisterHam( Ham_Spawn, "player", "ham_Spawn", 1 );    register_menucmd( register_menuid( "vip_menu" ), 1023, "vip_menu_handler" );     new i;     for ( i = 0; i < MAX_CLCMD_NORIUVIP; i++ )        register_clcmd( g_clcmd_noriuvip[ i ], "clcmd_noriuvip" );     for ( i = 0; i < MAX_CLCMD_VIPS; i++ )        register_clcmd( g_clcmd_vips[ i ], "clcmd_vips" );     register_clcmd( "say", "cmdSayChat", ADMIN_CHAT, "@[@|@|@][w|r|g|b|y|m|c]<text> - displays hud message" );    register_clcmd( "say_team", "cmdSayAdmin", 0, "@<text> - displays message to admins" );    register_concmd( "amx_say", "cmdSay", ADMIN_CHAT, "<message> - sends message to all players" );    admin_chat_id = register_concmd( "amx_chat", "cmdChat", ADMIN_CHAT, "<message> - sends message to admins" );    register_concmd( "amx_psay", "cmdPsay", ADMIN_CHAT, "<name or #userid> <message> - sends private message" );    register_concmd( "amx_tsay", "cmdTsay", ADMIN_CHAT, "<color> <message> - sends left side hud message to all players" );    register_concmd( "amx_csay", "cmdTsay", ADMIN_CHAT, "<color> <message> - sends center hud message to all players" );     amx_show_activity = get_cvar_pointer( "amx_show_activity" );     if ( amx_show_activity == 0 )        amx_show_activity = register_cvar( "amx_show_activity", "2" );     new str[ 1 ];    get_concmd( admin_chat_id, str, 0, g_AdminChatFlag, str, 0, -1 );     g_msgid_SayText = get_user_msgid( "SayText" );} public plugin_cfg( ){    new mapname[ 32 ], i;    get_mapname( mapname, charsmax( mapname ) );     for ( i = 0; i < MAX_NO_VIPMENU; i++ )    {        if ( equal( mapname, g_no_vipmenu[ i ], strlen( g_no_vipmenu[ i ] ) ) )            b_show_menu = false;    }} #if VIP_MODELS    public plugin_precache( )    {        new szmodels[ 2 ][ 192 ], i;        format( szmodels[ 0 ], charsmax( szmodels[ ] ), "models/player/%s/%s.mdl", g_mdl_T_VIP, g_mdl_T_VIP );        format( szmodels[ 1 ], charsmax( szmodels[ ] ), "models/player/%s/%s.mdl", g_mdl_CT_VIP, g_mdl_CT_VIP );         for ( i = 0; i < 2; i++ )            engfunc( EngFunc_PrecacheModel, szmodels[ i ] );    }#endif public client_putinserver( id ){    new parm[ 1 ];    parm[ 0 ] = id;     if ( !is_user_bot( id ) )        set_task( 30.0, "task_informer", id, parm, 1 );     #if VIP_CONNECT_MSG        if ( get_user_vip( id ) )        {            new vip_name[ 32 ];            get_user_name( id, vip_name, charsmax( vip_name ) );             print_colored_message( 0, "^x04[eMod.lt]^x03 VIP zaidejas^x01 %s^x03 prisijunge!", vip_name );        }    #endif} public task_informer( parm[ ] ){    print_colored_message( parm[ 0 ], "^x04[eMod.lt]^x01 Informacija kaip įsigyti Vip-^x03 /noriuvip^x01 | Admin-^x03 /uzas" );} public logevent_Round_Start( ){    g_round_counter++;     new players[ 32 ], pnum, i;    get_players( players, pnum, "a" );     for ( i = 0; i < pnum; i++ )    {        if ( get_user_vip( players[ i ] ) )        {            if( b_show_menu )            {                #if VIP_GRENADES                    vip_give_item( players[ i ], "weapon_hegrenade" );                    vip_give_item( players[ i ], "weapon_flashbang" );                    vip_give_item( players[ i ], "weapon_flashbang" );                    vip_give_item( players[ i ], "weapon_smokegrenade" );                #endif                 vip_give_item( players[ i ], "item_thighpack" );                cs_set_user_armor( players[ i ], 100, CS_ARMOR_VESTHELM );            }             if ( b_show_menu && ( g_round_counter >= 3 ) )                show_vipmenu( players[ i ] );        }    }} public event_GameCommencing( ){    g_round_counter = 0;} public show_vipmenu( id ){    new pos = 0, menu[ 512 ], items[ 4 ][ 512 ], i;    pos += format( menu[ pos ], charsmax( menu ) - pos, "\y[eMod.lt] Vip meniu:^n^n" );    format( items[ 0 ], charsmax( items[ ] ), "M4A1 + Deagle^n" );    format( items[ 1 ], charsmax( items[ ] ), "AK-47 + Deagle^n" );    format( items[ 2 ], charsmax( items[ ] ), "Famas + Deagle^n" );    format( items[ 3 ], charsmax( items[ ] ), "AWP + Deagle \y(Left %d)^n", ( g_menu_awp_limit - g_awp_choosen_counter[ id ] ) );     for ( i = 0; i < 4; i++ )    {        pos += format( menu[ pos ], charsmax( menu ) - pos, "\r%d. \w%s", i + 1, items[ i ] );    }     pos += format( menu[ pos ], charsmax( menu ) - pos, "^n\r0. \wExit" );     new keys;    keys = ( 1<<0 ) | ( 1<<1 ) | ( 1<<2 ) | ( 1<<9 );     if ( ( g_round_counter >= 3 ) && ( ( g_menu_awp_limit - g_awp_choosen_counter[ id ] ) > 0 ) )    {        keys |= ( 1<<3 );    }     show_menu( id, keys, menu, 15, "vip_menu" );} public vip_menu_handler( id, key ){    switch ( key )    {        case 0:        {            new bool:b_valid_c4 = false;             if ( ( get_user_team( id ) == 1 ) && user_has_weapon( id, CSW_C4 ) )                b_valid_c4 = true;             vip_strip_weapons( id );             vip_give_item( id, "weapon_m4a1" );            vip_give_item( id, "ammo_556nato" );            vip_give_item( id, "ammo_556nato" );            vip_give_item( id, "ammo_556nato" );             vip_give_item( id, "weapon_deagle" );            vip_give_item( id, "ammo_50ae" );            vip_give_item( id, "ammo_50ae" );            vip_give_item( id, "ammo_50ae" );            vip_give_item( id, "ammo_50ae" );            vip_give_item( id, "ammo_50ae" );             if ( b_valid_c4 )            {                vip_give_item( id, "weapon_c4" );                cs_set_user_plant( id, 1 );            }        }         case 1:        {            new bool:b_valid_c4 = false;             if ( ( get_user_team( id ) == 1 ) && user_has_weapon( id, CSW_C4 ) )                b_valid_c4 = true;             vip_strip_weapons( id );             vip_give_item( id, "weapon_ak47" );            vip_give_item( id, "ammo_762nato" );            vip_give_item( id, "ammo_762nato" );            vip_give_item( id, "ammo_762nato" );             vip_give_item( id, "weapon_deagle" );            vip_give_item( id, "ammo_50ae" );            vip_give_item( id, "ammo_50ae" );            vip_give_item( id, "ammo_50ae" );            vip_give_item( id, "ammo_50ae" );            vip_give_item( id, "ammo_50ae" );             if ( b_valid_c4 )            {                vip_give_item( id, "weapon_c4" );                cs_set_user_plant( id, 1 );            }        }         case 2:        {            new bool:b_valid_c4 = false;             if ( ( get_user_team( id ) == 1 ) && user_has_weapon( id, CSW_C4 ) )                b_valid_c4 = true;             vip_strip_weapons( id );             vip_give_item( id, "weapon_famas" );            vip_give_item( id, "ammo_556nato" );            vip_give_item( id, "ammo_556nato" );            vip_give_item( id, "ammo_556nato" );             vip_give_item( id, "weapon_deagle" );            vip_give_item( id, "ammo_50ae" );            vip_give_item( id, "ammo_50ae" );            vip_give_item( id, "ammo_50ae" );            vip_give_item( id, "ammo_50ae" );            vip_give_item( id, "ammo_50ae" );             if ( b_valid_c4 )            {                vip_give_item( id, "weapon_c4" );                cs_set_user_plant( id, 1 );            }        }         case 3:        {            g_awp_choosen_counter[ id ]++;             new bool:b_valid_c4 = false;             if ( ( get_user_team( id ) == 1 ) && user_has_weapon( id, CSW_C4 ) )                b_valid_c4 = true;             vip_strip_weapons( id );             vip_give_item( id, "weapon_awp" );            vip_give_item( id, "ammo_338magnum" );            vip_give_item( id, "ammo_338magnum" );            vip_give_item( id, "ammo_338magnum" );             vip_give_item( id, "weapon_deagle" );            vip_give_item( id, "ammo_50ae" );            vip_give_item( id, "ammo_50ae" );            vip_give_item( id, "ammo_50ae" );            vip_give_item( id, "ammo_50ae" );            vip_give_item( id, "ammo_50ae" );             if ( b_valid_c4 )            {                vip_give_item( id, "weapon_c4" );                cs_set_user_plant( id, 1 );            }        }         case 9:        {        }    }} public ham_Spawn( id ){    if ( !is_user_alive( id ) )        return HAM_IGNORED;     if ( get_user_vip( id ) )    {        #if VIP_MODELS            new CsTeams:team;            team = cs_get_user_team( id );             if ( team == CS_TEAM_T )                cs_set_user_model( id, g_mdl_T_VIP );             else if ( team == CS_TEAM_CT )                cs_set_user_model( id, g_mdl_CT_VIP );        #endif         cs_set_user_armor( id, 100, CS_ARMOR_VESTHELM );    }     return HAM_IGNORED;} public clcmd_noriuvip( id ){    new sztitle[ 64 ];    format( sztitle, charsmax( sztitle ), "Vip" );    show_motd( id, "vip.txt", sztitle );} public clcmd_vips( ent ){    new adminnames[ 33 ][ 32 ];    new message[ 192 ];    new id, count, x, len;     for ( id = 1; id <= 32; id++ )    {        if ( is_user_connected( id ) && get_user_vip( id ) )            get_user_name( id, adminnames[ count++ ], 31 );    }     len = format( message, charsmax( message ), "[eMod.lt] Vip online: " );     if ( count > 0 )    {        for ( x = 0; x < count; x++ )        {            len += format( message[ len ], charsmax( message ) - len, "%s%s ", adminnames[ x ], ( x < ( count - 1 ) ) ? ", " : "" );             if ( len > 96 )            {                print_colored_message( ent, message );                len = format( message, charsmax( message ), "^x04" );            }        }         print_colored_message( ent, message );    }     else    {        len += format( message[ len ], charsmax( message ) - len, "No VIP online." );        print_colored_message( ent, message );    }} public cmdSayChat( id ){    if ( !access( id, g_AdminChatFlag ) )        return PLUGIN_CONTINUE;     new said[ 6 ], i = 0;    read_argv(1, said, charsmax( said ) );     if ( ( said[ 0 ] == '@' ) && !( get_user_flags( id ) & ADMIN_BAN ) && ( ( g_admin_chat_limit - g_admin_chat_counter[ id ] ) <= 0 ) )    {        client_print( id, print_chat, "[eMod.lt] Jus isnaudojote Admin Chat limita ir nebegalite toliau rasyti." );        return PLUGIN_HANDLED;    }     while ( said[ i ] == '@' )        i++;     if ( !i || i > 3 )        return PLUGIN_CONTINUE;     new message[ 192 ], a = 0;    read_args( message, charsmax( message ) );    remove_quotes( message );     switch ( said[ i ] )    {        case 'r': a = 1;        case 'g': a = 2;        case 'b': a = 3;        case 'y': a = 4;        case 'm': a = 5;        case 'c': a = 6;        case 'o': a = 7;    }     new n, s = i;     if ( a )    {        n++;        s++;    }     while ( said[ s ] && isspace( said[ s ] ) )    {        n++;        s++;    }     new name[ 32 ], authid[ 32 ], userid;    get_user_authid( id, authid, charsmax( authid ) );    get_user_name( id, name, charsmax( name ) );    userid = get_user_userid( id );     log_amx( "Chat: ^"%s<%d><%s><>^" tsay ^"%s^"", name, userid, authid, message[ i + n ] );    log_message( "^"%s<%d><%s><>^" triggered ^"amx_tsay^" (text ^"%s^") (color ^"%L^")", name, userid, authid, message[ i + n ], "en", g_Colors[ a ] );     if ( ++g_msgChannel > 6 || g_msgChannel < 3 )        g_msgChannel = 3;     new Float:verpos = g_Pos[ i ][ 1 ] + float( g_msgChannel ) / 35.0;    g_admin_chat_counter[ id ]++;     set_hudmessage( g_Values[ a ][ 0 ], g_Values[ a ][ 1 ], g_Values[ a ][ 2 ], g_Pos[ i ][ 0 ], verpos, 0, 6.0, 6.0, 0.5, 0.15, -1 );     switch ( get_pcvar_num( amx_show_activity ) )    {        case 3, 4:        {            new pl, maxpl = get_maxplayers( );             for ( pl = 1; pl <= maxpl; pl++ )            {                if ( is_user_connected( pl ) && !is_user_bot( pl ) )                {                    if ( is_user_admin( pl ) )                    {                        show_hudmessage( pl, "%s :   %s", name, message[ i + n ] );                        client_print( pl, print_notify, "%s :   %s", name, message[ i + n ] );                    }                     else                    {                        show_hudmessage( pl, "%s", message[ i + n ] );                        client_print( pl, print_notify, "%s", message[ i + n ] );                    }                }            }        }         case 2:        {            show_hudmessage( 0, "%s :   %s", name, message[ i + n ] );            client_print( 0, print_notify, "%s :   %s", name, message[ i + n ] );        }         default:        {            show_hudmessage( 0, "%s", message[ i + n ] );            client_print( 0, print_notify, "%s", message[ i + n ] );        }    }     return PLUGIN_HANDLED;} public cmdSayAdmin( id ){    new said[ 2 ];    read_argv( 1, said, 1 );     if ( said[ 0 ] != '@' )        return PLUGIN_CONTINUE;     new message[ 192 ], name[ 32 ], authid[ 32 ], userid;    new players[ 32 ], inum;     read_args( message, 191 );    remove_quotes( message );    get_user_authid( id, authid, 31 );    get_user_name( id, name, 31 );    userid = get_user_userid( id );     log_amx( "Chat: ^"%s<%d><%s><>^" chat ^"%s^"", name, userid, authid, message[ 1 ] );    log_message( "^"%s<%d><%s><>^" triggered ^"amx_chat^" (text ^"%s^")", name, userid, authid, message[ 1 ] );     if ( is_user_admin( id ) )        format( message, 191, "(%L) %s :  %s", id, "ADMIN", name, message[ 1 ] );     else        format( message, 191, "(%L) %s :  %s", id, "PLAYER", name, message[ 1 ] );     get_players( players, inum );     for ( new i = 0; i < inum; ++i )    {        if ( players[ i ] != id && get_user_flags( players[ i ] ) & g_AdminChatFlag )            client_print( players[ i ], print_chat, "%s", message );    }     client_print( id, print_chat, "%s", message );    return PLUGIN_HANDLED;} public cmdChat( id, level, cid ){    if ( !cmd_access( id, level, cid, 2 ) )        return PLUGIN_HANDLED;     new message[ 192 ], name[ 32 ], players[ 32 ], inum, authid[ 32 ], userid;     read_args( message, 191 );    remove_quotes( message );    get_user_authid( id, authid, 31 );    get_user_name( id, name, 31 );    userid = get_user_userid( id );    get_players( players, inum );     log_amx( "Chat: ^"%s<%d><%s><>^" chat ^"%s^"", name, userid, authid, message );    log_message( "^"%s<%d><%s><>^" triggered ^"amx_chat^" (text ^"%s^")", name, userid, authid, message );     format( message, 191, "(ADMINS) %s :   %s", name, message );    console_print( id, "%s", message );     for ( new i = 0; i < inum; ++i )    {        if ( access( players[ i ], g_AdminChatFlag ) )            client_print( players[ i ], print_chat, "%s", message );    }     return PLUGIN_HANDLED;} public cmdSay( id, level, cid ){    if ( !cmd_access( id, level, cid, 2 ) )        return PLUGIN_HANDLED;     new message[ 192 ], name[ 32 ], authid[ 32 ], userid;     read_args( message, 191 );    remove_quotes( message );    get_user_authid( id, authid, 31 );    get_user_name( id, name, 31 );    userid = get_user_userid( id );    client_print( 0, print_chat, "%L", LANG_PLAYER, "PRINT_ALL", name, message );    console_print( id, "%L", LANG_PLAYER, "PRINT_ALL", name, message );     log_amx( "Chat: ^"%s<%d><%s><>^" say ^"%s^"", name, userid, authid, message );    log_message( "^"%s<%d><%s><>^" triggered ^"amx_say^" (text ^"%s^")", name, userid, authid, message );     return PLUGIN_HANDLED;} public cmdPsay( id, level, cid ){    if ( !cmd_access( id, level, cid, 3 ) )        return PLUGIN_HANDLED;     new name[ 32 ];    read_argv( 1, name, 31 );    new priv = cmd_target( id, name, 0 );     if ( !priv )        return PLUGIN_HANDLED;     new length = strlen( name ) + 1;    get_user_name( priv, name, 31 );      new message[ 192 ], name2[ 32 ], authid[ 32 ], authid2[ 32 ], userid, userid2;    get_user_authid( id, authid, 31 );    get_user_name( id, name2, 31 );    userid = get_user_userid( id );    read_args( message, 191 );        if ( message[ 0 ] == '"' && message[ length ] == '"' )    {        message[ 0 ] = ' ';        message[ length ] = ' ';        length += 2;    }     remove_quotes( message[ length ] );    get_user_name( priv, name, 31 );     if ( id && id != priv )        client_print( id, print_chat, "(%s) %s :   %s", name, name2, message[ length ] );     client_print( priv, print_chat, "(%s) %s :   %s", name, name2, message[ length ] );    console_print( id, "(%s) %s :   %s", name, name2, message[ length ] );    get_user_authid( priv, authid2, 31 );    userid2 = get_user_userid( priv );     log_amx( "Chat: ^"%s<%d><%s><>^" psay ^"%s<%d><%s><>^" ^"%s^"", name2, userid, authid, name, userid2, authid2, message[ length ] );    log_message( "^"%s<%d><%s><>^" triggered ^"amx_psay^" against ^"%s<%d><%s><>^" (text ^"%s^")", name2, userid, authid, name, userid2, authid2, message[ length ] );     return PLUGIN_HANDLED;} public cmdTsay( id, level, cid ){    if ( !cmd_access( id, level, cid, 3 ) )        return PLUGIN_HANDLED;     new cmd[ 16 ], color[ 16 ], color2[ 16 ], message[ 192 ], name[ 32 ], authid[ 32 ], userid = 0;     read_argv( 0, cmd, 15 );    new bool:tsay = ( tolower( cmd[ 4 ] ) == 't' );     read_args( message, 191 );    remove_quotes( message );    parse( message, color, 15 );     new found = 0, a = 0;    new lang[ 3 ], langnum = get_langsnum( );     for ( new i = 0; i < MAX_COLORS; ++i )    {        for ( new j = 0; j < langnum; j++ )        {            get_lang( j, lang );            format( color2, 15, "%L", lang, g_Colors[ i ] );             if ( equali( color, color2 ) )            {                a = i;                found = 1;                break;            }        }         if ( found == 1 )            break;    }     new length = found ? ( strlen( color ) + 1 ) : 0;     if ( ++g_msgChannel > 6 || g_msgChannel < 3 )        g_msgChannel = 3;     new Float:verpos = ( tsay ? 0.55 : 0.1 ) + float( g_msgChannel ) / 35.0;     get_user_authid( id, authid, 31 );    get_user_name( id, name, 31 );    userid = get_user_userid( id );    set_hudmessage( g_Values[ a ][ 0 ], g_Values[ a ][ 1 ], g_Values[ a ][ 2 ], tsay ? 0.05 : -1.0, verpos, 0, 6.0, 6.0, 0.5, 0.15, -1 );     switch ( get_pcvar_num( amx_show_activity ) )    {        case 3, 4:        {            new maxpl = get_maxplayers( );             for ( new pl = 1; pl <= maxpl; pl++ )            {                if ( is_user_connected( pl ) && !is_user_bot( pl ) )                {                    if ( is_user_admin( pl ) )                    {                        show_hudmessage( pl, "%s :   %s", name, message[ length ] );                        client_print( pl, print_notify, "%s :   %s", name, message[ length ] );                    }                    else                    {                        show_hudmessage( pl, "%s", message[ length ] );                        client_print( pl, print_notify, "%s", message[ length ] );                    }                }            }             console_print( id, "%s :  %s", name, message[ length ] );        }         case 2:        {            show_hudmessage( 0, "%s :   %s", name, message[ length ] );            client_print( 0, print_notify, "%s :   %s", name, message[ length ] );            console_print( id, "%s :  %s", name, message[ length ] );        }         default:        {            show_hudmessage( 0, "%s", message[ length ] );            client_print( 0, print_notify, "%s", message[ length ] );            console_print( id, "%s", message[ length ] );        }    }     log_amx( "Chat: ^"%s<%d><%s><>^" %s ^"%s^"", name, userid, authid, cmd[ 4 ], message[ length ] );    log_message( "^"%s<%d><%s><>^" triggered ^"%s^" (text ^"%s^") (color ^"%s^")", name, userid, authid, cmd, message[ length ], color2 );     return PLUGIN_HANDLED;} stock vip_strip_weapons( id ){    new entity;    entity = engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, "player_weaponstrip" ) );     if ( !pev_valid( entity ) )        return;     dllfunc( DLLFunc_Spawn, entity );    dllfunc( DLLFunc_Use, entity, id );    engfunc( EngFunc_RemoveEntity, entity );     vip_give_item( id, "weapon_knife" );    vip_give_item( id, "item_thighpack" );     #if VIP_GRENADES        vip_give_item( id, "weapon_hegrenade" );        vip_give_item( id, "weapon_flashbang" );        vip_give_item( id, "weapon_flashbang" );        vip_give_item( id, "weapon_smokegrenade" );    #endif} stock vip_give_item( id, const item[ ] ){    new entity;    entity = engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, item ) );     if ( !pev_valid( entity ) )        return;     new Float:origin[ 3 ];    pev( id, pev_origin, origin );     set_pev( entity, pev_origin, origin );    set_pev( entity, pev_spawnflags, pev( entity, pev_spawnflags ) | SF_NORESPAWN );    dllfunc( DLLFunc_Spawn, entity );     new save;    save = pev( entity, pev_solid );     dllfunc( DLLFunc_Touch, entity, id );     if ( pev( entity, pev_solid ) != save )        return;     engfunc( EngFunc_RemoveEntity, entity );} stock print_colored_message( ent, string[ ], ... ){    new szmessage[ 192 ];    vformat( szmessage, charsmax( szmessage ), string, 3 );     if ( ent )    {        message_begin( MSG_ONE, g_msgid_SayText, { 0,0,0 }, ent );        write_byte( ent );        write_string( szmessage );        message_end( );    }     else    {        new players[ 32 ], pnum, i;        get_players( players, pnum, "ch" );         for ( i = 0; i < pnum; i++ )        {            if ( is_user_connected( players[ i ] ) )            {                message_begin( MSG_ONE_UNRELIABLE, g_msgid_SayText, { 0,0,0 }, players[ i ] );                write_byte( players[ i ] );                write_string( szmessage );                message_end( );            }        }    }}

Post Reply

Who is online

Users browsing this forum: Semrush [Bot] and 3 guests