Advertisement
Guest User

Untitled

a guest
May 30th, 2016
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.99 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <fun>
  3. #include <cstrike>
  4. #include <colorchat>
  5. #include <hamsandwich>
  6. #include <engine>
  7. #include <dhudmessage>
  8.  
  9. #define PLUGIN "Box Vip + Shop"
  10. #define VERSION "1.0"
  11. #define AUTHOR "Fr0zen"
  12.  
  13. #define FL_WATERJUMP (1<<11)
  14. #define FL_ONGROUND (1<<9)
  15.  
  16. #pragma semicolon 1
  17.  
  18.  
  19. new BoxVIP[ 33 ];
  20. new bool: iVip[33], g_iMaxPlayers;
  21. new bool:koristiohebombu[33],bool:koristioflashbombu[33], bool:koristiosmokebombu[33];
  22. new bool:koristio25hp[33],bool:koristio50hp[33],bool:koristio75hp[33],koristio100hp[33];
  23. new bool:koristiogravitaciju[33],bool:koristiobrzinu[33],koristionoclip[33];
  24.  
  25.  
  26.  
  27. public plugin_init() {
  28. register_plugin(PLUGIN, VERSION, AUTHOR);
  29.  
  30. register_clcmd("say /boxshop", "Shop");
  31. register_clcmd("say_team /boxshop", "Shop");
  32. RegisterHam(Ham_Spawn, "player", "hamspawn");
  33.  
  34. register_dictionary("boxvip.txt");
  35.  
  36. register_message(get_user_msgid( "ScoreAttrib" ),"iVipScoreboard");
  37.  
  38. register_clcmd("say", "prefix");
  39. register_clcmd("say /vips", "VipsOnline");
  40. register_clcmd("say /vipovi", "VipsOnline");
  41.  
  42. RegisterHam(Ham_Spawn, "player", "Spawn", 1);
  43.  
  44. g_iMaxPlayers = get_maxplayers();
  45. }
  46.  
  47. public client_putinserver(id)
  48. {
  49. set_task(2.0, "UsaoVIP", id, _, _, "a", 1);
  50. set_task(0.2, "VipoviProvera", id );
  51. set_task(0.5, "VipsOnline", id);
  52. }
  53.  
  54.  
  55.  
  56. public Spawn(id)
  57. if(get_user_flags(id) & (BoxVIP[id]) & is_user_alive(id)) client_PreThink(id);
  58.  
  59.  
  60. public UsaoVIP( id ) {
  61.  
  62. if(BoxVIP[id]) {
  63.  
  64. new name[ 32 ];
  65. get_user_name( id, name, 31 );
  66.  
  67. set_dhudmessage( 0, 255, 255, -1.0, -1.0, 0, 6.0, 6.0 );
  68. show_dhudmessage( 0, "VIP = %s je usao na server", name );
  69. }
  70. }
  71.  
  72. public VipoviProvera( id ) {
  73.  
  74. new SteamID[ 32 ];
  75. get_user_authid( id, SteamID, 31 );
  76.  
  77. new broj_linija = file_size( "addons/amxmodx/configs/Vipovi.ini", 1 );
  78. new linija[ 256 ], broj;
  79.  
  80. for( new i = 0; i < broj_linija; i++ ) {
  81.  
  82. read_file( "addons/amxmodx/configs/Vipovi.ini", i, linija, 255, broj );
  83. if( broj > 0 && containi( linija, SteamID ) != -1 )
  84. BoxVIP[ id ] = true;
  85. iVip [ id ] = true;
  86. }
  87. return PLUGIN_CONTINUE;
  88. }
  89.  
  90.  
  91. public client_PreThink(id) {
  92. if(BoxVIP[id]) {
  93. entity_set_float(id, EV_FL_fuser2, 0.0);
  94. if(entity_get_int(id, EV_INT_button) & 2) {
  95. new flags = entity_get_int(id, EV_INT_flags);
  96. if(flags & FL_WATERJUMP) return PLUGIN_CONTINUE;
  97. if(entity_get_int(id, EV_INT_waterlevel) >= 2 ) return PLUGIN_CONTINUE;
  98. if(!(flags & FL_ONGROUND)) return PLUGIN_CONTINUE;
  99. new Float:velocity[3];
  100. entity_get_vector(id, EV_VEC_velocity, velocity);
  101. velocity[2] += 250.0;
  102. entity_set_vector(id, EV_VEC_velocity, velocity);
  103. entity_set_int(id, EV_INT_gaitsequence, 6);
  104. }
  105. }
  106. return PLUGIN_CONTINUE;
  107. }
  108.  
  109.  
  110. public iVipScoreboard()
  111. {
  112. new i = get_msg_arg_int(1);
  113. if(is_user_alive(i) && BoxVIP[i])
  114. set_msg_arg_int(2, ARG_BYTE, get_msg_arg_int(2) | 4);
  115. }
  116.  
  117. public prefix(id)
  118. {
  119. if(BoxVIP[id]) {
  120.  
  121. new szSaid[192], szName[32];
  122. get_user_name(id, szName, charsmax(szName));
  123. read_args(szSaid, charsmax(szSaid));
  124. remove_quotes(szSaid);
  125. ColorChat(0, GREEN, "^4[V.I.P] ^3%s ^1: %s", szName, szSaid);
  126.  
  127. return PLUGIN_HANDLED_MAIN;
  128. }
  129.  
  130. return PLUGIN_CONTINUE;
  131. }
  132.  
  133.  
  134. public VipsOnline(id) {
  135. new szVipsNames[33][32], message[256], i, count, k, len;
  136. for(i = 1 ; i <= g_iMaxPlayers ; i++)
  137. if(BoxVIP[id])
  138. if(is_user_connected(i))
  139. if(iVip[i])
  140. get_user_name(i, szVipsNames[count++], 31);
  141. len = format(message, 255, "^x04 %L ", id, "ONLINE_VIPS");
  142. if(count > 0) {
  143. for(k = 0 ; k < count ; k++) {
  144. len += format(message[len], charsmax(message) - len, "%s%s ", szVipsNames[k], k < (count-1) ? ", ":"");
  145. if(len > 96 ) {
  146. ColorChat(id, GREEN, "%s", message);
  147. len = format(message, charsmax(message), "^x04 ");
  148. }
  149. }
  150. ColorChat(id, GREEN, "%s", message);
  151. }
  152. else {
  153. len += format(message[len], charsmax(message) - len, "%L", id, "NO_ONLINE_VIPS");
  154. ColorChat(id, GREEN, "%s", message);
  155. }
  156. return PLUGIN_HANDLED;
  157. }
  158.  
  159.  
  160.  
  161. public Shop_Menu(id)
  162. {
  163. new naslovc[60];
  164. format(naslovc, 59, "\rBox Shop Menu");
  165. new menu = menu_create(naslovc, "SPM_Handle");
  166. menu_display(id, menu);
  167. return PLUGIN_HANDLED;
  168. }
  169.  
  170.  
  171. public SPM_Handle(id, menu, item)
  172. {
  173.  
  174. if(item == MENU_EXIT)
  175. {
  176. menu_destroy(menu);
  177. return PLUGIN_CONTINUE;
  178. }
  179. switch(item)
  180. {
  181. case 0: BombeShop(id);
  182. case 1: HealShop(id);
  183. case 2: FunShop(id);
  184. }
  185. return PLUGIN_CONTINUE;
  186. }
  187.  
  188. public Shop(id)
  189. {
  190. new menu = menu_create("\yBox Shop Menu \d:", "Shop_Handle");
  191. menu_additem(menu, "\rBombe \yShop");
  192. menu_additem(menu, "\rHeal \yShop");
  193. menu_additem(menu, "\rFun \yShop");
  194. menu_display(id, menu);
  195. }
  196.  
  197. public Shop_Handle(id, menu, item)
  198. {
  199.  
  200.  
  201. if(item == MENU_EXIT)
  202. {
  203. menu_destroy(menu);
  204. return PLUGIN_CONTINUE;
  205. }
  206. menu_display(id, menu);
  207. switch(item)
  208. {
  209. case 0:BombeShop(id);
  210. case 1:HealShop(id);
  211. case 2:FunShop(id);
  212. }
  213. return PLUGIN_HANDLED;
  214. }
  215.  
  216. public BombeShop(id)
  217. {
  218. new menu = menu_create("\yBombe Shop Menu:", "Bombe1Shop_Handle");
  219. if(BoxVIP[id]) {
  220. menu_additem(menu, "\wHE Bomba \yCena 450$");
  221. menu_additem(menu, "\wFlash Bomba \yCena 375$");
  222. menu_additem(menu, "\wSmoke Bomba \yCena 300$");
  223. menu_setprop(menu, MPROP_EXITNAME, "Izadji");
  224. }
  225. else {
  226. menu_additem(menu, "\wHE Bomba \yCena 900$");
  227. menu_additem(menu, "\wFlash Bomba \yCena 750$");
  228. menu_additem(menu, "\wSmoke Bomba \yCena 600$");
  229. menu_setprop(menu, MPROP_EXITNAME, "Izadji");
  230. }
  231. menu_display(id, menu);
  232. }
  233.  
  234. public Bombe1Shop_Handle(id, menu,item)
  235. {
  236.  
  237.  
  238. if(item == MENU_EXIT)
  239. {
  240. menu_destroy(menu);
  241. return PLUGIN_CONTINUE;
  242. }
  243. menu_display(id, menu, item);
  244. new pare_igraca = cs_get_user_money(id);
  245. switch(item)
  246. {
  247. case 0:
  248. {
  249. new cena = 900;
  250. if(BoxVIP[id]) cena = cena/2;
  251. if (pare_igraca<cena)
  252. {
  253. ColorChat(id,TEAM_COLOR,"^4[Box Shop]^3 Nemate dovoljno para.");
  254. return PLUGIN_CONTINUE;
  255. }
  256. if(koristiohebombu[id]) {
  257. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3 Vec si koristio^4 HE Bombu^3 ove runde!");
  258. return PLUGIN_HANDLED;
  259. }
  260. koristiohebombu[id] = true;
  261. give_item(id, "weapon_hegrenade");
  262. ColorChat(id,TEAM_COLOR,"^4[Box Shop]^3 Kupio si^4 HE Bombu.");
  263. cs_set_user_money(id, pare_igraca-cena);
  264. }
  265. case 1:
  266. {
  267. new cena = 750;
  268. if(BoxVIP[id]) cena = cena/2;
  269. if (pare_igraca<cena)
  270. {
  271. ColorChat(id,TEAM_COLOR,"^4[Box Shop]^3 Nemate dovoljno para.");
  272. return PLUGIN_CONTINUE;
  273. }
  274. if(koristioflashbombu[id]) {
  275. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3 Vec si koristio^4 Flash Bombu^3 ove runde!");
  276. return PLUGIN_HANDLED;
  277. }
  278. koristioflashbombu[id] = true;
  279. give_item(id, "weapon_hegrenade");
  280. ColorChat(id,TEAM_COLOR,"^4[Box Shop]^3 Kupio si^4 Flash Bombu.");
  281. cs_set_user_money(id, pare_igraca-cena);
  282. }
  283. case 2:
  284. {
  285. new cena = 600;
  286. if(BoxVIP[id]) cena = cena/2;
  287. if (pare_igraca<cena)
  288. {
  289. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3 Nemate dovoljno para.");
  290. return PLUGIN_CONTINUE;
  291. }
  292. if(koristiosmokebombu[id]) {
  293. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3 Vec si koristio^4 Smoke Bombu^3 ove runde!");
  294. return PLUGIN_HANDLED;
  295. }
  296. koristiosmokebombu[id] = true;
  297. give_item(id, "weapon_smokegrenade");
  298. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3 Kupio si^4 Smoke Bombu.");
  299. cs_set_user_money(id, pare_igraca-cena);
  300. }
  301. }
  302. return PLUGIN_CONTINUE;
  303. }
  304.  
  305.  
  306. public HealShop(id)
  307. {
  308. new menu = menu_create("\yHeal Shop Menu \d:", "HealShop1_Handle");
  309. if(BoxVIP[id]) {
  310. menu_additem(menu, "\wKupi \d[\r +25 HP \d] \yCena 1250$");
  311. menu_additem(menu, "\wKupi \d[\r +50 HP \d] \yCena 2500$");
  312. menu_additem(menu, "\wKupi \d[\r +75 HP \d] \yCena 3750$");
  313. menu_additem(menu, "\wKupi \d[\r +100 HP \d] \yCena 5000$");
  314. menu_setprop(menu, MPROP_EXITNAME, "Izadji");
  315. }
  316. else {
  317. menu_additem(menu, "\wKupi \d[\r +50 HP \d] \yCena 2500$");
  318. menu_additem(menu, "\wKupi \d[\r +50 HP \d] \yCena 5000$");
  319. menu_additem(menu, "\wKupi \d[\r +75 HP \d] \yCena 7500$");
  320. menu_additem(menu, "\wKupi \d[\r +100 HP \d] \yCena 10000$");
  321. menu_setprop(menu, MPROP_EXITNAME, "Izadji");
  322. }
  323. menu_display(id, menu);
  324. }
  325.  
  326. public HealShop1_Handle(id, menu, item)
  327. {
  328.  
  329. if(item == MENU_EXIT)
  330. {
  331. menu_destroy(menu);
  332. return PLUGIN_CONTINUE;
  333. }
  334. menu_display(id, menu);
  335. new pare_igraca = cs_get_user_money(id);
  336. switch(item)
  337. {
  338. case 0:
  339. {
  340. new cena = 2500;
  341. if(BoxVIP[id]) cena = cena/2;
  342. if (pare_igraca<cena)
  343. {
  344. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3 Nemate dovoljno para.");
  345. return PLUGIN_CONTINUE;
  346. }
  347. if(koristio25hp[id]) {
  348. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3 Vec si koristio^4 +25 HP^3 ove runde!");
  349. return PLUGIN_HANDLED;
  350. }
  351. koristio25hp[id] = true;
  352. set_user_health(id, get_user_health(id) + 25);
  353. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3 Kupio si^4 +25 HP.");
  354. cs_set_user_money(id, pare_igraca-cena);
  355. }
  356. case 1:
  357. {
  358. new cena = 5000;
  359. if(BoxVIP[id]) cena = cena/2;
  360. if (pare_igraca<cena)
  361. {
  362. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3 Nemate dovoljno para.");
  363. return PLUGIN_CONTINUE;
  364. }
  365. if(koristio50hp[id]) {
  366. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3 Vec si koristio^4 +50 HP^3 ove runde!");
  367. return PLUGIN_HANDLED;
  368. }
  369. koristio50hp[id] = true;
  370. set_user_health(id, get_user_health(id) + 50);
  371. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3 Kupio si^4 +50 HP.");
  372. cs_set_user_money(id, pare_igraca-cena);
  373. }
  374. case 2:
  375. {
  376. new cena = 7500;
  377. if(BoxVIP[id]) cena = cena/2;
  378. if (pare_igraca<cena)
  379. {
  380. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3 Nemate dovoljno para.");
  381. return PLUGIN_CONTINUE;
  382. }
  383. if(koristio75hp[id]) {
  384. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3Vec si koristio^4 +75 hp^3 ove runde!");
  385. return PLUGIN_HANDLED;
  386. }
  387. koristio75hp[id] = true;
  388. set_user_health(id, get_user_health(id) + 75);
  389. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3 Kupio si^4 +75 HP.");
  390. cs_set_user_money(id, pare_igraca-cena);
  391. }
  392. case 3:
  393. {
  394. new cena = 10000;
  395. if(BoxVIP[id]) cena = cena/2;
  396. if (pare_igraca<cena)
  397. {
  398. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3 Nemate dovoljno para.");
  399. return PLUGIN_CONTINUE;
  400. }
  401. if(koristio100hp[id]) {
  402. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3 Vec si koristio^4 +100 HP^3 ove runde!");
  403. return PLUGIN_HANDLED;
  404. }
  405. koristio100hp[id] = true;
  406. set_user_health(id, get_user_health(id) + 100);
  407. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3 Kupio si^4 +100 HP.");
  408. cs_set_user_money(id, pare_igraca-cena);
  409. }
  410. }
  411. return PLUGIN_CONTINUE;
  412. }
  413.  
  414. public FunShop(id)
  415. {
  416. new menu = menu_create("\yFun Shop Menu \d:", "FunShop1_Handle");
  417. if(BoxVIP[id]) {
  418. menu_additem(menu, "\wGravitacija \yCena 2000$");
  419. menu_additem(menu, "\wBrzina \yCena 1500$");
  420. menu_additem(menu, "\wNoclip \d[\r Traje 10 sekundi \d] \yCena 3750$");
  421. menu_setprop(menu, MPROP_EXITNAME, "Izadji");
  422. }
  423. else {
  424. menu_additem(menu, "\wGravitacija \yCena 4000$");
  425. menu_additem(menu, "\wBrzina \yCena 3000$");
  426. menu_additem(menu, "\wNoclip \d[\r Traje 10 sekundi \d] \yCena 7000$");
  427. menu_setprop(menu, MPROP_EXITNAME, "Izadji");
  428. }
  429. menu_display(id, menu);
  430. }
  431.  
  432. public FunShop1_Handle(id, menu, item)
  433. {
  434.  
  435. if(item == MENU_EXIT)
  436. {
  437. menu_destroy(menu);
  438. return PLUGIN_CONTINUE;
  439. }
  440. menu_display(id, menu);
  441. new pare_igraca = cs_get_user_money(id);
  442. switch(item)
  443. {
  444. case 0:
  445. {
  446. new cena = 4000;
  447. if(BoxVIP[id]) cena = cena/2;
  448. if (pare_igraca<cena)
  449. {
  450. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3 Nemate dovoljno para.");
  451. return PLUGIN_CONTINUE;
  452. }
  453. if(koristiogravitaciju[id]) {
  454. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3 Vec si koristio^4 Gravitaciju^3 ove runde!");
  455. return PLUGIN_HANDLED;
  456. }
  457. koristiogravitaciju[id] = true;
  458. set_user_gravity(id,get_user_gravity(id) - 0.6);
  459. ColorChat(id,TEAM_COLOR,"^4[Box Shop]^3 Kupio si^4 Gravitaciju.");
  460. cs_set_user_money(id, pare_igraca-cena);
  461. }
  462. case 1:
  463. {
  464. new cena = 3000;
  465. if(BoxVIP[id]) cena = cena/2;
  466. if (pare_igraca<cena)
  467. {
  468. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3 Nemate dovoljno para.");
  469. return PLUGIN_CONTINUE;
  470. }
  471. if(koristiobrzinu[id]) {
  472. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3 Vec si koristio^4 Brzinu^3 ove runde!");
  473. return PLUGIN_HANDLED;
  474. }
  475. koristiobrzinu[id] = true;
  476. set_user_maxspeed(id,get_user_maxspeed(id) + 50.0);
  477. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3 Kupio si^4 Brzinu.");
  478. cs_set_user_money(id, pare_igraca-cena);
  479. }
  480.  
  481. case 2:
  482. {
  483. new cena = 7000;
  484. if(BoxVIP[id]) cena = cena/2;
  485. if (pare_igraca<cena)
  486. {
  487. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3 Nemate dovoljno para.");
  488. return PLUGIN_CONTINUE;
  489. }
  490. if(koristionoclip[id]) {
  491. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3 Vec si koristio^4 Noclip^3 ove runde!");
  492. return PLUGIN_HANDLED;
  493. }
  494. koristionoclip[id] = true;
  495. set_user_noclip(id, 1);
  496. set_task(10.0, "IskljuciNoclip", id);
  497. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3 Kupio si^4 Noclip.");
  498. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3 Noclip traje^4 10 sekundi.");
  499. cs_set_user_money(id, pare_igraca-cena);
  500. }
  501. }
  502. return PLUGIN_CONTINUE;
  503. }
  504.  
  505. public IskljuciNoclip (id) {
  506. set_user_noclip(id, 0);
  507. ColorChat(id, TEAM_COLOR,"^4[Box Shop]^3 Noclip je ugasen");
  508. }
  509.  
  510. public hamspawn(id)
  511. {
  512. koristiohebombu[id] = false;
  513. koristioflashbombu[id] = false;
  514. koristiosmokebombu[id] = false;
  515. koristio25hp[id] = false;
  516. koristio50hp[id] = false;
  517. koristio75hp[id] = false;
  518. koristio100hp[id] = false;
  519. koristiogravitaciju[id] = false;
  520. koristiobrzinu[id] = false;
  521. koristionoclip[id]= false;
  522. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement