RSSy MYGO.pl Opublikowano Czerwiec 27, 2024 o 22:47 RSSy Udostępnij Opublikowano Czerwiec 27, 2024 o 22:47 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 Więcej opcji udostępniania...
Rekomendowane odpowiedzi