RSSy MYGO.pl Opublikowano Czerwiec 9, 2020 o 11:32 RSSy Udostępnij Opublikowano Czerwiec 9, 2020 o 11:32 Can anyone help me to add free vip event from this VIP plugin to it? This is plugin with EVENT FREE VIP - "ADMIN_LEVEL_H" PHP Code: /* * ___________ * * Simple Public VIP v1.0 * * Author: ALGHTRYER * e: [email protected] w: alghtryer.github.io * ___________ * * VIP Player ( flag t ) have several privileges, which will not give much advantage over other players. * You can adjust everything with cvar. * * Features: * - Free he, smoke and flash bomb. * - Kevlar and Helmet * - Defuse for CT * - Menu with free weapon ( ak47/m4a1 + deagle ). Menu will be remove after 15 ( cvar ) seconds. * - Only VIP can buy AWP. * - Show damage. * - Happy Hour. * * How set VIP? * - Put flag "t" on player STEAM ID, IP or NAME. * * Cvars : * // 0 = off / 1 = on * - spv_menu 1 = Show Menu * - spv_awp 1 = Only VIP can buy Awp * - spv_menuremove 15 = Remove Menu after seconds * - spv_he 1 = Give He * - spv_smoke 1 = Give Smoke * - spv_fb 1 = Give flash * - spv_fb2 1 = Give flash * - spv_armor 1 = Give Armor ( Kevlar and Helmet ) * - spv_def 1 = Give defuse fot ct player * - spv_damage 1 = Show damage * - spv_hh 1 = Happy Hour * - spv_infohud 1 = Show hud about happy hour * - spv_start 23 = When Start Happy Hour 2 = 2 am and 14 = 2 pm * - spv_end 9 = When End Happy Hour 2 = 2 am and 14 = 2 pm * - spv_roundsmenu 3 = Menu with free weapon will be show on third ( cvar ) round * * * Changelog: * - v1.0 [13. Apr 2020] : First release. * */ #include < amxmodx > #include < cstrike > #include < fun > #include < engine > #include < fakemeta > #include < hamsandwich > new const // _________________________________________ PLUGIN [ ] = "Simple Public VIP", VERSION[ ] = "1.0", AUTHOR [ ] = "ALGHTRYER"; // _________________________________________ new bool:bHappyHour; new CvarMenu; new CvarAwp; new CvarMenuRemove; new CvarHe; new CvarSmoke; new CvarFb; new CvarFb2; new CvarArmor; new CvarDef; new CvarHappyHour; new CvarInfoHud; new CvarStart; new CvarEnd; new CvarDamage; new CvarRoundsMenu; new gRounds; new SyncInfoHud; new SyncDamage; enum /* Weapon types */ { Primary = 1 , Secondary , Knife , Grenades , C4 }; public plugin_init( ) { register_plugin ( PLUGIN, //: Simple Public VIP VERSION, //: 1.0 AUTHOR //: ALGHTRYER <alghtryer.github.io> ); register_cvar( "spv_version", VERSION, FCVAR_SERVER|FCVAR_UNLOGGED ); CvarMenu = register_cvar( "spv_menu", "1" ); CvarAwp = register_cvar( "spv_awp", "1" ); CvarMenuRemove = register_cvar( "spv_menuremove", "15" ); CvarHe = register_cvar( "spv_he", "1" ); CvarSmoke = register_cvar( "spv_smoke", "1" ); CvarFb = register_cvar( "spv_fb", "1" ); CvarFb2 = register_cvar( "spv_fb2", "1" ); CvarArmor = register_cvar( "spv_armor", "1" ); CvarDef = register_cvar( "spv_def", "1" ); CvarDamage = register_cvar( "spv_damage", "1" ); CvarHappyHour = register_cvar( "spv_hh", "1" ); CvarInfoHud = register_cvar( "spv_infohud", "1" ); CvarStart = register_cvar( "spv_start", "23" ); CvarEnd = register_cvar( "spv_end", "9" ); CvarRoundsMenu = register_cvar( "spv_roundsmenu", "3" ); SyncInfoHud = CreateHudSyncObj( ); SyncDamage = CreateHudSyncObj( ); register_logevent( "OnRoundStart", 2, "1=Round_Start" ); register_event("HLTV", "CheckHappyHour", "a", "1=0", "2=0") register_event( "TextMsg", "RestartGame", "a", "2&#Game_C","2&#Game_w" ); register_event( "Damage", "Event_Damage", "b", "2>0", "3=0" ); register_clcmd( "awp", "BuyAwp" ); register_clcmd( "magnum" ,"BuyAwp" ); } public plugin_cfg( ) { if( get_pcvar_num( CvarInfoHud ) ) set_task( 1.0, "InfoHud", _, _, _, "b" ); } public InfoHud( ) { set_hudmessage( 43, 255, 0, 0.45, 0.03, _, _, 1.0, _, _, 1 ); ShowSyncHudMsg( 0, SyncInfoHud, "[ FREE VIP EVENT ] [ START ]: [%dh] - [ END ] [%dh]", get_pcvar_num( CvarStart ), get_pcvar_num( CvarEnd ) ); } public OnRoundStart( ) { gRounds ++ new iPlayers[ 32 ] , iNum, id; get_players( iPlayers , iNum ); for ( new i = 0 ; i < iNum ; i++ ) { id = iPlayers[ i ]; if( get_user_flags(id) & ADMIN_LEVEL_H || bHappyHour ) { if( get_pcvar_num( CvarMenu ) && gRounds >= get_pcvar_num( CvarRoundsMenu ) ) { CreateWeaponMenu( id ); if( task_exists( id ) ) { remove_task( id ); } set_task( get_pcvar_float( CvarMenuRemove ), "RemoveMenu", id ); } if( get_pcvar_num( CvarHe ) ) give_item( id, "weapon_hegrenade" ); if( get_pcvar_num( CvarSmoke ) ) give_item( id, "weapon_smokegrenade" ); if( get_pcvar_num( CvarFb ) ) give_item( id, "weapon_flashbang" ); if( get_pcvar_num( CvarFb2 ) ) give_item( id, "weapon_flashbang" ); if( get_pcvar_num( CvarArmor ) ) cs_set_user_armor( id, 100, CS_ARMOR_VESTHELM ); if ( get_pcvar_num( CvarDef ) && cs_get_user_team(id) == CS_TEAM_CT ) cs_set_user_defuse( id, 1 ); } } } public CreateWeaponMenu( id ) { new menu = menu_create( "\rWeapon Menu:", "weapon_menu" ); menu_additem( menu, "\wAK47 + Deagle", "", 0 ); menu_additem( menu, "\wM4A1 + Deagle", "", 0 ); menu_setprop( menu, MPROP_EXIT, MEXIT_ALL ); menu_display( id, menu, 0 ); } public weapon_menu( id, menu, item ) { switch( item ) { case 0: { if( !user_has_weapon( id, CSW_AK47)) { StripWeapons( id, Primary ); give_item( id, "weapon_ak47" ); } else cs_set_weapon_ammo( find_ent_by_owner( -1, "weapon_ak47", id ), 30 ); if( !user_has_weapon( id, CSW_DEAGLE)) { StripWeapons( id, Secondary ); give_item( id, "weapon_deagle" ); } else cs_set_weapon_ammo( find_ent_by_owner( -1, "weapon_deagle", id ), 7 ); cs_set_user_bpammo( id, CSW_AK47, 90 ); cs_set_user_bpammo( id, CSW_DEAGLE, 35 ); } case 1: { if( !user_has_weapon( id, CSW_M4A1)) { StripWeapons( id, Primary ); give_item( id, "weapon_m4a1" ); } else cs_set_weapon_ammo( find_ent_by_owner( -1, "weapon_m4a1", id ), 30 ); if( !user_has_weapon( id, CSW_DEAGLE)) { StripWeapons( id, Secondary ); give_item( id, "weapon_deagle" ); } else cs_set_weapon_ammo( find_ent_by_owner( -1, "weapon_deagle", id ), 7 ); cs_set_user_bpammo( id, CSW_M4A1, 90 ); cs_set_user_bpammo( id, CSW_DEAGLE, 35 ); } case MENU_EXIT: { client_print( id, print_chat, "You exited the menu..." ); } } menu_destroy( menu ); return PLUGIN_HANDLED; } public RemoveMenu( id ) { show_menu( id, 0, "^n", 1 ); } public BuyAwp( id ) { if( get_pcvar_num( CvarAwp ) ) { if( get_user_flags(id) & ADMIN_LEVEL_H || bHappyHour ) return PLUGIN_CONTINUE; client_print( id, print_center, "#Cstrike_TitlesTXT_Cannot_Buy_This" ); return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; } public Event_Damage( iVictim ) { if( get_pcvar_num( CvarDamage) ) { new id = get_user_attacker( iVictim ); if( is_user_connected( id ) && get_user_flags(id) & ADMIN_LEVEL_H ) { set_hudmessage( 0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1 ); ShowSyncHudMsg( id, SyncDamage, "%d^n", read_data( 2 ) ); } } } public CheckHappyHour( ) { if( get_pcvar_num( CvarHappyHour ) ) { static hour_str[ 3 ], get_hour, get_start, get_end; get_time( "%H", hour_str, 2 ); get_hour = str_to_num( hour_str ); get_start = get_pcvar_num( CvarStart ); get_end = get_pcvar_num( CvarEnd ); if( get_start < get_end ? ( get_start <= get_hour && get_hour < get_end ) : ( get_start <= get_hour || get_hour < get_end ) ) bHappyHour = true; else bHappyHour = false; } } public RestartGame( ) { gRounds = 0; } public client_disconnect( id ) { if( task_exists( id ) ) { remove_task( id ); } } // *** // Start "stripsweapons.inc" <https://forums.alliedmods.net/showpost.php?p=1585138&postcount=9> stock StripWeapons(id, Type, bool: bSwitchIfActive = true) { new iReturn; if(is_user_alive(id)) { new iEntity, iWeapon; while((iWeapon = GetWeaponFromSlot(id, Type, iEntity)) > 0) iReturn = ham_strip_user_weapon(id, iWeapon, Type, bSwitchIfActive); } return iReturn; } stock GetWeaponFromSlot( id , iSlot , &iEntity ) { if ( !( 1 <= iSlot <= 5 ) ) return 0; iEntity = 0; const m_rgpPlayerItems_Slot0 = 367; const m_iId = 43; const XO_WEAPONS = 4; const XO_PLAYER = 5; iEntity = get_pdata_cbase( id , m_rgpPlayerItems_Slot0 + iSlot , XO_PLAYER ); return ( iEntity > 0 ) ? get_pdata_int( iEntity , m_iId , XO_WEAPONS ) : 0; } stock ham_strip_user_weapon(id, iCswId, iSlot = 0, bool:bSwitchIfActive = true) { new iWeapon if( !iSlot ) { static const iWeaponsSlots[] = { -1, 2, //CSW_P228 -1, 1, //CSW_SCOUT 4, //CSW_HEGRENADE 1, //CSW_XM1014 5, //CSW_C4 1, //CSW_MAC10 1, //CSW_AUG 4, //CSW_SMOKEGRENADE 2, //CSW_ELITE 2, //CSW_FIVESEVEN 1, //CSW_UMP45 1, //CSW_SG550 1, //CSW_GALIL 1, //CSW_FAMAS 2, //CSW_USP 2, //CSW_GLOCK18 1, //CSW_AWP 1, //CSW_MP5NAVY 1, //CSW_M249 1, //CSW_M3 1, //CSW_M4A1 1, //CSW_TMP 1, //CSW_G3SG1 4, //CSW_FLASHBANG 2, //CSW_DEAGLE 1, //CSW_SG552 1, //CSW_AK47 3, //CSW_KNIFE 1 //CSW_P90 } iSlot = iWeaponsSlots[iCswId] } const XTRA_OFS_PLAYER = 5 const m_rgpPlayerItems_Slot0 = 367 iWeapon = get_pdata_cbase(id, m_rgpPlayerItems_Slot0 + iSlot, XTRA_OFS_PLAYER) const XTRA_OFS_WEAPON = 4 const m_pNext = 42 const m_iId = 43 while( iWeapon > 0 ) { if( get_pdata_int(iWeapon, m_iId, XTRA_OFS_WEAPON) == iCswId ) { break } iWeapon = get_pdata_cbase(iWeapon, m_pNext, XTRA_OFS_WEAPON) } if( iWeapon > 0 ) { const m_pActiveItem = 373 if( bSwitchIfActive && get_pdata_cbase(id, m_pActiveItem, XTRA_OFS_PLAYER) == iWeapon ) { ExecuteHamB(Ham_Weapon_RetireWeapon, iWeapon) } if( ExecuteHamB(Ham_RemovePlayerItem, id, iWeapon) ) { user_has_weapon(id, iCswId, 0) ExecuteHamB(Ham_Item_Kill, iWeapon) return 1 } } return 0 } // End "stripsweapons.inc" <https://forums.alliedmods.net/showpost.php?p=1585138&postcount=9> // *** /* MADE BY ALGHTRYER. */ The plugin I use has the flag "x" PHP Code: /* CREDITE: ConnorMcLeod - pentru bullet damage twistedeuphoria - pentru multi jump cheap_suit - cateva bucati de cod extrase din biohazard */ #include <amxmodx> #include <hamsandwich> #include <engine> #include <cstrike> #include <fun> #include <fakemeta> // -------------------------------------------- // ------------- DE EDITAT --------------- // -------------------------------------------- new const TAG[] = "[V.I.P]"; // TAGUL IN CHAT CARE APARE new const CONTACT[] = "KnockOut"; #define is_user_vip(%1) (get_user_flags(%1) & read_flags("x")) // -------------------------------------------- // ------------- DE EDITAT --------------- // -------------------------------------------- #define PLUGIN_NAME "VIP System" #define PLUGIN_NAME_PAUSED "VIP System [OPRIT]" #define PLUGIN_VERSION "1.0" #define PLUGIN_AUTHOR "YONTU" #define is_user_valid(%1) (1 <= %1 <= max_players) enum cvars { hp_spawn = 0, ap_spawn, money_spawn, hp_kill, hp_hs, ap_kill, ap_hs, hp_max, money_kill, money_hs, show_vip_tab, show_bullet_dmg, multi_jump, parachute } new cvar[cvars], rounds = 1; new max_players; new bool:g_bJump[33] = false, g_JumpNum[33] = 0; new g_iPlayerPos[33], g_iPlayerCol[33]; // NU SCHIMBA new const Float:g_flCoords[][] = { {0.50, 0.40}, {0.56, 0.44}, {0.60, 0.50}, {0.56, 0.56}, {0.50, 0.60}, {0.44, 0.56}, {0.40, 0.50}, {0.44, 0.44} } // NU SCHIMBA VALORILE DEJA EXISTENTE. Poti adauga mai multe culori, respectand matricea new const g_iColors[][] = { {0, 127, 255}, // blue {255, 127, 0}, // orange {127, 0, 255}, // purple {255, 0, 0}, // red {255, 100, 150}, // pink {0, 255, 0} // green } public plugin_init() { new path[64]; get_localinfo("amxx_configsdir", path, charsmax(path)); formatex(path, charsmax(path), "%s/vip_maps.ini", path); new file = fopen(path, "r+"); if(!file_exists(path)) { write_file(path, "; VIP-UL ESTE DEZACTIVAT PE URMATOARELE HARTI: "); write_file(path, "; Exemplu de adaugare HARTA:^n; ^"harta^"^n^nfy_snow^ncss_bycastor"); } new mapname[32]; get_mapname(mapname, charsmax(mapname)); new text[121], maptext[32], bool:remove_vip = false; while(!feof(file)) { fgets(file, text, charsmax(text)); trim(text); if(text[0] == ';' || !strlen(text)) { continue; } parse(text, maptext, charsmax(maptext)); if(equal(maptext, mapname)) { log_amx("Am dezactivat pluginul 'VIP' pe harta %s.", maptext); remove_vip = true; break; } } fclose(file); if(!remove_vip) { register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR); register_event("DeathMsg", "event_DeathMsg", "a"); register_event("Damage", "event_Damage", "b", "2>0", "3=0"); register_event("HLTV", "event_NewRound", "a", "1=0", "2=0"); register_event("TextMsg", "event_textmsg", "a", "2=#Game_will_restart_in") RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawnPost", 1); register_message(get_user_msgid("ScoreAttrib"), "msg_ScoreAttrib"); register_clcmd("say /vips", "CmdVipsOnline"); register_clcmd("say_team /vips", "CmdVipsOnline"); register_clcmd("say vips", "CmdVipsOnline"); register_clcmd("say_team vips", "CmdVipsOnline"); register_clcmd("say buyvip", "CmdPrintAttributes"); register_clcmd("say_team buyvip", "CmdPrintAttributes"); register_clcmd("say /buyvip", "CmdPrintAttributes"); register_clcmd("say_team /buyvip", "CmdPrintAttributes"); register_clcmd("say /rd", "CmdResetDeaths"); register_clcmd("say_team /rd", "CmdResetDeaths"); register_clcmd("say rd", "CmdResetDeaths"); register_clcmd("say_team rd", "CmdResetDeaths"); cvar[hp_spawn] = register_cvar("vip_hp_spawn", "100"); // 0 = dezactivat cvar[ap_spawn] = register_cvar("vip_ap_spawn", "100"); // 0 = dezactivat cvar[money_spawn] = register_cvar("vip_money_spawn", "0"); // 0 = dezactivat cvar[show_vip_tab] = register_cvar("vip_show_tab", "1"); // 0 = dezactivat cvar[show_bullet_dmg] = register_cvar("vip_show_bullet_dmg", "1"); // 0 = dezactivat cvar[multi_jump] = register_cvar("vip_multijump", "0"); // 0 = dezactivat. Daca valoarea cvar-ului este 1, vei sari de 2 ori. Orice valoare pui, va fi +1 jump cvar[hp_kill] = register_cvar("vip_hp_kill", "5"); // 0 = dezactivat cvar[hp_hs] = register_cvar("vip_hp_hs", "10"); // 0 = dezactivat cvar[ap_kill] = register_cvar("vip_ap_kill", "5"); // 0 = dezactivat cvar[ap_hs] = register_cvar("vip_ap_hs", "10"); // 0 = dezactivat cvar[hp_max] = register_cvar("vip_hp_max", "120"); // 0 = viata infinita cvar[money_kill] = register_cvar("vip_money_kill", "350"); // 0 = dezactivat cvar[money_hs] = register_cvar("vip_money_hs", "450"); // 0 = dezactivat cvar[parachute] = register_cvar("vip_parachute", "0"); // 0 = dezactivat max_players = get_maxplayers(); } else { register_plugin(PLUGIN_NAME_PAUSED, PLUGIN_VERSION, PLUGIN_AUTHOR); pause("ade"); } register_cvar("vip_", PLUGIN_VERSION, FCVAR_SPONLY|FCVAR_SERVER); set_cvar_string("vip_", PLUGIN_VERSION); } public client_putinserver(id) { g_JumpNum[id] = 0; g_bJump[id] = false; } public CmdVipsOnline(id) { if(!is_user_connected(id)) return PLUGIN_CONTINUE; new adminnames[33][32], message[256], i, count, len; len = format(message, charsmax(message), "!4%s!3 VIPS ONLINE: ", TAG); for(i = 1 ; i <= max_players; i++) { if(is_user_connected(i) && is_user_vip(i)) get_user_name(i, adminnames[count++], charsmax(adminnames[])); } if(count > 0) { for(i = 0; i < count; i++) { len += format(message[len], 255 -len, "!4%s!1%s ", adminnames[i], i < (count -1) ? " | " : ""); } ColorChat(id, message); } else { len += format(message[len], 255 -len, "!4No one !") ColorChat(id, message); } return PLUGIN_CONTINUE; } public CmdPrintAttributes(id) { if(!is_user_connected(id)) return; show_motd(id, "vip.txt", "Beneficii VIP"); } public CmdResetDeaths(id) { if(!is_user_vip(id)) { ColorChat(id, "!4%s!1 Doar membri!3 VIP!1 isi pot reseta decesele.", TAG); return; } cs_set_user_deaths(id, 0); cs_set_user_deaths(id, 0); ColorChat(id, "!4%s!1 Ti-ai resetat cu succes toate decesele.", TAG); } public client_PreThink(id) { new cache = get_pcvar_num(cvar[multi_jump]); if(is_user_alive(id) && !is_user_vip(id)) return PLUGIN_CONTINUE; new nbut = get_user_button(id); new obut = get_user_oldbutton(id); if(cache != 0) { if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP)) { if(g_JumpNum[id] < cache) { g_bJump[id] = true; g_JumpNum[id]++; return PLUGIN_CONTINUE; } } if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND)) { g_JumpNum[id] = 0; return PLUGIN_CONTINUE; } } if(get_pcvar_num(cvar[parachute])) { new Float:fallspeed = 100.0 * -1.0; if(nbut & IN_USE) { new Float:velocity[3]; entity_get_vector(id, EV_VEC_velocity, velocity); if(velocity[2] < 0.0) { entity_set_int(id, EV_INT_sequence, 3); entity_set_int(id, EV_INT_gaitsequence, 1); entity_set_float(id, EV_FL_frame, 1.0); entity_set_float(id, EV_FL_framerate, 1.0); velocity[2] = (velocity[2] + 40.0 < fallspeed) ? velocity[2] + 40.0 : fallspeed; entity_set_vector(id, EV_VEC_velocity, velocity); } } } return PLUGIN_CONTINUE; } public client_PostThink(id) { new jump_num = get_pcvar_num(cvar[multi_jump]); if(!jump_num) return PLUGIN_CONTINUE; if(is_user_alive(id) && !is_user_vip(id)) return PLUGIN_CONTINUE; if(g_bJump[id]) { new Float:fVelocity[3]; entity_get_vector(id, EV_VEC_velocity, fVelocity); fVelocity[2] = random_float(265.0, 285.0); entity_set_vector(id, EV_VEC_velocity, fVelocity); g_bJump[id] = false; return PLUGIN_CONTINUE; } return PLUGIN_CONTINUE; } public event_DeathMsg() { new killer = read_data(1), hs = read_data(3); if(is_user_alive(killer) && is_user_vip(killer)) { if(killer == read_data(2)) return PLUGIN_HANDLED; if(hs && !user_has_weapon(killer, CSW_HEGRENADE)) give_item(killer, "weapon_hegrenade"); new cache = hs ? get_pcvar_num(cvar[hp_hs]) : get_pcvar_num(cvar[hp_kill]); if(cache != 0) set_user_health(killer, min(get_user_health(killer) + cache, get_pcvar_num(cvar[hp_max]))); cache = hs ? get_pcvar_num(cvar[ap_hs]) : get_pcvar_num(cvar[ap_kill]); if(cache != 0) set_user_armor(killer, min(get_user_armor(killer) + cache, get_pcvar_num(cvar[hp_max]))); cache = hs ? get_pcvar_num(cvar[money_hs]) : get_pcvar_num(cvar[money_kill]); if(cache != 0) cs_set_user_money(killer, min(cs_get_user_money(killer) + cache, 16000)); } return PLUGIN_CONTINUE; } public event_Damage(victim) { if(!get_pcvar_num(cvar[show_bullet_dmg])) return PLUGIN_CONTINUE; new id = get_user_attacker(victim); if(is_user_valid(id)) { if(is_user_alive(id) && !is_user_vip(id)) return PLUGIN_HANDLED; if(read_data(4) || read_data(5) || read_data(6)) { new iPos = ++g_iPlayerPos[id]; if(iPos == sizeof(g_flCoords)) iPos = g_iPlayerPos[id] = 0; new iCol = ++g_iPlayerCol[id]; if(iCol == sizeof(g_iColors)) iCol = g_iPlayerCol[id] = 0; set_hudmessage(g_iColors[iCol][0], g_iColors[iCol][1], g_iColors[iCol][2], Float:g_flCoords[iPos][0], Float:g_flCoords[iPos][1], 0, 0.1, 2.5, 0.02, 0.02, -1); show_hudmessage(id, "%d", read_data(2)); } } return PLUGIN_CONTINUE; } public event_NewRound() { rounds++; } public event_textmsg() { rounds = 1; } public fw_PlayerSpawnPost(id) { if(is_user_vip(id) && is_user_alive(id)) { set_task(0.25, "give_items", id + 212); return HAM_IGNORED; } return HAM_IGNORED; } public give_items(taskid) { new id = taskid - 212; if(!is_user_alive(id)) return; new cache = get_pcvar_num(cvar[hp_spawn]) if(cache != 0) set_user_health(id, cache); cache = get_pcvar_num(cvar[ap_spawn]); if(cache != 0) cs_set_user_armor(id, cache, CS_ARMOR_VESTHELM); cache = get_pcvar_num(cvar[money_spawn]); if(cache != 0) cs_set_user_money(id, min(cs_get_user_money(id) + cache, 16000)); if(rounds >= 3) ShowVipMenu(id); } public msg_ScoreAttrib(msgid, dest, id) { if(!get_pcvar_num(cvar[show_vip_tab])) return PLUGIN_CONTINUE; new id = get_msg_arg_int(1); if(is_user_connected(id) && is_user_vip(id)) set_msg_arg_int(2, ARG_BYTE, is_user_alive(id) ? (1<<2) : (1<<0)); return PLUGIN_CONTINUE; } public ShowVipMenu(id) { if(!is_user_connected(id)) return PLUGIN_HANDLED; if(!is_user_vip(id)) { ColorChat(id, "!4%s!1 Imi pare rau, dar nu ai acces la meniul pentru!3 membrii VIP!1.", TAG); ColorChat(id, "!4%s!1 Poti cumpara VIP, contactand adresa Y!M:!3 %s!1.", TAG, CONTACT); return PLUGIN_HANDLED; } give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_flashbang"); drop_weapons(id, 2); give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_DEAGLE, 35); new menu = menu_create("[V.I.P MENU]", "VipMenuHandler"); menu_additem(menu, "M4A1 + Echipament", "1"); menu_additem(menu, "AK-47 + Echipament", "2"); menu_additem(menu, "AWP + Echipament", "3"); menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, menu, 0); return PLUGIN_CONTINUE; } public VipMenuHandler(id, menu, item) { if(!is_user_connected(id) || item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[6], namei[64], access, CallBack; menu_item_getinfo(menu, item, access, data, charsmax(data), namei, charsmax(namei), CallBack); new key = str_to_num(data); switch(key) { case 1: { drop_weapons(id, 1); give_item(id, "weapon_m4a1"); cs_set_user_bpammo(id, CSW_M4A1, 120); ColorChat(id, "!4%s!1 Ai ales!3 M4A1!1 +!3 Deagle!1 +!3 Set grenade!1 (!31 HE!1 + !32 FB!1).", TAG); } case 2: { drop_weapons(id, 1); give_item(id, "weapon_ak47"); cs_set_user_bpammo(id, CSW_AK47, 120); ColorChat(id, "!4%s!1 Ai ales!3 AK47!1 +!3 Deagle!1 +!3 Set grenade!1 (!31 HE!1 + !32 FB!1).", TAG); } case 3: { drop_weapons(id, 1); give_item(id, "weapon_awp"); cs_set_user_bpammo(id, CSW_AWP, 30); ColorChat(id, "!4%s!1 Ai ales!3 AWP!1 +!3 Deagle!1 +!3 Set grenade!1 (!31 HE!1 + !32 FB!1).", TAG); } } menu_destroy(menu); return PLUGIN_HANDLED; } const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90); const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE); // Drop primary/secondary weapons stock drop_weapons(id, dropwhat) { // Get user weapons static weapons[32], num, i, weaponid, wname[32]; num = 0; // reset passed weapons count (bugfix) get_user_weapons(id, weapons, num); // Loop through them and drop primaries or secondaries for (i = 0; i < num; i++) { // Prevent re-indexing the array weaponid = weapons[i]; if((dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM))) { // Get weapon entity get_weaponname(weaponid, wname, charsmax(wname)); engclient_cmd(id, "drop", wname); } } } stock ColorChat(id, String[], any:...) { static szMesage[192]; vformat(szMesage, charsmax(szMesage), String, 3); replace_all(szMesage, charsmax(szMesage), "!1", "^1"); replace_all(szMesage, charsmax(szMesage), "!3", "^3"); replace_all(szMesage, charsmax(szMesage), "!4", "^4"); static g_msg_SayText = 0; if(!g_msg_SayText) g_msg_SayText = get_user_msgid("SayText"); new Players[32], iNum = 1, i; if(id) Players[0] = id; else get_players(Players, iNum, "ch"); for(--iNum; iNum >= 0; iNum--) { i = Players[iNum]; message_begin(MSG_ONE_UNRELIABLE, g_msg_SayText, _, i); write_byte(i); write_string(szMesage); message_end(); } } I want the "x" flag to remain but to add EVENT FREE VIP - at certain hours Przeczytaj cały wpis Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi