Advertisement
Guest User

Untitled

a guest
Apr 12th, 2016
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.07 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <cstrike>
  3. #include <engine>
  4. #include <fakemeta>
  5. #include <fun>
  6. #include <hamsandwich>
  7. #include <stripweapons>
  8.  
  9. forward amxbans_admin_connect(id);
  10.  
  11. new CsArmorType:armortype, bool:g_Vip[33], gRound=0, menu, menu_callback_handler,
  12. skoki[33], weapon_id;
  13.  
  14. public plugin_init(){
  15. register_plugin("VIP Ultimate", "12.3.0.2", "benio101 & speedkill");
  16. register_forward(FM_CmdStart, "CmdStartPre");
  17. RegisterHam(Ham_Spawn, "player", "SpawnedEventPre", 1);
  18. register_event("HLTV", "event_new_round", "a", "1=0", "2=0");
  19. register_logevent("GameCommencing", 2, "1=Game_Commencing");
  20. register_message(get_user_msgid("ScoreAttrib"), "VipStatus");
  21. register_message(get_user_msgid("SayText"),"handleSayText");
  22. }
  23. public client_authorized(id){
  24. if(get_user_flags(id) & 262144 == 262144){
  25. client_authorized_vip(id);
  26. }
  27. }
  28. public client_authorized_vip(id){
  29. g_Vip[id]=true;
  30. }
  31. public client_disconnect(id){
  32. if(g_Vip[id]){
  33. client_disconnect_vip(id);
  34. }
  35. }
  36. public client_disconnect_vip(id){
  37. g_Vip[id]=false;
  38. }
  39. public CmdStartPre(id, uc_handle){
  40. if(g_Vip[id]){
  41. if(is_user_alive(id)){
  42. CmdStartPreVip(id, uc_handle);
  43. }
  44. }
  45. }
  46. public CmdStartPreVip(id, uc_handle){
  47. new flags = pev(id, pev_flags);
  48. if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id]>0){
  49. --skoki[id];
  50. new Float:velocity[3];
  51. pev(id, pev_velocity,velocity);
  52. velocity[2] = random_float(265.0,285.0);
  53. set_pev(id,pev_velocity,velocity);
  54. } else if(flags & FL_ONGROUND && skoki[id]!=-1){
  55. skoki[id] = 1;
  56. }
  57. }
  58. public SpawnedEventPre(id){
  59. if(g_Vip[id]){
  60. if(is_user_alive(id)){
  61. SpawnedEventPreVip(id);
  62. }
  63. }
  64. }
  65. public SpawnedEventPreVip(id){
  66. skoki[id]=1;
  67. show_vip_menu(id);
  68. if(get_user_team(id)==2){
  69. give_item(id, "item_thighpack");
  70. }
  71. }
  72. public menu_1_handler(id){
  73. cs_set_user_armor(id, min(cs_get_user_armor(id,armortype)+100, 100), armortype);
  74. new henum=(user_has_weapon(id,CSW_HEGRENADE)?cs_get_user_bpammo(id,CSW_HEGRENADE):0);
  75. give_item(id, "weapon_hegrenade");
  76. ++henum;
  77. new fbnum=(user_has_weapon(id,CSW_FLASHBANG)?cs_get_user_bpammo(id,CSW_FLASHBANG):0);
  78. give_item(id, "weapon_flashbang");
  79. ++fbnum;
  80. new sgnum=(user_has_weapon(id,CSW_SMOKEGRENADE)?cs_get_user_bpammo(id,CSW_SMOKEGRENADE):0);
  81. give_item(id, "weapon_smokegrenade");
  82. ++sgnum;
  83. StripWeapons(id, Primary);
  84. give_item(id, "weapon_m4a1");
  85. give_item(id, "ammo_556nato");
  86. weapon_id=find_ent_by_owner(-1, "weapon_m4a1", id);
  87. if(weapon_id)cs_set_weapon_ammo(weapon_id, 30);
  88. cs_set_user_bpammo(id, CSW_M4A1, 90);
  89. }
  90. public menu_2_handler(id){
  91. cs_set_user_armor(id, min(cs_get_user_armor(id,armortype)+100, 100), armortype);
  92. new henum=(user_has_weapon(id,CSW_HEGRENADE)?cs_get_user_bpammo(id,CSW_HEGRENADE):0);
  93. give_item(id, "weapon_hegrenade");
  94. ++henum;
  95. new fbnum=(user_has_weapon(id,CSW_FLASHBANG)?cs_get_user_bpammo(id,CSW_FLASHBANG):0);
  96. give_item(id, "weapon_flashbang");
  97. ++fbnum;
  98. new sgnum=(user_has_weapon(id,CSW_SMOKEGRENADE)?cs_get_user_bpammo(id,CSW_SMOKEGRENADE):0);
  99. give_item(id, "weapon_smokegrenade");
  100. ++sgnum;
  101. StripWeapons(id, Primary);
  102. give_item(id, "weapon_ak47");
  103. give_item(id, "ammo_762nato");
  104. weapon_id=find_ent_by_owner(-1, "weapon_ak47", id);
  105. if(weapon_id)cs_set_weapon_ammo(weapon_id, 30);
  106. cs_set_user_bpammo(id, CSW_AK47, 90);
  107. }
  108. public menu_3_handler(id){
  109. cs_set_user_armor(id, min(cs_get_user_armor(id,armortype)+100, 100), armortype);
  110. new henum=(user_has_weapon(id,CSW_HEGRENADE)?cs_get_user_bpammo(id,CSW_HEGRENADE):0);
  111. give_item(id, "weapon_hegrenade");
  112. ++henum;
  113. new fbnum=(user_has_weapon(id,CSW_FLASHBANG)?cs_get_user_bpammo(id,CSW_FLASHBANG):0);
  114. give_item(id, "weapon_flashbang");
  115. ++fbnum;
  116. new sgnum=(user_has_weapon(id,CSW_SMOKEGRENADE)?cs_get_user_bpammo(id,CSW_SMOKEGRENADE):0);
  117. give_item(id, "weapon_smokegrenade");
  118. ++sgnum;
  119. StripWeapons(id, Primary);
  120. give_item(id, "weapon_awp");
  121. give_item(id, "ammo_338magnum");
  122. weapon_id=find_ent_by_owner(-1, "weapon_awp", id);
  123. if(weapon_id)cs_set_weapon_ammo(weapon_id, 10);
  124. cs_set_user_bpammo(id, CSW_AWP, 30);
  125. }
  126. public menu_4_handler(id){
  127. new fbnum=(user_has_weapon(id,CSW_FLASHBANG)?cs_get_user_bpammo(id,CSW_FLASHBANG):0);
  128. give_item(id, "weapon_flashbang");
  129. ++fbnum;
  130. StripWeapons(id, Secondary);
  131. give_item(id, "weapon_deagle");
  132. give_item(id, "ammo_50ae");
  133. weapon_id=find_ent_by_owner(-1, "weapon_deagle", id);
  134. if(weapon_id)cs_set_weapon_ammo(weapon_id, 7);
  135. cs_set_user_bpammo(id, CSW_DEAGLE, 35);
  136. }
  137. public show_vip_menu(id){
  138. menu=menu_create("\rMenu VIPa","menu_handler");
  139. menu_callback_handler=menu_makecallback("menu_callback");
  140. new bool:active=false, num=-1;
  141. menu_additem(menu,"\wM4A1+Kevlar+He,Fb,Sg","",0,menu_callback_handler);
  142. if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
  143. active=true;
  144. }
  145. menu_additem(menu,"\wAK47+Kevlar+He,Fb,Sg","",0,menu_callback_handler);
  146. if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
  147. active=true;
  148. }
  149. menu_additem(menu,"\wAWP+Kevlar+He,Fb,Sg","",0,menu_callback_handler);
  150. if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
  151. active=true;
  152. }
  153. menu_additem(menu,"\wdEagle+Fb","",0,menu_callback_handler);
  154. if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
  155. active=true;
  156. }
  157. if(active){
  158. menu_setprop(menu,MPROP_EXITNAME,"Wyjscie");
  159. menu_setprop(menu,MPROP_TITLE,"\yMenu Vipa");
  160. menu_setprop(menu,MPROP_NUMBER_COLOR,"\r");
  161. menu_display(id, menu);
  162. } else {
  163. menu_destroy(menu);
  164. }
  165. }
  166. public event_new_round(){
  167. ++gRound;
  168. }
  169. public GameCommencing(){
  170. gRound=0;
  171. }
  172. public menu_callback(id, menu, item){
  173. if(is_user_alive(id)){
  174. if(gRound>=2){
  175. if(item==0){
  176. return ITEM_ENABLED;
  177. }
  178. if(item==1){
  179. return ITEM_ENABLED;
  180. }
  181. }
  182. if(gRound>=3){
  183. if(item==2){
  184. return ITEM_ENABLED;
  185. }
  186. }
  187. if(gRound>=1){
  188. if(gRound<=2){
  189. if(item==3){
  190. return ITEM_ENABLED;
  191. }
  192. }
  193. }
  194. }
  195. return ITEM_DISABLED;
  196. }
  197. public menu_handler(id, menu, item){
  198. if(is_user_alive(id)){
  199. if(gRound>=2){
  200. if(item==0){
  201. menu_1_handler(id);
  202. }
  203. if(item==1){
  204. menu_2_handler(id);
  205. }
  206. }
  207. if(gRound>=3){
  208. if(item==2){
  209. menu_3_handler(id);
  210. }
  211. }
  212. if(gRound>=1){
  213. if(gRound<=2){
  214. if(item==3){
  215. menu_4_handler(id);
  216. }
  217. }
  218. }
  219. }
  220. menu_destroy(menu);
  221. return PLUGIN_HANDLED;
  222. }
  223. public VipStatus(){
  224. new id=get_msg_arg_int(1);
  225. if(is_user_alive(id) && g_Vip[id]){
  226. set_msg_arg_int(2, ARG_BYTE, get_msg_arg_int(2)|4);
  227. }
  228. }
  229. public handleSayText(msgId,msgDest,msgEnt){
  230. new id = get_msg_arg_int(1);
  231.  
  232. if(is_user_connected(id) && g_Vip[id]){
  233. new szTmp[256],szTmp2[256];
  234. get_msg_arg_string(2,szTmp, charsmax(szTmp))
  235.  
  236. new szPrefix[64] = "^x04[VIP]";
  237.  
  238. if(!equal(szTmp,"#Cstrike_Chat_All")){
  239. add(szTmp2,charsmax(szTmp2),szPrefix);
  240. add(szTmp2,charsmax(szTmp2)," ");
  241. add(szTmp2,charsmax(szTmp2),szTmp);
  242. }
  243. else{
  244. add(szTmp2,charsmax(szTmp2),szPrefix);
  245. add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 : %s2");
  246. }
  247. set_msg_arg_string(2,szTmp2);
  248. }
  249. return PLUGIN_CONTINUE;
  250. }
  251. public amxbans_admin_connect(id){
  252. client_authorized(id);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement