Advertisement
Guest User

Untitled

a guest
Apr 12th, 2016
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.00 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <cstrike>
  3. #include <csx>
  4. #include <engine>
  5. #include <fakemeta>
  6. #include <fun>
  7. #include <hamsandwich>
  8. #include <stripweapons>
  9.  
  10. forward amxbans_admin_connect(id);
  11.  
  12. new CsArmorType:armortype, bool:g_Vip[33], gRound=0, g_Hudmsg, maxPlayers,
  13. menu, menu_callback_handler, skoki[33], weapon_id;
  14.  
  15. public plugin_init(){
  16. register_plugin("VIP Ultimate", "12.3.0.2", "benio101 & speedkill");
  17. register_forward(FM_CmdStart, "CmdStartPre");
  18. RegisterHam(Ham_Spawn, "player", "SpawnedEventPre", 1);
  19. register_event("DeathMsg", "DeathMsg", "a");
  20. register_event("HLTV", "event_new_round", "a", "1=0", "2=0");
  21. register_logevent("GameCommencing", 2, "1=Game_Commencing");
  22. register_message(get_user_msgid("ScoreAttrib"), "VipStatus");
  23. register_message(get_user_msgid("SayText"),"handleSayText");
  24. g_Hudmsg=CreateHudSyncObj();
  25. register_logevent("RoundEnd", 2, "1=Round_End");
  26. }
  27. public client_authorized(id){
  28. if(get_user_flags(id) & 524288 == 524288){
  29. client_authorized_vip(id);
  30. }
  31. }
  32. public client_authorized_vip(id){
  33. g_Vip[id]=true;
  34. new g_Name[64];
  35. get_user_name(id,g_Name,charsmax(g_Name));
  36. set_hudmessage(24, 190, 220, 0.25, 0.2, 0, 6.0, 6.0);
  37. ShowSyncHudMsg(0, g_Hudmsg, "SVip %s wbija na serwer !",g_Name);
  38. }
  39. public client_disconnect(id){
  40. if(g_Vip[id]){
  41. client_disconnect_vip(id);
  42. }
  43. }
  44. public client_disconnect_vip(id){
  45. g_Vip[id]=false;
  46. }
  47. public CmdStartPre(id, uc_handle){
  48. if(g_Vip[id]){
  49. if(is_user_alive(id)){
  50. CmdStartPreVip(id, uc_handle);
  51. }
  52. }
  53. }
  54. public CmdStartPreVip(id, uc_handle){
  55. new flags = pev(id, pev_flags);
  56. if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id]>0){
  57. --skoki[id];
  58. new Float:velocity[3];
  59. pev(id, pev_velocity,velocity);
  60. velocity[2] = random_float(265.0,285.0);
  61. set_pev(id,pev_velocity,velocity);
  62. } else if(flags & FL_ONGROUND && skoki[id]!=-1){
  63. skoki[id] = 2;
  64. }
  65. }
  66. public SpawnedEventPre(id){
  67. if(g_Vip[id]){
  68. if(is_user_alive(id)){
  69. SpawnedEventPreVip(id);
  70. }
  71. }
  72. }
  73. public SpawnedEventPreVip(id){
  74. skoki[id]=2;
  75. show_vip_menu(id);
  76. new g_Model[64];
  77. formatex(g_Model,charsmax(g_Model),"%s",get_user_team(id) == 1 ? "kivottvip" : "kivoctvip");
  78. cs_set_user_model(id,g_Model);
  79. if(get_user_team(id)==2){
  80. give_item(id, "item_thighpack");
  81. }
  82. }
  83. public menu_1_handler(id){
  84. cs_set_user_armor(id, min(cs_get_user_armor(id,armortype)+100, 150), CS_ARMOR_VESTHELM);
  85. new henum=(user_has_weapon(id,CSW_HEGRENADE)?cs_get_user_bpammo(id,CSW_HEGRENADE):0);
  86. give_item(id, "weapon_hegrenade");
  87. ++henum;
  88. new fbnum=(user_has_weapon(id,CSW_FLASHBANG)?cs_get_user_bpammo(id,CSW_FLASHBANG):0);
  89. give_item(id, "weapon_flashbang");
  90. ++fbnum;
  91. cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
  92. new sgnum=(user_has_weapon(id,CSW_SMOKEGRENADE)?cs_get_user_bpammo(id,CSW_SMOKEGRENADE):0);
  93. give_item(id, "weapon_smokegrenade");
  94. ++sgnum;
  95. StripWeapons(id, Secondary);
  96. give_item(id, "weapon_deagle");
  97. give_item(id, "ammo_50ae");
  98. weapon_id=find_ent_by_owner(-1, "weapon_deagle", id);
  99. if(weapon_id)cs_set_weapon_ammo(weapon_id, 7);
  100. cs_set_user_bpammo(id, CSW_DEAGLE, 35);
  101. StripWeapons(id, Primary);
  102. give_item(id, "weapon_m4a1");
  103. give_item(id, "ammo_556nato");
  104. weapon_id=find_ent_by_owner(-1, "weapon_m4a1", id);
  105. if(weapon_id)cs_set_weapon_ammo(weapon_id, 30);
  106. cs_set_user_bpammo(id, CSW_M4A1, 90);
  107. }
  108. public menu_2_handler(id){
  109. cs_set_user_armor(id, min(cs_get_user_armor(id,armortype)+100, 150), CS_ARMOR_VESTHELM);
  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. cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
  117. new sgnum=(user_has_weapon(id,CSW_SMOKEGRENADE)?cs_get_user_bpammo(id,CSW_SMOKEGRENADE):0);
  118. give_item(id, "weapon_smokegrenade");
  119. ++sgnum;
  120. StripWeapons(id, Secondary);
  121. give_item(id, "weapon_deagle");
  122. give_item(id, "ammo_50ae");
  123. weapon_id=find_ent_by_owner(-1, "weapon_deagle", id);
  124. if(weapon_id)cs_set_weapon_ammo(weapon_id, 7);
  125. cs_set_user_bpammo(id, CSW_DEAGLE, 35);
  126. StripWeapons(id, Primary);
  127. give_item(id, "weapon_ak47");
  128. give_item(id, "ammo_762nato");
  129. weapon_id=find_ent_by_owner(-1, "weapon_ak47", id);
  130. if(weapon_id)cs_set_weapon_ammo(weapon_id, 30);
  131. cs_set_user_bpammo(id, CSW_AK47, 90);
  132. }
  133. public menu_3_handler(id){
  134. cs_set_user_armor(id, min(cs_get_user_armor(id,armortype)+100, 150), CS_ARMOR_VESTHELM);
  135. new henum=(user_has_weapon(id,CSW_HEGRENADE)?cs_get_user_bpammo(id,CSW_HEGRENADE):0);
  136. give_item(id, "weapon_hegrenade");
  137. ++henum;
  138. new fbnum=(user_has_weapon(id,CSW_FLASHBANG)?cs_get_user_bpammo(id,CSW_FLASHBANG):0);
  139. give_item(id, "weapon_flashbang");
  140. ++fbnum;
  141. cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
  142. new sgnum=(user_has_weapon(id,CSW_SMOKEGRENADE)?cs_get_user_bpammo(id,CSW_SMOKEGRENADE):0);
  143. give_item(id, "weapon_smokegrenade");
  144. ++sgnum;
  145. StripWeapons(id, Secondary);
  146. give_item(id, "weapon_deagle");
  147. give_item(id, "ammo_50ae");
  148. weapon_id=find_ent_by_owner(-1, "weapon_deagle", id);
  149. if(weapon_id)cs_set_weapon_ammo(weapon_id, 7);
  150. cs_set_user_bpammo(id, CSW_DEAGLE, 35);
  151. StripWeapons(id, Primary);
  152. give_item(id, "weapon_awp");
  153. give_item(id, "ammo_338magnum");
  154. weapon_id=find_ent_by_owner(-1, "weapon_awp", id);
  155. if(weapon_id)cs_set_weapon_ammo(weapon_id, 10);
  156. cs_set_user_bpammo(id, CSW_AWP, 30);
  157. }
  158. public menu_4_handler(id){
  159. cs_set_user_armor(id, min(cs_get_user_armor(id,armortype)+100, 150), CS_ARMOR_VESTHELM);
  160. new henum=(user_has_weapon(id,CSW_HEGRENADE)?cs_get_user_bpammo(id,CSW_HEGRENADE):0);
  161. give_item(id, "weapon_hegrenade");
  162. ++henum;
  163. new fbnum=(user_has_weapon(id,CSW_FLASHBANG)?cs_get_user_bpammo(id,CSW_FLASHBANG):0);
  164. give_item(id, "weapon_flashbang");
  165. ++fbnum;
  166. cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
  167. new sgnum=(user_has_weapon(id,CSW_SMOKEGRENADE)?cs_get_user_bpammo(id,CSW_SMOKEGRENADE):0);
  168. give_item(id, "weapon_smokegrenade");
  169. ++sgnum;
  170. StripWeapons(id, Secondary);
  171. give_item(id, "weapon_deagle");
  172. give_item(id, "ammo_50ae");
  173. weapon_id=find_ent_by_owner(-1, "weapon_deagle", id);
  174. if(weapon_id)cs_set_weapon_ammo(weapon_id, 7);
  175. cs_set_user_bpammo(id, CSW_DEAGLE, 35);
  176. StripWeapons(id, Primary);
  177. give_item(id, "weapon_scout");
  178. give_item(id, "ammo_762nato");
  179. weapon_id=find_ent_by_owner(-1, "weapon_scout", id);
  180. if(weapon_id)cs_set_weapon_ammo(weapon_id, 10);
  181. cs_set_user_bpammo(id, CSW_SCOUT, 90);
  182. }
  183. public menu_5_handler(id){
  184. new henum=(user_has_weapon(id,CSW_HEGRENADE)?cs_get_user_bpammo(id,CSW_HEGRENADE):0);
  185. give_item(id, "weapon_hegrenade");
  186. ++henum;
  187. new fbnum=(user_has_weapon(id,CSW_FLASHBANG)?cs_get_user_bpammo(id,CSW_FLASHBANG):0);
  188. give_item(id, "weapon_flashbang");
  189. ++fbnum;
  190. cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
  191. new sgnum=(user_has_weapon(id,CSW_SMOKEGRENADE)?cs_get_user_bpammo(id,CSW_SMOKEGRENADE):0);
  192. give_item(id, "weapon_smokegrenade");
  193. ++sgnum;
  194. StripWeapons(id, Secondary);
  195. give_item(id, "weapon_deagle");
  196. give_item(id, "ammo_50ae");
  197. weapon_id=find_ent_by_owner(-1, "weapon_deagle", id);
  198. if(weapon_id)cs_set_weapon_ammo(weapon_id, 7);
  199. cs_set_user_bpammo(id, CSW_DEAGLE, 35);
  200. }
  201. public DeathMsg(){
  202. new killer=read_data(1);
  203. new victim=read_data(2);
  204.  
  205. if(is_user_alive(killer) && g_Vip[killer] && get_user_team(killer) != get_user_team(victim)){
  206. DeathMsgVip(killer,victim,read_data(3));
  207. }
  208. }
  209. public DeathMsgVip(kid,vid,hs){
  210. cs_set_user_money(kid, cs_get_user_money(kid)+(hs?400:200));
  211. }
  212. public show_vip_menu(id){
  213. menu=menu_create("\rMenu VIPa","menu_handler");
  214. menu_callback_handler=menu_makecallback("menu_callback");
  215. new bool:active=false, num=-1;
  216. menu_additem(menu,"\wM4A1+dEagle+kevlar&helmet+HE,2xFB,SG","",0,menu_callback_handler);
  217. if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
  218. active=true;
  219. }
  220. menu_additem(menu,"\wAK-47+dEagle+kevlar&helmet+HE,2xFB,SG","",0,menu_callback_handler);
  221. if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
  222. active=true;
  223. }
  224. menu_additem(menu,"\wAwp+dEagle+kevlar&helmet+HE,2xFB,SG","",0,menu_callback_handler);
  225. if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
  226. active=true;
  227. }
  228. menu_additem(menu,"\wScout+dEagle+kevlar&helmet+HE,2xFB,SG","",0,menu_callback_handler);
  229. if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
  230. active=true;
  231. }
  232. menu_additem(menu,"\wdEagle+HE,2xFB,SG","",0,menu_callback_handler);
  233. if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
  234. active=true;
  235. }
  236. if(active){
  237. menu_setprop(menu,MPROP_EXITNAME,"Wyjscie");
  238. menu_setprop(menu,MPROP_TITLE,"\yMenu Svipa");
  239. menu_setprop(menu,MPROP_NUMBER_COLOR,"\r");
  240. menu_display(id, menu);
  241. } else {
  242. menu_destroy(menu);
  243. }
  244. }
  245. public event_new_round(){
  246. ++gRound;
  247. }
  248. public GameCommencing(){
  249. gRound=0;
  250. }
  251. public menu_callback(id, menu, item){
  252. if(is_user_alive(id)){
  253. if(gRound>=2){
  254. if(item==0){
  255. return ITEM_ENABLED;
  256. }
  257. if(item==1){
  258. return ITEM_ENABLED;
  259. }
  260. if(item==3){
  261. return ITEM_ENABLED;
  262. }
  263. }
  264. if(gRound>=3){
  265. if(item==2){
  266. return ITEM_ENABLED;
  267. }
  268. }
  269. if(gRound>=1){
  270. if(gRound<=2){
  271. if(item==4){
  272. return ITEM_ENABLED;
  273. }
  274. }
  275. }
  276. }
  277. return ITEM_DISABLED;
  278. }
  279. public menu_handler(id, menu, item){
  280. if(is_user_alive(id)){
  281. if(gRound>=2){
  282. if(item==0){
  283. menu_1_handler(id);
  284. }
  285. if(item==1){
  286. menu_2_handler(id);
  287. }
  288. if(item==3){
  289. menu_4_handler(id);
  290. }
  291. }
  292. if(gRound>=3){
  293. if(item==2){
  294. menu_3_handler(id);
  295. }
  296. }
  297. if(gRound>=1){
  298. if(gRound<=2){
  299. if(item==4){
  300. menu_5_handler(id);
  301. }
  302. }
  303. }
  304. }
  305. menu_destroy(menu);
  306. return PLUGIN_HANDLED;
  307. }
  308. public VipStatus(){
  309. new id=get_msg_arg_int(1);
  310. if(is_user_alive(id) && g_Vip[id]){
  311. set_msg_arg_int(2, ARG_BYTE, get_msg_arg_int(2)|4);
  312. }
  313. }
  314. public handleSayText(msgId,msgDest,msgEnt){
  315. new id = get_msg_arg_int(1);
  316.  
  317. if(is_user_connected(id) && g_Vip[id]){
  318. new szTmp[256],szTmp2[256];
  319. get_msg_arg_string(2,szTmp, charsmax(szTmp))
  320.  
  321. new szPrefix[64] = "^x04[SVIP]";
  322.  
  323. if(!equal(szTmp,"#Cstrike_Chat_All")){
  324. add(szTmp2,charsmax(szTmp2),szPrefix);
  325. add(szTmp2,charsmax(szTmp2)," ");
  326. add(szTmp2,charsmax(szTmp2),szTmp);
  327. }
  328. else{
  329. add(szTmp2,charsmax(szTmp2),szPrefix);
  330. add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 : %s2");
  331. }
  332. set_msg_arg_string(2,szTmp2);
  333. }
  334. return PLUGIN_CONTINUE;
  335. }
  336. public bomb_planted(id){
  337. if(is_user_alive(id) && g_Vip[id]){
  338. cs_set_user_money(id,cs_get_user_money(id) + 100);
  339. }
  340. }
  341. public bomb_defused(id){
  342. if(is_user_alive(id) && g_Vip[id]){
  343. cs_set_user_money(id,cs_get_user_money(id) + 200);
  344. }
  345. }
  346. public plugin_precache(){
  347. precache_model("models/player/kivoctvip/kivoctvip.mdl");
  348. precache_model("models/player/kivottvip/kivottvip.mdl");
  349. }
  350. public plugin_cfg(){
  351. maxPlayers=get_maxplayers();
  352. }
  353. public RoundEnd(){
  354. for(new i = 1; i <= maxPlayers; i++){
  355. if(is_user_alive(i) && g_Vip[i]){
  356. cs_set_user_money(i,cs_get_user_money(i) + 100);
  357. }
  358. }
  359. }
  360. public amxbans_admin_connect(id){
  361. client_authorized(id);
  362. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement