kennymd28

Untitled

Dec 7th, 2018
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.72 KB | None | 0 0
  1. #pragma semicolon 1
  2.  
  3. #include <amxmodx>
  4. #include <amxmisc>
  5. #include <cstrike>
  6. #include <engine>
  7. #include <fun>
  8. #include <hamsandwich>
  9. #include <fakemeta>
  10. #include <vault>
  11.  
  12. #define ADMIN_BBVIP ADMIN_IMMUNITY
  13.  
  14. // Define the Plugin Version
  15. new const VERSION[] = { "1.0" };
  16.  
  17. // PREFIX
  18. new const PREFIX[] = { "!g[ BB.NumeServer.Ro ]!n" };
  19.  
  20. new const g_szKnifeBModel[] = "models/cutit_nebun.mdl";
  21. new const g_szKnifeWModel[] = "models/cutit_nebun2.mdl";
  22. new const g_szAk47Model[] = "models/dragonu_ak_47.mdl";
  23. new const g_szDeagleModel[] = "models/deagleu.mdl";
  24.  
  25. new VipUsed[33];
  26. new HasSpeed;
  27.  
  28. new bool:g_bHasKnifeB[33];
  29. new bool:g_bHasKnifeW[33];
  30. new bool:g_bHasAk47[33];
  31. new bool:g_bHasDeagle[33];
  32. new Float:fast_speed = 400.0;
  33. new Float:normal_speed = 250.0;
  34. //new g_pVisiblity;
  35. new mpd,/* mkb,*/ mhb;
  36. new maxplayers;
  37.  
  38. public plugin_init()
  39. {
  40. register_plugin("BaseBuilder: VIP Menu", VERSION, "anti-talent");
  41. RegisterHam(Ham_Spawn, "player", "FwdHamSpawn_Post", 1);
  42. RegisterHam(Ham_Item_PreFrame, "player", "FwdPreFrame_Post", 1);
  43. RegisterHam(Ham_TakeDamage, "player", "FwdPlayerDamage");
  44. //RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1);
  45.  
  46. register_event("CurWeapon","event_curweapon","be","1=1");
  47.  
  48. register_clcmd("say vmenu", "cmdVmenu");
  49. register_clcmd("say /vmenu", "cmdVmenu");
  50. register_clcmd("say_team vmenu", "cmdVmenu");
  51. register_clcmd("say_team /vmenu", "cmdVmenu");
  52. register_clcmd("say /sagasgasf", "cmdBuyvip");
  53. register_clcmd("say sagasgas", "cmdBuyvip");
  54. register_clcmd("say_team sagasgafs", "cmdBuyvip");
  55. register_clcmd("say_team /sagasfgsa", "cmdBuyvip");
  56. register_clcmd("say /safasgas", "cmdPreturi");
  57. register_clcmd("say_team /gassae", "cmdPreturi");
  58. //g_pVisiblity = register_cvar( "km_invis", "200" ); // 255 = clearly visible
  59. set_task(480.0, "kmodmsg", 0, _, _, "b");
  60.  
  61. mpd = register_cvar("money_per_damage","3");
  62. //mkb = register_cvar("money_kill_bonus","200");
  63. mhb = register_cvar("money_hs_bonus","500");
  64. register_event("Damage","Damage","b");
  65. maxplayers = get_maxplayers();
  66.  
  67.  
  68. // Ham TakeDamage
  69. register_forward( FM_CmdStart, "fw_CmdStart" );
  70. //RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1);
  71. }
  72.  
  73. public Damage(id)
  74. {
  75. new weapon, hitpoint, attacker = get_user_attacker(id,weapon,hitpoint);
  76. if(attacker<=maxplayers && is_user_alive(attacker) && attacker!=id)
  77. if (get_user_flags(attacker) & ADMIN_IMMUNITY)
  78. {
  79. new money = read_data(2) * get_pcvar_num(mpd);
  80. if(hitpoint==1) money += get_pcvar_num(mhb);
  81. cs_set_user_money(attacker,cs_get_user_money(attacker) + money);
  82. }
  83. }
  84. public FwdPlayerDamage(victim, inflictor, attacker, Float:damage, damagebits)
  85. {
  86. if(inflictor == attacker
  87. && attacker != victim
  88. && g_bHasKnifeB[ attacker ]
  89. && is_user_alive(attacker)
  90. && get_user_weapon(attacker) == CSW_KNIFE )
  91. {
  92. SetHamParamFloat(4, damage * 3.0);
  93. }
  94. if(inflictor == attacker
  95. && attacker != victim
  96. && g_bHasAk47[ attacker ]
  97. && is_user_alive(attacker)
  98. && get_user_weapon(attacker) == CSW_AK47 )
  99. {
  100. SetHamParamFloat(4, damage * 3.0);
  101. }
  102. if(inflictor == attacker
  103. && attacker != victim
  104. && g_bHasDeagle[ attacker ]
  105. && is_user_alive(attacker)
  106. && get_user_weapon(attacker) == CSW_DEAGLE )
  107. {
  108. SetHamParamFloat(4, damage * 4.0);
  109. }
  110.  
  111.  
  112. }
  113. public plugin_precache()
  114. {
  115. precache_model(g_szKnifeBModel);
  116. precache_model(g_szAk47Model);
  117. precache_model(g_szKnifeWModel);
  118. precache_model(g_szDeagleModel);
  119. }
  120.  
  121. public event_curweapon(id)
  122. {
  123. if(g_bHasKnifeB[id] && read_data(2) == CSW_KNIFE)
  124. {
  125. set_pev(id, pev_viewmodel2, g_szKnifeBModel);
  126. set_user_gravity(id, 0.5);
  127. }
  128.  
  129. if(g_bHasAk47[id] && read_data(2) == CSW_AK47)
  130. {
  131. set_pev(id, pev_viewmodel2, g_szAk47Model);
  132. }
  133.  
  134. if(g_bHasDeagle[id] && read_data(2) == CSW_DEAGLE)
  135. {
  136. set_pev(id, pev_viewmodel2, g_szDeagleModel);
  137. }
  138. }
  139.  
  140.  
  141. public FwdPreFrame_Post(id)
  142. {
  143. if(!is_user_alive(id))
  144. {
  145. return PLUGIN_HANDLED;
  146. }
  147.  
  148. if(!HasSpeed)
  149. {
  150. return PLUGIN_HANDLED;
  151. }
  152.  
  153. else if(HasSpeed)
  154. {
  155. set_user_maxspeed(id, fast_speed);
  156. }
  157.  
  158. return PLUGIN_HANDLED;
  159. }
  160.  
  161.  
  162. public FwdHamSpawn_Post(id)
  163. {
  164. if (!is_user_alive(id))
  165. return PLUGIN_CONTINUE;
  166.  
  167. HasSpeed = false;
  168. VipUsed[id] = false;
  169. g_bHasKnifeB[id] = false;
  170. g_bHasKnifeW[id] = false;
  171. g_bHasAk47[id] = false;
  172. g_bHasDeagle[id] = false;
  173. set_user_maxspeed(id, normal_speed);
  174. set_user_rendering( id, _, 0, 0, 0, _, 0 );
  175. return PLUGIN_CONTINUE;
  176. }
  177.  
  178. public cmdVmenu(id)
  179. {
  180. if(!(get_user_flags(id) & ADMIN_BBVIP))
  181. {
  182. client_printc(id, "%s Doar !gVIPurile !tau acces la !gMeniul de vip", PREFIX);
  183.  
  184. return PLUGIN_HANDLED;
  185. }
  186.  
  187. if(VipUsed[id])
  188. {
  189. client_printc(id, "%s Ti-ai luat deja ceva din !gMeniul de VIP!n in aceasta runda. !tAsteapta pana runda viitoare sa iti mai iei inca un item", PREFIX);
  190.  
  191. return PLUGIN_HANDLED;
  192. }
  193.  
  194. switch(cs_get_user_team(id))
  195. {
  196. case CS_TEAM_T:
  197. VipTMenu(id);
  198.  
  199. case CS_TEAM_CT:
  200. VipCTMenu(id);
  201. }
  202. return PLUGIN_HANDLED;
  203. }
  204.  
  205. public VipCTMenu(id)
  206. {
  207. new menu = menu_create("\yMeniu De ViP:^n\r", "VipCTMenu_handler");
  208.  
  209. menu_additem(menu, "\w+150HP si +100Armor", "1", 0);
  210. menu_additem(menu, "\wViteza", "2", 0);
  211. menu_additem(menu, "\wM249 si Deagle", "3", 0);
  212. menu_additem(menu, "\wRevive", "4", 0);
  213. menu_additem(menu, "\wSG550", "5", 0);
  214. menu_additem(menu, "\wG3SG1", "6", 0);
  215. menu_additem(menu, "\wAK 47 Auriu", "7", 0);
  216. menu_additem(menu, "\wDeagle Nebun", "8", 0);
  217. menu_additem(menu, "\wAWP cu 600 dmg", "9", 0);
  218. menu_display(id, menu);
  219. }
  220.  
  221. public VipCTMenu_handler(id, menu, item)
  222. {
  223. if( item == MENU_EXIT )
  224. {
  225. menu_destroy(menu);
  226. return PLUGIN_HANDLED;
  227. }
  228.  
  229. new data[6], iName[64];
  230. new access, callback;
  231. menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
  232.  
  233. new key = str_to_num(data);
  234.  
  235. switch(key)
  236. {
  237. case 1:
  238. {
  239. set_user_health(id, get_user_health(id) + 150);
  240. set_user_armor(id, get_user_armor(id) + 100);
  241. VipUsed[id] = true;
  242.  
  243. client_printc(id, "%s Tocmai ai primit !g150HP!n si !g100Armor!n", PREFIX);
  244. }
  245. case 2:
  246. {
  247. VipUsed[id] = true;
  248. HasSpeed = true;
  249.  
  250. set_user_maxspeed(id, fast_speed);
  251.  
  252. client_printc(id, "%s Tocmai ai primit !gViteza", PREFIX);
  253. }
  254.  
  255. case 3:
  256. {
  257. give_item(id, "weapon_m249");
  258. give_item(id, "weapon_deagle");
  259. cs_set_user_bpammo(id, CSW_M249, 200);
  260. cs_set_user_bpammo(id, CSW_DEAGLE, 100);
  261.  
  262. VipUsed[id] = true;
  263.  
  264.  
  265. client_printc(id, "%s Tocmai ai primit un !gM249!n si un !gDeagle!n", PREFIX);
  266. }
  267.  
  268. case 4:
  269. {
  270.  
  271. ExecuteHamB(Ham_CS_RoundRespawn, id);
  272.  
  273. VipUsed[id] = true;
  274.  
  275. client_printc(id, "%s Ai fost !gReinviat", PREFIX);
  276. }
  277. case 5:
  278. {
  279.  
  280. give_item(id, "weapon_sg550");
  281. cs_set_user_bpammo(id, CSW_SG550, 200);
  282.  
  283. VipUsed[id] = true;
  284.  
  285. client_printc(id, "%s Tocmai ai primit un !gSG550", PREFIX);
  286. }
  287. case 6:
  288. {
  289.  
  290. give_item(id, "weapon_g3sg1");
  291. cs_set_user_bpammo(id, CSW_G3SG1, 200);
  292.  
  293. VipUsed[id] = true;
  294.  
  295. client_printc(id, "%s Tocmai ai primit un !gG3SG1", PREFIX);
  296. }
  297. case 7:
  298. {
  299.  
  300. give_item(id, "weapon_ak47");
  301. cs_set_user_bpammo(id, CSW_AK47, 200);
  302. set_pev(id, pev_viewmodel2, "models/dragonu_ak_47.mdl");
  303. g_bHasAk47[id] = true;
  304. VipUsed[id] = true;
  305.  
  306. client_printc(id, "%s Tocmai ai primit un !gAK-47 Auriu", PREFIX);
  307. }
  308. case 8:
  309. {
  310.  
  311. give_item(id, "weapon_deagle");
  312. cs_set_user_bpammo(id, CSW_DEAGLE, 200);
  313. set_pev(id, pev_viewmodel2, "models/deagleu.mdl");
  314. g_bHasDeagle[id] = true;
  315. VipUsed[id] = true;
  316.  
  317. client_printc(id, "%s Tocmai ai primit un !gDeagle Nebun", PREFIX);
  318. }
  319. case 9:
  320. {
  321.  
  322. give_item(id, "weapon_awp");
  323. cs_set_user_bpammo(id, CSW_AWP, 200);
  324. VipUsed[id] = true;
  325.  
  326. client_printc(id, "%s Tocmai ai primit un !gAWP", PREFIX);
  327. }
  328.  
  329.  
  330. }
  331.  
  332. menu_destroy(menu);
  333. return PLUGIN_HANDLED;
  334. }
  335.  
  336. public VipTMenu(id)
  337. {
  338. new menu = menu_create("\yMeniu De ViP:^n\r", "VipTMenu_handler");
  339.  
  340. menu_additem(menu, "\wViteza", "1", 0);
  341. menu_additem(menu, "\w+5000Hp si +5000Armor", "2", 0);
  342. menu_additem(menu, "\wCutit Nebun 1", "3", 0);
  343. menu_additem(menu, "\wCutit Nebun 2", "4", 0);
  344. menu_display(id, menu);
  345. }
  346.  
  347. public VipTMenu_handler(id, menu, item)
  348. {
  349. if( item == MENU_EXIT )
  350. {
  351. menu_destroy(menu);
  352. return PLUGIN_HANDLED;
  353. }
  354.  
  355. new data[6], iName[64];
  356. new access, callback;
  357. menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
  358.  
  359. new key = str_to_num(data);
  360.  
  361. switch(key)
  362. {
  363.  
  364. case 1:
  365. {
  366. VipUsed[id] = true;
  367. HasSpeed = true;
  368.  
  369. set_user_maxspeed(id, fast_speed);
  370.  
  371. client_printc(id, "%s Tocmai ai primit !gViteza", PREFIX);
  372. }
  373.  
  374. case 2:
  375. {
  376. set_user_health(id, get_user_health(id) + 5000);
  377. set_user_armor(id, get_user_armor(id) + 5000);
  378. VipUsed[id] = true;
  379.  
  380. client_printc(id, "%s Tocmai ai primit !g5000 HP!n si !g5000 Armura!n", PREFIX);
  381. }
  382.  
  383. case 3:
  384. {
  385. set_user_health(id, get_user_health(id) + 2000);
  386. set_user_armor(id, get_user_armor(id) + 2000);
  387. set_user_maxspeed(id, fast_speed);
  388. HasSpeed = true;
  389. set_pev(id, pev_viewmodel2, "models/cutit_nebun.mdl");
  390. g_bHasKnifeB[id] = true;
  391.  
  392. VipUsed[id] = true;
  393.  
  394. client_printc(id, "%s Tocmai ai primit !tViata !nsi un !gCutit Nebun", PREFIX);
  395. }
  396. case 4:
  397. {
  398. set_user_health(id, get_user_health(id) + 2500);
  399. set_user_armor(id, get_user_armor(id) + 2500);
  400. set_user_maxspeed(id, fast_speed);
  401. HasSpeed = true;
  402. set_pev(id, pev_viewmodel2, "models/cutit_nebun2.mdl");
  403. g_bHasKnifeW[id] = true;
  404. set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 125);
  405.  
  406. VipUsed[id] = true;
  407.  
  408. client_printc(id, "%s Tocmai ai primit !tViata !nsi un !gCutit Nebun", PREFIX);
  409. }
  410.  
  411.  
  412. }
  413.  
  414. menu_destroy(menu);
  415. return PLUGIN_HANDLED;
  416. }
  417.  
  418.  
  419.  
  420. public cmdBuyvip(id)
  421. {
  422. show_motd(id, "vip.txt", "VIP");
  423. }
  424. public PrintText(id)
  425. {
  426. client_print(id, print_chat, "!t[BB.GoDpLaY.Ro] !gPentru a cumpara !tVIP !gadauga id-ul !gKinderbueno_cs .");
  427. }
  428.  
  429. public cmdPreturi(id)
  430. {
  431. show_motd(id, "preturi.txt", "PRETURI");
  432.  
  433. client_printc(id, "!t[BB.GoDpLaY.Ro] !tPentru a vedea beneficiile !gVIP-ului !ntasteaza in chat !t/privilegii .");
  434. }
  435.  
  436.  
  437.  
  438. // Colour Chat
  439. stock client_printc(const id, const input[], any:...)
  440. {
  441. new count = 1, players[32];
  442. static msg[191];
  443. vformat(msg, 190, input, 3);
  444.  
  445. replace_all(msg, 190, "!g", "^x04"); // Green Color
  446. replace_all(msg, 190, "!n", "^x01"); // Default Color
  447. replace_all(msg, 190, "!t", "^x03"); // Team Color
  448.  
  449. if (id) players[0] = id; else get_players(players, count, "ch");
  450.  
  451. for (new i = 0; i < count; i++)
  452. {
  453. if (is_user_connected(players[i]))
  454. {
  455. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
  456. write_byte(players[i]);
  457. write_string(msg);
  458. message_end();
  459. }
  460. }
  461. }
Advertisement
Add Comment
Please, Sign In to add comment