Advertisement
Guest User

svip

a guest
Apr 20th, 2019
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 6.19 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <colorchat>
  3. #include <cstrike>
  4. #include <csx>
  5. #include <engine>
  6. #include <fakemeta>
  7. #include <fun>
  8. #include <hamsandwich>
  9. #include <stripweapons>
  10.  
  11. #define DMG_HE (1<<24)
  12. #define IsPlayer(%1) (1<=%1<=maxPlayers)
  13.  
  14. forward amxbans_admin_connect(id);
  15.  
  16. new bool:g_SVip[33], gRound=0, g_Hudmsg, ioid, maxPlayers,
  17. menu, menu_callback_handler, weapon_id;
  18.  
  19. public plugin_init(){
  20.     register_plugin("VIP Ultimate", "12.3.0.2", "benio101 & speedkill");
  21.     RegisterHam(Ham_TakeDamage, "player", "takeDamage", 0);
  22.     register_event("DeathMsg", "DeathMsg", "a");
  23.     RegisterHam(Ham_Spawn, "player", "SpawnedEventPre", 1);
  24.     register_event("HLTV", "event_new_round", "a", "1=0", "2=0");
  25.     register_logevent("GameCommencing", 2, "1=Game_Commencing");
  26.     register_message(get_user_msgid("ScoreAttrib"), "VipStatus");
  27.     register_clcmd("say /vip", "ShowMotd");
  28.     set_task(30.0, "ShowAdv",.flags = "b");
  29.     g_Hudmsg=CreateHudSyncObj();
  30.     register_logevent("RoundEnd", 2, "1=Round_End");
  31. }
  32. public client_authorized(id){
  33.     if(get_user_flags(id) & 65536 == 65536){
  34.         client_authorized_vip(id);
  35.     }
  36. }
  37. public client_authorized_vip(id){
  38.     g_SVip[id]=true;
  39.     new g_Name[64];
  40.     get_user_name(id,g_Name,charsmax(g_Name));
  41.     set_hudmessage(236, 208, 120, 0.25, 0.2, 0, 6.0, 6.0);
  42.     ShowSyncHudMsg(0, g_Hudmsg, "SVIP %s wbija na serwer !",g_Name);
  43. }
  44. public client_disconnect(id){
  45.     if(g_SVip[id]){
  46.         client_disconnect_svip(id
  47. }
  48. public client_disconnect_svip(id){
  49.     g_SVip[id]=false;
  50. }
  51. public menu_1_handler(id){
  52.     StripWeapons(id, Secondary);
  53.     give_item(id, "weapon_deagle");
  54.     give_item(id, "ammo_50ae");
  55.     weapon_id=find_ent_by_owner(-1, "weapon_deagle", id);
  56.     if(weapon_id)cs_set_weapon_ammo(weapon_id, 7);
  57.     cs_set_user_bpammo(id, CSW_DEAGLE, 35);
  58.     StripWeapons(id, Primary);
  59.     give_item(id, "weapon_m4a1");
  60.     give_item(id, "ammo_556nato");
  61.     weapon_id=find_ent_by_owner(-1, "weapon_m4a1", id);
  62.     if(weapon_id)cs_set_weapon_ammo(weapon_id, 30);
  63.     cs_set_user_bpammo(id, CSW_M4A1, 90);
  64. }
  65. public menu_2_handler(id){
  66.     StripWeapons(id, Secondary);
  67.     give_item(id, "weapon_deagle");
  68.     give_item(id, "ammo_50ae");
  69.     weapon_id=find_ent_by_owner(-1, "weapon_deagle", id);
  70.     if(weapon_id)cs_set_weapon_ammo(weapon_id, 7);
  71.     cs_set_user_bpammo(id, CSW_DEAGLE, 35);
  72.     StripWeapons(id, Primary);
  73.     give_item(id, "weapon_ak47");
  74.     give_item(id, "ammo_762nato");
  75.     weapon_id=find_ent_by_owner(-1, "weapon_ak47", id);
  76.     if(weapon_id)cs_set_weapon_ammo(weapon_id, 30);
  77.     cs_set_user_bpammo(id, CSW_AK47, 90);
  78. }
  79. public menu_3_handler(id){
  80.     StripWeapons(id, Secondary);
  81.     give_item(id, "weapon_deagle");
  82.     give_item(id, "ammo_50ae");
  83.     weapon_id=find_ent_by_owner(-1, "weapon_deagle", id);
  84.     if(weapon_id)cs_set_weapon_ammo(weapon_id, 7);
  85.     cs_set_user_bpammo(id, CSW_DEAGLE, 35);
  86.     StripWeapons(id, Primary);
  87.     give_item(id, "weapon_awp");
  88.     give_item(id, "ammo_338magnum");
  89.     weapon_id=find_ent_by_owner(-1, "weapon_awp", id);
  90.     if(weapon_id)cs_set_weapon_ammo(weapon_id, 10);
  91.     cs_set_user_bpammo(id, CSW_AWP, 30);
  92. }
  93. public plugin_cfg(){
  94.     maxPlayers=get_maxplayers();
  95. }
  96. public takeDamage(this, idinflictor, idattacker, Float:damage, damagebits){
  97.     if(((IsPlayer(idattacker) && is_user_connected(idattacker) && g_SVip[idattacker] && (ioid=idattacker)) ||
  98.     (ioid=pev(idinflictor, pev_owner) && IsPlayer(ioid) && is_user_connected(ioid) && g_SVip[ioid]))){
  99.         if(damagebits & DMG_HE){
  100.             damage*=(100+20)/100;
  101.         }
  102.     }
  103. }
  104. public DeathMsg(){
  105.     new killer=read_data(1);
  106.     new victim=read_data(2);
  107.    
  108.     if(is_user_alive(killer) && g_SVip[killer] && get_user_team(killer) != get_user_team(victim)){
  109.         DeathMsgVip(killer,victim,read_data(3));
  110.     }
  111. }
  112. public DeathMsgVip(kid,vid,hs){
  113.     set_user_health(kid, min(get_user_health(kid)+(hs?20:10),135));
  114.     cs_set_user_money(kid, cs_get_user_money(kid)+(hs?700:500));
  115. }
  116. public SpawnedEventPre(id){
  117.     if(g_SVip[id]){
  118.         if(is_user_alive(id)){
  119.             SpawnedEventPreVip(id);
  120.         }
  121.     }
  122. }
  123. public SpawnedEventPreVip(id){
  124.     show_vip_menu(id);
  125. }
  126. public show_vip_menu(id){
  127.     menu=menu_create("\rMenu VIPa","menu_handler");
  128.     menu_callback_handler=menu_makecallback("menu_callback");
  129.     new bool:active=false, num=-1;
  130.     menu_additem(menu,"\wM4A1+Deagle","",0,menu_callback_handler);
  131.     if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
  132.         active=true;
  133.     }
  134.     menu_additem(menu,"\wAk47+Deagle","",0,menu_callback_handler);
  135.     if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
  136.         active=true;
  137.     }
  138.     menu_additem(menu,"\wAWP+Deagle","",0,menu_callback_handler);
  139.     if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
  140.         active=true;
  141.     }
  142.     if(active){
  143.         menu_setprop(menu,MPROP_EXITNAME,"Wyjscie");
  144.         menu_setprop(menu,MPROP_TITLE,"\yMenu Vipa");
  145.         menu_setprop(menu,MPROP_NUMBER_COLOR,"\r");
  146.         menu_display(id, menu);
  147.     } else {
  148.         menu_destroy(menu);
  149.     }
  150. }
  151. public event_new_round(){
  152.     ++gRound;
  153. }
  154. public GameCommencing(){
  155.     gRound=0;
  156. }
  157. public menu_callback(id, menu, item){
  158.     if(is_user_alive(id)){
  159.         if(gRound>=3){
  160.             if(gRound<=30){
  161.                 if(item==0){
  162.                     return ITEM_ENABLED;
  163.                 }
  164.                 if(item==1){
  165.                     return ITEM_ENABLED;
  166.                 }
  167.                 if(item==2){
  168.                     return ITEM_ENABLED;
  169.                 }
  170.             }
  171.         }
  172.     }
  173.     return ITEM_DISABLED;
  174. }
  175. public menu_handler(id, menu, item){
  176.     if(is_user_alive(id)){
  177.         if(gRound>=3){
  178.             if(gRound<=30){
  179.                 if(item==0){
  180.                     menu_1_handler(id);
  181.                 }
  182.                 if(item==1){
  183.                     menu_2_handler(id);
  184.                 }
  185.                 if(item==2){
  186.                     menu_3_handler(id);
  187.                 }
  188.             }
  189.         }
  190.     }
  191.     menu_destroy(menu);
  192.     return PLUGIN_HANDLED;
  193. }
  194. public VipStatus(){
  195.     new id=get_msg_arg_int(1);
  196.     if(is_user_alive(id) && g_SVip[id]){
  197.         set_msg_arg_int(2, ARG_BYTE, get_msg_arg_int(2)|4);
  198.     }
  199. }
  200. public ShowMotd(id){
  201.     show_motd(id, "svip.txt", "Informacje o svipie");
  202. }
  203. public ShowAdv(){
  204.     ColorChat(0, NORMAL, "[SVIP]^x04 Chcesz dowiedziec sie co posiada SVIP ? Napisz na say'u /svip");
  205. }
  206. public bomb_planted(id){
  207.     if(is_user_alive(id) && g_SVip[id]){
  208.         cs_set_user_money(id,cs_get_user_money(id) + 600);
  209.     }
  210. }
  211. public bomb_defused(id){
  212.     if(is_user_alive(id) && g_SVip[id]){
  213.         cs_set_user_money(id,cs_get_user_money(id) + 600);
  214.     }
  215. }
  216. public RoundEnd(){
  217.     for(new i = 1; i <= maxPlayers; i++){
  218.         if(is_user_alive(i) && g_SVip[i]){
  219.             cs_set_user_money(i,cs_get_user_money(i) + 400);
  220.         }
  221.     }
  222. }
  223. public amxbans_admin_connect(id){
  224.     client_authorized(id);
  225. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement