Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

RSS[REQ] Restriction gold vip on maps X


MYGO.pl
 Udostępnij

Rekomendowane odpowiedzi

  • RSSy
Hello , can somebody help me to restrict only vip gold on the maps i chose?

Code:

                                                /*
                                                *
                                                *
                                                * * * ***** ***** * ***** * * ***** * * * *
                                                * * * * * * * * * * ** * * ** * * * *
                                                * ****** ****** ****** * * ****** * * * * * * * * * * *
                                                * * * * * ******* * * * * * * * * * * * *
                                                * * * ***** ***** * * ***** * * ***** * * * *
                                                *
                                                *
                                                * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
                                                * AMX MOD X Script. *
                                                * Plugin made by CyBer[N]eTicK *
                                                * Important! You can modify the code, but DO NOT modify the author! *
                                                * Contacts with me: *
                                                * DISCORD: CyBer[N]eTicK#5615 *
                                                * STEAM: https://steamcommunity.com/client/CyBerNrcs/ *
                                                * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
                                                *
                                                * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
                                                * Special thanks to: *
                                                * Tuturor de punde m-am inspirat
                                                * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
                                                *
                                                *
                                                */
                                                #include <amxmodx>
                                                #include <amxmisc>
                                                #include <cstrike>
                                                #include <engine>
                                                #include <fakemeta>
                                                #include <fakemeta_util>
                                                #include <hamsandwich>
                                                #include <fun>
                                                #include <stripweapons>
                                                #include <cromchat>


                                                new const 
                                                                                PLUGIN[]                =                " VIP Classic System Duo -> Gold & Silver  ",
                                                                                VERSION[]                =                " 1.2 - 1B ";


                                                #define ACCESVIP        ADMIN_LEVEL_H


                                                new RoundsOpenMenu[33] = 0, SilverOpenRounds[33] = 0, jumpnum[33] = 0, bool:dojump[33] = false, maxplayers, gmsgSayText,
                                                bool:VIPSilverMaps[33];
                                                new CvarsActiveAwp, g_iCvarEnable, g_iCvarHP, g_iCvarHSHP;

                                                new const TagG[]        =        "&x04[VIP GOLD]&x03";
                                                new const TagS[]        =        "&x04[VIP SILVER]&x03";

                                                new const VIP_RestrictMaps[][]={
                                                "35hp",
                                                "35hp_2",
                                                "35hp_4",
                                                "cs_deagle5",
                                                "awp_aztec",
                                                "awp_bycastor32",
                                                "awp_ccc",
                                                "awp_circular",
                                                "awp_dust",
                                                "awp_india",
                                                "awp_map",
                                                "awp_nuke_fun",
                                                "awp_pit",
                                                "awp_ruins",
                                                "awp_sexyawp_snowing",
                                                "awp_zigzag",
                                                "awp4one",
                                                "awp_garden",
                                                "awp_rarea"
                                                };
                                                enum
                                                {
                                                    SCOREATTRIB_ARG_PLAYERID = 1,
                                                    SCOREATTRIB_ARG_FLAGS
                                                };

                                                enum ( <<= 1 )
                                                {
                                                    SCOREATTRIB_FLAG_NONE = 0,
                                                    SCOREATTRIB_FLAG_DEAD = 1,
                                                    SCOREATTRIB_FLAG_BOMB,
                                                    SCOREATTRIB_FLAG_VIP
                                                };
                                                new gTeams[3][] =
                                                {
                                                        "Spectator",
                                                        "Terrorist",
                                                        "Counter-Terrorist"
                                                }

                                                public plugin_init(){
                                                        register_plugin(PLUGIN, VERSION, "CyBer[N]eTicK");
                                                        register_cvar("cyber_plugins", VERSION, FCVAR_SERVER | FCVAR_SPONLY);

                                                        RegisterHam(Ham_Spawn, "player", "VIPMenuShowSpawn", 1);
                                                        register_message( get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib" );
                                                        register_event( "DeathMsg","ev_DeathMsg", "a");
                                                        maxplayers = get_maxplayers();
                                                        gmsgSayText = get_user_msgid("SayText");

                                                        /// ----------- | Comenzi |  ----------- //       
                                                        register_clcmd("say", "handle_say");
                                                        register_clcmd("say_team", "handle_say");
                                                        register_clcmd("say /wantvip", "CmdShowMotdVip");
                                                        register_clcmd("say /getvip", "CmdShowMotdVip");
                                                        register_clcmd("say /vip", "CmdShowMotdVip");
                                                        register_clcmd("say", "handle_sayx");
                                                        register_clcmd("say_team", "handle_sayx");

                                                        /// ----------- | Cvars |  ----------- //
                                                        CvarsActiveAwp = register_cvar("vip_awp", "1");
                                                        register_cvar("vip_jumps","1")
                                                        register_cvar("vip_openmenu", "3");
                                                        g_iCvarEnable = register_cvar( "vip_hpap_kills", "1" );
                                                        g_iCvarHP          = register_cvar( "vip_kr_hp", "10" );
                                                        g_iCvarHSHP          = register_cvar( "vip_kr_hshp", "5" );
                                                        register_cvar("vip_hp_spawn", "100");
                                                        register_cvar("vip_ap_spawn", "100");       
                                                }
                                                public CmdShowMotdVip(id) show_motd(id,"/addons/amxmodx/configs/info_vip.html")
                                               
                                                public client_connect(client){
                                                        VIPSilverMaps[client] = true;
                                                }


                                                public client_putinserver(client){
                                                        static get_vip_name[33];
                                                        get_user_name(client, get_vip_name, sizeof get_vip_name  - 1);
                                                        if(get_user_flags(client) & ACCESVIP){
                                                                CC_SendMessage(0, "%s -> &x04%s &x03connect to the server", TagG, get_vip_name);
                                                        }
                                                        RoundsOpenMenu[client] = 0;
                                                        jumpnum[client] = 0
                                                        dojump[client] = false
                                                        SilverOpenRounds[client] = 0;

                                                        new MapName[32]; get_mapname(MapName, sizeof(MapName));
                                                        for (new i = 0; i < sizeof (VIP_RestrictMaps); i ++)
                                                        {
                                                                if(equali (MapName, VIP_RestrictMaps[i]))
                                                                {
                                                                        remove_user_flags(client, ACCESVIP);
                                                                        VIPSilverMaps[client] = false;
                                                                }
                                                        }
                                                }


                                                public client_disconnected(client){
                                                        jumpnum[client] = 0
                                                        dojump[client] = false
                                                }

                                                public VIPMenuShowSpawn(client){
                                                        if(is_user_alive(client) && get_user_flags(client) & ACCESVIP){
                                                               
                                                                if(RoundsOpenMenu[client] >= get_cvar_num("vip_openmenu"))
                                                                ShowMenu(client);
                                                                RoundsOpenMenu[client]++

                                                                StripWeapons(client, 2);
                                                                give_item(client, "weapon_deagle");
                                                                cs_set_user_bpammo(client, CSW_DEAGLE, 35);
                                                                give_item(client, "weapon_hegrenade");
                                                                give_item(client, "weapon_flashbang");
                                                                give_item(client, "weapon_flashbang");
                                                                cs_set_user_armor(client, get_cvar_num("vip_ap_spawn"), CS_ARMOR_VESTHELM);
                                                                set_user_health(client, get_cvar_num("vip_hp_spawn"))

                                                                if(get_user_team(client) == 2){give_item(client, "item_thighpack");}
                                                        }
                                                        if(!(get_user_flags(client) & ACCESVIP) && is_user_alive( client ) && is_user_connected( client )){
                                                        if(SilverOpenRounds[client] >= get_cvar_num("vip_openmenu"))
                                                        ShowMenuSilver(client);
                                                        SilverOpenRounds[client]++
                                                        }
                                                        new MapName[32]; get_mapname(MapName, sizeof(MapName));
                                                        for (new i = 0; i < sizeof (VIP_RestrictMaps); i ++)
                                                        {
                                                                if(equali (MapName, VIP_RestrictMaps[i]))
                                                                {
                                                                        remove_user_flags(client, ACCESVIP);
                                                                        VIPSilverMaps[client] = false;
                                                                }
                                                        }
                                                }



                                                public ShowMenu(client){
                                                        new sz_Text[64];

                                                        formatex(sz_Text, sizeof sz_Text  -1, "Gold | Select your weapons:");
                                                        new sz_menuvip = menu_create(sz_Text, "GiveHandlerVIP")

                                                        formatex(sz_Text, sizeof sz_Text  -1, "\rM4A1 \w+ \yDeagle \w+ \wGrenades");
                                                        menu_additem(sz_menuvip, sz_Text, "", 0);

                                                        formatex(sz_Text, sizeof sz_Text -1, "\rAK47 \w+ \yDeagle \w+ \wGrenades");
                                                        menu_additem(sz_menuvip, sz_Text, "", 0);

                                                        if(get_pcvar_num(CvarsActiveAwp) == 1){
                                                        formatex(sz_Text, sizeof sz_Text -1, "\rAWP \w+ \yDeagle \w+ \wGrenades");
                                                        menu_additem(sz_menuvip, sz_Text, "", 0);
                                                        }
                                                       
                                                        menu_setprop(sz_menuvip, MPROP_EXIT, MEXIT_ALL);
                                                        menu_display(client, sz_menuvip, 0);
                                                        return PLUGIN_HANDLED;
                                                }



                                                public GiveHandlerVIP(client, sz_menuvip, item){
                                                        if(item == MENU_EXIT)
                                                        {
                                                                return PLUGIN_HANDLED;
                                                        }

                                                        new command[6], name[64], access, callback;
                                                        menu_item_getinfo(sz_menuvip, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
                                                        if(is_user_alive(client) && get_user_flags(client) & ACCESVIP)
                                                        switch(item)
                                                        {
                                                                case 0:{
                                                                        StripWeapons(client, 1);
                                                                        give_item(client, "weapon_m4a1");
                                                                        cs_set_user_bpammo(client, CSW_M4A1, 90);
                                                                        CC_SendMessage(client, "%s &x03You chose M4A1 with Deagle and grenades.", TagG);
                                                                }
                                                                case 1:{
                                                                        StripWeapons(client, 1);
                                                                        give_item(client, "weapon_ak47");
                                                                        cs_set_user_bpammo(client, CSW_AK47, 90);
                                                                        CC_SendMessage(client, "%s &x03You chose AK47 with Deagle and grenades.", TagG);
                                                                }
                                                                case 2:{
                                                                        StripWeapons(client, 1);
                                                                        give_item(client, "weapon_awp");
                                                                        cs_set_user_bpammo(client, CSW_AWP, 30);
                                                                        CC_SendMessage(client, "%s &x03You chose AWP with Deagle and grenades.", TagG);
                                                                }
                                                        }

                                                        menu_destroy(sz_menuvip);
                                                        return PLUGIN_HANDLED;
                                                }



                                                public client_PreThink(client)
                                                {
                                                        if(!is_user_alive(client)) return PLUGIN_CONTINUE
                                                        if(!access(client,ACCESVIP)) return PLUGIN_CONTINUE
                                                        new nbut = get_user_button(client)
                                                        new obut = get_user_oldbutton(client)
                                                        if((nbut & IN_JUMP) && !(get_entity_flags(client) & FL_ONGROUND) && !(obut & IN_JUMP))
                                                        {
                                                                if(jumpnum[client] < get_cvar_num("vip_jumps"))
                                                                {
                                                                        dojump[client] = true
                                                                        jumpnum[client]++
                                                                        return PLUGIN_CONTINUE
                                                                }
                                                        }
                                                        if((nbut & IN_JUMP) && (get_entity_flags(client) & FL_ONGROUND))
                                                        {
                                                                jumpnum[client] = 0
                                                                return PLUGIN_CONTINUE
                                                        }
                                                        return PLUGIN_CONTINUE
                                                }



                                                public client_PostThink(client)
                                                {
                                                        if(!is_user_alive(client)) return PLUGIN_CONTINUE
                                                        if(!access(client,ACCESVIP)) return PLUGIN_CONTINUE
                                                        if(dojump[client] == true)
                                                        {
                                                                new Float:velocity[3]       
                                                                entity_get_vector(client,EV_VEC_velocity,velocity)
                                                                velocity[2] = random_float(265.0,285.0)
                                                                entity_set_vector(client,EV_VEC_velocity,velocity)
                                                                dojump[client] = false
                                                                return PLUGIN_CONTINUE
                                                        }
                                                        return PLUGIN_CONTINUE
                                                }       


                                               
                                                public MessageScoreAttrib( iMsgId, iDest, iReceiver ) {
                                                new iPlayer = get_msg_arg_int( SCOREATTRIB_ARG_PLAYERID );
                                                if( access( iPlayer, ACCESVIP)) {
                                                    set_msg_arg_int( SCOREATTRIB_ARG_FLAGS, ARG_BYTE, SCOREATTRIB_FLAG_VIP );
                                            }
                                        }
                                       
                                        public ev_DeathMsg()
                                        {
                                                if( get_pcvar_num( g_iCvarEnable ) != 1 )
                                                        return;
                                                       
                                                new iKiller = read_data( 1 );
                                                if( iKiller == read_data( 2 ) )
                                                        return;
                                                if(is_user_connected(iKiller) && is_user_alive(iKiller))
                                                {
                                                       
                                                if(get_user_health(iKiller) >= 100 && get_user_armor(iKiller) >= 100)
                                                        return;

                                                if(get_user_flags(iKiller) & ACCESVIP){       
                                                new iHP = get_pcvar_num( g_iCvarHP );
                                               
                                                if( read_data( 3 ) )
                                                        iHP += get_pcvar_num( g_iCvarHSHP );       
                                                set_user_health(iKiller, get_user_health(iKiller) + iHP);
                                                }
                                                }       
                                                }                               

                                                // ->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [ VIPS ONLINE ] <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< //
                                                public handle_say(id) {
                                                    new said[192]
                                                    read_args(said,192)
                                                    if( ( contain(said, "/vips") != -1 ))
                                                        set_task(0.1,"vipsonline",id)
                                                    return PLUGIN_CONTINUE
                                                }

                                                public vipsonline(user)
                                                {
                                                    new adminnames[33][32]
                                                    new message[256]
                                                    new id, count, x, len
                                                   
                                                    for(id = 1 ; id <= maxplayers ; id++)
                                                        if(is_user_connected(id))
                                                            if(get_user_flags(id) & ACCESVIP)
                                                                get_user_name(id, adminnames[count++], 31)

                                                    len = format(message, 255, "%s VIP GOLD ONLINE: ","^x04")
                                                    if(count > 0) {
                                                        for(x = 0 ; x < count ; x++) {
                                                            len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
                                                            if(len > 96 ) {
                                                                print_message(user, message)
                                                                len = format(message, 255, "%s ","^x04")
                                                            }
                                                        }
                                                        print_message(user, message)
                                                    }
                                                    else {
                                                        len += format(message[len], 255-len, "No VIP GOLD ONLINE")
                                                        print_message(user, message)
                                                    }
                                                }
                                                print_message(id, msg[]) {
                                                    message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
                                                    write_byte(id)
                                                    write_string(msg)
                                                    message_end()
                                                }


                                                // >>>>>>>>>>>>>>>>>>>>>>>>>>>> [ GREEN CHAT VIP ] <<<<<<<<<<<<<<<<<<<<<<<<<<
                                                public handle_sayx(id)
                                                {
                                                        new message[192]
                                                        read_args(message, 191)
                                                        remove_quotes(message)
                                                        if(!valid_message(message)) // Checks if message starts with / or @ or @@ or @@@
                                                                {
                                                                        return PLUGIN_CONTINUE
                                                                }
                                                       
                                                        new name[32]
                                                        get_user_name(id, name, 31)
                                                       
                                                        new alive = is_user_alive(id)

                                                        new userFlags = get_user_flags(id)
                                                       
                                                        if((userFlags & ACCESVIP) && alive) format(message, 191, "^x03%s ^x01: ^x04 %s", name, message)                          // Live admin
                                                        else if((userFlags & ACCESVIP) && !alive) format(message, 191, "^x01*DEAD*^x03%s ^x01: ^x04 %s", name, message)        // Dead admin
                                                        else if((!(userFlags & ACCESVIP)) && alive) format(message, 191, "^x03%s ^x01:  %s", name, message)                          // Live normal player
                                                        else format(message, 191, "^x01*DEAD*^x03%s ^x01:  %s", name, message)                                                // Dead normal player
                                                       
                                                        for(new i = 1; i <= maxplayers; i++)
                                                                {
                                                                        if(!is_user_connected(i))
                                                                                continue
                                                               
                                                                        if(alive && is_user_alive(i) || !alive && !is_user_alive(i)) // Prints the message
                                                                                {
                                                                                        message_begin(MSG_ONE, gmsgSayText, {0, 0, 0}, i)
                                                                                        write_byte(id)
                                                                                        write_string(message)
                                                                                        message_end()
                                                                                }
                                                                }
                                                        return PLUGIN_HANDLED
                                                }

                                                public handle_teamsay(id)
                                                {
                                                        new message[192]
                                                        read_args(message, 191)
                                                        remove_quotes(message)
                                                        if(!valid_message(message))
                                                                {
                                                                        return PLUGIN_CONTINUE
                                                                }
                                                               
                                                        new name[32]
                                                        get_user_name(id, name, 31)
                                                       
                                                        new alive = is_user_alive(id)
                                                       
                                                        new team = get_user_team(id)
                                                       
                                                        new userFlags = get_user_flags(id)
                                                       
                                                        if((userFlags & ACCESVIP) && alive) format(message, 191, "^x01(%s)^x03 %s^x01 : ^x04 %s", gTeams[team], name, message)
                                                        else if((userFlags & ACCESVIP) && !alive) format(message, 191, "^x01*DEAD*(%s)^x03 %s^x01 : ^x04 %s", gTeams[team], name, message)
                                                        else if((!(userFlags & ACCESVIP)) && alive) format(message, 191, "^x01(%s)^x03 %s^x01 :  %s", gTeams[team], name, message)
                                                        else format(message, 191, "^x01*DEAD*(%s)^x03 %s^x01 :  %s", gTeams[team], name, message)
                                                       
                                                        for(new i = 1; i <= maxplayers; i++)
                                                                {
                                                                        if(!is_user_connected(i))
                                                                                continue
                                                               
                                                                        if(get_user_team(i) != team)
                                                                                continue
                                                               
                                                                        if(alive && is_user_alive(i) || !alive && !is_user_alive(i))
                                                                                {
                                                                                        message_begin(MSG_ONE, gmsgSayText, {0, 0, 0}, i)
                                                                                        write_byte(id)
                                                                                        write_string(message)
                                                                                        message_end()
                                                                                }
                                                                }
                                                        return PLUGIN_HANDLED
                                                }

                                                bool:valid_message(const message[])  // Returns False case message starts with / or @ or @@ or @@@, otherwise, returns True
                                                {
                                                        if(message[0] == '/'
                                                        || message[0] == '@'
                                                        || message[0] == '@' && message[1] == '@'
                                                        || message[0] == '@' && message[1] == '@' && message[2] == '@'
                                                        || !strlen(message))
                                                                {
                                                                        return false
                                                                }
                                                       
                                                        return true
                                                }
// ---------------------------------------------------- [ SILVER VIP MENU ] --------------------------------------------------------//
                                                public ShowMenuSilver(client){
                                                        if(VIPSilverMaps[client] == true){
                                                        new sz_Text[64];

                                                        if(is_user_connected( client ) && is_user_alive( client )){

                                                        formatex(sz_Text, sizeof sz_Text  -1, "Silver | Select your weapons:");
                                                        new sz_menuvip = menu_create(sz_Text, "GiveHandlerSilver")

                                                        formatex(sz_Text, sizeof sz_Text  -1, "\rM4A1 \w+ \yDeagle  ");
                                                        menu_additem(sz_menuvip, sz_Text, "", 0);

                                                        formatex(sz_Text, sizeof sz_Text -1, "\rAK47 \w+ \yDeagle ");
                                                        menu_additem(sz_menuvip, sz_Text, "", 0);
                                                       
                                                        menu_setprop(sz_menuvip, MPROP_EXIT, MEXIT_ALL);
                                                        menu_display(client, sz_menuvip, 0);
                                                        }
                                                        }
                                                        return PLUGIN_HANDLED;
                                                }



                                                public GiveHandlerSilver(client, sz_menuvip, item){
                                                        if(item == MENU_EXIT)
                                                        {
                                                                return PLUGIN_HANDLED;
                                                        }

                                                        new command[6], name[64], access, callback;
                                                        menu_item_getinfo(sz_menuvip, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
                                                        if(is_user_alive(client))
                                                        switch(item)
                                                        {
                                                                case 0:{
                                                                        StripWeapons(client, 1);
                                                                        StripWeapons(client, 2);
                                                                        give_item(client, "weapon_m4a1");
                                                                        cs_set_user_bpammo(client, CSW_M4A1, 90);
                                                                        give_item(client, "weapon_deagle");
                                                                        cs_set_user_bpammo(client, CSW_DEAGLE, 35);
                                                                       
                                                                        CC_SendMessage(client, "%s &x03You chose M4A1 with Deagle", TagS);
                                                                }
                                                                case 1:{
                                                                        StripWeapons(client, 1);
                                                                        StripWeapons(client, 2);
                                                                        give_item(client, "weapon_ak47");
                                                                        cs_set_user_bpammo(client, CSW_AK47, 90);
                                                                        give_item(client, "weapon_deagle");
                                                                        cs_set_user_bpammo(client, CSW_DEAGLE, 35);
                                                                       
                                                                        CC_SendMessage(client, "%s &x03You chose AK47 with Deagle", TagS);
                                                                }
                                                        }

                                                        menu_destroy(sz_menuvip);
                                                        return PLUGIN_HANDLED;
                                                }

Thank you.

Przeczytaj cały wpis

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...